通过NVIDIA PilotNet,英伟达和谷歌的工程师们构建了一个基于神经网络的全新系统,可以通过观察人类的行为学习驾驶汽车。研究人员在这一研究之上探索了在进行驾驶决策时应该优先考虑哪个方面的问题。这样一来,我们不仅无需手动为所有情况进行编程,还可以解释系统作出这些决定背后的原因。
试想一下你是如何认出照片上的人的,试着把这样一个过程分解成一系列有意义,可编程的步骤——你肯定做不到,英伟达自动驾驶首席架构师Urs Muller说道。于是问题就变成了:我们是否希望将自己的解决方案局限于只能解决那些可以通过规则定义的问题?
从人类身上学会驾驶技巧的人工智能
英伟达在他们的自动驾驶汽车BB8(基于林肯MKZ)上开发和测试了DriveWorks软件系统。这项技术未来可以在任何品牌和型号的汽车上应用,其背后的深度神经网络可以将摄像头采集到的图像处理为控制方向盘、油门和刹车的指令。
这一系统通过学习人类驾驶者的操纵方式来学习驾驶汽车。神经网络通过车上安装的摄像头收集路面情况,随后将图像和驾驶者动作的记录进行配对。研究者们记录了大量不同环境中的驾驶数据:有画线和没有画线的道路;乡间小路和高速公路;一天中不同光照条件下的同一段路,以及不同天气条件下的道路环境。
通过观察,神经网络通过训练在完全没有手动输入编程指令的情况下学会了如何驾驶BB8。现在这个神经网络已经可以在未遇到过的新环境中成功地驾驶车辆了。
人工智能如何思考
每当PilotNet开启并运行的时候,我们都会希望看到它是如何作出决定的。对此,研究人员开发了一种可视化方法向我们展示了神经网络在思考时将哪些条件视为重要的。
为了理解PilotNet在获取摄像头中的信息时在关注什么,研究人员构建了一种可视化图。下图就是可视化图的一个示例,它覆盖在摄像头获取的图像之上,绿色代表神经网络关注的位置。
正如图中所示,PilotNet在驾驶汽车时关注的位置和人类驾驶者相同,包括路标、道路边缘和其他车辆。其中最令人兴奋的是:我们从未直接告诉神经网络需要注意到这些东西。计算机在训练过程中的行为和人类在驾校中所做的一样:通过观察学习。
使用深度神经网络的好处在于:让汽车自己找到解决问题的方式,而如果我们不知道它们如何做出决策,我们就无法对系统作出进一步的改进,Muller解释道。我们开发的可视化方式让寻找答案成为了可能。这也给了我们更大的信心,现在我们或许无法解释汽车的所有动作,但我们已经可以把它思考的过程显示出来了。
当自动驾驶汽车真正得到广泛应用时,很多不同的人工智能神经网络和传统技术会共同工作,驱动汽车行驶。除控制方向盘的PilotNet之外,其他的神经网络也会经过训练处理其他特定的任务,如行人检测、车道识别、读取路标、防碰撞等等。
BB8,带我去趟星巴克
作为率先涉足自动驾驶行业的芯片公司,英伟达的自动驾驶解决方案研究同时覆盖了软件和硬件两个方面:从Drive PX2车载人工智能计算机到DriveWorks开放平台。通过使用专注于不同任务的多个AI神经网络,人们可以构建安全可靠的自动驾驶车辆。可以想见在不久的将来,人们就会享受到BB8带来的自动驾驶服务了。