专栏名称: 人工智能头条
专注人工智能技术前沿、实战技巧及大牛心得。
相关文章推荐
爱可可-爱生活  ·  【[204星]QwenLM/QwQ:阿里巴巴 ... ·  12 小时前  
机器之心  ·  没有归一化层的Transformer!刘壮带 ... ·  2 天前  
爱可可-爱生活  ·  [LG]《Block Diffusion: ... ·  3 天前  
51好读  ›  专栏  ›  人工智能头条

讲真?一天就学会了自动驾驶——强化学习在自动驾驶的应用

人工智能头条  · 公众号  · AI  · 2018-07-09 19:12

正文


编译 | 婉清

编辑 | 姗姗

出品 | 人工智能头条 (公众号ID:AI_Thinker)


【导读】制造真正的自动驾驶汽车(即能够在任何要求的环境中安全驾驶)的关键是更加重视关于其软件的自学能力。换句话说,自动驾驶汽车首先是人工智能问题,需要一个非常具体的机器学习开发技能。而强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决决策(decision making)问题,即自动进行决策,并且可以做连续决策。今天人工智能头条给大家介绍强化学习在自动驾驶的一个应用案例,无需 3D 地图也无需规则,让汽车从零开始在二十分钟内学会如何自动驾驶。


前言


(译者按) 强化学习 是通过对未知环境一边探索一边建立环境模型以及学得一个最优策略。强化学习具有以下特征:


  • 没有监督数据,只有奖励(reward)信号;

  • 奖励信号不一定是实时的,而很可能是延后的,有时甚至延后很多;

  • 时间(序列)是一个重要因素;

  • 智能体当前的行为影响后续接收到的数据。


有监督学习 则是事先给你了一批样本,并告诉你哪些样本是优的哪些是劣的(样本的标记信息),通过学习这些样本而建立起对象的模型及其策略。在强化学习中没有人事先告诉你在什么状态下应该做什么,只有在摸索中反思之前的动作是否正确来学习。从这个角度看,可以认为强化学习是有时间延迟标记信息的有监督学习。


其他许多机器学习算法中学习器都是学得怎样做,而强化学习是在尝试的过程中学习到在特定的情境下选择哪种行动可以得到最大的回报。


简而言之,强化学习采用的是边获得样例边学习的方式,在获得样例之后更新自己的模型,利用当前的模型来指导下一步的行动,下一步的行动获得奖励之后再更新模型,不断迭代重复直到模型收敛。


强化学习有广泛的应用:像直升机特技飞行、经典游戏、投资管理、发电站控制、让机器人模仿人类行走等等。


英国初创公司 wayve 日前发表的一篇文章 Learning to drive in a day,阐述了强化学习在自动驾驶汽车中的应用。Wayve是英国两位剑桥大学的机器学习博士创立的英国自动驾驶汽车公司,正在建立“端到端的机器学习算法”,它声称使用的方法与大部分自驾车的思维不同。 具体来说,这家公司认为制造真正的自动驾驶汽车的关键在于软件的自学能力,而其他公司使用更多的传感器并不能解决问题,它需要的是更好的协调。


自动驾驶的人工智能包含了感知、决策和控制三个方面。


感知指的是如何通过摄像头和其他传感器的输入解析出周围环境的信息, 例如有哪些障碍物、障碍物的速度和距离、道路的宽度和曲率等。 而感知模块不可能做到完全可靠。 Tesla 的无人驾驶事故就是在强光的环境中感知模块失效导致的。 强化学习可以做到,即使在某些模块失效的情况下也能做出稳妥的行 为。 强化学习可以比较容易地学习到一系列的行为。自动驾驶中需要执行一系列正确的行为才能成功的驾驶。 如果只有标注数据,学习到的模型每个时刻偏移了一点,到最后可能会偏移非常多,产生毁灭性的后果。强化学习能够学会自动修正偏移。


