86377811 2019-01-29
【新智元导读】特斯拉最近曝光“行为克隆”技术,系统研究人类在各种场景中的驾驶动作并加以模仿。巧合的是,自动驾驶第一大厂Waymo不久前也在公布了模仿学习中的技术细节。模仿学习会成为全自动驾驶的一条捷径吗?
全自动驾驶的“捷径”来了?
知情人士表示,特斯拉汽车收集了大量的来自摄像头和其他传感器的数据,即使Autopilot系统没有开启,开发团队也可以研究传统的人类在各种场景中的驾驶动作并加以模仿。
这种技术被称为“行为克隆”,实际上是一种模仿学习(imitation learning)。
系统使用模仿的信息作为车辆在特定情况下决定驾驶方式,比如,行驶弯道或避开前方目标等。
无独有偶,为了模仿专家驾驶,自动驾驶大厂Waymo不久前也创建了一个名为ChauffeurNet的深度RNN,该网络通过观察场景的中层表示作为输入,训练它发出驾驶轨迹,最终的结果能超越纯粹的模仿。
此外值得注意的是,上周AlphaStar战胜人类选手之,就涉及到模仿学习。AlphaStar只通过观察人类如何玩游戏,就能模仿学习策略,最后将信息用于训练各种智能体。
现在,自动驾驶界的两只领头羊都在尝试做模仿学习,这会成为全自动驾驶的一条捷径吗?
特斯拉的自动驾驶系统Autopilot的核心功能与其他半自动驾驶系统和全自动驾驶系统类似:在Autopilot可以运行之前,特斯拉从汽车的传感器(如前置摄像头)收集数据。
之后公司雇人对图像中的汽车和其他物体进行数字标记,然后将一些图像输入神经网络计算系统,该系统会对其他车辆及其行进方式进行模式识别,并且随着时间的推移提高车速。
通过神经网络提供足够的真人驾驶数据,网络就可以学习如何在大多数情况下直接预测正确的转向、制动和加速行为。
但特斯拉不同的地方在于,“行为克隆”让Autopilot开发团队也可以研究传统的人类驾驶在各种场景中的动作,从而加以模仿。
这样做的结果是,你不需要任何其他东西来教系统如何自主驾驶,在未来,人们不需要编写代码来告诉汽车在遇到特定情况时该怎么做,因为汽车自会知道该怎么做。
这个概念被特斯拉的一些工程师称为“软件2.0”。
“软件2.0”可能是一种产品概念,“行为克隆”的背后是技(学)术概念——模仿学习。
目前,特斯拉对于模仿学习的详细介绍资料比较少,但是Waymo去年11月发的一篇论文,可以窥见模仿学习的部分技术原理。
Waymo创建的ChauffeurNet的深度递归神经网络(RNN),通过观察场景的中级表示作为输入来训练该网络生成驾驶路线的轨迹。中级表示不直接使用来自传感器的原始数据,从而可以将感知任务分解出来,能够将真实数据和模拟数据相结合,更容易地进行迁移学习。
如下图所示,输入表示包括一个自上而下(鸟瞰)环境视图,其中包括地图、周围物体、交通信号灯状态、车辆过往的运动等信息。该网络还能够给出谷歌地图风格的路线,引导车辆前往目的地。
为驾驶模型渲染输入和输出。上排从左至右:路线图、红绿灯,限速和路线。下排从左至右:当前智能体框、动态框、过往智能体姿势,未来智能体姿势输出。
ChauffeurNet在每次迭代期间会沿着未来的驾驶轨迹输出一个点,同时将预测点写入在下一次迭代期间使用的存储器中。从这个意义上讲,这个RNN并不是传统式的,因为存储模型是定制化的。
接着,ChauffeurNet将由十个未来的点组成的轨迹输出到一个低级控制器,该控制器将这个轨迹转换为对车辆的控制命令,比如转向和加速,来驱动汽车。
此外,Waymo还采用了一个单独的“感知RNN”头,能够迭代式地预测环境中其他移动物体的未来轨迹,并且这个网络与预测车辆驾驶的RNN共享特征。
ChauffeurNet内部分为两个部分,FeatureNet和AgentRNN。 AgentRNN使用过去智能体姿势的渲染图像、由渲染输入的卷积网络“FeatureNet”计算出的一组特征、具有最后一个智能体框渲染的图像,以及具有预测渲染的显式存储器,来预测下一个智能体姿势和自上而下视图中的下一个智能体框。这些预测用于更新AgentRNN的输入,以预测下一个时间步长。
未来的一种可能是,车辆可以在选择自己的驾驶轨迹的同时,更深入地交叉预测其他智能体的反应过程。
“行为克隆”也好,“软件2.0也好”,利用神经网络编写代码来自动驾驶,从而取代人类编写的代码,看上去可能是未来全自动驾驶的捷径之一。
不过,特斯拉“行为克隆”的也有其局限性:这种方法不能教Autopilot系统处理无法轻易预测的危险情景。比如,老司机看到飘在前方的塑料袋时不会转向,但自动驾驶系统可能就会。
这也是自动驾驶存在的识别训练数据相关性问题,它不能通过纯粹观察相关性来构建因果模型,并且无法在模拟中主动测试反事实。
另外,传统方法实现完全自动驾驶系统,需要能够处理现实世界中发生的长尾事件。
长尾事件的解决需要深度学习训练尽可能多的数据,但现实情况往往是缺少有效训练数据。
一位长期从事自动驾驶的业内人士告诉新智元,“行为克隆”是快速收集大量数据的捷径,但网络传输速度和计算量都太大了。“至于是不是实现无人驾驶的捷径,要看能不能搞出真正能用的系统。”
驭势科技CEO吴甘沙告诉新智元,模仿学习的主要局限是数据的可获得性和有效性,比如影子模式可能解决了可获得性,但也包括了不值得提倡的司机行为。另一方面,它还是端到端的,在可解释性上才刚刚有些进展。同时,因为是端到端,比较难在中间过程中接受其他的信息或指令。
吴甘沙认为,模仿学习“肯定是路径之一,或者是决策的一个来源,但目前来看还不能作为唯一决策方法。”
据Hot Hardware报道,特斯拉向美国专利商标局提交的专利中提到,传统处理器可以快速执行单个数学运算,但它有一个限制:这样的处理器一次只能处理少量数据。
虽然GPU可以使用更大的数据集执行多个任务,但它们最初并不是为机器学习和AI开发的。
特斯拉的AI芯片专利内容如下:
“用于机器学习和人工智能的处理通常需要对大量数据集执行数学运算,并且通常涉及求解多个卷积层和汇集层。”
为了解决这个问题,特斯拉必须开发一种新的神经AI,可以进行“机器学习和人工智能特定的处理操作”。
因此,特斯拉提交了一些专利:
目前,Autopilot 2.0的计算机组件由英伟达GPU提供支持。
同时,即将推出的升级版本将取代特斯拉目前使用的Autopilot 2.0平台,使用AI芯片的Autopilot 3.0能够在汽车中实现全自动驾驶功能。
参考资料:
https://medium.com/waymo/learning-to-drive-beyond-pure-imitation-465499f8bcb2
https://www.theinformation.com/articles/what-makes-teslas-autopilot-different
https://www.reddit.com/r/MachineLearning/comments/aklwv8/n_report_tesla_is_using_behavior_cloning_ie/