Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics

1. Abstract

該論文[2]承接於[1], 在前一篇博客中整理. 提出一個策略搜索方法, 算法中迭代的擬合局部線性模型去優化大型連續的軌跡分佈, 得到的軌跡分佈被用在引導策略搜索(GPS)算法中, 學習任意參數的策略. 論文擬合時變線性動態模型去加速局部動態擬合過程, 並不學習一個全局模型. 在全局動態模型複雜並且不連續的情況下, 很難被成功學習. 該算法是model-based和model-free的混合方法, 比model-free方法需求更少的樣本, 又能很好的解決model-based方法難以成功學習複雜不連續動態模型的問題. 最後, 在仿真平臺上, 針對環境部分可觀測的複雜機器人操作任務, 算法能夠成功學習到一個複雜的神經網絡策略, 並取得一個比較理想的結果.

2. Preliminaries

策略搜索一般分爲兩類: model-based方法, 需要用到系統的動態模型, 而實際系統往往難以得到精準的系統模型. model-free方法, 僅僅依靠現實世界嘗試去尋找最優策略, 不依賴於具體系統模型. model-free方法很好的避免了這個難題, 但是策略往往需要精細的設計, 低維度表示, 否則搜索時間太長, 需求樣本過多, 搜索空間過大, 最終導致搜索陷入局部最優並失敗.

策略搜索方法, 一般包括: 優化策略πθ(utxt) 的參數θ , 代價函數(xt,ut) 的期望Eπθ[Tt=1(xt,ut)] . 該期望是在策略和動態模型p(utxt) 的條件下求得. 由策略和動態模型可以確定軌跡ζ 的分佈. 代價函數期望也可表示成: Eπθ[(ζ)] .

論文所述算法, 是學習一個時變線性高斯策略p(utxt)=N(Ktxt+kt,Ct) . 當初始狀態分佈是一個比較窄的高斯分佈時, 該結構的策略可以使用一些特別有效的優化方法來求解. 而任意參數的策略πθ 使用GPS算法來優化, 通過匹配一個或多個高斯策略p 來訓練. 實驗論證, 這樣的方法比直接學習策略的參數θ 效果要好.

3. Trajectory Optimization under Unknown Dynamics

在動態模型N(fxtxt+futut,Ft) 未知的情況下, 我們可以利用前一個的線性高斯控制器πθ(utxt) 在實際系統中運行, 獲取到軌跡, ζi={x1i,u1i,...,xTi,uTi} 表示第i 個rollout, 然後利用樣本{(xti,uTti),xt+1i} 來估計該動態模型.

只要我們估計每一時間步局部的線性高斯動態模型, 緊接着我們就可以運行動態規劃算法來學習到新的線性高斯控制器. 在這個思路下, 會遇到另一個問題. 我們估計的動態模型是局部的, 然後通過iLQG算法新學習到的控制器確有可能與老的控制器有很大的變化. 之前的一些工作針對這個問題也提出了一些解決方案, 但是都不怎麼理想. 該論文提出通過加入新老控制器的KL-divergence約束項來限制每一次動態規劃時的變化, 來解決該問題.

3.1 KL-Divergence Constraints

加入KL-Divergence約束項, 修改代價函數期望:

minp(ζ)N(ζ)Ep[(ζ)] s.t. DKL(p(ζ)p^(ζ))ϵ

朗格朗日對偶問題:

L(p(ζ),η)=Ep[(ζ)]+η[DKL(p(ζ))p^(ζ)ϵ]

因爲前後兩次迭代的局部動態模型假定一致, 即p(xt+1xt,ut)=p^(xt+1xt,ut)=N(fxtxt+futut,Ft) 成立, 則上述目標函數中KL-Divergence項可以簡化, 則上訴朗格朗日對偶問題可以重寫如下:

Ltraj(p(ζ),η)=[tEp(xt,ut)[(xt,ut)ηlogp^(utxt)]]ηH(p(ζ))ηϵ

定義增廣代價函數: ~(xt,ut)=1n(xt,ut)ηlogp^(utxt) . 則上訴朗格朗日目標函數可以通過對偶梯度下降(dual gradient descent)或前述章節中的動態規劃算法來解決.

3.2 Background Dynamics Distribution

在擬合動態模型時, 我們可以利用priors (應該用”先驗知識”來翻譯感覺更貼切) 來減少每一次迭代樣本的需求量, 即通過之前迭代過程中所產生的樣本來歸納, 總結一個對整體模型的大致估計. 常用的方法, 通過擬合一個背景動態分佈(background dynamics distribution)作爲粗略的全局動態模型, 來構建prior. 對於像機器人這類的物理系統, 高斯混合模型(GMM)是一個很好的選擇. 機器人動態模型可以合理的近似爲一系列分段線性函數. 通過(xt,ut,xt+1) 構建GMM, 每一個cluster ci 的條件(the conditional) ci(xt+1xt,ut) 代表線性高斯動態模型, ci(xt,ut) 的邊緣(the marginal)指示模型有效的狀態-行爲空間的區域.

然而, 在實際操作中, GMM並不是一個好的前向模型(forward model), 因爲邊緣ci(xt,ut) 不能夠精確的描述兩個線性模型之間的邊界. 一般而言, 邊界具有複雜的形狀, 進而很難被GMM描述. 但如果我們利用GMM獲取的prior是用來做線性迴歸, 就很容易的利用在當前樣本的時間步t 關於(xti,uti) 的協方差來確定精確的線性模型. 即使行爲轉換的狀態非常類似, 依據這些轉換, 時變線性動態模型仍能在不同的時間步獲取到不同的線性模型.

