我记得第一次听说谷歌试图制造无人驾驶汽车。那是几年前的事了!
这些天来,我开始学习神经网络和其他类型的机器学习,我想知道:
有谁知道训练时间需要多少小时(或几天、几个月、蚀刻)才能获得如今在自动驾驶汽车中使用的结果?
(我假设他们为此使用神经网络......)
我记得第一次听说谷歌试图制造无人驾驶汽车。那是几年前的事了!
这些天来,我开始学习神经网络和其他类型的机器学习,我想知道:
有谁知道训练时间需要多少小时(或几天、几个月、蚀刻)才能获得如今在自动驾驶汽车中使用的结果?
(我假设他们为此使用神经网络......)
这个问题有几点需要考虑:
首先,训练时间可能是一种欺骗性的衡量标准。神经网络训练被认为是“平凡的”可并行化的。这意味着您可以访问的计算机越多,您训练的速度就越快(大多数情况下,一个计算不依赖于另一个计算,因此您可以同时进行这两个计算)。自自动驾驶汽车当前阶段开始以来,GPU 性能已提高了5 倍以上。此外,像谷歌这样的大公司已经迁移到人工智能专用的 ASIC 芯片。这些仍然更快。这意味着对“时间”的任何估计都可能令人困惑或误导。即使所需的处理周期数保持不变,训练网络所需的时间也会随着时间的推移而迅速下降。
其次,自动驾驶汽车公司不太可能花时间训练单一模型。相反,他们可能从给定模型(比如上个月的模型)开始,并尝试不同的方法来改进它,使用新数据、替代培训方法或“专家”领域知识。这使得很难理解“获得当今自动驾驶汽车中使用的结果”意味着什么。如果我们计算所有失败的尝试,可能是数百或数千人年的研究人员(6-7 年,并且没有数千人从事该领域的研究)。如果您还计算相关的开发和工程工作,它可能是一个数量级或更多。
也就是说,考虑以这种方式训练网络所需的模拟驾驶时间可能会更有趣。正如这篇出色的博文“深度强化学习还行不通”中所讨论的,为此类问题训练神经网络所需的训练经验量非常大。要学会比人类玩家更好地玩简单的 Atari 游戏,需要大约 244 小时的接触时间。这些游戏通常只有一个屏幕,大多数人可以在几分钟或更短的时间内拿起它们。该网站估计一个人学习熟练驾驶的平均时间约为 70 小时。应用相同的比率,我们可以推断出深度神经网络需要类似的东西2年驾驶经验,达到人类水平的表现。这似乎是正确的球场,但可能很多驾驶是在模拟环境中“离线”完成的,而不是直接操作车辆。
当然,这些只是大概的估计。确切的数字可能是专有的。此外,有一些报道称,由于训练困难,现代系统正在放弃神经网络,并转向更加“基于规则”的范式。我不确定给这些报告有多少功劳,但这又使确定培训时间变得困难。