百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

特斯拉“行为克隆”技术曝光:无需写代码,实现全自动驾驶?

yuyutoo 2024-10-22 18:43 1 浏览 0 评论


【新智元导读】特斯拉最近曝光“行为克隆”技术,系统研究人类在各种场景中的驾驶动作并加以模仿。巧合的是,自动驾驶第一大厂Waymo不久前也在公布了模仿学习中的技术细节。模仿学习会成为全自动驾驶的一条捷径吗?

全自动驾驶的“捷径”来了?

知情人士表示,特斯拉汽车收集了大量的来自摄像头和其他传感器的数据,即使Autopilot系统没有开启,开发团队也可以研究传统的人类在各种场景中的驾驶动作并加以模仿。

这种技术被称为“行为克隆”,实际上是一种模仿学习(imitation learning)。

系统使用模仿的信息作为车辆在特定情况下决定驾驶方式,比如,行驶弯道或避开前方目标等。

无独有偶,为了模仿专家驾驶,自动驾驶大厂Waymo不久前也创建了一个名为ChauffeurNet的深度RNN,该网络通过观察场景的中层表示作为输入,训练它发出驾驶轨迹,最终的结果能超越纯粹的模仿。

此外值得注意的是,上周AlphaStar战胜人类选手之,就涉及到模仿学习。AlphaStar只通过观察人类如何玩游戏,就能模仿学习策略,最后将信息用于训练各种智能体。

现在,自动驾驶界的两只领头羊都在尝试做模仿学习,这会成为全自动驾驶的一条捷径吗?

特斯拉行为克隆:未来人们不需要写代码了

特斯拉的自动驾驶系统Autopilot的核心功能与其他半自动驾驶系统和全自动驾驶系统类似:在Autopilot可以运行之前,特斯拉从汽车的传感器(如前置摄像头)收集数据。

之后公司雇人对图像中的汽车和其他物体进行数字标记,然后将一些图像输入神经网络计算系统,该系统会对其他车辆及其行进方式进行模式识别,并且随着时间的推移提高车速。

通过神经网络提供足够的真人驾驶数据,网络就可以学习如何在大多数情况下直接预测正确的转向、制动和加速行为。

但特斯拉不同的地方在于,“行为克隆”让Autopilot开发团队也可以研究传统的人类驾驶在各种场景中的动作,从而加以模仿。

这样做的结果是,你不需要任何其他东西来教系统如何自主驾驶,在未来,人们不需要编写代码来告诉汽车在遇到特定情况时该怎么做,因为汽车自会知道该怎么做。

这个概念被特斯拉的一些工程师称为“软件2.0”。

深度理解模仿学习:未来或能交叉预测其他智能体的反应

“软件2.0”可能是一种产品概念,“行为克隆”的背后是技(学)术概念——模仿学习。

目前,特斯拉对于模仿学习的详细介绍资料比较少,但是Waymo去年11月发的一篇论文,可以窥见模仿学习的部分技术原理。

Waymo创建的ChauffeurNet的深度递归神经网络(RNN),通过观察场景的中级表示作为输入来训练该网络生成驾驶路线的轨迹。中级表示不直接使用来自传感器的原始数据,从而可以将感知任务分解出来,能够将真实数据和模拟数据相结合,更容易地进行迁移学习。

如下图所示,输入表示包括一个自上而下(鸟瞰)环境视图,其中包括地图、周围物体、交通信号灯状态、车辆过往的运动等信息。该网络还能够给出谷歌地图风格的路线,引导车辆前往目的地。

为驾驶模型渲染输入和输出。上排从左至右:路线图、红绿灯,限速和路线。下排从左至右:当前智能体框、动态框、过往智能体姿势,未来智能体姿势输出。

ChauffeurNet在每次迭代期间会沿着未来的驾驶轨迹输出一个点,同时将预测点写入在下一次迭代期间使用的存储器中。从这个意义上讲,这个RNN并不是传统式的,因为存储模型是定制化的。

接着,ChauffeurNet将由十个未来的点组成的轨迹输出到一个低级控制器,该控制器将这个轨迹转换为对车辆的控制命令,比如转向和加速,来驱动汽车。

此外,Waymo还采用了一个单独的“感知RNN”头,能够迭代式地预测环境中其他移动物体的未来轨迹,并且这个网络与预测车辆驾驶的RNN共享特征。

ChauffeurNet内部分为两个部分,FeatureNet和AgentRNN。 AgentRNN使用过去智能体姿势的渲染图像、由渲染输入的卷积网络“FeatureNet”计算出的一组特征、具有最后一个智能体框渲染的图像,以及具有预测渲染的显式存储器,来预测下一个智能体姿势和自上而下视图中的下一个智能体框。这些预测用于更新AgentRNN的输入,以预测下一个时间步长。

未来的一种可能是,车辆可以在选择自己的驾驶轨迹的同时,更深入地交叉预测其他智能体的反应过程。

模仿学习是“捷径”还是“普通路径”?

“行为克隆”也好,“软件2.0也好”,利用神经网络编写代码来自动驾驶,从而取代人类编写的代码,看上去可能是未来全自动驾驶的捷径之一。

不过,特斯拉“行为克隆”的也有其局限性:这种方法不能教Autopilot系统处理无法轻易预测的危险情景。比如,老司机看到飘在前方的塑料袋时不会转向,但自动驾驶系统可能就会。

这也是自动驾驶存在的识别训练数据相关性问题,它不能通过纯粹观察相关性来构建因果模型,并且无法在模拟中主动测试反事实。

另外,传统方法实现完全自动驾驶系统,需要能够处理现实世界中发生的长尾事件。