自动驾驶的 决策是指给定感知模块解析出的环境信息如何控制汽车的行为达到驾驶的目标。 例如,汽车加速、减速、左转、右转、换道、超车都是决策模块的输出。决策模块不仅需要考虑到汽车的安全性和舒适性,保证尽快到达目标地点,还需要在旁边的车辆恶意的情况下保证乘客的安全。因此,决策模块一方面需要对行车的计划进行长期规划,另一方面需要对周围车辆和行人的行为进行预测。 而且,无人驾驶中的决策模块对安全性和可靠性有严格的要求。现有的无人驾驶的决策模块一般是根据规则构建的。虽然基于规则的构建可以应付大部分的驾驶情况,对于驾驶中可能出现的各种各样的突发情况,基于规则的决策系统不可能枚举到所有突发情况。我们需要一种自适应的系统来应对驾驶环境中出现的各种突发情况。


现在,让我们来看看 Wayve 的自动驾驶汽车的解决方案有什么新颖的地方。


从零开始学会如何通过试错法来学会自动驾驶


还记得小时候学骑自行车的情景吗?又兴奋,又有一点点焦虑。你可能是第一次坐在自行车上,踩着踏板,大人跟随在你身边,准备在你失去平衡的时候扶住你。在一些摇摆不定的尝试之后,你可能设法保持了几米距离的平衡。几个小时过去后,你可能在公园里的沙砾和草地上能够飞驰了。 大人只会给你一些简短的提示。你不需要一张公园的密集 3D 地图,也不需要在头上装一个高保真激光摄像头。你也不需要遵循一长串的规则就能在自行车上保持平衡。大人只是为你提供了一个安全的环境,让你学会如何根据你所见来决定你的行为,从而成功学会骑车。


如今,自动驾驶汽车安装了大量的传感器,并通过缓慢的开发周期中被告知如何通过一长串精心设计的规则来驾驶车辆。在本文中,我们将回到基础,让汽车从零开始学会如何通过试错法来学会自动驾驶,就像你学骑自行车一样。




看看我们做了什么: 只用了 15~20 分钟,我们就能够教会一辆汽车从零开始沿着一条车道行驶,而这只有当安全驾驶员接手时作为训练反馈才使用。


译注:试错(trial and error)是一种用来解决问题、获取知识的常见方法。此种方法可视为简易解决问题的方法中的一种,与使用洞察力和理论推导的方法正好相反。在试错的过程中,选择一个可能的解法应用在待解问题上,经过验证后如果失败,选择另一个可能的解法再接着尝试下去。整个过程在其中一个尝试解法产生出正确结果时结束。


像学骑自行车的方法只有一种:试错。虽然简单,但这个思想实验突出了人类智能的一些重要方面。对于某些任务,我们采用试错法;而对于其他任务我们则使用规划的方法。在强化学习中也出现了类似的现象。按照强化学习的说法,实证结果表明,一些任务更适合无模型(试错)方法,而另一些则更适合基于模型的(规划)方法。


无需密集 3D 地图,无需手写规则


这是自动驾驶汽车在网上学习的第一个例子,每一次尝试都会让它变得更好。那么,我们是怎么做到的呢?


我们采用了一种流行的无模型深度强化学习算法(深度确定性策略梯度:deep deterministic policy gradients,DDPG)来解决车道跟踪问题。我们的模型输入是单目镜摄像头图像。我们的系统迭代了三个过程:探索、优化和评估。



译注: DDPG ,由DeepMind的Lillicrap 等于 2016 年提出,全称是:Deep Deterministic Policy Gradient,是将深度学习神经网络融合进DPG的策略学习方法。而 DPG 是由 DeepMind 的 D.Silver 等人在 2014 年提出的: Deterministic Policy Gradient,即确定性的行为策略。在此之前,业界普遍认为,环境模型无关(model-free)的确定性策略是不存在的,在 2014 年的 DPG 论文中,D.Silver 等通过严密的数学推导,证明了 DPG 的存在。DDPG 相对于 DPG 的核心改进是:采用卷积神经网络作为策略函数μ 和 Q 函数的模拟,即策略网络和 Q 网络;然后使用深度学习的方法来训练上述神经网络。


DDPG 算法是利用 QDN 扩展 Q 学习算法的思路对 DPG 方法进行改造,提出的一种基于行动者-评论家(Actor-Critic,AC)框架的算法,该算法可用于解决连续动作空间上的 DRL 问题。







请到「今天看啥」查看全文