汽车导航 汽车导航
Ctrl+D收藏汽车导航
首页 > 汽车资讯 > 正文

特斯拉 Autopilot 如何单挑全世界?

作者:

时间:1900/1/1 0:00:00

特斯拉是一家非常开放的汽车公司。所谓开放,是指马斯克年初的一句“特斯拉愿意开放和分享自己所有的专利”,以及在GitHub上公开自己汽车操作系统的底层代码,在全球最大的软件BUG讨论社区Bugcrowd上发布英雄帖,邀请世界各地的黑客来黑自己的系统。近日,特斯拉再次向世界公开了自己自动驾驶的秘密。特斯拉AI部门高级总监Andrej Karpathy最近参加了一个关于深度学习的会议——PyTorch开发者大会2019,并就Autopilot如何在计算机视觉深度学习中应用py torch做了11分钟的演讲。众所周知,特斯拉坚决不支持汽车行业普遍支持的激光雷达方案,而是坚持纯视觉识别路线。安德烈·卡帕西的演讲相当于以硬核的方式再次向世界宣战。我们提取了这篇演讲的精华,用尽可能简洁的语言进行了讲解,于是就有了今天的文章。PyTorch是什么?要讨论安德烈·卡帕西(Andrej Karpathy)在这段视频中所说的话,我们先澄清一个概念——py torch。PyTorch的祖先叫Torch(意为火炬)。Torch是一个基于BSD许可的开源机器学习框架。Torch最早的版本发布于2002年,主要用于图像和视频的深度学习。目前,谷歌、脸书和推特都在使用火炬的分支版本。注意:BSD许可证最初是由加州大学伯克利分校在1988年起草的。是目前给用户最高自由度的开源协议。用户基本上可以修改源代码,将代码打包成专有软件。至于PyTorch,是Torch用Python语言写的版本。Torch底层由C语言和Lua语言编写,C语言为底层,Lua语言为深度学习库。两种语言都很优秀。事实上,使用Torch进行深度学习的大企业还是很多的,比如上面提到的那些。2017年1月,PyTorch在GitHub上正式发布,号称编译运行效率更高,但实际做到了——依托Python语言。总结一下诞生于1989年的Python,因为Python可以基于其他语言的各种模块进行组合,所以经常被戏称为“胶水语言”。根据权威数据挖掘网站KDnuggets的调查,Python已经成为最受AI从业者欢迎的语言。基于Python语言的PyTorch框架也得到了很多企业和研究人员的青睐。在自动驾驶方面,除了特斯拉,优步和斯坦福大学也开发了基于PyTorch的开源概率编程语言Pyro。此外,脸书、英伟达、美国艾伦人工智能研究所都在PyTorch的应用上走在了前面。特斯拉如何使用PyTorch?安德烈·卡帕西(Andrej Karpathy)在演讲开始时说:“由于我们不使用激光雷达或高精度地图,自动驾驶仪的所有功能都依赖于车身周围的八个摄像头提供原始图像后的计算机视觉操作。然后他给出了一个流程图,里面包含了Autopilot工作的所有流程。有趣的是,安德烈·卡帕西(Andrej Karpathy)将这一套过程称为“度假行动”(Operation Vacation),他说,“因为在这个阶段,我的团队可以在椅子上葛优,然后数据将从特斯拉的车上上传。神经网络模型上的自循环运行”:在特斯拉AI部门令人羡慕的“假期”中,“PyTorch分布式训练”占据了单独的一部分——但这是为什么?第一个结论:特斯拉利用PyTorch框架更高的效率,进一步提高了自动驾驶软件的并行学习性能。以上图为例。在上述典型场景中,自动驾驶需要同时处理10个不同种类的任务——而道路场景极其复杂,也就是说,自动驾驶始终面临着并行处理几十个任务的挑战。安德烈·卡帕西的原话是“差不多100个任务”。为了有效处理近100个并行任务,特斯拉采用了“类ResNet-50”的主干网络。那ResNet-50是什么?随着深度学习研究的不断发展,深度学习神经网络也在不断深入,随着网络深度的增加,训练精度也会降低,于是ResNet诞生了,它的中文名字叫做深度残差网络。ResNet有很多不同的版本,包括ResNet30/50/101等。主要区别在于层卷积层数和块块数,这里就不展开了(后……全部,是汽车微信官方账号……)。然而,即使有了更高效的网络,安德烈·卡帕西(Andrej Karpathy)仍然表示,“我们无法让每个任务都享受单独的神经网络操作,因为要同时处理的任务太多了,我们只能将一些操作分配给共享的骨干网络。”安德烈·卡帕西(Andrej Karpathy)将分配给共享骨干网的任务称为“绣球”,不仅准确,而且精准。比如下图在高速公路上行驶时的物体识别:以及Smart Summon模式下道路边缘的识别和确定:Andrej Karpathy将这类计算称为“在图像中预测,在空间和时间上选择性地部分删除这些图像,同时对图像进行拼接和变换,让车辆知道自己现在所处的位置”;另一种依靠PyTorch来提高运行效率的叫做循环任务。轮回任务是一个来自RNN的操作任务。中文名字有两个,一部分翻译成递归神经网络,更主流的翻译是递归神经网络,因为RNN有两种算法变体——一种是时间递归神经网络,一种是结构递归神经网络,两者都缩写为RNN。虽然RNN听起来很通俗,但在实际应用中它已经默默为我们服务了很长时间——生物研究中的机器翻译、语音识别、DNA序列分析都应用了RNN运算。在自动驾驶中,RNN通常用于预测前方道路。Andrej Karpathy以上述场景为例,解释了递归任务对道路布局预测的重要性:“我们为每个摄像头配备了相应的Hydra Nets,但很多时候你需要同时从多个摄像头收集数据,然后进行计算。比如在穿越一个岔路口的时候,我们有三个摄像头同时输入图像数据进行这个场景的深度学习操作。此时,神经网络预测不再只是简单的图像识别,而是基于全子结构的复合运算。在谈到这个场景时,Andrej Karpathy以此为例进一步解释了Hydra Nets:“我们为所有计算任务准备了8个消防栓。当然,九头蛇网的所有计算任务都可以进一步进入RNN进行递归运算。然后我们就可以按照这个总-子结构输出了。换句话说,自动驾驶软件中有一个很大的单个计算网络,然后每个任务可以采样这个计算网络的一小部分(接收到的图像),然后训练神经网络的那一小部分。比如我们可以单独训练摄像头的障碍物检测功能,也可以训练色深网络或者道路布局网络。所有单个任务都会对一小部分图像数据进行采样,然后分别训练这部分数据。接下来,Andrej Karpathy用一张图展示了自动驾驶软件需要处理的图像数据量:乍一看,这张图中只有两个数字可以用来说得通:8个摄像头代表原因,4096张图像代表结果。而且过程相当复杂。时间步长和批量大小需要一起说,不写中文是因为深度学习社区仍然没有给他们一个更忠实更优雅的官方翻译。批量大小代表深度学习网络中单个批量的数据量。例如,如果我们将100条数据输入到一个RNN中,并将其分成10个批次,则批次大小为10。至于时间步长,是预测最终值所需的最大步数。比如自动驾驶软件的时间步数是16,也就是说每一次,都有16组数据生成,最后的预测结果——每一次,都是指图中的每一次“向前传球”。目前深度学习最流行的硬件是GPU,Andrej Karpathy用一张图来描述自动驾驶神经网络对GPU计算的要求有多高:图中显示的70000个GPU小时,意味着自动驾驶的深度计算网络运行单个GPU需要70000个小时——Andrej kar pathy的原话是“如果你用一组8个GPU来训练自动驾驶的深度计算网络,你需要一年的时间”——当然,他没有说是用什么GPU来做对比。最后,安德烈·卡帕西(Andrej Karpathy)吹了一波自己的FSD芯片,特斯拉11分钟的特技就此结束——不过这个PPT和4月份发布的不一样。硬件3.0的工作功耗不再用250W/ mile之类的单位定义,而是换算成更低的“Sub 100W(小于100 W)”——至于是不是类似特斯拉的优化,只能等FSD了。结论Andrej Karpathy今天的演讲并不准确,但我们可以尝试用一句话来概括——特斯拉希望把你的车变成一个人。今年4月FSD芯片发布时,安德烈·卡帕西(Andrej Karpathy)表示,特斯拉与激光雷达完全绝缘:“你开车是因为你的眼睛看到了道路,而不是因为你的眼睛发出了激光。”今天,安德烈·卡帕西也说,“我们不需要高精度的地图”。这样一来,一辆逐渐走向自动驾驶的特斯拉,在行为模式上会越来越像人类——用眼睛采集图像数据,然后用大脑判断环境,指挥四肢做出动作。特斯拉的逻辑看似更接近人的本能,但在汽车行业却是真正的少数。传统的汽车工业,包括新的造车力量,…对激光雷达和高精度地图更有信心。特斯拉是一家非常开放的汽车公司。所谓开放,是指马斯克年初的一句“特斯拉愿意开放和分享自己所有的专利”,以及在GitHub上公开自己汽车操作系统的底层代码,在全球最大的软件BUG讨论社区Bugcrowd上发布英雄帖,邀请世界各地的黑客来黑自己的系统。近日,特斯拉再次向世界公开了自己自动驾驶的秘密。特斯拉AI部门高级总监Andrej Karpathy最近参加了一个关于深度学习的会议——PyTorch开发者大会2019,并就Autopilot如何在计算机视觉深度学习中应用py torch做了11分钟的演讲。众所周知,特斯拉坚决不支持汽车行业普遍支持的激光雷达方案,而是坚持纯视觉识别路线。安德烈·卡帕西的演讲相当于以硬核的方式再次向世界宣战。我们提取了这篇演讲的精华,用尽可能简洁的语言进行了讲解,于是就有了今天的文章。PyTorch是什么?要讨论安德烈·卡帕西(Andrej Karpathy)在这段视频中所说的话,我们先澄清一个概念——py torch。PyTorch的祖先叫Torch(意为火炬)。Torch是一个基于BSD许可的开源机器学习框架。Torch最早的版本发布于2002年,主要用于图像和视频的深度学习。目前,谷歌、脸书和推特都在使用火炬的分支版本。注意:BSD许可证最初是由加州大学伯克利分校在1988年起草的。是目前给用户最高自由度的开源协议。用户基本上可以修改源代码,将代码打包成专有软件。至于PyTorch,是Torch用Python语言写的版本。Torch底层由C语言和Lua语言编写,C语言为底层,Lua语言为深度学习库。两种语言都很优秀。事实上,使用Torch进行深度学习的大企业还是很多的,比如上面提到的那些。2017年1月,PyTorch在GitHub上正式发布,号称编译运行效率更高,但实际做到了——依托Python语言。总结一下诞生于1989年的Python,因为Python可以基于其他语言的各种模块进行组合,所以经常被戏称为“胶水语言”。根据权威数据挖掘网站KDnuggets的调查,Python已经成为最受AI从业者欢迎的语言。基于Python语言的PyTorch框架也得到了很多企业和研究人员的青睐。在自动驾驶方面,除了特斯拉,优步和斯坦福大学也开发了基于PyTorch的开源概率编程语言Pyro。此外,脸书、英伟达、美国艾伦人工智能研究所都在PyTorch的应用上走在了前面。特斯拉如何使用PyTorch?安德烈·卡帕西(Andrej Karpathy)在演讲开始时说:“由于我们不使用激光雷达或高精度地图,自动驾驶仪的所有功能都依赖于车身周围的八个摄像头提供原始图像后的计算机视觉操作。然后他给出了一个流程图,里面包含了Autopilot工作的所有流程。有趣的是,安德烈·卡帕西(Andrej Karpathy)将这一套过程称为“度假行动”(Operation Vacation),他说,“因为在这个阶段,我的团队可以在椅子上葛优,然后数据将从特斯拉的车上上传。神经网络模型上的自循环运行”:在特斯拉AI部门令人羡慕的“假期”中,“PyTorch分布式训练”占据了单独的一部分——但这是为什么?第一个结论:特斯拉利用PyTorch框架更高的效率,进一步提高了自动驾驶软件的并行学习性能。以上图为例。在上述典型场景中,自动驾驶需要同时处理10个不同种类的任务——而道路场景极其复杂,也就是说,自动驾驶始终面临着并行处理几十个任务的挑战。安德烈·卡帕西的原话是“差不多100个任务”。为了有效处理近100个并行任务,特斯拉采用了“类ResNet-50”的主干网络。那ResNet-50是什么?随着深度学习研究的不断发展,深度学习神经网络也在不断深入,随着网络深度的增加,训练精度也会降低,于是ResNet诞生了,它的中文名字叫做深度残差网络。ResNet有很多不同的版本,包括ResNet30/50/101等。主要区别在于卷积层数a……Block blocks,这里就不展开了(毕竟是汽车微信官方账号……)。然而,即使有了更高效的网络,安德烈·卡帕西(Andrej Karpathy)仍然表示,“我们无法让每个任务都享受单独的神经网络操作,因为要同时处理的任务太多了,我们只能将一些操作分配给共享的骨干网络。”安德烈·卡帕西(Andrej Karpathy)将分配给共享骨干网的任务称为“绣球”,不仅准确,而且精准。比如下图在高速公路上行驶时的物体识别:以及Smart Summon模式下道路边缘的识别和确定:Andrej Karpathy将这类计算称为“在图像中预测,在空间和时间上选择性地部分删除这些图像,同时对图像进行拼接和变换,让车辆知道自己现在所处的位置”;另一种依靠PyTorch来提高运行效率的叫做循环任务。轮回任务是一个来自RNN的操作任务。中文名字有两个,一部分翻译成递归神经网络,更主流的翻译是递归神经网络,因为RNN有两种算法变体——一种是时间递归神经网络,一种是结构递归神经网络,两者都缩写为RNN。虽然RNN听起来很通俗,但在实际应用中它已经默默为我们服务了很长时间——生物研究中的机器翻译、语音识别、DNA序列分析都应用了RNN运算。在自动驾驶中,RNN通常用于预测前方道路。Andrej Karpathy以上述场景为例,解释了递归任务对道路布局预测的重要性:“我们为每个摄像头配备了相应的Hydra Nets,但很多时候你需要同时从多个摄像头收集数据,然后进行计算。比如在穿越一个岔路口的时候,我们有三个摄像头同时输入图像数据进行这个场景的深度学习操作。此时,神经网络预测不再只是简单的图像识别,而是基于全子结构的复合运算。在谈到这个场景时,Andrej Karpathy以此为例进一步解释了Hydra Nets:“我们为所有计算任务准备了8个消防栓。当然,九头蛇网的所有计算任务都可以进一步进入RNN进行递归运算。然后我们就可以按照这个总-子结构输出了。换句话说,自动驾驶软件中有一个很大的单个计算网络,然后每个任务可以采样这个计算网络的一小部分(接收到的图像),然后训练神经网络的那一小部分。比如我们可以单独训练摄像头的障碍物检测功能,也可以训练色深网络或者道路布局网络。所有单个任务都会对一小部分图像数据进行采样,然后分别训练这部分数据。接下来,Andrej Karpathy用一张图展示了自动驾驶软件需要处理的图像数据量:乍一看,这张图中只有两个数字可以用来说得通:8个摄像头代表原因,4096张图像代表结果。而且过程相当复杂。时间步长和批量大小需要一起说,不写中文是因为深度学习社区仍然没有给他们一个更忠实更优雅的官方翻译。批量大小代表深度学习网络中单个批量的数据量。例如,如果我们将100条数据输入到一个RNN中,并将其分成10个批次,则批次大小为10。至于时间步长,是预测最终值所需的最大步数。比如自动驾驶软件的时间步数是16,也就是说每一次,都有16组数据生成,最后的预测结果——每一次,都是指图中的每一次“向前传球”。目前深度学习最流行的硬件是GPU,Andrej Karpathy用一张图来描述自动驾驶神经网络对GPU计算的要求有多高:图中显示的70000个GPU小时,意味着自动驾驶的深度计算网络运行单个GPU需要70000个小时——Andrej kar pathy的原话是“如果你用一组8个GPU来训练自动驾驶的深度计算网络,你需要一年的时间”——当然,他没有说是用什么GPU来做对比。最后,安德烈·卡帕西(Andrej Karpathy)吹了一波自己的FSD芯片,特斯拉11分钟的特技就此结束——不过这个PPT和4月份发布的不一样。硬件3.0的工作功耗不再用250W/ mile之类的单位定义,而是换算成更低的“Sub 100W(小于100 W)”——至于是不是类似特斯拉的优化,只能等FSD了。结论Andrej Karpathy今天的演讲并不准确,但我们可以尝试用一句话来概括——特斯拉希望把你的车变成一个人。今年4月FSD芯片发布时,安德烈·卡帕西(Andrej Karpathy)表示,特斯拉与激光雷达完全绝缘:“你开车是因为你的眼睛看到了道路,而不是因为你的眼睛发出了激光。”今天,安德烈·卡帕西也说,“我们不需要高精度的地图”。这样一来,一辆逐渐走向自动驾驶的特斯拉,在行为模式上会越来越像人类——用眼睛采集图像数据,然后用大脑判断环境,指挥四肢做出动作。特斯拉的逻辑看似更接近人的本能,但在汽车行业却是真正的少数。传统汽车行业,包括造车新势力,对激光雷达和高精地图的信心更高。