长尾事件的解决需要深度学习训练尽可能多的数据,但现实情况往往是缺少有效训练数据。

一位长期从事自动驾驶的业内人士告诉新智元,“行为克隆”是快速收集大量数据的捷径,但网络传输速度和计算量都太大了。“至于是不是实现无人驾驶的捷径,要看能不能搞出真正能用的系统。

驭势科技CEO吴甘沙告诉新智元,模仿学习的主要局限是数据的可获得性和有效性,比如影子模式可能解决了可获得性,但也包括了不值得提倡的司机行为。另一方面,它还是端到端的,在可解释性上才刚刚有些进展。同时,因为是端到端,比较难在中间过程中接受其他的信息或指令。

吴甘沙认为,模仿学习“肯定是路径之一,或者是决策的一个来源,但目前来看还不能作为唯一决策方法。”

One more thing:特斯拉AI芯片专利曝光

据Hot Hardware报道,特斯拉向美国专利商标局提交的专利中提到,传统处理器可以快速执行单个数学运算,但它有一个限制:这样的处理器一次只能处理少量数据。

虽然GPU可以使用更大的数据集执行多个任务,但它们最初并不是为机器学习和AI开发的。

特斯拉的AI芯片专利内容如下:

“用于机器学习和人工智能的处理通常需要对大量数据集执行数学运算,并且通常涉及求解多个卷积层和汇集层。”

为了解决这个问题,特斯拉必须开发一种新的神经AI,可以进行“机器学习和人工智能特定的处理操作”。

因此,特斯拉提交了一些专利:

  • 加速的数学引擎
  • 具有可变延迟存储器访问的计算阵列微处理器系统
  • 使用非连续数据格式的计算阵列微处理器系统
  • 矢量计算单位。

目前,Autopilot 2.0的计算机组件由英伟达GPU提供支持。

同时,即将推出的升级版本将取代特斯拉目前使用的Autopilot 2.0平台,使用AI芯片的Autopilot 3.0能够在汽车中实现全自动驾驶功能。

参考资料:

https://medium.com/waymo/learning-to-drive-beyond-pure-imitation-465499f8bcb2

https://www.theinformation.com/articles/what-makes-teslas-autopilot-different

https://www.reddit.com/r/MachineLearning/comments/aklwv8/n_report_tesla_is_using_behavior_cloning_ie/

相关推荐

mysql数据库如何快速获得库中无主键的表

概述总结一下MySQL数据库查看无主键表的一些sql,一起来看看吧~1、查看表主键信息--查看表主键信息SELECTt.TABLE_NAME,t.CONSTRAINT_TYPE,c.C...

一文读懂MySQL的架构设计

MySQL是一种流行的开源关系型数据库管理系统,它由四个主要组件构成:协议接入层...

MySQL中的存储过程和函数

原文地址:https://dwz.cn/6Ysx1KXs作者:best.lei存储过程和函数简单的说,存储过程就是一条或者多条SQL语句的集合。可以视为批文件,但是其作用不仅仅局限于批处理。本文主要介...

创建数据表:MySQL 中的 CREATE 命令深入探讨

数据库是企业日常运营和业务发展的不可缺少的基石。MySQL是一款优秀的关系型数据库管理系统,它支持数据的插入、修改、查询和删除操作。在数据库中,表是一个关系数据库中用于保存数据的容器,它由表定义、表...

SQL优化——IN和EXISTS谁的效率更高

IN和EXISTS被频繁使用在SQL中,虽然作用是一样的,但是在使用效率谁更高这点上众说纷纭。下面我们就通过一组测试来看,在不同场景下,使用哪个效率更高。...

在MySQL中创建新的数据库,可以使用命令,也可以通过MySQL工作台

摘要:在本教程中,你将学习如何使用MySQLCREATEDATABASE语句在MySQL数据库服务器上创建新数据库。MySQLCREATEDATABASE语句简介...

SQL查找是否"存在",别再用count了

根据某一条件从数据库表中查询『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECTCOUNT(*)呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往...

解决Mysql数据库提示innodb表不存在的问题

发现mysql的error.log里面有报错:>InnoDB:Error:Table"mysql"."innodb_table_stats"notfo...

Mysql实战总结&面试20问

1、MySQL索引使用注意事项1.1、索引哪些情况会失效查询条件包含or,可能导致索引失效如果字段类型是字符串,where时一定用引号括起来,否则索引失效...

MySQL创建数据表

数据库有了后,就可以在库里面建各种数据表了。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。后面也是通过SQL语句和Navicat...

MySQL数据库之死锁与解决方案

一、表的死锁产生原因:...

MySQL创建数据库

我的重点还是放在数据表的操作,但第一篇还是先介绍一下数据表的容器数据库的一些操作。主要涉及数据库的创建、修改、删除和查看,下面演示一下用SQL语句创建和用图形工具创建。后面主要使用的工具是Navica...

MySQL中创建触发器需要执行哪些操作?

什么是触发器触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段...

《MySQL 入门教程》第 17 篇 MySQL 变量

原文地址:https://blog.csdn.net/horses/article/details/107736801原文作者:不剪发的Tony老师来源平台:CSDN变量是一个拥有名字的对象,可以用于...

关于如何在MySQL中创建表,看这篇文章就差不多了

数据库技术是现代科技领域中至关重要的一部分,而MySQL作为最流行的关系型数据库管理系统之一,在数据存储和管理方面扮演着重要角色。本文将深入探讨MySQL中CREATETABLE语句的应用,以及如何...

取消回复欢迎 发表评论: