英伟达运用端对端技术开展自动驾驶汽车项目
机器之心原创
作者:Shaoyou Lu
1月19号,英伟达(NVIDIA)在多伦多大学举办了一场技术讲座。在这场讲座中,英伟达分享了他们在自动驾驶汽车和端对端学习领域研究的一些最新成果,以及关于人工智能发展的一些经验和有趣的状况。
英伟达是一家美国技术公司。他们的主要产品是用于游戏市场的图形处理器(GPU),以及用于移动计算和汽车市场的片上系统(SoC)。但是,最近其公司方向随着GPU在人工智能领域计算优势的到来正发生着一个较大的变化。GPU现在正扮演着计算机、机器人和自动驾驶汽车这些能够察觉和理解世界的设备的大脑。目前,英伟达正以“人工智能计算公司”的身份迅速为大众所知。[1]
为了使新的声誉实至名归,英伟达正在人工智能计算研究中投入大量精力。去年,英伟达与纽约大学的深度学习团队合作,并在新泽西的新汽车技术办公室开展研究合作[2]。这个团队包括技术专家如 Urs Muller,英伟达的自动驾驶首席架构师、纽约大学教授 Yann LeCun,一位深度学习技术的先驱和学习卷积神经网络的发明者,以及英伟达的机器学习顾问和前DARPA项目经理 Larry Jackel。所有这些人聚在一起,他们将超越英伟达当前的技术和工程,创建开创性的自动驾驶技术。
在讲座期间,Larry 分享了一些关于他作为人工智能研究人员的生活经历。早在1986年,当他还在贝尔实验室工作时,当时的人工智能技术非常原始,循环网络很呆板和低效率。 1988年,Yann LeCun 加入他们并建立了第一个具有学习功能的 “LeNet” OCR 引擎。它的表现很出色,但他们仍然没有系统性的理解究竟是什么决定了学习过程。 “这真的是深度学习开始的地方,” Larry Jackel 说。后来,在20世纪90年代初,在 Vladimir Vapnik 的帮助下,团队对学习的过程及其应用获得了更好的理解。
Larry也分享了一些过往的有趣故事,像他和 Vapnik 打的赌。
从图片中,我们可以看到,这些赌注都投射出了深度学习发展方式的影子。神经网络在它第一次被创建的几十年后仍然相当流行。
2016年6月:英伟达自动驾驶汽车的端对端学习
如前所述,Larry 是前 DARPA 项目经理。有很多 DARPA 的挑战,如沙漠驾驶的大挑战(2003,2005),DARPA城市挑战(2007)和 DARPA 机器人挑战(2015)。城市挑战与自动驾驶的研究直接相关,卡内基梅隆大学(CMU)最终获胜,其方法成为了许多自动驾驶设计的核心。它需要高清映射,障碍物检测,成本地图和路径规划。虽然卡内基梅隆大学的表现在当时相当抢眼,但它是在一个有非常详实数据的路径上行驶的,因此那时距离真正的自动驾驶仍然有很长的路要走。
Larry 提供了一个自动驾驶汽车通常方法的流程图。从传感器开始,然后移动到特征提取和物体识别(通常结合使用卷积网络),然后数据进行成本映射,并且通过使用详细的地图来帮助定位汽车的位置。这些合在一起,定位的位置和成本图将提供路径规划和驱动所需的输入。
虽然,在 Yann 的帮助下,Larry 在 DARPA 时采用这种类型的方法,但它最终演变成了端对端学习。端对端学习是一种 卷积神经网络(convolutional neural network)的结构,直接将前置摄像头和转向命令连接起来,以帮助训练自驾驶汽车使其驾驶得更聪明和更自主化。通过使用三个摄像机,系统可以看到驾驶员的所见所为,然后记录下这个场景、驾驶员的命令以及周围环境。通过使用该数据,系统接下来可以计算出一个理想的驾驶策略以实现完全自主的自驾驶。
Larry 解释说,在三个摄像机中,主摄像机具有驾驶员的视野,侧摄像机有助于训练和内插角度。在驾驶时,网络将首先作出决定,将其与人类驾驶员的决定进行比较,然后调整自身并且一次次重复该过程。研究团队还引入了侧摄像机的随机移动旋转,不是因为它有助于训练,而是因为没有这种设置,驾驶方向将不合需要地偏斜:或者说,汽车可能行驶得太接近车道的边缘。
为了避免不必要的开销,学习系统可以在模拟器中检查各种事情(策略、情景),然后将其应用于道路上。通过将预先记录的测试视频和驾驶指令的库馈送到网络中以及构建输出命令网,系统可以使用它来更新汽车的位置信息,然后由数据库创建计算框架。 英伟达的GPU在所有的训练过程里发挥着至关重要的作用。
更多的细节可以在论文中找到:自动驾驶汽车的端对端学习。 [3]
在讲座结束时,观众也提出了一些有趣的问题。一个人问为什么英伟达从所有类型的传感器中选了摄像头,而不是激光雷达或者其它选择。Larry 的回答是,在驾驶时,激光雷达扫描可以在一秒钟获得一百万点(如果幸运),但相机可以一次快照获得超过30倍数据。相机也比激光雷达传感器便宜得多。但 Larry 也提到当前的设计不是最终的,任何能有助于驾驶系统的事情都会被考虑。
在2016年CES大会上,英伟达推出了用于自主交通的人工智能超级计算机Xavier。 Larry提到这个超级计算机将在今年晚些时候推出,而且英伟达对Xavier的表现非常有信心。在未来,不仅研究人员,而且客户也可能有机会体验英伟达的解决方案。
源自英伟达的人工智能计算领导力
随着英伟达继续将自己定义为一个人工智能计算公司,自动驾驶汽车并不是他们唯一的机器学习项目。 英伟达的CEO Jen-Hsun Huang 在 CES 2016 上宣布了其他与人工智能相关的产品:Geforce Now —— 一款游戏云,个人通过使用浏览器,可以在低规格计算机上播放高清游戏;新盾(new shield) —— 一家庭娱乐平台;Nvidia spot —— 一个使你家里所有的小电器自主化的工具。正如 Jen-Hsun Huang 在 CES 上所解释的,英伟达将专注于四个领域:视频游戏、VR / AR / MR、云计算/数据中心和自动驾驶。
英伟达还在人工智能教育方面付出了很多努力:GPU教学计划和免费的CUDA源代码(GPU并行编程语言)。就在最近的2月5日,英伟达推出了一系列基于其 Pascal™ 架构的 Quadro® 产品,运用来自多产业专业工作流程的突破性能力,将桌面工作站转变为超级计算机。[4]
参考文献
[1]http://images.nvidia.com/content/pdf/about-nvidia/nvidia-2016.pdf
[2]https://blogs.nvidia.com/blog/2016/06/10/nyu-nvidia/
[3]End to End Learning for Self-Driving Cars https://arxiv.org/pdf/1604.07316v1.pdf
[4]http://nvidianews.nvidia.com/news/nvidia-powers-new-class-of-supercomputing-workstations-with-breakthrough-capabilities-for-design-and-engineering