查看原文
其他

被追捧为“圣杯”的深度强化学习已走进死胡同

CSDN App AI科技大本营 2020-02-12


作者 | 朱仲光
编译 | 夕颜
出品 | AI科技大本营(ID:rgznai1100)
 
【导读】近年来,深度强化学习成为一个被业界和学术界追捧的热门技术,社区甚至将它视为金光闪闪的通向 AGI 的圣杯,大多数人都看好它未来发展的巨大潜力。但是,深度强化学习的本质是什么?人们对它的期望是否理智呢?现在,在一片追捧声中,终于有人开始质疑深度强化学习的真实作用。

2019年过去了,仍然无法迁移到现实世界

 
2019 年过去了,我想看看 AI 进展到哪一步了。特别是深度强化学习这个被人追捧为人工智能(AGI)具有变革性的关键一步,它的算法可以让机器用一种通用性的方式像人类一样学习做任何事。
 
几年来,研究人员一直在进行深度强化学习研究,并不断取得进步。围绕深度强化学习的想法和预期是,理论上你可以轻松地训练代理做任何事情,例如开车、洗衣服、玩视频游戏、打扫房屋、解魔方等等,而所有这些都不需要掌握学习过程。其中一些实验取得了一定的成功,比如人们已经教会深度强化学习代理播放一些游戏和棋盘游戏视频,但问题是,一旦迁移到现实世界或生产系统,所有的尝试都以失败告终。到目前为止,我仍然没有看到深度强化学习成功应用到生产系统中的案例。
 
深度强化学习系统存在很多问题,我不再赘述,有很多博客文章已经在讨论这些问题。


问题究竟出在哪?

哪怕这些存在的问题中只有一点点得到改善或解决,例如找到更抽象的方法来表示神经网络内部的信息,我也不会感到如此震惊。但是,如果你不能解决我认为的核心问题也没关系:人工奖励工程。我要说的是,在深度强化学习中,人们大多数时间都花在了设计奖励功能上,来让代理完成设定的任务。用一个更传统的机器学习术语来说,奖励函数是一个目标函数,该算法使用此函数来了解其是否朝着正确的方向前进,获得的奖励越多,模型就越“好”。
 
例如,如果要教一个机械臂叠衣物,假设是一堆裤子,你要做的是编写奖励功能,让机械臂正确地把这些裤子叠好。向人类描述这个任务听起来很容易,就是“把裤子叠整齐”,但是计算机并不知道这些规则的含义。对于每个实验,你都必须以某种方式对奖励进行编程,让计算机可以自己衡量进度,而它其实并不了解自己在干什么。因此,你可能在机械臂在开始触摸裤子时给点奖励,抓住裤子再给几分,或者移动裤子也给分。那如何为折叠部分设置奖励呢?折三下要给分吗?折得一点褶子都没有给几分?你花了大量时间在引导代理遵循正确的道路上,最后这基本上变成了一个完全监督的问题。
 
从理论上讲,你可以让一个人来监视训练的整个过程,然后这个人可以为系统执行的每个动作分打分,但这并不能规模化。这些深度强化学习系统需要进行数万次迭代,尝试各种动作以及随之发生的变化,以找出实现目标的正确顺序,而人类无法监视计算机所采取的所有步骤。目前很多研究正在积极尝试通过模仿学习来进行规模化,但是在我看来,这只是好像在原本就支离破碎的地基上修修补补。
 
在尝试训练叠衣服机器人的过程中,你可能需要不断调整奖励功能,因为它可能会不小心撕裂裤子,掉落部件,叠反了,或者用奇怪而没有意义的方式叠衣服。奖励工程变成了反复试验来探索有效方法的过程。深度强化学习模型进行各种意外动作的报告不计其数。强化学习通常与有监督和无监督机器学习放在一起被归为第三类,但在我看来,它实际上就是有监督学习。
 
深度强化学习当前的处理过程是:开始训练模型,然后看着模型挂掉,然后在很长一段时间内反复调整奖励功能,直到可能得到你所需的输出。哪一部分没有提供训练数据?你已经让整个过程更复杂了,而且因为不得不以非直接的方式把答案反馈给代理,一切变得更加困难。如果计算机要从其环境中学习,则必须在 100% 无人监督的环境中进行。
 