标签:特斯拉

汽车资讯热门资讯
许家印的购物车能装下恒大的汽车帝国吗?

图片来源视觉中国未来三年投入450亿元,许家印亮出了造车的阶段性投入。

1900/1/1 0:00:00
特斯拉AutoPilot如何自我进化?高管解读背后AI技术

现阶段,自动驾驶浪潮正席卷全球,各大车企都在积极研发汽车的自动驾驶功能,但各自采用的方向却并不相同。

1900/1/1 0:00:00
美国加州首个磷酸铁锂储能系统获得安全认证

韩国一系列搭载LG化学和三星SDI三元电池的ESS起火证明其安全性还有待提升,这或给磷酸铁锂电池ESS提供良好的发展机会。

1900/1/1 0:00:00
华晨集团与力帆集团达成合作 布局南美市场

11月13日,华晨集团发布公告称,在乌拉圭当地时间11月12日,华晨集团与力帆集团达成乌拉圭汽车组装项目战略合作。

1900/1/1 0:00:00
都“三电终身质保”了,他们为啥还在焦虑?

图片来自“123RF”“这次大风降温来的这么突然,开新能源车的该后悔了吧?”“看着续航从450掉到300,傻眼了吧?“立冬之后,不少汽车论坛上的“车黑”又开始不遗余力地挖苦、“开黑”新能源汽车了。

1900/1/1 0:00:00
5G来了,自动驾驶当真更近了么?

想象一下,你开车行驶在马路上,还未到达十字路口,车辆就可以与前方的红绿灯进行沟通,提前预知前方信号灯的变化,并通过前方路口信号灯、车辆速度、与前方路口距离,计算出最佳行驶速度,

1900/1/1 0:00:00