David9的ICML2019观察:Tesla自动驾驶建模是如何搞定多任务学习的?实时多任务,autopilot自动导航

人类在做其他看似不相关的事情时,会给手头的任务带来灵感; 模型也应如此,让它在训练时做其他任务,会对它的实际预测带来好处(正则约束)  — David 9

多任务模型David不是第一次讲了,但是之前涉及的是强化学习自然语言领域。视觉领域,多任务学习就更有意思了。自动驾驶是该领域的常见应用,不但要求准确率99%+极低延时,而且是一个开阔的“无限游戏”,正如特斯拉AI负责人Andrej Karpathy在ICML2019发言上提到的,其复杂性是多方面的,

遇到的车况可能很复杂:

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见文末参考文献

摄像头的视觉角度也很复杂(8个方向):

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见参考文献

更复杂的是,自动驾驶天生就是多任务的:

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见参考文献

在你开车时,你的眼睛和大脑要同时分析移动的车辆,静态的路灯,斑马线,路标,警示牌,等等。。。甚至loss函数的设计都是复杂的,因为一些任务就是比一些任务更重要(我们要重点关注突然闯红灯的行人)

要适应如此复杂多变的环境并且要求实时导航,如何去建模真的很有挑战性。首先,你不可能对每个任务都建一个模型

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见参考文献

这样哪怕可行开销也太大(除非你想多送用户几块gpu或硬件资源)。另一个极端是所有任务都合并为一个模型继续阅读David9的ICML2019观察:Tesla自动驾驶建模是如何搞定多任务学习的?实时多任务,autopilot自动导航

端到端基于模型的GAIL对抗模仿学习,Model-based GAIL,David 9的填坑贴

嘿,你这个叫GAIL小家伙,跟着大人学的时候,自己也要看看下一步— David 9

接着上次的GAIL讨论(GAN+增强学习),我们还有一个坑未填。即,基于模型的GAIL对抗模仿学习。首先回顾一下强化学习的简单体系:

1. 如果RL(强化学习)训练中给出回报(reward),其算法有我们熟悉的价值迭代value iteration算法和策略policy iteration算法,以及DPL(Direct Policy Learning假设一个policy)。

2. 如果没有明确回报(reward)给出,就涉及到更有意思的模仿学习IRL(Inverse Reinforcement Learning)。 一个实际的例子就是上次聊到的GAIL算法,简单说是假设回报函数,用GAN去识别目前的策略是否符合假设的回报函数(应有的策略):

来自论文:http://proceedings.mlr.press/v70/baram17a/baram17a.pdf

此处GAIL就产生一个问题,如上图,GAN判别器D可以判别生成器的策略被模仿对象(专家策略)之间的区别,但是,当把行为错误δa反向传播时,只能估算一个大概的梯度δHV 给生成器(往往不稳定并且高方差的)。这就导致一个很明显的漏洞,这个判别器D只能根据当前的行为a被模仿者的状态x1模仿者的状态x2做判别,如果模仿者和被模仿者像下面这样:

继续阅读端到端基于模型的GAIL对抗模仿学习,Model-based GAIL,David 9的填坑贴

GAN+增强学习, 从IRL和模仿学习, 聊到TRPO算法和GAIL框架, David 9来自读者的探讨,策略学习算法填坑与挖坑

如果你想成为大师,是先理解大师做法的底层思路,再自己根据这些底层思路采取行动? 还是先模仿大师行为,再慢慢推敲大师的底层思路?或许本质上,两种方法是一样的。 — David 9

聊到强人工智能,许多人无疑会提到RL (增强学习) 。事实上,RL和MDP(马尔科夫决策过程) 都可以归为策略学习算法的范畴,而策略学习的大家庭远远不只有RL和MDP:

来自:https://www.slideshare.net/samchoi7/recent-trends-in-neural-net-policy-learning

我们熟知的RL是给出行为reward(回报)的,最常见的两种RL如下

1. 可以先假设一个价值函数(value function)然后不断通过reward来学习更新使得这个价值函数收敛。价值迭代value iteration算法和策略policy iteration算法就是其中两个算法(参考:what-is-the-difference-between-value-iteration-and-policy-iteration)。之前David 9也提到过价值迭代:NIPS 2016论文精选#1—Value Iteration Networks 价值迭代网络继续阅读GAN+增强学习, 从IRL和模仿学习, 聊到TRPO算法和GAIL框架, David 9来自读者的探讨,策略学习算法填坑与挖坑