YukiRain作者强化学习泛化和鲁棒性研究方向

炼丹感悟:On the Generalization of RL

当今RL的问题很多,诸如收敛看运气效果看天命之类的,之前有很多大佬也有吐槽过,本渣也在某个回答 [1] 里吐槽过。

根据个人经验来讲,目前大部分 RL paper 使用的主要 benchmark,比如 MuJoCo 或者 Atari,实际上都是偏弱的(更不用说前两年 MARL 用的 multiagent-particle-envs[2]),在偏弱的实验环境里,模型训练出来在那边跑一跑,看起来结果尚可,实际很多模型的本质问题暴露的不明显,暴露得不明显就不会引起 community 的广泛关注,相关的研究也就会比较少,难成体系。 

很不幸,本文要讨论的 RL 泛化能力问题,就是这样的一个问题。

注:本文讨论的 generalization,有些文章里叫做 robustness,有些文章里叫 generalization,一般来说 robustness 设定中环境的 transition 还是固定的,只不过测试时模型会遇到训练时没见过的场景;而 generalization 一般是指训练环境与测试环境的 transition 有微小差异的时候,希望模型仍可以 cover 测试场景,以下统一使用 generalization 来讨论这两个概念,可能有点混淆。

为啥RL需要泛化?

绝大多数 RL 的基础都是 MDP,MDP 和 supervised learning 最本质的区别,就是前者解决的是一个满足 Markov 性质的环境上的 reward 最大化问题,所以一开始问题的前提假设中就只有一个固定的环境,听起来,泛化能力问题似乎应该是一个独属于 supervised learning 的问题,至少在 RL 的理论层面,是不存在测试环境与训练环境不同的问题的。

但实际上,只要你尝试在真正的应用场景中尝试过 RL,就会发现这是一个无法回避的问题,我去年在公司实习期间,很多实际做过 RL 应用的同事都会讲到的一个重要经验就是:RL 真的很容易过拟合。由于学术界相对研究比较少,应用中就会出现五花八门的问题,随之而来五花八门的解决方案:

案例一,众所周知 DeepMindOpenAI 都做游戏 AI,一个做星际一个做 Dota,为了训练出一个超过人类水平的 AI,两家共同的思路就是 self-play,但是实际上 self-play 会遇到训练时过拟合于对手策略的问题,因为实际部署时会遇到各种各样奇葩的对手策略,训练时从来没有见过奇葩对手的模型会严重翻车。

DeepMind 早早地就预见到了这个问题,在 17 年 A Unified Game-Theoretic Approach to Multiagent Reinforcement Learning [3] 这篇文章里面就指出,即使是在非常简单的环境,self-play 训练出的模型也会严重过拟合于对手策略。

所以做星际的时候他们压根就没想过要用一个模型解决所有问题,而是要引入 game theory 去做一个 zero-sum Markov game 中找 Nash equilibrium 的优化,后续这个思路在另一篇 ICML 的文章 Open-ended Learning in Symmetric Zero-sum Games [4] 又进一步得到了补全。

所以后来 AlphaStar 的训练中,他们用了数量惊人的算力资源,搞了一个 AlphaLeague,用类似 population-based training [5] 的方式分阶段训练——考虑目前绝大多数公司的算力情况,暂时,这套方法对其他公司的实践不具有太大的指导意义。

在这篇 OpenAI Five 的博客 [6] 中,OpenAI 表示 2017 年,他们在模型训练的过程中加入了环境参数的随机化后,模型开始在 1v1 场景下超越人类水平,后续这种随机化技巧广泛使用在他们的 5v5 模型,甚至是机器人模型的训练中。

案例二,robotics 训练,因为机器人机械臂有使用寿命的限制,目前常用的一种方式是在物理仿真模拟环境中训练,模型收敛后部署到现实世界中,然而模拟器不大可能建模出现实世界中所有的变量,实际上模拟器中表现良好的模型,在现实世界的表现会有所下降。

目前主要考虑两种解决方案:一是在训练期在模拟器中加入随机化,二是认为从模拟器到现实是一个迁移学习的问题,以 sim2real 为关键词搜索,这方面的研究非常多,这里简单列举两篇:

Tzeng E, Devin C, Hoffman J, et al. Towards adapting deep visuomotor representations from simulated to real environments[DB/OL]. arXiv:1511.07111. 

Peng X B, Andrychowicz M, Zaremba W, et al. Sim-to-real transfer of robotic control with dynamics randomization[C]. IEEE International Conference on Robotics and Automation, 2018: 1-8. 

Gupta A, Devin C, Liu Y X, et al. Learning invariant feature spaces to transfer skills with reinforcement learning[DB/OL]. arXiv:1703.02949. 

案例三,环境动态表现出高度 non-stationary 特性的任务,如推荐系统、定价系统、交易系统等(应该是没有哪个公司真的在交易系统里上 RL 的吧),这些任务的一个共同特点是业务敏感,绝对不会真的让模型在训练时与环境交互。

一般的做法是线上开一个子进程去收集样本回来做完全意义上的 off-policy 训练(就此延伸出去的一个研究方向叫 batch reinforcement learning,不过这已经不在本文讨论范围内了)。由于环境动态高度非平稳,三个月前训练的模型可能现在已经不 work 了,据我了解到的一点点情况,目前工业界没啥太好的办法,唯不停地重新训练而已。

专业用户独享

本文为机器之心深度精选内容,专业认证后即可阅读全文
开启专业认证
理论RL强化学习
3
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

对抗样本技术

对抗样本是一类被设计来混淆机器学习器的样本,它们看上去与真实样本的几乎相同(无法用肉眼分辨),但其中噪声的加入却会导致机器学习模型做出错误的分类判断。

AlphaStar技术

AlphaStar是2019年1月DeepMind推出的打星际争霸2的AI系统。在1月的首次亮相中,DeepMind播放的比赛视频显示AlphaStar击败了两名人类职业选手TOL与MaNa,引起了业内极大的关注。DeepMind 官方博客介绍,AlphaStar 的行为是由一种深度神经网络生成的,该网络从原数据界面(单位列表与它们的特性)接收输入数据,输出构成游戏内行为的指令序列。具体来说,该神经网络使用了一个 transformer 作为躯干,结合了一个深度 LSTM 核、一个带有 pointer 网络的自动回归策略 head 以及一个中心价值基线。

连续控制技术

连续控制代指需要进行连续控制的任务,经典例子包括推杆摆动,3D人形运动等等。

暂无评论
暂无评论~