特斯拉的AI总监Andrej Karpathy参加了TRAIN AI 2018的演讲,然后着手介绍该公司构建Autopilot计算机视觉解决方案的方法。他的演讲标题为“构建软件2.0堆栈”。
当神经网络(也称为机器学习或人工智能)运行节目时,安德烈(Andrej)承担了从传统的基于规则的编程方法中区分编程任务的任务。在典型的互联网术语中,他配音神经网络编程软件2.0,而基于规则的编程则占用了软件1.0的名字。
事实证明,两者之间的差异是巨大的,对神经网络进行编程与对网页或智能手机应用进行编程有很大不同。近年来,随着计算机视觉努力为可识别图像中的每个可能对象定义规则,这一点变得越来越明显。努力工作并不能阻止程序员尝试甚至执行极其复杂的计算机视觉分析。
1990年至2010年对照片分析的早期学习为现代关注视频图像分析奠定了基础,而视频图像分析具有较高的帧速率,因此对计算机资源的压力大大增加。特斯拉(Tesla)的自动驾驶仪(Autopilot)等应用程序要求所有处理都是实时的,即使使用实时数据来预测附近驾驶员将做什么或可能做什么,以减轻影响。[编者注:大量使用计算机处理高质量的自动驾驶是乔治·霍茨(又名地热)指出特斯拉在传统汽车制造商中遥遥领先的主要原因。看到:“地热:特斯拉Autopilot = Apple iOS,Comma.ai = Android(CleanTechnica独家)”。
特斯拉的自动驾驶解决方案在很大程度上依赖于计算机视觉,而不是激光雷达和其他传感器,因为特斯拉的团队认为这从根本上来说是优越的,而且强大的摄像头阵列足以支持完整的自动驾驶解决方案。
安德烈(Andrej)在第15分钟深入研究特斯拉(Tesla)团队用来破解自动驾驶仪的计算机视觉螺母的方法时,便将一切推向了高潮。特斯拉的自动驾驶程序设计团队分为两个主要小组。第一组建立神经网络本身,而第二组专注于神经网络的实际编程,这包括选择神经网络将要学习的一组标记图像。
就像编程代码必须高效一样,安德烈(Andrej)指出,用于对神经网络进行编程的图像必须很大,变化且干净。对神经网络进行编程,更多的是关于识别异常并为适当的行为对软件2.0堆栈进行编程,而不仅仅是在正常情况下对系统进行编程。
考虑使用图像对神经网络进行编程的一种简单方法是交叉路口的交通信号。大多数具有标准的红黄绿堆栈,可以通过提供红灯图像并标记为指示车辆应该停止的信号来进行建模。相反,绿灯表示车辆可以继续通过交叉路口。黄色是同等重要的指标,但出现频率远低于红色和绿色的床友。即使在现实世界中黄灯的频率比绿灯和红灯的频率低很多,也必须对神经网络进行编程,以使其对三者均能很好地理解。
从根本上讲,特斯拉相信其自动驾驶解决方案将在人类驾驶汽车的路上提供更安全的驾驶体验。这在今天是有意义且重要的,但仅暗示了在世界任何地方的道路上任何情况下均可行驶的车辆的更大可能性。特斯拉的自动驾驶汽车今天的死亡人数减少了4倍,首席执行官埃隆·马斯克(Elon Musk)认为,与人类驾驶员相比,他的死亡人数至少可以提高10倍。
安德烈(Andrej)指出,特斯拉拥有世界上最大的机器人部署,由于每个人都配备了硬件,因此目前在路上有25万个机器人具有不同程度的自动驾驶能力。特斯拉今天还没有实现“全自动驾驶”,但它有信心能够实现这一目标,因此它已经出售了“全自动驾驶”作为新S,X和3订单的选装件。
安德烈(Andrej)的整整30分钟的演讲值得关注那些想了解自动驾驶汽车和计算机视觉的发展趋势的数据专家,或者您可以跳至15分钟以了解特斯拉针对计算机视觉的方法的最新信息。其自动驾驶解决方案。
请查看他在Vimeo上的演讲视频,由于其安全性设置,该视频无法嵌入。