作者:Naiyan Wang
链接:https://zhuanlan.zhihu.com/p/721582016
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
今天继续聊聊端到端相关的话题。目前基本所有的端到端系统都采用了模仿学习(Imitation Learning)的范式来使用人驾数据监督所有的驾驶行为。这也是最开始端到端系统的一个出发点:只使用大量的人驾数据就可以学好开车这件事。然而将驾驶行为这样一个有闭环的操作简单粗暴地等同于一个和感知类似的监督学习问题其实是有巨大问题的。学术界其实已经有了非常多严谨的解读,今天试图用更简单和直觉的方式来讲讲我的理解,和一些试图解决这些问题的方案。
首先,来区分一下Imitation Learning(IL)和Behavior Cloning(BC)。Imitation Learning(IL)泛指所有通过demonstration来训练policy的方法,这和Reinforcement Learning(RL)中使用reward来指导agent学习policy的方式不同。Behavior Cloning(BC)是最naive的一种IL。BC会将每次采样的sequence当成i.i.d sample,直接使用监督学习的方式训练。严格意义上来讲,Inverse RL,即通过demonstration来学习reward function也属于IL的一种,但因为一般会将其独立出来讲,所以下文所指IL都不包括IRL。
不难发现,现阶段绝大多数狭义端到端系统都会使用BC作为监督,很少数会使用Model Based IL来同时学习World Model和Driving Policy,如[1]。已经有很多文献讨论过IL和BC的缺陷,我自己的理解用以下两点来概述:
Out of Distribution(OOD)的问题
Out of Distribution(OOD) 的问题
IL中的OOD问题和传统监督学习中的OOD问题还不尽相同。传统监督学习中因为样本独立的假设,每次的预测误差并不会累计,但是在IL中由于时序的累计,这些误差由于修正不及时可能会导致巨大的偏差,也就是会让系统进入到一个训练数据中不常见的state。也就是所谓的compounding error问题。这会使得IL中的OOD问题变得更加常见,后果也更加严重。具体到自动驾驶场景中,例如车辆爆胎这样的特殊场景在训练数据集中采集便非常困难。如果在实车测试中遇到这样的场景,IL训练出的模型是很难安全停下这个车辆的。
为了缓解这个问题,一个直观的做法是对数据做augmentation,这也是目前端到端方法训练中常用的trick。但是这不能从根本上解决这样的问题,理论完善的方法,类似于DAgger这种需要在线access expert的方法在自动驾驶场景中又无法低成本实现。更为重要的是,由于p(a | s)的高度多峰性,为了能学习到,数据采集中不仅仅要覆盖到罕见的state,还要覆盖到这样state下的每一个峰值,这使得本来就很难的采集变得雪上加霜。
为了能让系统在OOD的场景下还work,一个常见的办法是结合RL和IL,也就是说会设计一些reward或者cost,让系统在这样的情况下回归到in distribution的状态,例如[2]。但是这样的方法和所有RL方法一样会不可避免地会遇到下面的sparse supervision问题。
Sparse Supervision的问题 S稀疏监督的问题
其实这个问题是IL RL这一系列任务的老大难问题。不过IL和RL的监督稀疏来源于两个不同的方面。IL的监督稀疏性主要来源于问题本身是一个非常高维到低维的映射,然后监督信息的信息量明显不足,即只提供一个正样本作为监督。在端到端自动驾驶中,输入往往是一个多帧多视角的视频序列,输出只有一条轨迹(往往使用一个十几维的参数化形式)。这使得数据利用效率非常之低。在我的视角下,IL的一系列改进方法,包括GAIL[3]、Diffusion Policy[4]还有各种IRL方法,其实本质上都是通过采样负样本的形式来提供更多的训练监督。
在RL中,稀疏监督的问题在于,虽然我们可以设计种类繁多的reward,但是reward往往只会在terminal state上给出,我们需要漫长的propagation的过程,才能使这样监督信息传递到其他的state中去。这个问题被讨论的非常多,就不再赘述。比如,在自动驾驶中,我们往往会根据horizon内轨迹的碰撞设计cost,但是我们希望的驾驶行为是在进入到这样的危险状况之前,就采取防御性驾驶行为规避进入到这样状态的可能性。
以上两点都会导致IL RL类方法的样本学习效率非常低下,同时IL也很容易受到不完美demonstration的影响。
Dense Supervision如何做?
其实这个问题在RL中叫做reward shaping,不过往往是被当成一些训练的trick来看待。一个常见的思路是针对任务手工设计dense reward。但是这个事情的难度和科学性往往被低估,其实这在自动驾驶领域是非常前沿的一个问题。另外一个思路是通过大模型将世界常识注入到IL中,来解释为什么expert会采用这样的一个action。也就是通过大模型将demonstration拆解并提供更多的监督。(我隐约记得在知乎上某位大佬提到过这样一个idea,实在找不到了,评论区有知道的朋友可以提醒我一下,我去补个赞。。。)这两个思路我认为都是非常有价值的,相互补充也许会是一个比较完善的使用方案。
我们会发现,如果我们能够有这样的dense reward,我们只需要尽可能去枚举系统可能会进入的state即可,在每个state中的每个action,我们其实都可以有充分监督。这样数据采集的难度就会从(s, a)变成(s),大幅降低了所需要的数据量,提升了数据效率。
最后借用并扩充Waymo一篇文章的标题[2]来结尾:Imitation is not enough, but reinforcement is also inefficient
[1] Hu A, Corrado G, Griffiths N, et al. Model-based imitation learning for urban driving[J]. Advances in Neural Information Processing Systems, 2022, 35: 20703-20716.
[1] 胡 A, 科拉多 G, 格里菲斯 N, 等.面向城市驾驶的基于模型的模仿学习[J].神经信息处理系统进展, 2022, 35: 20703-20716.
[2] Lu Y, Fu J, Tucker G, et al. Imitation is not enough: Robustifying imitation with reinforcement learning for challenging driving scenarios[C]//2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2023: 7553-7560.
[2] Lu Y, Fu J, Tucker G, et al.仅仅模仿是不够的:通过强化学习实现鲁棒性模仿以应对具有挑战性的驾驶场景[C]//2023 IEEE/RSJ 智能机器人与系统 (IROS) 国际会议。IEEE, 2023: 7553-7560.
[3] Ho J, Ermon S. Generative adversarial imitation learning[J]. Advances in neural information processing systems, 2016, 29.
[3] Ho J, Ermon S. 生成对抗性模仿学习[J].神经信息处理系统进展, 2016, 29.
[4] Chi C, Feng S, Du Y, et al. Diffusion policy: Visuomotor policy learning via action diffusion[J]. arXiv preprint arXiv:2303.04137, 2023.
[4] Chi C, Feng S, Du Y, et al.扩散政策:基于动作扩散的视觉运动政策学习[J].arXiv 预印本 arXiv:2303.04137,2023 年。
小方同学
我关注的人
看谁家先做出NB的产品,然后其他家一窝蜂去Imatation,这是现实的IL
09-27 · 江西
回复13
论文推土机
我关注的人
说得好
09-24 · 北京
回复1
Naiyan Wang
作者
我特别想给你回一个飞书那个碰拳的表情,可惜知乎没有。。
09-24 · 北京
回复1
newbie坑坑子
Naiyan Wang
我可以给你发
09-24 · 北京
回复1
donth8erobot
关注我的人
dagger解决这种问题无比有效的原因我猜就是可以在各种状态提供监督,从而使得监督变得dense了,也就是learning by cheating所展示的现象,可惜dagger一般都是在放真中用?或者是难道dagger也会有问题(比如监督质量啥的)?
09-24 · 江苏
回复2
Naiyan Wang
作者
仿真的质量其实是很大的问题
09-24 · 北京
回复1
回旋的风
dagger都去获取需要的在线信息了,必然会比只有离线信息的方案要好。
09-30 · 北京
回复喜欢
无名氏怪物
Naiyan Wang
这里的仿真的质量是指哪方面?是从传感器级别还是更细化的级别?如果是传感器级别,主要是说渲染质量不够真,还是说别的lidar radar等传感器不真,还是说imu,gps之类的不真。或者说对控制指令的响应不真?还是更细化的:传感器外参不真(车不是刚体)
09-24 · 广东
回复喜欢
Naiyan Wang
作者
无名氏怪物
这些都有,但是都不是关键。关键是interactive agent的行为
09-24 · 北京
回复喜欢
Shu Matt
确实distributional shift还有维度爆炸都很麻烦。另外还有casual confusion的问题。
09-24 · 北京
回复3
李仁杰
我关注的人
传统规控算法能在异常state下将车辆纠回正轨只是用了简单的feedback闭环,而IL却需要喂大量异常数据才能获得这种“初级能力”,有时候不得不感叹“大道至简”。如何直接在robotic learning中融合质朴的feedback思想或许是下一个艰深的科学问题
09-25 · 北京
回复3
Naiyan Wang
作者
这就是我之前文章里讲的feed forward e2e的问题。还是有很多办法解决的
09-25 · 北京
回复2
昂昂昂
破防摆烂小能手
有用,但不根本
09-27 · 中国香港
回复喜欢
昂昂昂
Naiyan Wang
这个有啥论文么,之前一直想找找把反馈系统设计到神经网络里,没太搜到
09-25 · 中国香港
回复喜欢
Naiyan Wang
作者
昂昂昂
确实没有。。。可以搞啊,这不是水paper的机会
09-25 · 北京
回复喜欢
破防摆烂小能手
昂昂昂
训练时候搞数据增强,如果是object-based的可以直接给当前状态加扰动,然后修改轨迹
09-27 · 上海
回复喜欢
昂昂昂
这是真做过端到端了,我理解的跟这基本一致。闭环情况下误差会累积,进入训练中不存在的状态系统就会崩溃。 数据增强可以在训练数据域外加一个保护层,模型能够学到回到训练域内或者说正常状态,可以缓解问题。还有监督信号不足的问题,类似的采样方法能部分缓解监督不足。
实际我一直在想,如果让系统不停进入异常状态,使用原来的L4系统示教,类似dag,混合人类数据模仿学习会不会获得比较好的效果,暂时没试过。。。
09-24 · 中国香港
回复2
昂昂昂
Naiyan Wang
主要是找到合适的人设计一个这样的架构,并且能在人员变化,优化过程中保证这个系统的干净,管理难度和成本比较高
09-25 · 北京
回复2
昂昂昂
Naiyan Wang
所以搞L4的这优势不就来了
09-24 · 中国香港
回复1
查看全部 7 条回复
Kinetic
端到端交付后,下一步能做啥呢,感觉智驾行业发展到瓶颈了
10-30 · 上海
回复喜欢
jyczwys
关于IL和RL结合这点,IL输入如果是raw sensor的话RL很难仿真吧,最多只能在2d occ的基础上做
10-12 · 北京
回复喜欢
随便叫什么都好
VADv2那种利用planning space概率分布作为监督会不会是一个比较好的思路考虑到大模型也是将世界常识建模为概率分布
09-27 · 中国香港
回复喜欢
Naiyan Wang
作者
那个有点naive啊
09-27 · 北京
回复喜欢
内芽
所以hydra-mdp算是il和i rl的结合吗
09-25 · 上海
回复喜欢
Naiyan Wang
作者
ALF911
然后ood的时候因为没见过所以没有il loss,大概是这样吧
09-25 · 北京
回复1
破防摆烂小能手
ALF911
可以用模型集成/dropout的方法搞。推荐模型集成,看多个模型输出是否不一致程度比较高。参考论文:Can Autonomous Vehicles Identify, Recover From, and Adapt to Distribution Shifts?
转载自
https://zhuanlan.zhihu.com/p/721582016