谷歌的 PlaNet 强化学习网络
本文为 AI 研习社编译的技术博客,原标题 :
Everything you need to know about Google’s new PlaNet reinforcement learning network
作者 | Cecelia Shao
翻译 | 萝卜菜在种树
编辑 | 酱番梨、Pita
原文链接:
https://towardsdatascience.com/everything-you-need-to-know-about-googles-new-planet-reinforcement-learning-network-144c2ca3f284
跑步之前先学会走路。
现如今,迁移学习在机器学习社区中风靡一时。
迁移学习是Google、Salesforce、IBM和Azure云服务商提供的托管AutoML服务的基础。它现在在最新的NLP研究中占据突出的地位——包括谷歌的BERT以及ULMFIT中有重要的作用。
正如Sebastian在他的博文(NLP’s ImageNet moment has arrived)中写道:
这些成为举世闻名的工作是通过展示预训练语言模型在各种NLP任务上实现良好的性能。这些方法标志着一个分水岭:它们可能会像预训练的ImageNet模型对计算机视觉的影响一样对NLP产生广泛的影响。
我们也开始看到可以使用跨领域迁移学习处理多个任务的神经网络的例子。 Paras Chopra 是一个基于PyTorch的很好的教程,可以根据文本描述进行图像搜索,搜索相似的图像和文字,并在图像下面写上题注。
与其他机器学习方法相比,深度强化学习因其数据量小而闻名,其学习过程中存在不稳定性(参照 Deepmind关于RL与神经网络的论文),以及性能方面的落后。我们已经看到强化学习的应用主要是游戏或机器人,这些场景可以产生大量模拟数据。
与此同时,许多人认为强化学习仍然是实现人工智能最可行的方法。然而,强化学习不断遇到在不同环境中推广到许多任务能力的阻力——这是智能的关键属性。
毕竟,学习并不是一件容易的事情。当这些环境既具有高维感知输入有不具有进展、奖励或者成功的概念,抑或是极度延迟的概念时,这些强化学习的媒介必须处理并得出其环境的有效表示。最重要的是,它们必须使用这些信息将过去的经验概括为新的情况。
到目前为止,强化学习技术的研究主要聚焦在掌握个人任务上。对于迁移学习是否有助于强化学习达到普适性这一问题,我十分感兴趣。因此,当谷歌AI团队在今年早些时候发布深度规划网络(PlaNet)时,我非常激动。
PlaNet的背后
在这个项目中,PlaNet代理的任务是规划一系列动作,以实现像杆平衡这一的目标,教虚拟实体(人或猎豹)走路,或通过在特定位置击打它来保持盒子旋转。
深度规划网络(PlaNet)代理必须执行的六个任务的概述。 点击原文查看详细视频
在谷歌AI博客文章中介绍的PlaNet,这里有六个任务(加上与该任务相关的挑战):
-
Cartpole Balance:从杆平衡开始,代理必须快速识别以保持杆一直直立。
-
Cartpole Swingup:在一个固定的摄像头情况下,推车可以移出到摄像头范围外。因此,代理必须得到并且记住多个帧的信息。
-
Finger Spin:预测两个独立的对象,以及它们之间的交互。
-
Cheetah Run:包含难以准确预测的地形,需要一个能够预测多种情况的模型。
-
Cup Catch: 只在球被抓住时才会提供稀疏的奖励信号。这需要很准确的预测,以规划精确的行动序列。
-
Walker Walk:模拟机器人躺在地上,然后学会站起来并且走路。
PlaNet需要实现这些任务之间的一些共同目标:
-
代理需要预测各种可能的未来
-
代理需要根据最近操作的结果/奖励更新计划
-
代理需要在很多时间步骤中保留信息
那么谷歌AI团队是如何实现这些目标的呢?
PlaNet AI…and the rest?
PlaNet AI以三种不同的方式区别于传统强化学习方法:
-
使用潜在动力学模型学习——PlaNet从一系列隐藏或潜在状态而不是图像中学习,以预测潜在状态的未来发展。
-
基于模型的计划——PlaNet在没有策略网络情况下工作,并且基于持续的计划做出决策。
-
迁移学习——谷歌AI团队训练了一个PlaNet代理,以解决六种不同的任务。
让我们深入研究这其中的每一个差异,看看它们如何影响模型性能。
#1潜在动力学模型
作者在这里的主要选择是使用紧凑的潜在状态还是来自环境的原始感官输入。
使用紧凑的潜在状态空间意味着难度提升,因为代理不仅必须学会打败游戏,还必须建立对游戏视觉概念的理解——这使得图像的编码和解码需要大量计算。
使用紧凑潜状态空间的关键好处是它允许代理学习更多的抽象表示,如对象的位置和速度,同时无需生成图像。 这意味着实际规划要快得多,因为代理只需要预测未来的奖励而不是图像或场景。
潜在动力学模型现在普遍使用,因为研究人员认为“同时训练潜在动力学模型并结合提供的奖励将产生对与奖励信号相关的变异因素敏感的潜在嵌入,并且在训练期间对模拟的外来因素不敏感。”
学习潜在动力学模型——编码器网络(灰色梯形)不是直接使用输入图像,而是将图像信息压缩成隐藏状态(绿色圆圈)。然后使用这些隐藏状态来预测未来图像(蓝色梯形)和奖励(蓝色矩形)。
可以通过原文查看《关于使用深度自动编码器进行高效嵌入式强化学习》这篇论文
在自主嵌入式系统中,减少现实世界中采取的行动和学习政策所需的能量通常至关重要。从高维图像表示中训练强化学习代理可能非常耗时且开销大。自动编码器是一种深度神经网络,它用于将像素化图像等高维数据压缩成小的潜在表示。
#2 model-based的计划与model-free
来自Jonathan Hui的图表显示了强化学习方法的前景
model-based的强化学习试图让代理了解世界的一般行为。这不是通过直接观察映射到行动,而是允许代理提前规划,通过“想象”他们的长期结果来更谨慎地选择行动。采用model-based的方法的好处在于它的样本效率更高 - 这意味着它不会从头开始学习每个新任务。
查看model-free模型和model-based的强化学习之间差异的一种方法是查看我们是否针对最大奖励或最低成本进行优化(model-free=最大奖励,而 model-based=最低成本)。
像使用Policy Gradients这样的model-free强化学习技术可以是暴力解决方案,最终发现正确行为并将其渗透到策略中。Policy Gradients实际上必须接受积极的反馈,并经常接受它,以便最终将Policy Gradients参数给予高回报的动作。
一个有趣的注意事项是任务类型如何影响您可能选择使用的方法。在Andrej Kaparthy的帖子“Deep Reinforcement Learning:Pong from Pixels”中,他描述了Policy Gradients可以击败人类的游戏/任务:
“有很多游戏Policy Gradients很容易打败人类。特别是任何需要精确操作、快速反应和不需要长期规划的频繁奖励信号都是理想的,因为奖励和行动之间的这些短期相关性可以通过该方法轻松“注意到”,并且能够非常好地执行得到政策。你可以在我们的Pong代理中看到已经发生过这种情况的提示:它开发了一种策略,它等待球,然后迅速反弹,以便在边缘捕获它。这个球能够快速启动并且移动速度快。代理连续几次重复此策略。有许多ATARI游戏,其中Deep Q Learning以这种方式破坏人类的基准表现——例如Pinball, Breakout等“
#3 迁移学习
在第一次训练之后,PlaNet代理已经对重力和动力学有了基本的了解,并且能够在下一次训练的时候使用此次知识。因此,PlaNet的效率通常比从头开始学习的方法高50倍。这意味着代理只需要查看动画的五个帧(实际上是1/5秒的镜头)就能够以非常高的精度预测序列的进行在。在应用方面,这意味着团队无需培训六个单独的模型来实现任务的可靠性。
来自论文:“PlaNet解决了各种基于图像的控制任务,在性能方面与先进的无代理模型比较,平均效率提高了5000%······这些学习动态可以独立于任何特定任务,因此有可能很好地迁移到环境中的其他任务。”
查看PlaNet对D4PG的惊人数据效率,仅有2,000代:
从 论文 中可以看出:PlaNet在所有任务上明显优于A3C,并且达到接近D4PG的最终性能,同时与环境的交互平均减少5000%。
这些测试的表现与收集的数据之间的图表(PlaNet是蓝色): 雷锋网雷锋网雷锋网 (公众号:雷锋网)
图4来自PlaNet论文,将PlaNet与其他模型算法进行比较。
这些令人难以置信以及令人兴奋的结果意味着数据效率提高和强化学习普适性的新时代。 密切关注这个领域!
想要继续查看该篇文章相关链接和参考文献?
点击 【 谷歌的 PlaNet 强化学习网络 】 即可访问:
https://ai.yanxishe.com/page/TextTranslation/1670
【译者招募】 CMU CS 11-747 2019年春季 NLP
很高兴,我们又获得了卡耐基梅隆大学另外一门课程的的官方授权,并且成功组织志愿者对该课程进行了翻译,这门课程就是:CMU CS 11-747神经网络自然语言处理课程(2019春季),也就是现在开源的最新版本。
中英双语版字幕已于三月初正式上线,目前更新到第六讲!
如果你对此感兴趣的话,可以点击链接查看课程小组:
https://ai.yanxishe.com/page/groupDetail/33
同时你想报名参与课程翻译的话,请添加字幕君微信:leiphonefansub,字幕君会将你拉入译者群,准备开始翻译噢!
。