查看原文
其他

【源头活水】GRI:通用强化模仿学习,用于视觉自动驾驶



“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—黄浴
地址:https://zhuanlan.zhihu.com/p/435315273
arXiv在2021年11月16日上传论文“GRI: General Reinforced Imitation and its Application to Vision-Based Autonomous Driving“,作者来自法国Valeo公司和MINES ParisTech大学。
深度强化学习 (DRL) 已被证明对一些复杂的决策应用(如自动驾驶和机器人)问题有效。然而,DRL 面临高样本复杂性和缺乏稳定性等问题。先前的知识,如专家演示,往往可用,但利用其来减轻这些问题仍然是挑战。该文提出了通用强化模仿(GRI),一种结合了探索和专家数据的方法,直接在任何不带策略(off-policy)的强化学习(RL)算法实施。一个简化的假设:专家的演示可以被看作是完美的数据,其基本策略得到不断的高奖励。基于此假设,GRI 引入了离线演示智体的概念。此智体发送专家数据,与在线 RL 探索智体的经验,一起同时处理且无区分。
模仿学习(IL),特别是行为克隆,旨在为给定的任务模仿专家的行为。它需要大量的标注数据,一般由人类驾驶员记录。尽管此类数据很容易地大规模得到,但真实交通的实际安全问题,导致安全驾驶示例的严重偏差观测数据,且不足以代表那些罕见的危险情况。因此,IL 代理存在分布不匹配问题,而且难以从自身错误中恢复。
深度强化学习 (DRL) 提供了一种替代方法,通过试错让智体从自身错误中吸取教训,比 IL 更有力解决分布不匹配问题。在 强化学习(RL)框架中,智体自行探索其环境并收集奖励,这是一个评估给定状态下给定动作的优异值。智体的目标是最大化其累积奖励。为此,需要优化动作序列,而不是作为瞬时动作序列。尽管如此,DRL 需要比 IL 多一个数量级的训练数据才能收敛,因为在训练期间对环境进行了广泛且耗时的探索。
如图即作者提出的GRI(General Reinforced Imitation):采用端到端流水线,感知模块对驾驶智体的三台摄像机 RGB 图像进行编码,决策模块从编码函数中推断出动作。
此流水线分两个阶段进行训练:(1) 视觉编码器在几个辅助任务的感知数据集上进行预训练,包括语义分割、道路类型分类和相关红绿灯的存在,即判断是否有这样的交通灯及其状态和距离。(2) 可视编码器固定,基于GRI的 DRL 网络,通过离线演示智体预生成的专家数据和在线探索智体从模拟器收集的数据,来进行训练。在任何一个给定的训练步骤,其下一个添加到重放缓存(replay buffer)的epoch,一定概率来自演示智体,其他则来自探索代理。动作对应于作用到车辆的一对数据(转向、油门)。
这个算法,即GRI for Autonomous Driving (GRIAD) ,是GRI方法的调整版,在模拟器CARLA运行的视觉自动驾驶(AD)。GRI 是一种方法,用重放缓存(如 SAC、DDPG、DQN 及其改进版)在任何不带策略(off-policy) RL 算法上直接实现。GRI建立在于这样一个假设,即专家演示可以被视为完美的数据,其基本策略将获得持续的高奖励,表示为演示奖励 。实验中,选择其作为奖励的最大值。
GRI的想法是在训练阶段将演示中的专业知识蒸馏送给RL智体。为此,定义两种类型的智体:(i)在线探索智体,它是常规的RL智体,用于探索环境将经验收集到内存缓存,以及(ii)离线演示智体,与持续演示奖励相关的专家数据发送到内存缓存。如下是GRI的伪代码算法:
基于Implicit Affordances方法(“End-to-end model-free reinforcement learning for urban driving using implicit affordances“. CVPR 2020),GRI用于视觉自动驾驶。由于这种方法分两个阶段进行训练,因此是模块化的架构,可独立地优化视觉和决策子系统。
如图是视觉子系统:
首先,从视觉子系统的 RGB 相机图像中提取特征;两个编码器-解码器网络接受分割、分类和回归任务的预训练。分类和回归仅在中心摄像头图像上执行,而所有三个图像均被分割。训练后,可视编码器用作固定权重的特征提取器。对于 DRL 主干训练,两个编码器输出连接起来作为 DRL 的输入发送到内存缓存。两个编码器都是采用Efficientnet-b1。分割解码器是全卷积,分类解码器是多个输出的MLP。
CARLA排行榜的视觉部分已经在40万个样本的数据集上进行了训练,相当于44小时的驾驶时间。该数据集使用CARLA autopilot在每个城镇的随机轨迹上生成。数据集的每个样本由来自三个摄像头的图像和相应的GT信息组成,这些信息包括来自CARLA的分割图,以及指示十字路口存在和汽车前方存在红绿灯的逻辑数值。如果有红绿灯,一个类对应于颜色和距离。轨迹已经通过随机相机平移和旋转进行增强。
如图是决策子系统:
决策子系统将三个相机图像的四帧连续编码作为输入,输出一个动作。动作由所需的车转向以及要油门或制动的组合来定义。在 CARLA 模拟器上生成数据的计算成本非常高。这里使用Rainbow-IQN Ape-X(“Is Deep Reinforcement Learning Really Superhuman on Atari?“,Neurips’2019 Deep Reinforcement Learning Workshop),一个分布式 DRL 主干网,来缓解这个问题。Rainbow-IQN Ape-X 基于 DQN,动作状态必须是离散的。实验中,在 27 个转向和 4 个油门或制动的数值中离散化动作状态。可分辨的动作空间包含 27 × 4 = 108 个动作。
演示数据集包含 20万个样本,相当于 22 小时的驾驶时间,这些样本使用 CARLA 团队预定义轨道上的autopilot生成(https://github.com/carla-simulator/scenario_runner)。来自演示数据集的每个样本都由来自三个相机的三个图像组成,以及专家连续动作映射到离散RL动作集的离散动作。没有使用任何数据增强。注意的是,CARLA autopilot 会产生驾驶错误,例如碰撞、红灯违规或车被卡的数百帧数据。因此,演示的10%也对应于糟糕的行动选择。
在CARLA的实验中,GRIAD共有12个智体,包括3个演示智体在分布式设置中运行,并将数据发送到内存缓存。由于演示智体被限制与探索智体以相同频率发送数据,这相当于概率25%。用于探索智体的奖励函数和Implicit Affordances方法的一样。由于此奖励函数已规范化为 0-1 之间范围,因此演示奖励数值设置为 1。
比较的方法有:
  • LBC(“Learning by cheating“. CoRL, 2019)
  • IAs(即 前面提到的implicit affordances方法)
  • Transfuser+(“Multimodal fusion transformer for end-to-end autonomous driving“. CVPR 2021)
  • World on Rails(“Learning to drive from a world on rails“. ICCV 2021)
如表是结果比较:
另外,为进一步验证GRI方法,在选定的Mujoco(“Mujoco: A physics engine for model-based control“)环境中进行实验,如图所示:包括HalfCheetah-v2, Humanoid-v2, Ant-v2, and Walker2d-v2四个。
使用Chainerrl库(“Chainerrl: A deep reinforcement learning library”)预训练的RL智体权重生成专家数据。对每个环境,演示奖励值选在数据集生成期间Chainerrl专家智体达到的最高值。
由于没有在Mujoco环境中找到真正的专家数据,因此专家数据并不总是比训练的vanilla RL网络好多少。因此,即使有次优的专家数据,本研究也能够评估GRI的有效性。
实验使用GRI-SAC,即SAC(Soft actor-critic)作为DRL主干的GRI算法,并且在0%和40%之间改变演示智体的比例。结果如下图所示:
这些实验表明,至少在评估的Mujoco环境中,20%的演示智体似乎是GRI-SAC达到专家水平的最佳选择。
最后,还研究了 DRL 主干网对评估 GRI 方法泛化的贡献。为此,用DDPG(Deep Deterministic Policy Gradient)算法而不是SAC评估了相同任务。对于这些实验,将演示智体的比例固定为20%。比较结果如图所示:
首先观察到,与具有20%演示智体比例的GRI-SAC类似,GRI-DDPG在所有测试环境中系统地比DDPG达到更好的结果。然而,GRI-DDPG并没有系统地达到专家水平。虽然SAC和GRI-SAC的最终奖励更好,但两个主干的奖励演变动态大致相同。结论是,GRI很容易适应,并推广到 locomotion 任务,稳健地优于这里两种替代方法。
这种方法的主要局限性是最初假设的结果,即演示数据总是可以与恒定的最大奖励数值相关联。
1. 如果演示数据不是持续最优的,例如,由于给定任务某些方面的专家性能较低,则会出现方法的第一个限制,在奖励函数中引入噪声。
2. 方法的第二个限制是在一些困难的环境中出现预热阶段。这种预热阶段可以看作是分布转移的结果。
3. 方法的第三个限制是演示和探索智体收集的一些常见动作奖励不一致。这会导致来自离线演示智体的数据与来自在线RL探索智体的经验之间存在某种差异。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存