編者按:Microsoft Semantic Machines資深研究科學家、UC Berkeley計算機科學博士Jacob Andreas以控制問題為例,討論了在強化學習的表示空間中引入規劃能力的思路。
以神經網絡為參數的智能體(例如Atari玩家智能體)看起來普遍缺乏規劃的能力。蒙特卡洛反應式智能體(例如原始深度Q學習者)明顯是個例子,甚至于具備一定隱藏狀態的智能體(比如NIPS的MemN2N論文)看上去也是這樣。盡管如此,類似規劃的行為已成功應用于其他深度模型,尤其是在文本生成上——集束解碼,乃至集束訓練,看上去對機器翻譯和圖像描述而言不可或缺。當然,對處理并非玩具級別的控制問題的人而言,真實的規劃問題無處不在。
任務和運動規劃是一個好例子。有一次我們需要求解一個持續控制問題,但是直接求解(通過通用控制策略或類似TrajOpt的過程)太難了。因此我們轉而嘗試高度簡化、手工指定的問題編碼——也許是丟棄了幾何信息的STRIPS表示。我們解決了(相對簡單的)STRIPS規劃問題,接著將其投影回運動規劃空間。該投影可能不對應可行的策略!(但我們想讓在任務空間中可行的策略在運動空間中盡量可行。)我們持續搜索計劃空間,直到找到在運動空間中同時奏效的解。
其實這不過是一個由粗到細的剪枝計劃——我們需要可以丟棄明顯不可行的規劃的低成本方法,這樣我們可以將全部計算資源集中到確實需要模擬的情形上。
如圖所示:
上圖中,r為表示函數,c為成本函數(我們可以將其視為用0-1表示可行性判斷的函數),k為“表示成本”。我們想要確保r在運動成本和任務成本上“接近同構”,也就是c(s1, s2) ≈ k(r(s1), r(s2))。
就STRIPS版本而言,假定我們手工給出r和k。不過,我們可以學習一個比STRIPS更好的求解任務和運動規劃問題的表示嗎?
從規劃樣本中學習
首先假定我們已經有了訓練數據,數據為成功的運動空間路點序列(s1, s2, …, s*)。那么我們可以直接最小化以下目標函數:
最容易的情形是表示空間(r的對應域)為?d;這時我們可以操作d以控制表示質量和搜索表示空間的成本之間的平衡。
問題:如果我們只觀測到常數c(如果只看到好的解,可能會出現這種情形),那就沒有壓力學習不那么微不足道的k。所以我們也需要不成功的嘗試。
解碼
給定訓練好的模型,我們通過以下步驟求解新實例:
從表示空間中取樣一個滿足r(s*) ≈ rn的成本加權路徑(r1,r2, ..., rn)。
將每個表示空間轉換r1→ r2映射到運動空間轉換s1→ s2,且滿足r(s2) ≈ r2。(如果r是可微的,那么這很容易表達為一個優化問題,否則需要麻煩一點表達為策略。)
重復上述過程,直到其中之一的運動空間解可行。
在涉及計算路徑的每一個步驟(不管是在r-空間還是在s-空間),我們都可以使用范圍廣泛的技術,包括基于優化的技術(TrajOpt),基于搜索的技術(RRT,不過大概不適用于高維情形),或者通過學習以目標狀態為參數的策略。
直接從任務反饋學習
如果我們沒有良好的軌跡可供學習,怎么辦?只需修改之前的上面兩步——從隨機初始值開始,展開包含預測的r和s序列,接著生成由預測值r和s構成的序列,然后將其視作監督,同樣更新k以反映觀測到的成本。
提示性搜索
到目前為止,我們假設可以直接暴力搜索表示空間,直到我們接近目標。沒有機制強制表示空間的接近程度同樣接近于運動空間(除了r可能帶來的平滑性)。我們可能想要增加額外的限制,如果根據定義ri距離rn不止3跳,那么||ri? rn||>||ri+1?rn||。這立刻提供了在表示空間中搜索的便利的啟發式算法。
我們也可以在這一階段引入輔助信息——也許是以語言或視頻形式提供的意見。(接著我們需要學習另一個從意見空間到表示空間的映射。)
模塊化
在STRIPS領域,定義一些不同的原語(如“移動”、“抓取”)是很常見的做法。我們也許想給智能體提供類似的不同策略的離散清單,清單上的策略列出了轉換成本k1, k2, …。現在搜索問題同時牽涉(連續地)選擇一組點,和(離散地)選擇用于在點之間移動的成本函數/運動原語。這些原語對應的運動可能受限于配置空間中某個(手工選取)的子流形(比如,僅僅移動末端執行器,僅僅移動第一個關節)。
感謝Dylan Hadfield-Menell關于任務和運動規劃的討論。
-
神經網絡
+關注
關注
42文章
4781瀏覽量
101181 -
機器翻譯
+關注
關注
0文章
139瀏覽量
14947 -
強化學習
+關注
關注
4文章
268瀏覽量
11305
原文標題:強化學習表示空間中的規劃
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
深度強化學習實戰
基于強化學習的飛行自動駕駛儀設計
![基于<b class='flag-5'>強化學習</b>的飛行自動駕駛儀設計](https://file.elecfans.com/web2/M00/49/75/pYYBAGKhtFKAXMUtAAANrL-wu4Y744.jpg)
將深度學習和強化學習相結合的深度強化學習DRL
基于分層強化學習的多Agent路徑規劃
![基于分層<b class='flag-5'>強化學習</b>的多Agent路徑<b class='flag-5'>規劃</b>](https://file.elecfans.com/web2/M00/49/85/poYBAGKhwMGAaN3PAAAfLp9CNE4771.jpg)
強化學習在自動駕駛的應用
![<b class='flag-5'>強化學習</b><b class='flag-5'>在</b>自動駕駛的應用](https://file.elecfans.com/web1/M00/57/02/pIYBAFtEBayAZTEZAAAX7X5O6UY777.png)
什么是強化學習?純強化學習有意義嗎?強化學習有什么的致命缺陷?
![什么是<b class='flag-5'>強化學習</b>?純<b class='flag-5'>強化學習</b>有意義嗎?<b class='flag-5'>強化學習</b>有什么的致命缺陷?](https://file.elecfans.com/web1/M00/57/A3/o4YBAFtKuLqAEytwAAAP3JYloKQ601.gif)
量化深度強化學習算法的泛化能力
![量化深度<b class='flag-5'>強化學習</b>算法的泛化<b class='flag-5'>能力</b>](https://file.elecfans.com/web1/M00/7E/CC/o4YBAFwgNViAW95oAAA3nYov4nw086.gif)
一文詳談機器學習的強化學習
強化學習在智能對話上的應用介紹
《自動化學報》—多Agent深度強化學習綜述
![《自動<b class='flag-5'>化學</b>報》—多Agent深度<b class='flag-5'>強化學習</b>綜述](https://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
評論