Waymo首次公开自动驾驶技术:让AI学会「危机想象力」

Waymo自动驾驶出租车「Waymo One」已经上线了,现在美国亚利桑那州凤凰城的居民可以像叫个滴滴一样用手机 app 打来一辆自动驾驶汽车。这些高度智能化的无人车使用的是哪些技术?最近这家谷歌旗下的公司终于公开了自己的第一篇论文,介绍了 Waymo 自动驾驶算法的细节。

今年,自动驾驶公司 Waymo 取得了一些里程碑式的进展。8 月份,Waymo 的实地自动驾驶里程突破 1000 万英里,上周,Waymo 又推出了一款商用自动驾驶车——Waymo One。但该公司的研究人员始终着眼于未来。

Medium 上今天出现了一篇博文,Mayank Bansal、Abhijit Ogale 两位研究人员详细介绍了利用标注数据(即来自专业驾驶演示的 Waymo 数百万英里的已标注数据)通过监督学习训练 AI 驾驶员的方法。

学习人类经验

「近年来,深度神经网络中的监督训练使用大量标注数据在许多领域迅速提高了当前最佳水准,尤其是在目标检测及预测领域。这些技术在 Waymo 得到了广泛应用,」研究人员写道。「随着感知神经网络取得成功,我们自然而然地会问自己:我们可以利用纯监督深度学习方法训练出一个熟练的自动驾驶员吗?」

模拟环境中,Waymo 的智能体绕过一辆停泊的车。青色路径描绘了输入路径,绿色框是智能体,蓝色点是智能体的过去位置,绿色点是预测的未来位置。

模拟环境中,Waymo 的 AI 系统根据前方车辆位置减速停车。带有褪色尾部的黄色方块是场景中过去一秒内的动态目标(其它车辆)的位置。

为了创建一个能够模拟专业驾驶的系统,他们精心设计了一个神经网络——ChauffeurNet,该网络通过观察真实和模拟数据(包括地图、周围目标、交通灯状态和汽车过去的运动)学会了生成驾驶轨迹。一个低级的控制器将十点轨迹转化为转向和加速指令,允许 AI 模型驾驶真实和模拟汽车。

该模型从「相当于专业驾驶 60 天的驾驶数据」中得到样本,其使用的技术确保了它不会根据过去的运动推断下一步动作,而是根据环境中的变化做出反应。在测试中,它会对交通控制标识做出反应,如停车标识和交通灯。但遇到以前从未见过的情况时,它的表现不佳。

模拟异常情况

研究人员指出,造成这种问题的原因在于其从现实驾驶中获得的驾驶 demo 是有偏差的——它们只包含正常情况(无事故)下的驾驶案例。为了教网络从边缘案例中恢复,该团队合成了接近事故和与物体发生碰撞的情况,后者鼓励 AI 模型避开这些物体。

Waymo 的模型在转弯时的表现。图源:Waymo

ChauffeurNet 在模拟环境中表现较好,它将损失和合成的示例都考虑在内,甚至还能绕过停泊的车辆,在信号灯由黄变红时停下以及在其轨道上修复些微的偏差。在现实世界的私人试车跑道驾驶 Waymo 的克莱斯勒 Pacifica 小型货车时,ChauffeurNet 成功地驶过了弯道,并正确判别了停止信号和转弯。

「全自动驾驶系统需要具备处理现实世界种种状况的能力,」研究人员写道。「在 Waymo 车辆上运行的现有规划器将机器学习与外显推理相结合,连续不断地评估大量概率变量并在多种不同的情境下做出最佳驾驶决策……因此,用完全的机器学习系统替代 Waymo 规划器的门槛很高,尽管这一系统的组成也可以用在 Waymo 规划器内,或者用于在规划器的模拟测试期间创造更加实用的『智慧智能体』」。

模型在真实世界驾驶的情况

红色轨迹表示场景中动态目标的过去轨迹,绿色轨迹表示每个目标未来 2 秒之内的预测轨迹。

模型结构

ChauffeurNet 内部由两个部分组成——FeatureNet 和 AgentRNN。AgentRNN 的输入包括一张展示过去智能体姿态的图像、一组由卷积网络FeatureNet 从展示的输入中计算的特征、一张展示过去智能体框的图像、展示预测未来智能体姿态以预测智能体下一个姿态的外显记忆,以及俯视视角下的下一个智能体框。这些预测用于更新 AgentRNN 的输入,从而预测下一个时间步。

最后,让我们看看这篇介绍 ChauffeurNet 的论文:《ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst》。

论文链接:https://sites.google.com/view/waymo-learn-to-drive

摘要:我们的目标是通过模仿学习来为自动驾驶训练可用于驾驶真实汽车的鲁棒策略。我们发现通常的行为复制不足以适应复杂的驾驶环境,即使已经使用了感知系统来预处理输入,以及使用控制器来将输出执行到汽车上:3 千万个案例仍然是不够的。我们在本研究中提出,应该以专业驾驶数据的扰动形式向学习器展示合成数据,这会产生有趣的情况,例如碰撞和/或离开道路。我们不是纯粹模仿所有数据,而是通过额外的损失补充模仿损失,以惩罚不良事件并鼓励进步,扰动为这些损失函数提供了重要信号,并实现了学习模型的鲁棒性。结果表明,ChauffeurNet 模型可以处理模拟中的复杂情况,我们还提供了控制变量实验,强调我们提出的每个变化的重要性,并表明模型可以对适当的因果因素进行响应。最后,我们展示了在现实世界中驾驶汽车的模型。

参考内容:

产业监督学习自动驾驶Waymo
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

自动驾驶汽车技术

自动驾驶汽车,又称为无人驾驶汽车、电脑驾驶汽车或轮式移动机器人,是自动化载具的一种,具有传统汽车的运输能力。作为自动化载具,自动驾驶汽车不需要人为操作即能感测其环境及导航。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

模仿学习技术

模仿学习(Imitation Learning)背后的原理是是通过隐含地给学习器关于这个世界的先验信息,就能执行、学习人类行为。在模仿学习任务中,智能体(agent)为了学习到策略从而尽可能像人类专家那样执行一种行为,它会寻找一种最佳的方式来使用由该专家示范的训练集(输入-输出对)。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~