为什么深度强化学习被如此追捧?

 
如果从抽象的角度看待深度强化学习,它会被描述为是一个随着时间的推移从其环境中学习的代理。这看起来是绝对正确的,并且确实模仿了现实世界,所有生物体都是从出生就开始学习如何在其环境中生存和探索。我们之所以知道这一点,是因为我们进行了许多实验,这些实验凭经验向我们表明,如果我们改变和限制新生儿有机体的环境,它们就会学到不同的知识并表现出不同的行为。
 
深度强化学习与传统的机器学习方法(如监督分类)有很大的不同,后者是一种静态模型,该模型可以获取原始数据,进行回答并构建要在生产中使用的模型。传统深度强化学习框架中存在问题的是信号源。这些人工代理必须直接从自身及其环境中学习,而不是我们提供给他们的某些人为奖励功能。
 
当 DeepMind 提出用单一的深度强化学习代理学习如何在几乎没有干预的情况下玩 Atari 视频游戏时,人们认为这可以扩展到其他领域甚至 AGI 的各种问题。而我们知道,不能将有机体和人类所做的大多数事情简单地建模为视频游戏中代理不断优化以获取尽可能多的回报。
 
而且,不要被没有人工干预的深度强化学习赢得了游戏这个噱头唬住了,和 40 年前视频游戏制造商雇用了整个团队来制作这些游戏一样,这个实验中奖励功能设置仍然存在。
 
许多人误以为深度强化学习是 AGI 的下一步,甚至谷歌也表现出了极大的热情,并斥资 500 多万美元购买了 DeepMind,希望将 AI 提升到一个新的高度。社区似乎也将深度强化学习当作了圣杯,因为这是模仿人类现实行为最接近的机器学习形式,尽管实际上它还差得很远。最终,我们看到的只是一些雕虫小技,这样的 AI 玩具可以玩各种视频游戏、棋盘游戏,但是在其他地方就不灵了。
 
从更传统的机器学习方法转向深度学习的最大好处是,解放了人力劳动工程。从理论上讲,你可以为模型提供大量数据,让优化算法跑起来,而无需手动编写特征提取代码就可以学习。因此,深度学习已被应用于强化学习的一部分,主要是在代理层面以像素形式获取感知数据,但是如果你仍将大部分时间花在手工设计系统上,那么在我看来它仍然没有发挥应有的作用。这还不算其他深度强化学习面临的问题,例如,如果需要微调,就得做好重新训练整个系统的准备,或者环境中的细微变化通常最终会导致前功尽弃...不得不说,AGI 还任重而道远...
 
所以,现在我们拥有顶级的机器学习研究机构 DeepMind 和 OpenAI 仍将大部分时间和资源用于深度强化学习。他们不断用公关资源轰炸互联网,展示他们正在取得的巨大进步:深度强化学习可以玩围棋、星际争霸、Dota 2、解魔方等等。
 
我对他们为何继续花大量时间来构建深度强化学习系统感到困惑,这些系统只不过是以明确定义的规则和积分系统赢了游戏而已。我认为,如果有足够的时间、金钱和计算力,每个人都能暴力破解每个动作,深度强化学习几乎可以击败任何游戏。在我看来,他们的策略很大一部分就是用 PR 稿件放烟雾弹,来展示他们最新的深度强化学习系统是如何击败下一款最棒的游戏,从而忽悠那些并不了解情况的人投资,比如微软最近向 OpenAI 投资 10 亿美元,还有 Google 的银库大门向 DeepMind 敞开。DeepMind 最近的一次高亮时刻(被 Google 收购约 5 年后)是他们训练了一个深度强化学习代理来玩围棋、象棋、将棋和 Atari 游戏。是的,更多视频游戏!我并不是要打击他们,而是真的很高兴他们没有放弃,还在努力解决 AGI 问题。



别玩游戏了,干点实事!

问题在于,他们正在创造大量错误的观念,最终浪费了大量的人力,走进死胡同。首先,他们发布的所有 PR 稿件几乎都是一个模子,比如“我们的文本生成模型(GPT-2)因为太危险而无法发布”,这使得公众认为我们与 AGI 的距离越来越近,而业界中谁都知道这绝对不是真的。其次,更重要的是,他们向 AI 研究人员发送了错误的信号,希望他们将更多时间花在深度强化学习上。许多研究人员和黑客都关注这些公司,看到公关稿泛滥成灾,他们被引导花费大量时间来解决这些相同的问题,而他们本应该把精力集中在更大、更根本的问题上。如果 AI 和 AGI 能够向前发展,我认为是时候停止玩电子游戏,专注于更棘手的问题了。
 
幸运的是,DeepMind 和 OpenAI 确实在其他问题上费了心思,但是正如我所说的,似乎深度强化学习仍然是他们的主要重点。
 
