完善強化學習安全性:UC Berkeley提出約束型策略優化新演算法
強化學習作為深度學習的一個強大分支成就卓然,在電子遊戲和模擬機器人等諸多場景中,皆能見其身影;強化學習甚至在阿爾法狗橫掃人類圍棋世界冠軍的對決中發揮了不可替代的作用。但是一塊「安全性」的烏雲正降臨在強化學習之上。有鑒於此,UC Berkeley 近日在其官方博客上發表了一篇題為《Constrained Policy Optimization》的文章,提出了一種提高強化學習安全性的新演算法:約束型策略優化(CPO),希望能為強化學習走出實驗室,安全可靠地邁向現實世界貢獻一份價值。
深度強化學習已經在很難的控制問題上取得了卓越的成就:藉助深度強化學習(deep RL),智能體(agent)已經學會了通過分析每個像素來打電子遊戲,控制模擬實驗和現實世界中的機器人,從示範中學習對象控制(object manipulation),甚至打敗人類圍棋冠軍。我們希望能夠在短期內把深度強化學習帶出實驗室,付諸實踐,用於日常技術當中,比如無人機控制(UAV Control)和家用機器人。但是在此之前,我們不得不解決最為重要的問題:安全性。
我們最近研發了一種原則性很強的方法來把安全性需求和其它約束直接併入到一整族最新型的深度強化學習演算法中。我們的方法——約束型策略優化(Constrained Policy Optimization——CPO),可以確保智能體在學習過程中的每一步都滿足約束條件。具體來說,我們嘗試滿足成本方面的約束:設計者會給智能體應該避免的每一個結果都分配一個成本(cost)和一個限制(limit),而且智能體則會學著去使它的所有成本都保持在限制之下。
此類約束型強化學習方法面世已久,而且甚至已經在伯克利引出了與之密切相關的研究——概率型安全策略遷移(probalistically safe policy transfer)。但是 CPO 是首個讓深度強化學習得以應用於一般情況下的約束型環境中的演算法——而且,它是有理論上的性能保證的。
在我們的論文中,我們描述了一個運行 CPO 的高效方法,並且展示了在真實的機器人模擬中,當滿足任務中的約束條件時,CPO 可成功訓練神經網路智能體實現獎勵(reward)最大化。
如果你有興趣把 CPO 應用到你的約束型強化學習問題當中,我們的開源代碼正應所需:https://github.com/jachiam/cpo
為什麼我們需要安全性約束?
強化學習智能體的訓練目標是最大化獎勵信號,人類必須事先指定設計這一過程的範圍。如果獎勵信號沒有被正確設計,智能體就會去學習非計劃中的甚至是有害的行為。如果設計獎勵函數很容易,這將不是問題,但不幸的是從根本上來講,獎勵函數設計很有挑戰性;這就是採用約束(constraint)的關鍵動機所在。
讓我們用一個基於真實用例的簡化案例來說明:一個移動式機器人理應在一個安全區域內完成一些任務(比如說繞圈跑)。如果它離開安全區域的頻率小於一定的預選閾值(pre-selected threshold),我們就認為機器人是「安全」的,否則為「不安全」。
只考慮獎勵(為了跑得儘可能快)和約束(離開安全區域的頻率),在約束型強化學習環境中描述此類問題並不難。但是對於標準的強化學習來講,由於我們不得不單獨通過獎勵函數設計所有的行為,問題將會變得很難。錯誤的獎勵設計也能夠導致智能體過於畏首畏尾,
導致無效;或者過於風險偏好,
並因此導致危險(這裡的「安全」區域在兩個藍色擋板之間)。
還有另外一個角度解釋為什麼標準強化學習方法不利於安全性:強化學習智能體是通過試錯來進行學習的,他們在收斂前會探索很多不同策略。所以,即使我們設計了一個可在最優情況下引導智能體通向安全策略的獎勵函數,還是可能會在訓練過程中導致不安全的探索行為。
像例子中的那樣,如果失效模式極少,而且發生頻率比預選頻率低,現實當中的自主系統(autonomous systems)通常就會被認為是安全的。這也促進了約束型強化學習的形成,即以自然方式把安全性併入強化學習。此外,我們也想保證每一個探索策略都是滿足約束(constraint-satisfying)的。CPO 的設計就是用來滿足這些需求的。將 CPO 用於上述例子的效果如下:
CPO:約束型強化學習的本地策略搜索
本地策略搜索是一個學習策略的標準方法,我們對策略進行迭代改善,直到其收斂於最優值。這種搜索之所以叫做「本地」(local)是因為在某種意義上每個新策略都被要求與舊策略相似。舉個例子,策略梯度(policy gradient)方法是一種依靠僅在性能梯度方向上走小步從而使策略保持相似的本地策略搜索演算法。
如果你對策略梯度不熟悉,這裡有一個 Andrej Karpathy 的精妙介紹 :http://karpathy.github.io/2016/05/31/rl/。
信任區域方法(Trust region method)是另一種本地策略搜索演算法。它們也使用了策略梯度,但是針對策略更新方式其制定了一個特殊要求:每一個新策略都必須在平均 KL -散度(average KL-divergence)上靠近舊策略。KL -散度是一種用來衡量兩種概率分布間存在多大差別的標準,而且由於策略輸出的是行為的分布,KL -散度是一種測量策略間「距離」的自然方式。
事實上,信任區域方法在訓練神經網路策略時可以有極佳表現,並且可以避免標準策略梯度方法有時會遭受的性能崩潰的問題(見 Duan et al., 2016)。
CPO 是一個用於約束型強化學習的信任區域方法,它在每一次策略更新中都近似地強制執行約束條件。它使用約束的近似值來預測,在任意給定的更新之後,約束成本會改變多少,接著選擇會最大化提升性能並能夠將約束成本保持在其限制之下的更新方式。
在上圖中,我們說明了在 CPO 的實現中都發生了什麼。我們從當前一次策略迭代開始,即圖中那顆星的位置。策略梯度(深藍色箭頭)指向獎勵增加的方向。在考慮安全性約束之前,最佳步驟在 KL 信任區域(藍色橢圓形)的邊緣上。但是我們只想涉足滿足約束條件的區域(淺綠色半區),因此這一次我們仍然儘可能多地增加獎勵,只不過同時保證安全。CPO 更新之後我們的新策略是最後的那顆星。
我們也有一些不錯的理論成果來補足實踐的演算法:我們推導出了一個平均 KL -散度近似值質量的新界限。這使得我們得以證明一般性信任區域方法有效性,解釋了其效果有多好,並使我們確定了在 CPO 更新之後有可能發生的約束違規的下限。
關於實際性能:我們發現 CPO 卓有成效。同時在圓圈任務(上文已討論)和一個更複雜的收集任務中(其中智能體要收集綠色蘋果,並被約束以避開紅色炸彈),CPO 學到了很好的策略,並在整個訓練中都近似地滿足約束。
CPO 學習到了一個策略,可以儘可能多地搜集綠色蘋果,同時被約束不得在每條軌跡上搜集多於平均 0.1 個紅色炸彈。
下一步
我們希望 CPO 能為強化學習走出實驗室,安全可靠地邁向現實世界貢獻一份價值。在我們開展新研究時,出現了大量關於如何應用 CPO 的有趣想法,我們也邀請了更大範圍的研究社區參與討論並擴展應用景。例如:
把 CPO 用於安全性遷移學習,從而把在模擬中習得的策略推進到現實世界。
使用 CPO 從不安全的示範中學習安全性策略。
提升 CPO 的樣本效率以最小化智能體所犯錯誤的數量(需存在一定錯誤,否則智能體無法學習)。
參考文獻
[1] Asynchronous Methods for Deep Reinforcement Learning:https://arxiv.org/abs/1602.01783
[2] Trust Region Policy Optimization:https://arxiv.org/abs/1502.05477
[3] Sensorimotor Deep Learning:http://rll.berkeley.edu/deeplearningrobotics/
[4] Robots that Learn:https://blog.openai.com/robots-that-learn/
[5] Mastering the game of Go with Deep Neural Networks & Tree Search:https://deepmind.com/research/publications/mastering-game-go-deep-neural-networks-tree-search/
[6] Constrained Markov Decision Processes:http://www-sop.inria.fr/members/Eitan.Altman/TEMP/h.pdf
[7] Probabilistically Safe Policy Transfer:https://arxiv.org/abs/1705.05394
[8] Constrained Policy Optimization:https://arxiv.org/abs/1705.10528
[9] Faulty Reward Functions in the Wild:https://blog.openai.com/faulty-reward-functions/
[10] Trust Region Policy Optimization:https://arxiv.org/abs/1502.05477
[11] Kullback–Leibler divergence:https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence
[12] Benchmarking Deep Reinforcement Learning for Continuous Control:https://arxiv.org/abs/1604.06778
※田淵棟開源遊戲平台ELF,簡化版《星際爭霸》完美測試人工智慧
※Facebook田淵棟開源遊戲平台ELF,簡化版《星際爭霸》完美測試人工智慧
※解鎖三角獸,語義分析如何成就爆款產品?
※深度學習黑箱探測難題發展成新學科:人工智慧神經科學
※依靠 AI,這家初創公司要從年產值 7000 億美元的卡車行業分一杯羹
TAG:機器之心 |
※谷歌提出強化學習新演算法SimPLe,模擬策略學習效率提高2倍
※請進→Python量化策略學習營
※Sci Transl Med:科學家開發出新型策略 有望改善癌症患者的治療
※使用RedisTemplate(JDK序列化策略)緩存實體類
※權桂賢:「We are back」源於科技創新優勢與策略轉變
※Netty學習和進階策略
※Rivoli Group宣布完成新的國際企業策略
※AMD改變硬體促銷策略 CPU顯卡打包Xbox Game Pass
※斯坦福大學&DeepMind聯合提出機器人控制新方法,RL+IL端到端地學習視覺運動策略
※rCDOUX負責人Daniel Rosenberg:用戶體驗策略大趨勢
※Burberry前CEO將離開Apple,奢侈品策略對科技行業不奏效?
※Science immunology:編碼基孔肯亞病毒中和抗體的mRNA 為免疫治療帶來新策略
※PandaFun——養成+策略的綜合性區塊鏈遊戲
※一文帶你理解Q-Learning的搜索策略,掌握強化學習最常用演算法
※SpringMvc介面中轉設計(策略+模板方法)
※Cell Host&Microbe 研究發現增強雞胚來源H3N2流感疫苗保護效果新策略
※伯克利、OpenAI等提出基於模型的元策略優化強化學習
※LVtrendsystem反向波動率策略
※Paradox和Romero Games正在開發一款全新策略遊戲
※紅帽Ansible 自動化策略