深度强化学习实验室
官网:http://www.neurondance.com/
作者:俞扬
编辑:DeepRL
什么是强化学习
2016 年AlphaGo不仅掀起了人工智能的浪潮,也将一个以往关注度不高的技术——推到聚光灯下。
广为人知的人脸识别等技术背后的深度学习,通常需要开发者准备好大量打了标注的图像,作为训练数据。
强化学习与之不同,不需要训练数据,而是身处一个环境中。类似于动物处在自然环境中,强化学习需要不断与环境交互,并从中学习。强化学习研究常用的环境,就是各种各样的游戏。
强化学习方法简单、有效且通用,在许多游戏环境中都取得了超越人类的决策水平,被DeepMind认为是实现通用人工智能的一种重要途径。
除了打游戏,强化学习能解决其他问题吗
在强化学习的训练过程中,需要不断地尝试,来发现潜在的奖励与惩罚。而在真实场景中的错误决策,通常会造成不良的实际影响,例如成本增加、经验亏损、甚至发生灾难性后果。例如,在自动驾驶游戏中,可以让智能体完全自主地驾驶车辆,通过不断试错学会如何开车,而在真实道路环境中学习,试错过程意味着导致严重的财产、生命损失,这是不可接受的。
更甚的是,当前的强化学习方法,往往需要数以万计以上的的试错,使得强化学习算法直接应用于解决真实问题变得遥不可及。
面对强化学习这个前景广阔但又困难重重的方向,南栖仙策将焦点放在虚拟环境的构建上。如果有那么一个如同游戏一样的虚拟环境,并且在虚拟环境中的决策效果近似真实业务中的决策效果,那不就可以发挥强化学习的能力了吗!
构建虚拟环境的困境
构建虚拟环境,一条技术路线是靠人工编码来实现。但这既不符合对于通用人工智能的追求,在实际项目中,也会导致实施成本高昂和实施周期冗长的不足。
因此,如何从真实场景的历史数据中自动还原出接近场景的虚拟环境,这一问题具有极大的研究和应用价值。这一技术路线自然也经历了长期的探索,“基于模型的强化学习”这一领域即是希望能够从数据上学习到有效的环境模型。
然而,长期的研究给出了悲观的结论:从数据上学习到的模型难以准确呈现实际场景的决策效果。也因此,导致目前国际上的主流技术路线遵循“不要远离数据”的思路,然而这样的思路,同样会导致难以获得超越数据的决策结果。
那么,能不能在环境模型的学习上有所突破呢?
从模仿学习入手
模仿学习是直接从专家演示数据中进行学习的方法。这里,专家示例指的是最优(或近似最优)策略。专家演示数据由最优策略采集得到,这部分决策行为数据包含了一些场景下的最优动作,质量较高,模仿学习也因此被认为是可以降低样本复杂度的一个手段。
在初版AlphaGo和AlphaStar成功背后的一个重要技术就是模仿学习,即从人类顶尖选手的对弈数据中进行学习,学到的策略作为强化学习初始化的策略。除此之外,模仿学习的另一个重要应用是:有些场景中(比如自动驾驶)决策行为的奖励函数很难定义,但是有一些高质量的决策示例(比如人类开车的视频),可以被用来模仿和生成和专家类似的决策行为。
然而,直接使用深度学习方法从专家数据中进行监督学习(在强化学习领域又称行为克隆,Behavioral Cloning;简称BC)),往往效果不佳,因为环境模型中的转移概率函数(或智能体策略)通常比深度学习中的数据分布函数要复杂得多,目前的普遍认知是,强化学习环境产生的数据具有时序性,直接使用监督学习会累积复合误差(Compounding Errors),直观解释如图 1 所示,每往前走一步,都会产生误差,走得越多,累积误差越大,导致在长时序的决策任务上,监督学习模仿的环境模型使用效果不佳。尽管该观点提供了非常直观的解释,但遗憾的是,该观点在理论上对误差的性质还缺少清晰的解释,以及需要使用什么方法来进行模仿学习可以取得更小的误差都是未解之谜。
图 1 监督学习复合误差示例图。红色为专家策略运行得到的轨迹,黑色为学得策略运行得到轨迹,随时间移动,二者之间差异越来越大
降低模仿学习误差
在 NeurIPS2020 [1] 的论文中,我们在无限决策长度的马尔科夫决策过程(Markov Decision Process)上,对模仿学习的误差进行了分析,其中决策长度由1/(1-γ)来衡量;γ∈(0-1)是 MDP 中的折扣系数,通常用来权衡当前行为(短期动作)和将来行为(长期动作)的回报,γ通常取值为0.99, 0.999, 0.9999等接近1的值,γ越大说明决策越长,也就越关注长期回报。
我们先分析了两类著名的模仿学习算法:行为克隆(BC) [2] 和生成对抗式模仿学习(Generative Adversarial Imitation Learning,简称 GAIL) [3]。在学习专家策略时的误差。BC 的目标是最小化策略模型在每个状态上输出的动作和专家之间动作之间的 KL 散度;GAIL 利用生成对抗思想,使用生成器(Generator)G,并额外引入判别器(Discriminator)D,用 D 来判断G 生成的轨迹与专家轨迹之间的相似度,简化后目标函数分别如下:
分析结果表明,BC 的值函数误差关于 1/(1-γ)是二次的,如以下Theorem 1所示。也就是说,BC对于环境模型的误差会随着步长的增加平方级放大。
而GAIL的值函数的误差关于 1/(1-γ)是线性的,如下Leamma 1所示
因此,GAIL 得到的策略,其累积误差比 BC 更小。γ通常趋近于 1,例如,当γ=0.99 时,BC 的值函数误差大约是 GAIL 方法的 100 倍(通常在长序列决策任务,或者奖励稀疏场景下,γ取值比0.99更大)。
由于 GAIL 的模仿目标是在 “轨迹” 层面(与之相反,BC的目标是在 “动作” 层面),即 GAIL 更关注整条专家示例的动作序列,BC 关注专家的单一动作,因此通过 GAIL 学习出来的策略,其决策质量关于决策长度的依赖更好。因此,在决策长度比较大的任务下面,智能体如果不能完美地模仿专家的话,通过 GAIL 准则学习到的策略一般会比 BC 好,而且两个算法的差距,会随着决策长度的增大而增大。除此之外,我们还分析了有限样本下的泛化性能,感兴趣的读者可以阅读原文。
从模仿专家,到模仿环境
模仿专家只是学习如何做出近似最优策略轨迹上的动作,不涉及学习环境模型。然而我们注意到,环境和策略的角色可以颠倒,即环境叫做策略、策略叫做环境,同时将状态与决策也颠倒称呼,就可以得到“对耦”强化学习问题。在这个对耦问题中,环境函数就是原任务的策略函数,而策略函数就是原任务的环境函数。
由此可见,模仿策略的技术用在对耦任务上,即是在原任务中模仿环境,即学习环境模型。
当我们用深度学习监督式的学习环境,则与BC模仿策略相似,也能得到类似的结论,如Lemma 3所示
即策略的长期回报误差关于模型学习的误差是平方级放大。这也是以往的环境模型一直难以有效学习的关键原因。
而当我们使用GAIL进行环境的学习时,可以看到,在环境误差 这一项上面,GAIL的值函数的误差关于1/(1-γ)依然是线性的,
因此,本文在理论上回答了,在学习环境模型时,使用 GAIL 类的方法,最终的性能会好于 BC 的模型。
为了方便理解,我们也给出了基于生成式环境学习的算法示意图。
使用算法 1,我们也在三个公认的 MuJoCo 机器人仿真环境中进行了验证。从图 2结果中可见,基于GAIL学习出来的环境模型,策略评估的误差会更小,质量更好。
图 2 MuJoCo 仿真环境验证结果。使用 GAIL 学习的环境模型(红色)与使用 BC 学习的环境模型(绿色)在策略评估时有更小的误差
未来可期
学习一个有用的环境模型,是一种通往高效强化学习的基本途径,学到的模型不仅仅可降低决策模型的训练成本(for cheap training),还给元强化学习(meta-RL)提供重要支撑,也是解决现实中决策任务的关键。
实际上南栖仙策的“虚拟淘宝” [4]、“虚拟出行平台” [5] 等工作,都从历史数据中基于生成对抗学习模拟了环境模型,作为模拟环境用于强化学习训练。
本文从值函数的误差界角度进行分析,首次从理论上证明了使用 GAIL 类型的模仿学习方法去学习环境模型,比传统 BC 方法有更小的误差,也为现实中的决策策略学习提供了指导思路。
[1] Xu, Tian, Ziniu Li, and Yang Yu. "Error Bounds of Imitating Policies and Environments." Advances in Neural Information Processing Systems 33 (2020)
[2] Pomerleau, Dean A. "Efficient training of artificial neural networks for autonomous navigation." Neural computation 3.1 (1991): 88-97.
[3] Ho, Jonathan, and Stefano Ermon. "Generative adversarial imitation learning." Advances in neural information processing systems. 2016.
[4] Shi, Jing-Cheng, et al. "Virtual-taobao: Virtualizing real-world online retail environment for reinforcement learning." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 33. 2019.
[5] Shang, Wenjie, et al. "Environment Reconstruction with Hidden Confounders for Reinforcement Learning based Recommendation." Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019.
完
总结3: 《强化学习导论》代码/习题答案大全
总结6: 万字总结 || 强化学习之路
完
第96篇: 值分布强化学习(Distributional RL)总结
第95篇:如何提高"强化学习算法模型"的泛化能力?
第94篇:多智能体强化学习《星际争霸II》研究
第93篇:MuZero在Atari基准上取得了新SOTA效果
第91篇:详解用TD3算法通关BipedalWalker环境
第88篇:分层强化学习(HRL)全面总结
第85篇:279页总结"基于模型的强化学习方法"
第84篇:阿里强化学习领域研究助理/实习生招聘
第83篇:180篇NIPS2020顶会强化学习论文
第81篇:《综述》多智能体强化学习算法理论研究
第80篇:强化学习《奖励函数设计》详细解读
第79篇: 诺亚方舟开源高性能强化学习库“刑天”
第77篇:深度强化学习工程师/研究员面试指南
第75篇:Distributional Soft Actor-Critic算法
第74篇:【中文公益公开课】RLChina2020
第73篇:Tensorflow2.0实现29种深度强化学习算法
第72篇:【万字长文】解决强化学习"稀疏奖励"
第71篇:【公开课】高级强化学习专题
第70篇:DeepMind发布"离线强化学习基准“
第66篇:分布式强化学习框架Acme,并行性加强
第65篇:DQN系列(3): 优先级经验回放(PER)
第64篇:UC Berkeley开源RAD来改进强化学习算法
第61篇:David Sliver 亲自讲解AlphaGo、Zero
第59篇:Agent57在所有经典Atari 游戏中吊打人类
第58篇:清华开源「天授」强化学习平台
第57篇:Google发布"强化学习"框架"SEED RL"
第53篇:TRPO/PPO提出者John Schulman谈科研
第52篇:《强化学习》可复现性和稳健性,如何解决?
第51篇:强化学习和最优控制的《十个关键点》
第50篇:微软全球深度强化学习开源项目开放申请
第49篇:DeepMind发布强化学习库 RLax
第48篇:AlphaStar过程详解笔记
第47篇:Exploration-Exploitation难题解决方法
第45篇:DQN系列(1): Double Q-learning
第44篇:科研界最全工具汇总
第42篇:深度强化学习入门到精通资料综述
第41篇:顶会征稿 || ICAPS2020: DeepRL
第40篇:实习生招聘 || 华为诺亚方舟实验室
第39篇:滴滴实习生|| 深度强化学习方向
第37篇:Call For Papers# IJCNN2020-DeepRL
第36篇:复现"深度强化学习"论文的经验之谈
第35篇:α-Rank算法之DeepMind及Huawei改进
第34篇:从Paper到Coding, DRL挑战34类游戏
第31篇:强化学习,路在何方?
第30篇:强化学习的三种范例
第29篇:框架ES-MAML:进化策略的元学习方法
第28篇:138页“策略优化”PPT--Pieter Abbeel
第27篇:迁移学习在强化学习中的应用及最新进展
第26篇:深入理解Hindsight Experience Replay
第25篇:10项【深度强化学习】赛事汇总
第24篇:DRL实验中到底需要多少个随机种子?
第23篇:142页"ICML会议"强化学习笔记
第22篇:通过深度强化学习实现通用量子控制
第21篇:《深度强化学习》面试题汇总
第20篇:《深度强化学习》招聘汇总(13家企业)
第19篇:解决反馈稀疏问题之HER原理与代码实现
第17篇:AI Paper | 几个实用工具推荐
第16篇:AI领域:如何做优秀研究并写高水平论文?
第15篇:DeepMind开源三大新框架!
第13篇:OpenSpiel(28种DRL环境+24种DRL算法)
第11篇:DRL在Unity自行车环境中配置与实践
第8篇:ReinforceJS库(动态展示DP、TD、DQN)
第5篇:深度强化学习在阿里巴巴的技术演进
第4篇:深度强化学习十大原则
第2篇:深度强化学习的加速方法
第1篇:深入浅出解读"多巴胺(Dopamine)论文"、环境配置和实例分析