炼丹感悟:On the Generalization of RL
?作者|YukiRain
研究方向|強化學習泛化和魯棒性
當今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 真的很容易過擬合。由于學術界相對研究比較少,應用中就會出現五花八門的問題,隨之而來五花八門的解決方案:
案例一,眾所周知 DeepMind 和 OpenAI 都做游戲 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 generalization 或 robustness 的文章里都會涉及到,舉一些代表性的例子:?
1. 過擬合于狀態特征?
Observational Overfitting in Reinforcement Learning
https://arxiv.org/abs/1912.02975?
2. 動作空間的隨機性?
Action Robust Reinforcement Learning and Applications in Continuous Control
https://arxiv.org/abs/1901.09184
3. 連續控制任務上的過擬合?
A Disp of Overfitting and Generalization in Continuous Reinforcement Learning
https://arxiv.org/abs/1806.07937
4. 死記硬背型過擬合?
A Study on Overfitting in Deep Reinforcement Learning
https://arxiv.org/abs/1804.06893
Quantifying Generalization in Reinforcement Learning
https://openai.com/blog/quantifying-generalization-in-reinforcement-learning/
5. 環境動態
Planning with Information-Processing Constraints and Model Uncertainty in Markov Decision Processes
https://arxiv.org/abs/1604.02080
DRL的過擬合是一個屬于RL的問題還是一個屬于DL的問題??
就目前的一些研究結果來看,答案可能是 both。有關 RL 的過擬合,上面列舉的一些文獻已經能夠一定程度上說明問題,這里主要說說 DL。?
傳統 machine learning 中人們就常用各種正則項來抑制過擬合,最典型的應該是 L2 正則,而近些年 RL 領域中也有若干 paper 研究正則項的影響,比如今年 ICLR Regularization Matters in Policy Optimization [7] 作者稱 L2 可以起到比 entropy regularization 更好的效果,DL 里常用的 dropout 可以為 off-policy 訓練帶來一些正面的效果(雖然最后被 reject 掉了)。
而 Generalization and Regularization in DQN [8]?一文中作者稱,模型訓練到后期,訓練環境上模型能力的上升同時也意味著泛化能力的下降,而 L2 正則可以找到一個較好的平衡點,類似于 supervised learning 里面 L2 與 early stop 的等價關系。
Does robust optimization work for RL generalization?
學術界中,robust optimization(以下簡稱 RO)是一個比較容易想到的解決方案,在早期 RL 研究者們還聚焦于各種 MDP 數學意義上的 tractability 的時候,就已經有一些工作研究在不完美、或者包含 uncertainty 的環境動態的基礎上進行優化,這種優化一般被稱作 robust MDP:?
Bart van den Broek, Wim Wiegerinck, and Hilbert J. Kappen. Risk sensitive path integral control. In UAI, 2010.?
Arnab Nilim and Laurent El Ghaoui. Robust control of markov decision processes with uncertain transition matrices.Operations Research, 53(5):780–798, 2005?
Wolfram Wiesemann, Daniel Kuhn, and Berc Rustem. Robust markov decision processes. Mathematics of Operations Research, 38(1):153–183, 2013.?
Lars Peter Hansen and Thomas J Sargent.Robustness. Princeton university press, 2008?
Yun Shen, Michael J Tobia, Tobias Sommer, and Klaus Obermayer. Risk-sensitive reinforcement learning. Neural computation, 26(7):1298–1328, 2014.?
Yinlam Chow, Aviv Tamar, Shie Mannor, and Marco Pavone. Risk-sensitive and robust decision-making: a cvar optimization approach. In Advances in Neural Information Pro-cessing Systems, pages 1522–1530, 2015.?
進入深度學習時代以后,最早的代表性工作應該是 RARL,其優化目標是 total reward 的 CVaR,最終在訓練中引入了 zero-sum Markov game 來提升 robustness,總體來說是比較漂亮的一個方法,后來的很多文章都沿用了 RARL 的框架:
Robust Adversarial Reinforcement Learning
https://arxiv.org/abs/1703.02702
如果想讓模型對環境動態具有一定的 robustness,那么就應該針對環境動態設計 uncertainty set 來做 RO,比如(第一篇被 reject 過):
Wasserstein Robust Reinforcement Learning
https://arxiv.org/abs/1907.13196
Robust Reinforcement Learning for Continuous Control with Model Misspecification
https://openreview.net/forum?id=HJgC60EtwB
有從 RO 角度做的,就一定會有從 Distributionally Robust Optimization 的角度做的(這篇技術上是用 DRO 做的,但最終做的任務是 safe exploration,個人認為也可以算到 RO 的工作類別中,此外這篇是 workshop)。
Distributionally Robust Reinforcement Learning
https://openreview.net/pdf?id=r1xfz_93oN
sim2real、環境隨機化與 CVaR 大雜燴的思路:
EPOpt: Learning Robust Neural Network Policies Using Model Ensembles
https://arxiv.org/abs/1610.01283
以及今年 ICLR 一篇在 RARL 基礎上做改進的文章,最終慘遭 reject:
Robust Reinforcement Learning via Adversarial Training with Langevin Dynamics
https://openreview.net/forum?id=BJl7mxBYvB
說到 RO,大概會有些人動 supervised learning 里面 adversarial examples 的主意,但是將 adversarial examples 的思路直接引入 RL 并不一定是 trivially correct 的,目前有數量較少的幾篇文章在這個思路上做了簡單嘗試,個人對這個思路的嘗試報懷疑態度。
Sinha A, Namkoong H, Duchi J. Certifying some distributional robustness with principled adversarial training [DB/OL]. arXiv:1710.10571.
DRO 優化的文章,思路可以看看,但只在最后一小節提到可以用于 robust MDP,個人做實驗發現對復雜任務完全不 work。
Pattanaik A, Tang Z, Liu S, et al. Robust deep reinforcement learning with adversarial attacks[C]. International Joint Conference on Autonomous Agents and Multi-agent Systems, 2018: 2040-2042.
提出了一種將對抗樣本引入 DDPG 訓練的思路,相當于采用經對抗擾動后最差的 policy 做 off-policy 訓練,導致收斂速度非常慢。
Huang S, Papernot N, Goodfellow I, et al. Adversarial attacks on neural network policies[J]. arXiv preprint arXiv:1702.02284, 2017.
雖然作者列表大神云集,但個人認為這篇沒有帶來什么新的 insight,不推薦。
Ilahi I, Usama M, Qadir J, et al. Challenges and Countermeasures for Adversarial Attacks on Deep Reinforcement Learning[J]. arXiv preprint arXiv:2001.09684, 2020.
最近掛上 ArXiv 的一篇 survey。
解決方案歸類
總結一下上面提到的幾類方法:
Robust optimization??
environmental randomization?
heuristic regularization
sim2real (only applicable for robotics)
目前學術界對 RL 泛化問題的研究實際上很難完全分類,因為目前鮮有能構成體系的研究工作,提出的各種解決方案頗有東一榔頭西一棒槌之感,下面列兩篇無法分類到以上任何類別的工作:
Improving Generalization in Meta Reinforcement Learning using Neural Objectives
https://openreview.net/forum?id=S1evHerYPr
On the Generalization Gap in Reparameterizable Reinforcement Learning
https://arxiv.org/abs/1905.12654
第二篇是 RL 泛化問題上為數不多的理論文章之一,用 finite sample analysis 做分析的,值得一讀,缺點是只能用于 on-policy 和 reparameterizable state 的情況。
你說的這個環境隨機化,它香嗎?
目前的工業應用中,環境加隨機化可能是使用最廣泛的解決方案,在 18 年 Assessing Generalization in Deep Reinforcement Learning [9] 一文中,作者基于若干組 MuJoCo 的實驗,聲稱環境加隨機化是目前為止提升泛化能力最有效的方法。
但 A Study on Overfitting in Deep Reinforcement Learning [10] 在迷宮環境上的實驗則得出了完全相反的結論,作者稱 RL 訓練出的模型會死記硬背,隨機化技巧無法避免 RL 模型的過擬合。
那么,這個環境隨機化,它真的那么香嗎??
首先一個比較容易想到的問題,環境復雜度的問題:加入隨機化后環境的數量會隨隨機變量數量的上升而指數上升,今年 ICLR 就有審稿人提出了這一質疑:?
If there are, e.g., 20 parameters, and one picks 3 values for each, there are 3^20 variations of the environment. This exponential growth seems problematic, which is also mentioned by R3.?
環境復雜度的問題會進一步提升訓練的復雜度:加入環境隨機化后,模型訓練達到收斂所需的樣本量實際上也顯著上升了,由于其他論文里都不怎么提,這里以 TD3 為 baseline 放一點點自己的實驗圖作為證據(忽略綠色曲線),這里可以看到 HalfCheetah-v2 環境上,加入了環境隨機的模型用了大約三倍的 iteration 才達到了原始版本 TD3 的水平。
從上面的圖中還可以看出一個新的問題:方差問題。加入環境隨機化以后,模型表現無論是在訓練環境中,還是測試環境中,表現出的方差要大于在單一環境上訓練,這也與本渣渣去年在公司實習期間的一些實驗結論一致,當時的結論是隨機化訓練的方差會比只在一個固定環境上訓練高出若干個數量級。
對于加入隨機化以后過度探索的問題,OpenAI 提出過一個不錯的解決思路:
https://openai.com/blog/solving-rubiks-cube/
Difficulties?
理論層面,由于 RL 本身的理論建模中不存在泛化問題,目前學術界的研究大部分都是 empirical 的工作,理論性文章很少,上面列舉的唯一一篇理論 paper 的假設條件還離實踐比較遠。?
實踐層面,最大的困難來自于當前 model-free RL 高方差的尿性,開篇已經提到過,MuJoCo 和 Atari 一類的環境對于 RL 泛化問題是比較弱的,如果你有機會在企業級別的場景下做 RL 實驗,那么一定會在泛化方面有更深刻的體會。
因此,在 MuJoCo、Atari、或者是之前有作者用過的隨機迷宮之類的環境中,如果你做出了某種提升,可能提升的幅度還不如代碼層面優化換 random seed 或者 reward scaling 來的明顯,今年 ICLR 就有一篇講 RL 的 code-level optimization 的文章工作被 accept,足以說明現在的 R L研究者對 reproducibility 的殷切期盼。
Implementation Matters in Deep RL: A Case Study on PPO and TRPO
https://openreview.net/forum?id=r1etN1rtPB
眾所周知 model-free RL 換個 seed 或者做個 reward scaling 就可能讓模型的表現從地下到天上,那么除非你的方法表現可以全方位碾壓各種 baseline,否則如何說明這種影響不是來源于 seed 之類的無關影響因素呢?
相關鏈接
[1]?https://www.zhihu.com/question/369263409/answer/995669697
[2]?https://github.com/openai/multiagent-particle-envs
[3] https://arxiv.org/pdf/1711.00832.pdf?
[4]?http://proceedings.mlr.press/v97/balduzzi19a/balduzzi19a.pdf
[5]?https://arxiv.org/pdf/1711.09846.pdf
[6] https://openai.com/blog/openai-five/
[7] https://openreview.net/forum?id=B1lqDertwr
[8]?https://arxiv.org/pdf/1810.00123.pdf
[9] https://arxiv.org/pdf/1810.12282.pdf
[10] https://arxiv.org/pdf/1804.06893.pdf?
點擊以下標題查看更多往期內容:?
深度學習模型不確定性方法對比
神經網絡中的常用激活函數總結
蒙特卡洛梯度估計方法(MCGE)簡述
變分推斷(Variational Inference)最新進展簡述
從傅里葉分析角度解讀深度學習的泛化能力
自動機器學習(AutoML)最新綜述
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
???? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 查看作者專欄
總結
以上是生活随笔為你收集整理的炼丹感悟:On the Generalization of RL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xp怎么把硬盘加密 如何用XP给硬盘加密
- 下一篇: 冲击SuperGLUE:基于多任务与对抗