当前的深度强化学习系统似乎很适合已接受基础训练的系统。如果代理已经对其环境和自身有基本的了解,考虑一下进行迁移学习。
 
我们可以观察到,人类婴儿出生后,首先要学会观察形状和颜色、移动手指、触摸物体、控制自己的身体、辨别声音、了解重力、物理学、跌倒、压扁、弹跳、学习物体通透性等。所有这一切都在每个活着的人类和有机体中发生着不同程度的变化。通常,在人类婴儿获得了非常丰富的知识之后,比如走路、抓住物体、使用洗手间、进行基本的交谈等,然后会被送进学校,通过作业、评分和测验等接受更正式、更加结构化的训练。
 
当前的深度强化学习系统似乎可以很好地用于这种形式化的训练,在这种形式的训练中,可以清楚地达到期望的目标,并且在代理已经对环境有了基本了解之后,大多数情况下会自动进行评分。如果孩子不能背诵 ABC,则失败,如果可以背诵所有字母表,则通过。目前,虽然深度强化学习处于领先地位,但我们正尝试从头训练计算机来完成有时可以奏效的复杂任务,但是由于这些模型是针对特定任务而不是一般性任务进行训练的,因此对它们的环境和内容并没有广义的了解。这最终会导致系统过于脆弱且无法很好地工作。只要奖励功能不固定,就不会有诸如反向传播、DQN、PPO、DDPG、TRPO 之类的较新的学习算法来修复深度强化学习。
 
可以肯定的是,深度强化学习一定会逐步改进,并可能从星际争霸游戏中获得更多的信息,但是如果不进行架构上的根本转变(允许代理在其环境中在无人监督的情况下学习),它就不会为通用人工智能的圣杯做出巨大的贡献。
 
我个人的设想是,生物体的奖励功能实际上是由维持体内平衡和最大程度地减少意外驱动的。稳态是生物维持生存所需的稳定条件的过程。每个生物都必须生存并保持其身体与外部环境分开。饥饿时它会进食,疲倦时会睡觉,渴了会喝水,受伤时会休息,被狩猎时会躲开,过热时会降温,等等。这些先天和原始的信号告诉生物体该如何以及在环境中探索时应关注的重点。如果不这样做会导致无法维持体内平衡,最终导致过早死亡。
 
当生物在四处游荡时,它会建立自己的感觉运动相互作用模型以及与环境相互作用的环境。这个模型开始把所有东西聚合在一起:天黑了,气温会下降,当我打嗝时,我应该听到声音,当我向左移动时,我的视线会移动 X,当动物在我的面前走过时,我预测它还会继续向前,等等。当发生某些事情,使其偏离模型时,模型会重新调整其预测,直到获得期望的结果,这可能会导致更多变化。如果失效,生物体会震惊,并将那些神经元标记为“需要模型更新”,其中重新学习和重新优化可能会实时发生,也可能在生物体处于睡眠状态时发生。在代理的内部环境模型与实际环境之间会进行优化,并持续运行以最大程度地减少意外。
 
在神经科学和哲学领域,很多人已经在讨论这些想法,比如安迪·克拉克(Andy Clark)的前处理理论,卡尔·弗里斯顿(Karl Friston)的自由能原理。据我所知,我还没有看到这些想法在机器学习环境中得到成功部署。我认为这其中存在许多技术问题:如何在计算机中模拟动态平衡,如何存储模型的内部表示,代理的感知设备与环境之间的分辨率较低以及保真度较低的环境等。
 
我并不是要写一篇引战的文章,但我想不出向人们解释当前的深度强化学习体系结构存在根本缺陷的办法。我们并不需要更多可以玩更多视频游戏的模型,而是需要实现一个模型,该模型可以学习在完全无监督的环境下学习代理与其环境之间的广义表示。这种新架构可以称为深度强化学习 3.0,或者主动推理、预测处理或完全不同的东西,但请不要在这个死胡同上浪费时间。
 
深度强化学习研究提出了一些很酷且有趣的工作,但是时候继续赶路了。那个能找到一种方法来构建下一个可以一用无人监督从环境中学习 AI 一般结构的人,将会让这一领域发生巨变,推动整个领域向前发展。
 

原文链接:

http://www.jtoy.net/blog/deep-reinforcement-learning-is-a-waste-of-time.html


(*本文为AI科技大本营编译文章,转载请微信联系1092722531)


精彩推荐



推荐阅读

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

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