爲動態模型使用GMM構建prior, 爲了確保足夠樣本可利用, 從當前迭代對所有樣本的所有時間步, 每一次迭代都重擬合GMM. 然後, 利用每一個時間步的{xti,uti,xt+1i} 樣本擬合一個高斯估計當前的時變線性動態模型. 重擬合的GMM被用來爲每個時間步高斯的均值和協方差產生一個normal-inverse-Wishart prior (normal-inverse-Wishart distuibution又稱作Gaussian-inverse-Wishart distribution, 是多隨機變量帶四個參數的分佈族., 是多變量未知均值和協方差高斯分佈的共軛先驗(conjugate prior, 若後驗概率p(θ|x) 與先驗概率p(θ) 具有相同類型的分佈, 則p(θ|x)p(θ) 稱作共軛分佈, p(θ) 稱作似然函數的共軛先驗) ). 在當前時間步, 通過樣本推斷出cluster權重, 然後使用該帶權重的均值和協方差作爲先驗參數.論文實驗論證, 這個方法減少了大概4到8倍的迭代次數.

4. General Parameterized Policies

爲了學習包含任意參數的策略, 我們合併前述章節中的算法與GPS算法. GPS算法中, 軌跡分佈通過同時優化代價函數以及與當前策略的差距來學習, 所以這些軌跡分佈能夠爲策略學習生成一個比較好的訓練集, 參數化的策略學習問題轉換爲監督學習問題, 通過匹配軌跡分佈所產生的樣本進行學習. 由於將策略優化問題轉換爲監督學習問題, 所以GPS算法可以訓練帶有數以千計參數的複雜策略. 在軌跡優化算法中, GPS開發了線性高斯控制器的結構信息, 使得算法可以使用較一般目的的model-free方法(general-purpose model-free method)更少的樣本來優化每個軌跡.

論文所提出算法使用更加標準的期望代價目標函數:

minθ,p(ζ)Ep(ζ)[(ζ)] s.t. DKL(p(xt)πθ(utxt)p(xt,ut))=0,t

其中, 從不同的初始狀態或不同條件訓練得到不同的軌跡分佈pi(ζ) . 爲了簡單起見, 我們忽略了下標i , 因爲每個pi(ζ) 是從不同初始條件不同條件下開始的軌跡分佈, 算法會獨立的處理. 上訴目標函數的朗格朗日函數如下:

LGPS(θ,p,γ)=Ep(ζ)[(ζ)]+t=1TγtDKL(p(xt)πθ(utxt)p(xt,ut))

在優化上訴拉格朗日函數的實際操作中, 發現每一次迭代之後, 增大對偶變量γ KL-divergence的α (α=10 都可以)倍就行. 整體算法總結如下:

Guided Policy Search with unknown dunamics
01: for k=1:K
02:   分別運行每一個線性高斯控制器pi(ζ) 生成樣本{ζji}
03:   使用樣本{ζji} 擬合動態模型pi(xt+1xt,ut)
04:   在樣本集{ζji} 上優化θ=argminθi,tγi,tDKL(pi(xt)πθ(utxt)pi(xt,ut))
05:   使用章節3所述算法更新動態模型pi(xtut)
06:   使用因子αDKL(pi(xt)πθ(utxt)pi(xt,ut)) 增大α
07: end for
08: return θ

雖然算法需要優化策略的代價期望, 目標函數中熵項往往一直較高, 因爲策略和軌跡必須一起減小他們的熵來滿足約束條件. 爲了加速學習進程, 試驗中發現直接通過懲罰來調整策略是一個很有效的方式, 能夠加快學習進程併產生一個更確定的策略.

5. 實驗 + 總結

前一篇博客類似, 這倆部分我就沒有細看了, 也就沒有形成文檔. 因爲作者是在仿真平臺上做的, 並且這篇論文已經是幾年前的成果了. 後面還有好幾篇等着我, 所以這個階段的討論和實驗就不那麼重要了.

6. 個人總結

未知動態下的約束GPS算法[2], 由Levine 在14年論文中提出. 應對[1]中, 軌跡分佈的學習需要動態已知的問題, 提出通過迭代的擬合局部動態模型, 在局部動態模型的前提下, 學習到時變線性高斯控制器. 有效的在未知動態的狀況下, 解決了高斯控制器的學習問題. 論文中針對於局部動態的擬合提出了一些不錯的優化方式, 還對策略的訓練給出了提升, 算法總結於上表.

在[1]中,詳見前一篇博客, 利用軌跡優化的方式, 在已知線性動態的情況下, 我們可以學習到線性高斯控制器. 然而在實際狀況中, 一般動態都是未知的, 並且動態往往都是複雜非線性的, 違背了假設前提, 使得其應用大大受限. 而[2]在時間步t 擬合局部線性動態N(fxtxt+futut,Ft) , 學習到對應的受約束線性高斯控制器, 最終合併成爲時變線性高斯控制器. 並針對局部線性動態擬合問題提出了可以使用背景動態分佈來加速其擬合過程. 在策略訓練的階段, 使用更爲標準的代價期望目標函數, 硬約束強制策略和時變線性高斯控制器保持一致.

[2]很好的解決了[1]中待解決的後兩個問題, 雖然訓練仍較爲耗時, 但離實際機器人應用已經跨出了很大一步.

7. 參考文獻

[1] Sergey Levine, Vladlen Koltun, Guided Policy Search, ICML 2013

[2] Sergey Levine, Pieter Abbeel. Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics, NIPS, 2014

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章