30 秒看懂
加州大学伯克利分校的机器人学家 Pieter Abbeel 讲述了让他押注深度强化学习的几个想法:由 ReLU 网络拼成的线性反馈控制,一生尺度上的信用分配(credit assignment)当前算法还做不到,以及仍把精通与泛化混为一谈的迁移学习。贯穿始终的是信号。绝对分数代价高,所以他宁可比较两段视频,把任务改写成自我对弈,花十分钟做遥操作,或者在许多略有偏差的模拟器里训练,直到真实世界也只是又一个样本。
- 1OpenAI 的单腿 Hopper 学会了一个干净的后空翻,奖励里却没有后空翻这一项。人只说了哪段片段更好,目标装在他自己的脑子里,机器人完全不知道自己在追求什么。
- 2宁可比较,不要打分绝对的 1 到 10 分既嘈杂又慢;说一句“最后五分钟比前五分钟好”几乎不费力,而这已经足够作为基于偏好的强化学习的信号。
- 3只要能把问题改写成自我对弈,学习者就不会缺信号:你的一个版本总会赢,另一个总会输,每一局都能产生对比。
- 4如果奖励设计把团队拖垮了,那就改为直接示范技能。十分钟遥操作就能教会抓放;Chelsea Finn 的第三人称工作,把人类示范看作要“机器翻译”到机器人身体上的东西。
- 5纯粹反应式的克隆器没有目标的概念,所以不会像你需要的那样泛化。能推断目标函数的逆强化学习,则要接近得多。
- 6不要去追一个完美的模拟器。在一批略有偏差的模拟器里训练,直到策略在所有模拟器里都有效;真实世界只是这个分布里又一次抽样。
按章节阅读整理后的全文
Hopper 从偏好中学会了后空翻,机器人版费德勒还在等硬件
Fridman 开场先讲了个玩笑,玩笑里藏着一个研究问题。Abbeel 说过,如果能见一个人,他想见的是费德勒。那么,一个完全自主的机器人什么时候能打赢费德勒?Abbeel 答道,对大多数 AI 问题来说,缺的是软件,网球却不属于那大多数问题。波士顿动力的机器人已经开始能跑了,但在球场上还达不到人类水平,之后还得挥拍。他把硬件的时间表定在 10 到 15 年,甚至不确定红土是否比草地更容易。在红土上滑动,也许反而更难。
如果用轮子、不做成人形机身,时间表会提前。挥拍本身,他更乐观。一边摆一台发球机,另一边放一只装着球拍的工业机械臂,先在模拟器里做一点预训练,他认为强化学习就能学会正手和反手。真正让他感兴趣的,是精度能达到什么程度,以及强化学习能否像人一样给球加上旋转、把球打到线上。“你把我的兴趣勾起来了”,他说。也许哪天真有人会把它搭起来。
他见过的最让人印象深刻的机器人动作,仍然来自波士顿动力:上楼梯,跑酷。他不知道其中有多少是硬编码的,对这种惊叹也不太买账。他在贝索斯组织的一场火星主题活动上见到了 SpotMini,一路跟着贝索斯从一个房间走到另一个房间;此前他还单独和一台 Spot 待过一段时间。即使知道其中几乎没有学习的成分,心理上的联系也没有因此消失。Pepper 的对话脚本由 Fidelity 编写,用来主持带有儿童性格的会话,它会像人一样插话,但 100% 是照脚本运行的,他仍然很难不把它当成一个“人”。在实验室里,BRETT(Berkeley Robot for the Elimination of Tedious Tasks)是“他”,从来不是“它”,这个代词分量不轻。
这种感觉能不能成为一种奖励?如果能把“人们喜欢待在它身边”写成一个目标,他看不出强化学习有什么理由不去优化一个更有趣、更像人、或者更像宠物的机器人。难点在于真值。让人打 1.5 分或 10.7 分,很痛苦;问他最后五分钟是不是比前五分钟更舒服,就容易多了。Paul Christiano 和他在 OpenAI 的合作者正是这么做的:一个 MuJoCo 的 Hopper 通过“我觉得这个比那个好”学会了后空翻。没有人写过后空翻的奖励。人心里想的是后空翻;机器人只知道哪个更好、哪个更差,最后收敛到了翻转动作上。他认为,互动式机器人也可以用同样的方式学习。
稀疏奖励之所以像魔法,是因为它在对一段嘈杂的百步故事取平均
在深度学习复兴之前,Abbeel 第一次翻开 Sutton 和 Barto 的教材时,强化学习看上去就是智能的定义。Fridman 想听直观的解释:奖励既延迟又稀疏,怎么还能学到东西?Abbeel 换了个角度。与之对应的问题是,强化学习为什么需要这么多样本。你做了一百个动作,得了 3 分;再做一遍,得了 2 分。这只说明第二段百步序列比第一段差,别的几乎什么也说明不了。好动作和坏动作都混在两段轨迹里。你需要积累大量经验,才能把分数高时始终存在的东西,和噪声区分开。
策略梯度(policy gradient)的更新因此简单得有些出人意料:让出现在好结果里的动作更可能发生,让出现在差结果里的动作更少发生。按纸面推算,它需要的数据应当比从业者已经在抱怨的还要多,实际上却学到的东西比推导所能保证的更多。Abbeel 最初的押注,是用控制理论来解释这一点为什么成立。那是伯克利约在 2011 年到 2013 年间开始做深度强化学习时的事,最先推动这件事的是 Yan Duan。
他说,整流网络能给出分段线性的反馈控制。线性反馈非常成功:悬停的直升机是一个混乱的动力学系统,一个相对简单的线性控制器仍能让它稳定下来。被控对象可以很复杂,控制器却可以很简单。不过,纯线性并不足以应付所有情况,所以以前的人常常手工把空间切块,用有限状态机在各个局部线性控制器之间切换。ReLU 网络学到的正是这种切块。在一个两层网络里,某个隐藏单元从激活变为非激活,就会沿某个方向切开空间,这个方向不一定与坐标轴平行。相邻的线性控制器共享大量参数,也就共享了大量已经学到的经验。正是这个直觉让他期待深度强化学习能够奏效:先把线性控制的红利吃到手,再用能复用已知经验的拼块铺满剩下的空间。
读博的决定不能记在一次肌肉抽动的账上,层级要靠优化得来,不能靠画出来
这种直觉在时间尺度上碰了壁。一生说到底,是一连串高频的肌纤维收缩。相对于那些抽动,决定读博几乎抽象得难以想象,结果要过上十年,穿过一大片岔路,才会显现出来。这种信用分配超出了目前任何算法的能力。Abbeel 说,缺的是一种分层推理,而这种层次目前根本还不存在。调参是造不出它来的。
这个想法比听上去的更古老。二三十年前,就已经有能在长时程上推理的系统。问题在于它们没有落地:人们手工设计的逻辑和动力学描述,从来没有和感知或真实物体挂上钩,所以计划在纸面上清清楚楚,在现实世界里却模糊不清。深度学习补上的正是这块落地的部分:传感器能看见真实存在的东西。一条路线是把新的感知端到端地接到旧的规划器上,让网络输出一种表示,供传统的动力学系统去规划。Aviv Tamar 及其合作者提出的 Value Iteration Networks 走的就是这条路。
第二条路线从信息论的角度出发,它把高层动作当作一个隐变量,这个变量能告诉你很多关于近期的信息。比如你决定去加油站,那么五分钟后你是否已经到了,在做出这个决定时就已经隐含了。他们在这上面花了很长时间,却收获甚微。这让他们回到一个更朴素的问题:层级结构究竟是为了什么?答案是更好的信用分配,从而学得更快。他们不知道该怎么设计层级,但清楚自己想从中得到什么,于是针对这个目标去优化,并留意有没有自发涌现的迹象。这就是由 Yan Duan 领导的 RL²,它是用元学习(meta-learning)去攻克“学会做强化学习”这件事。
在迷宫导航中,确实出现了一些苗头。沿着走廊保持一致地前进,已经成了一个选项:沿这条走廊走,只有到了岔口才决定是否转弯。甚至还出现了一种避免重复走回同一个地方的倾向。Abbeel 把这看作一种生命迹象,但离真实世界的复杂度还远远不够。他更希望这类问题能靠数学来解决。一个形式化的结果,可以跳过好几年的实验;而研究过程本身就是一种强化学习:大量尝试,偶尔成功。过去几年的进展,依然大多是一次做一个实验换来的。那个能省下两年工作量的方程,至今还没有出现。
AlexNet 真正的震撼在于可复用;太阳系预测器在新天体闯入时仍会失灵
Fridman 把迁移看作 AI 里最难、也最重要的问题之一。Abbeel 的态度很矛盾。成果已经相当可观:2012 年的 AlexNet 在 ImageNet 分类上表现更好,随后它的意义更大,因为在上面学到的特征可以微调后用于新任务。机器学习过去通常是一个模型、一个场景,做完就算完成。就范围和影响而言,可复用的表示仍是迁移学习成绩单上最大的一项成功。之后规模又进一步放大了它的作用。以预测为目标训练的语言模型,被重新用于其他任务。DeepMind 的 UNREAL 工作在迷宫导航上叠加了辅助目标,让智能体学到的不只是如何走过迷宫。只要模型足够大、训练的东西足够多,总会有些东西能迁移过去。
概念上的雾依然没有散去。什么才算泛化?又是哪个层面上的泛化?他喜欢区分“学会掌握”和“学会泛化”。如果让当前的深度学习去预测行星之间的相对运动,它会做得相当不错。但如果太阳系里突然闯入一个巨大的新天体,它并不知道接下来会发生什么。物理学家做的是另一件事:寻找仍能覆盖全部事实的最简解释,一直追到描述宇宙动力学的主方程。深度学习在这个方向上并没有使劲。他甚至不确定它是否应该走这条路,但这是当前方法给不了的一种泛化。
Vladimir Vapnik 梦想着学习领域里的 E=mc²,一个通用理论。Abbeel 觉得这个追求很有意思,不过他更愿意把它理解为对模块化的探索。盲人会把视觉皮层挪作他用,大脑的一些部分是可以重新布线的。并非所有东西都能互换,但新皮层看起来相当模块化。如果能设计出同样模块化、又能不断变强的系统,那会是一条现实的、值得瞄准的原则,远不是什么万物理论式的幻想。
自我对弈总会产生赢家;写不出这种游戏,就花十分钟展示技能
被问到他对模仿学习和自我对弈哪个更兴奋时,Abbeel 先讲自我对弈为什么这么妙。普通的强化学习会让学习者挨饿:从来不成功,就拿不到任何信号。在自我对弈里,你同时坐在两边。一方赢,一方输,你能看到同一个自己的两个版本之间的反差。每一局都是一次带标签的比较。只要问题能这样改写,学习就会比在一般环境里快得多。到目前为止,这个技巧主要还只用在有天然对手的游戏里。如果有人能把“盖一座小屋”改写成自我对弈,机器人学起来会快得多。这正是他想要的那种数学上的跨越:一种形式体系,能把任何强化学习问题都变成一场总能产生信号的博弈。现实是,对很多任务来说,没人知道该怎么改写。
退而求其次,是为中间进展设计细致的奖励,但代价高。既然已经在塑造奖励上花了这么多时间,为什么不直接示范呢?遥操作的信噪比很高,机器人真的亲身走过了这条轨迹。十分钟就能教会一项基本技能:不论瓶子一开始放在哪里,都能把它拿起来,放到目标上。更进一步的做法是第三人称示范:机器人只是看着你,然后必须把你的手转译成它自己的手。Abbeel 把 2018 年由 Chelsea Finn 领导的一项突破归入这条路线:对示范做近似的机器翻译,并通过元学习从少量样本中学会。这为更快地学习打开了许多途径。
Fridman 在研究自动驾驶,他问第三人称观察能不能迁移到那里。Abbeel 说,对汽车来说,第一人称和第三人称的区别并不重要。从这里开到前方几米外的一个点,这件事已经研究得很透彻;区别只在于方向盘由谁来转。操作任务恰恰相反:接触力很杂乱,视角的区分就很重要。对驾驶而言,模仿学习和强化学习之间仍是一个真实的选择。模仿学习能提供更多信号,但标准形式的模仿学习没有目标的概念。纯粹反应式的行为克隆无法像你需要的那样泛化。那些能推断出目标函数的逆强化学习式模仿,要接近得多。没有目标概念的策略,很难一路推进到你真正想要的程度。
模拟可以帮上所有这些,而且它不必是一个完美的世界。你可以去追求一个越来越精确的模拟器,也可以构建许多个模拟器,它们每一个都还不够好,单在其中一个里训练,结果无法迁移到现实。全部拿来训练,一个在每个略有偏差的世界里都表现良好的策略,在真实世界里就有了机会;真实世界不过是同一分布中的又一个样本。“我们确实生活在一个模拟里”,他开玩笑说,然后又收回了这句话:如果真是这样,那它也是一个非常先进的模拟。
郊区驾照考试对人类来说够了,对汽车远远不够;善意也许不需要人类水平的推理
对 Abbeel 来说,安全首先是一个工程事实。机器人的力量很大,一次失误就可能造成损害。汽车不过是恰好跑得很快的机器人。这和人们对“比我们更聪明的系统”的长期担忧,是另一个层面的问题。模拟可以帮助检验这个实际层面。接着,他拿加州郊区的驾照考试来举例:绕街区开一圈,靠边停车,遇到停车标志停下,再靠边停一次,就结束了。我们接受这么小的样本,代表的是一项极其复杂的人类技能。一辆自动驾驶汽车如果只通过了同样这一圈,不会有人因此相信它。缺的是机器人的单元测试,尤其是在软件更新的时候。你怎么知道新的系统在各方面都更强,而且没有混进什么坏东西?他说,目前还没有真正的解决办法,但这是一个值得去做的研究方向。
Fridman 问,这片策略的海洋里,充满的是善意,还是剥削。Abbeel 把人类的情况拆成两部分来看。进化预先装入了疼痛、饥饿和口渴;这些不是后天教的,却让学习变得更容易。人类还进化出了在部落内部和睦相处的能力,而要善待部落之外的人,则需要额外的教导。Steven Pinker 的《人性中的善良天使》,是他用来指向这条长弧线的依据:无论我们归属哪个群体,暴力都已经减少了。照这幅图景看,善意是跨越世代的缓慢优化,外加一些先天的支架。
能不能把这些教给一个强化学习机器人,甚至教它去爱和被爱?他用狗来作答。狗的推理很复杂,却仍不是人类那种推理,而人的很多快乐,都依附于你一进门时狗狗兴奋的样子。如果狗不在家,房子就不一样了。他说,强烈的情感并不需要人类水平的推理,因此他看不出为什么 AI 不能与人、或与友善的动物建立起人们彼此之间那样的联结。这种联结对我们是否有好处,则是另一个问题。Fridman 给马斯克的那句话做了个改写:爱是目标函数,强化学习就是答案。“哦,也许吧”,Abbeel 说。
同频道的其他文章
3:36:56EN → 简体中文
5:15:51EN → 简体中文
3:12:58EN → 简体中文
3:46:18EN → 简体中文
3:51:47EN → 简体中文
2:53:42EN → 简体中文