0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

强化学习在自动驾驶的应用

8g3K_AI_Thinker ? 来源:未知 ? 作者:胡薇 ? 2018-07-10 09:00 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

制造真正的自动驾驶汽车(即能够在任何要求的环境中安全驾驶)的关键是更加重视关于其软件的自学能力。换句话说,自动驾驶汽车首先是人工智能问题,需要一个非常具体的机器学习开发技能。而强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决决策(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 问题。

可参考论文《Continuous control with deep reinforcementlearning》(https://arxiv.org/abs/1509.02971)

无模型的 DDPG 方法学习更慢,但最终优于基于模型的方法。

我们的网络架构是一个深度网络,有 4 个卷积层和 3 个完全连接的层,总共略低于 10k 个参数。为了比较,现有技术的图像分类体系结构有数百万个参数。

所有的处理都是在汽车上的一个图形处理单元(GPU)上执行的。

在危险的真实环境中使用真正的机器人会带来很多新问题。为了更好地理解手头的任务,并找到合适的模型架构和超参数,我们进行了大量的仿真测试。

上组动图所示,是我们的车道跟随不同角度显示的模拟环境的示例。这个算法只能看到驾驶员的视角,也就是图中有青色边框的图像。在每一次模拟中,我们都会随机生成一条弯曲的车道,以及道路纹理和车道标记。智能体会一直探索,直到模拟终止时它才离开。然后根据手机到的数据进行策略优化,我们重复这样的步骤。

在安全驾驶员接管之前,汽车行驶的距离与模拟探索的数量有关。

我们使用模拟测试来尝试不同的神经网络架构和超参数,直到我们找到一致的设置,这些设置在很少的训练集中,也就是几乎没有数据的情况下,始终如一地解决了车道跟随的问题。例如,我们的发现之一,是使用自动编码器重构损失训练卷积层可以显著提高训练的稳定性和数据效率。

▌潜在的影响力

我们的方法的潜在影响是巨大的。想象一下,部署一支自动驾驶车队,使用一种最初只有人类司机 95% 质量的驾驶算法会怎么样。这样一个系统将不会像我们的演示视频中的随机初始化模型那样摇摇晃晃地行驶,而是几乎能够处理交通信号灯、环形交叉路口、十字路口等道路情况。经过一天的驾驶和人类安全驾驶员接管的在线改进后,系统也许可以提高到 96%。一个星期以后,提高到 98%。一个月以后,提高到99%。几个月以后,这个系统可能会变得超人类,因为它从许多不同的安全驾驶员的反馈中受益得以提高。

今天的自动驾驶汽车仍停留在良好的状态,但性能水平还不够好。在本文中,我们为第一个可行的框架提供了证据,以便快速改善驾驶算法,使其从不堪造就到可安全行驶。通过巧妙的试错法快速学习解决问题的能力,使人类拥有具备进化和生存能力的万能机器。我们通过各种各样的模仿来学习,从骑自行车到学习烹饪,我们经历了很多试错的过程。

DeepMind 向我们展示了深度强化学习方法可以在许多游戏中实现超人类的表现,包括围棋、象棋和电脑游戏,几乎总是比任何基于规则的系统表现的更好。我们发现,类似的哲学在现实世界中也是可能的,特别是在自动驾驶汽车中。有一点需要注意的是,DeepMind 的 Atari算法需要数百万次试验才能完成一个任务。值得注意的是,我们在不到 20 次试验中,一贯都学会了沿着车道行驶。

▌结束语

20 分钟,我们从零开始,学会了沿着车道行驶。想象一下,我们一天可以学到什么?

Wayve 的理念是构建机器人智能,不需要大量的模型、花哨的传感器和无尽的数据。我们需要的是一个聪明的训练过程,可以快速有效地学习,就像我们上面的视频一样。人工设计的自动驾驶技术在性能上达到了令人不满意的玻璃天花板。Wayve 正视图通过更智能的机器学习来开发自动驾驶功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动驾驶
    +关注

    关注

    790

    文章

    14367

    浏览量

    171162
  • 强化学习
    +关注

    关注

    4

    文章

    269

    浏览量

    11642

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

文章出处:【微信号:AI_Thinker,微信公众号:人工智能头条】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    低速自动驾驶与乘用车自动驾驶技术要求上有何不同?

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展正朝着多元化方向迈进,其中低速自动驾驶小车(以下简称“低速小车”)因其物流配送、园区运维、社区服务等场景中的独特价值而受到广泛关注,且现阶段已经深入
    的头像 发表于 07-14 09:10 ?202次阅读
    低速<b class='flag-5'>自动驾驶</b>与乘用车<b class='flag-5'>自动驾驶</b><b class='flag-5'>在</b>技术要求上有何不同?

    卡车、矿车的自动驾驶和乘用车的自动驾驶技术要求上有何不同?

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展,让组合辅助驾驶得到大量应用,但现在对于自动驾驶技术的宣传,普遍是乘用车领域,而对于卡车、矿车的
    的头像 发表于 06-28 11:38 ?281次阅读
    卡车、矿车的<b class='flag-5'>自动驾驶</b>和乘用车的<b class='flag-5'>自动驾驶</b><b class='flag-5'>在</b>技术要求上有何不同?

    自动驾驶安全基石:ODD

    和限制下可以正常工作,是自动驾驶安全的核心概念之一。 ? 对于人类司机来说,不同的道路上驾驶的能力也有所区别,比如新手司机一些窄路、山路,或者交通状况复杂的道路上可能会无所适从,人
    的头像 发表于 05-19 03:52 ?5251次阅读

    新能源车软件单元测试深度解析:自动驾驶系统视角

    )和AI模块(如激光雷达目标检测)。例如,测试自动驾驶路径规划模块时,可同步注入CAN总线信号(车速、转向角)和虚拟点云数据(模拟障碍物),实现多维度耦合验证。 ? 智能覆盖率引导: ? 通过强化学习
    发表于 05-12 15:59

    自动驾驶大模型中常提的Token是个啥?对自动驾驶有何影响?

    近年来,人工智能技术迅速发展,大规模深度学习模型(即大模型)自然语言处理、计算机视觉、语音识别以及自动驾驶等多个领域取得了突破性进展。自动驾驶作为未来智能交通的重要方向,其核心技术之
    的头像 发表于 03-28 09:16 ?421次阅读

    从《自动驾驶地图数据规范》聊高精地图自动驾驶中的重要性

    自动驾驶地图作为L3级及以上自动驾驶技术的核心基础设施,其重要性随着智能驾驶技术的发展愈发显著。《自动驾驶地图数据规范》(DB11/T 2041-2022)由北京市规划和自然资源委员会
    的头像 发表于 01-05 19:24 ?2371次阅读
    从《<b class='flag-5'>自动驾驶</b>地图数据规范》聊高精地图<b class='flag-5'>在</b><b class='flag-5'>自动驾驶</b>中的重要性

    MEMS技术自动驾驶汽车中的应用

    MEMS技术自动驾驶汽车中的应用主要体现在传感器方面,这些传感器为自动驾驶汽车提供了关键的环境感知和数据采集能力。以下是对MEMS技术自动驾驶
    的头像 发表于 11-20 10:19 ?1515次阅读

    如何使用 PyTorch 进行强化学习

    的计算图和自动微分功能,非常适合实现复杂的强化学习算法。 1. 环境(Environment) 强化学习中,环境是一个抽象的概念,它定义了智能体(agent)可以执行的动作(acti
    的头像 发表于 11-05 17:34 ?1089次阅读

    自动驾驶汽车安全吗?

    随着未来汽车变得更加互联,汽车逐渐变得更加依赖技术,并且逐渐变得更加自动化——最终实现自动驾驶,了解自动驾驶汽车的安全问题变得非常重要,这样你才能回答“自动驾驶汽车安全吗”和“
    的头像 发表于 10-29 13:42 ?1183次阅读
    <b class='flag-5'>自动驾驶</b>汽车安全吗?

    人工智能的应用领域有自动驾驶

    人工智能的应用领域确实包括自动驾驶 。近年来,随着科技的迅猛发展,人工智能(AI)的应用已经渗透到生活的方方面面,特别是自动驾驶领域,AI技术展现出了巨大的潜力和价值。 一、人工智能在自动驾
    的头像 发表于 10-22 16:18 ?1271次阅读

    自动驾驶HiL测试方案案例分析--ADS HiL测试系统#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月22日 15:20:19

    自动驾驶技术的典型应用 自动驾驶技术涉及到哪些技术

    自动驾驶技术的典型应用 自动驾驶技术是一种依赖计算机、无人驾驶设备以及各种传感器,实现汽车自主行驶的技术。它通过使用人工智能、视觉计算、雷达、监控装置和全球定位系统等技术,使自动驾驶
    的头像 发表于 10-18 17:31 ?1964次阅读

    自动驾驶HiL测试方案介绍#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月12日 18:02:07