作者:Lior Swissa
来源:英伟达官网
翻译:Gabrielle
概要:1999年,英伟达推出“世界上第一个GPU或图形处理器” GeForce 256,从此GPU为世人熟知。
记得2005年第一次观看DAPRA无人驾驶汽车挑战赛时,我便深受触动,遂立志也投身于这项伟业。但让我不解的是,此后的无人驾驶市场竟毫无进展,沉寂许久。而且,其实早在上世纪60年代,人工神经网络也就是负责处理驾驶数据的核心算法就已诞生。
倏忽之间,又是怎样的际遇触发了无人驾驶汽车和人工智能行业的风云变幻?——那就是英伟达公司,或者说是GPU(图形处理器)芯片设计的横空出世。不过,当年英伟达取得创举之时,对自己的汗马功劳并不自知。
我们先略谈下英伟达GPU的发展历程。1999年,英伟达推出“世界上第一个GPU或图形处理器” GeForce 256,从此GPU为世人熟知。英伟达表示,该款芯片是 “集成了转换,投影,三角形设定/裁剪及成像引擎的单芯片处理器。”英伟达还首先推出了能进行可编程着色的芯片GeForce 3,其中每个像素都由一个小“程序”处理,小程序中还可输入额外的图像纹理,每个几何顶点也同样先由一个小程序处理,而后再投射到屏幕上(来源:维基百科)。此外,GPU主要用于游戏等任务中的图形实现问题。
直至2013年,斯坦福大学的Andrew Ng带领的团队意识到,他们可以用GPU并行运行神经网络,不必像以往一样在CPU上串行处理,至此,从CPU到GPU的重大突破才得以形成。
GPU为何适用于人工智能和深度学习?
首先我们要先了解一下神经网络(NN)的工作原理。
神经网络是简单可训练数学单元的集合。这些单元可协同合作,学习复杂函数。输入数据充足时,NN可通过映射原始数据近似计算出复杂函数的输出结果。
结构上,神经网络是一个三层结构的代数单元即人工神经元:输入层,负责将数据传入网络;隐含层,对接收的所有数据进行计算;还有输出层,提供分类预测或输出决策。首先,要将数据前馈到神经网络中,然后比较预测结果和实际结果。如果预测不正确,就要改善模型,以降低错误率和提高性能表现。因此只有用大量数据训练神经网络,才能使该模型在处理所有数据时的平均表现都具备低错误率和高准确度。
神经网络各项操作分别为:卷积,池化,激活函数和反向传播,而这些恰恰是GPU所擅长的。
我在网上看到过一个很恰当的类比:假设你要选法拉利或大卡车搬家。法拉利虽快,但每趟载的东西少且耗油。卡车能以更低开销一次性把行李拉完,且行李全都在一辆车上,想要拿东西也更方便。
其实也就是说,GPU预测精度更高、运算更快、内存足迹更小,能耗和成本更低。CPU或许擅长某个简单计算,但对于人工智能所需的大规模重复计算,GPU可是甩了CPU几条街。
GPU已经成为人工智能技术的最核心组件,作为它的发明者,此时的英伟达可谓手握金矿。那么,英伟达将如何进一步改善GPU在神经网络或其他解决方案中的性能?
首先,英伟达有一点可谓深谋远虑。英伟达为深度学习应用打造了全栈式的解决方案结构,数据科学家和工程师们可利用这些技术更快捷地部署程序。
从一开始的GPU制造商,到设计出如此全面的生态系统,英伟达着实值得赞叹。为提升GPU处理神经网络的表现,英伟达还特意调整了软件端,使其更适应在GPU运行。
深入地讲,英伟达的CUDA(Compute UnifiedDevice Architecture,统一计算设备架构)其实是并行计算平台和编程模型。该平台能利用GPU大幅度提升计算性能。开启GPU加速的应用可使用高级语言在CPU上运行负载的串行部分,同时加快GPU上的并行处理。这就叫做“GPU计算”。
英伟达如何在无人驾驶汽车中实施端到端的解决方案?
上图中层层叠加,一同构成了英伟达现在的“无人驾驶汽车端到端的学习”系统。
1.英伟达神经网络系统
英伟达创建了一款基于神经网络的PilotNet系统。该系统可通过获取前方路况的图像输出方向盘转角,是完整自动驾驶软件堆栈的组成部分。PilotNet的训练数据来自人类驾驶员驾驶数据搜集汽车时方向盘转角对应的路面图像。通过观察人类驾驶员,PilotNet可提取必备的领域知识,减少了人类工程师预测图像中重要因素和归纳安全驾驶所需规则的工作。行车实验表明,PilotNet可在各类行车环境中成功保持车道,不受车道标记是否存在的影响。
除学习车道标记,道路边缘以及其他车辆等明显特征外,PilotNet还学习了更多工程师难以预知和编程的微小特征,如路边的漏板托砖以及特别车型等(来源:卡奈尔大学计算机科学系)。
2.英伟达DRIVE PX
训练了神经网络后,就该DRIVE PX出场了。DrivePx is是车中的无人驾驶计算机,负责处理从环境中获取(即传感器提供的)的所有数据(图像)并输出结果,即驾驶决策。
DrivePx可实时了解车辆周边发生的事件,还能在高清地图上精确定位所在车辆,并规划安全行驶道路。DRIVE PX结合深度学习,传感器融合和周边视野提升驾驶体验,是世界上最为先进的无人驾驶汽车平台。
3.英伟达DriveWorks
DriveWorks是一款软件开发工具包,其中有参考应用程序、工具以及库模块。DriveWorks还包含运行态下的流水线框架,该框架集成了驾驶流水线的各个方面,包括检测,地图绘制,定位,规划道路和可视化等。
4.英伟达高清地图绘制
MapWorks与英伟达DriveWorks系统的架构相匹配,两者均针对汽车制造商,地图制作公司和创业企业等客户。整个系统利用相机和深度学习算法探测车道、路标等其他标记,还可创建地图和判断环境是否变化。
运动恢复结构算法(Structure from motion)能将多个相机中的数据转换为详细的三维测绘信息,实现自我定位。该算法还能结合车中多个惯性传感器的数据,GPS和相机的数据,准确定位关键路标。激光雷达信息还可用来创建细节更丰富的地图。人工智能和VSLAM(基于视觉的同时定位与构图)算法相结合,创建地图的每个环节都迎刃而解。
5.英伟达AI co-pilot系统(人工智能副驾驶)
AI Co-Pilot系统可通过监控汽车驾驶员的驾驶行为,做出更佳决策并规避风险,提升用户驾驶体验。AI Co-Pilot通过接收车内外的麦克风和摄像头上的传感器数据,可以了解驾驶员周边的环境。如果驾驶员有危险如要撞车时,系统就会警告驾驶员并刹车。AI Co-Pilot会全程参与驾驶,利用深度学习网络技术,AI Co-Pilot还能跟踪驾驶员的头部和眼部运动,并采用先进的语音识别,读唇和自然语言理解技术与司机对话。
总而言之,英伟达不仅打造了可圈可点的人工智能和无人驾驶汽车技术的端到端解决方案上,还与多个汽车制造商巨头合作研发无人驾驶汽车,不愧被《麻省理工科技评论》评为2017年度全球最聪明企业之首。
相信下一款奥迪A8模型就将应用上述技术,我个人相当期待。
来源:英伟达官网
原文:https://medium.com/@liorswissa/nvidia-and-the-gpu-contribution-to-the-ai-world-of-self-driving-cars-1f00e3212508
欢迎加入未来科技学院企业家群,共同提升企业科技竞争力
一日千里的科技进展,层出不穷的新概念,使企业家,投资人和社会大众面临巨大的科技发展压力,前沿科技现状和未来发展方向是什么?现代企业家如何应对新科学技术带来的产业升级挑战?
欢迎加入未来科技学院企业家群,未来科技学院将通过举办企业家与科技专家研讨会,未来科技学习班,企业家与科技专家、投资人的聚会交流,企业科技问题专题研究会等多种形式,帮助现代企业通过前沿科技解决产业升级问题、开展新业务拓展,提高科技竞争力。
未来科技学院由人工智能学家在中国科学院虚拟经济与数据科学研究中心的支持下建立,成立以来,已经邀请国际和国内著名科学家、科技企业家300多人参与学院建设,并建立覆盖2万余人的专业社群;与近60家投资机构合作,建立了近200名投资人的投资社群。开展前沿科技讲座和研讨会20多期。 欢迎行业、产业和科技领域的企业家加入未来科技学院
报名加入请扫描下列二维码,点击本文左下角“阅读原文”报名