鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!
論文筆記:https://zhuanlan.zhihu.com/p/26754280
Arxiv:https://arxiv.org/pdf/1509.02971.pdf
Published as a conference paper at ICLR 2016
ABSTRACT
我們將“深度Q學習”成功的基礎思想適應於連續動作域。我們基於可在連續動作空間上運行的確定性策略梯度,提出了一種基於actor-critic的無模型算法。使用相同的學習算法,網絡結構和超參數,我們的算法可以魯棒地解決20多個模擬物理任務,包括經典問題,例如車桿擺動,靈巧操縱,有腿運動和駕車。我們的算法能夠找到性能與計划算法相媲美的策略,並且可以完全訪問域及其衍生物的動態。我們進一步證明,對於許多任務,該算法可以直接從原始像素輸入中學習“端到端”策略。
1 INTRODUCTION
AI領域的主要目標之一是解決未經處理的高維感官輸入中的復雜任務。最近,通過將深度學習中的感官處理(Krizhevsky et al., 2012)與RL相結合,取得了顯著進展,從而產生了DQN算法(Mnih et al., 2015)。使用許多未經處理的像素作為輸入,可以在許多Atari視頻游戲上達到人類水平的性能。為此,使用了深度神經網絡函數近似來估計動作-價值函數。
但是,盡管DQN解決了高維觀測空間的問題,但它只能處理離散低維動作空間。許多令人關注的任務,尤其是物理控制任務,具有連續(實值)高維動作空間。DQN不能直接應用於連續域,因為DQN依賴於找到使動作-價值函數最大化的動作,在連續價值的情況下,每個步驟都需要迭代優化過程。
使深度RL方法(如DQN)適應連續領域的一個明顯方法是簡單地對動作空間進行離散化。但是,這有很多局限性,最明顯的是維數詛咒:動作的數量隨自由度的增加呈指數增長。例如,一個自由度為7的系統(如在人的手臂中),若離散度為ai ∈ {-k, 0, k},這導致維度為37 = 2187的動作空間。對於需要精細控制動作的任務,情況甚至更糟,因為它們需要相應地更細化的離散化,從而導致離散動作數量激增。如此大的動作空間很難有效探索,因此在這種情況下成功地訓練DQN類型的網絡可能很棘手。此外,動作空間的幼稚離散化會不必要地丟棄有關動作域結構的信息,這對於解決許多問題可能是必不可少的。
在這項工作中,我們提出了一種使用深度函數近似的無模型異策的actor-critic算法,該算法可以學習高維連續動作空間中的策略。我們的工作基於DPG算法(Silver et al., 2014) (其本身類似於NFQCA (Hafner&Riedmiller, 2011),類似的想法可以在(Prokhorov et al., 1997)中找到)。但是,正如我們在下面顯示的那樣,這種針對actor-critic的方法與神經函數近似的幼稚應用對於具有挑戰性的問題來說是不穩定的。
在這里,我們結合了actor-critic方法和最近從DQN成功獲得的見解(Mnih et al., 2013; 2015)。在DQN之前,通常認為使用大型非線性函數近似學習價值函數既困難又不穩定。由於以下兩項創新,DQN能夠使用此類函數近似以穩定且魯棒的方式學習價值函數:1. 使用回放緩存中的樣本對網絡進行異策訓練,以最小化樣本之間的相關性;2. 用目標Q網絡訓練網絡,以在時序差分備份期間給出一致的目標。在這項工作中,我們利用了相同的思想以及批歸一化(Ioffe&Szegedy, 2015),這是深度學習的最新進展。
為了評估我們的方法,我們構造了各種具有挑戰性的物理控制問題,這些問題涉及復雜的多關節運動,不穩定且高接觸動態以及步態行為。其中包括經典問題,例如車桿擺動問題以及許多新領域。機器人控制的長期挑戰是直接從原始感官輸入(例如視頻)中學習動作策略。因此,我們將固定的視點相機放置在模擬器中,並嘗試使用低維觀測(例如,關節角度)以及直接從像素中進行所有任務。
我們稱為深度DPG (DDPG)的無模型方法可以使用相同的超參數和網絡結構,通過低維觀察(例如笛卡爾坐標或關節角)來學習所有任務的競爭策略。在許多情況下,我們還能夠直接從像素中學習良好的策略,再次使超參數和網絡結構保持不變1。
該方法的一個關鍵特征是它的簡單性:它只需要簡單的actor-critic結構和學習算法,而很少有“運動部件”,因此易於實現並擴展到更困難的問題和更大的網絡。對於物理控制問題,我們將我們的結果與規划器(Tassa et al., 2012)計算的基准進行比較,該基准可以完全訪問底層的模擬動態及其派生函數(請參閱補充信息)。有趣的是,在某些情況下,即使從像素中學習時,DDPG有時仍會找到超出規划器性能的策略(規划器始終在底層的低維狀態空間上進行規划)。
1 可以在https://goo.gl/J4PIAz上觀看一些學到的策略的視頻
2 BACKGROUND
我們考慮一個標准的RL設置,該設置包括由智能體在離散時間步驟中與環境E交互。智能體在每個時間步驟 t 收到觀察值xt,采取動作at,並收到標量獎勵rt。在此處考慮的所有環境中,動作均為實值。通常,可能會部分觀察環境,因此可能需要觀察的整個歷史記錄,動作對st = (x1, a1, ... , at-1, xt)來描述狀態。在這里,我們假設環境是完全觀察到的,因此st = xt。
智能體的行為由策略π定義,該策略將狀態映射到動作上的概率分布π:S → P(A)。環境E也可能是隨機的。我們將其建模為具有狀態空間S,動作空間,初始狀態分布p(s1),轉換動態p(st+1|st, at)和獎勵函數r(st, at)的馬爾可夫決策過程。
狀態回報定義為折扣未來獎勵總和(折扣因子γ ∈ [0, 1])。請注意,回報取決於所選擇的動作,因此取決於策略π,並且可能是隨機的。RL的目標是學習一種策略,該策略可以使初始分布
的期望收益最大化。我們將策略π的折扣狀態訪問分布表示為ρπ。
動作-價值函數用於許多RL算法中。它描述了在狀態st處采取動作at並遵循策略π后的期望回報:
RL中的許多方法都使用稱為Bellman方程的遞歸關系:
如果目標策略是確定性的,我們可以將其描述為函數μ:S ← A,並避免內在期望:
期望僅取決於環境。這意味着可以使用從不同的隨機行為策略β生成的轉換來異策學習Qμ。
Q學習(Watkins&Dayan, 1992)是一種常用的異策算法,它使用貪婪策略。我們考慮由θQ參數化的函數近似,通過使損失最小化來對其進行優化:
其中
盡管yt也取決於θQ,但通常會忽略它。
過去,由於理論上的性能保證是不可能的,並且實際上學習趨於不穩定,因此過去常常避免使用大型的非線性函數近似來學習價值或動作-價值函數。最近,(Mnih et al., 2013; 2015)改進了Q學習算法,以便有效地利用大型神經網絡作為函數近似。他們的算法能夠從像素上學習玩Atari游戲。為了擴展Q學習,他們引入了兩個主要更改:使用回放緩存以及用於計算yt的單獨目標網絡。我們在DDPG中使用它們,並在下一部分中說明它們的實現。
3 ALGORITHM
無法將Q學習直接應用於連續動作空間,因為在連續空間中,尋找貪婪策略需要在每個時間步驟進行at的優化。對於大型無約束的函數近似和非平凡的動作空間,此優化速度太慢,無法實用。取而代之的是,這里我們使用基於DPG算法的actor-critic方法(Silver et al., 2014)。
DPG算法維護參數化的actor函數μ(s|θμ),該actor函數通過確定性地將狀態映射到特定動作來指定當前策略。像Q學習一樣,使用Bellman方程學習critic Q(s, a)。actor通過將鏈式規則應用於初始分布J的期望回報對actor參數進行更新:
Silver et al. (2014)證明這是策略梯度,即策略性能的梯度2。
與Q學習一樣,引入非線性函數近似意味着不再保證收斂。但是,這樣的近似器對於在大型狀態空間上進行學習和推廣顯得至關重要。NFQCA (Hafner&Riedmiller, 2011)使用與DPG相同的更新規則,但具有神經網絡函數近似器,它使用批處理學習來保持穩定性,這對於大型網絡來說是很難解決的。小批量版本的NFQCA不會在每次更新時重置策略(擴展到大型網絡將需要重置該策略)與原始DPG等效,我們在此處進行了比較。我們的貢獻是,根據DQN的成功經驗,對DPG進行修改,使其能夠使用神經網絡函數近似在大型狀態和動作空間中在線學習。我們將算法稱為深度DPG (DDPG, 算法1)。
使用神經網絡進行RL時的一個挑戰是,大多數優化算法都假定樣本是獨立且均勻分布的。顯然,當在環境中通過順序探索生成樣本時,該假設不再成立。此外,為了有效利用硬件優化,必須以小批量學習而不是在線學習。
與DQN中一樣,我們使用回放緩存來解決這些問題。回放緩存是有限大小的高速緩存R。根據探索策略從環境中對轉換進行采樣,並將元組(st, at, rt, st+1)存儲在回放緩存中。當回放緩存已滿時,將丟棄最早的樣本。在每個時間步驟,通過從緩存均勻采樣小批量來更新actor和critic。由於DDPG是一種異策算法,因此回放緩存可能很大,從而使該算法可以從一組不相關轉換中學習而受益。
在許多環境中,用神經網絡直接實現Q學習(等式4)證明是不穩定的。由於被更新的網絡Q(s, a|Q)也用於計算目標價值(等式5),所以Q更新易於發散。我們的解決方案類似於(Mnih et al., 2013)中使用的目標網絡,但針對actor-critic進行了修改,並使用“軟”目標更新,而不是直接復制權重。我們分別創建actor和critic網絡的副本Q'(s, a|θQ')和μ'(s|θμ'),用於計算目標價值。然后,通過使它們緩慢跟蹤學到的網絡來更新這些目標網絡的權重:θ' ← τθ + (1 - τ)θ'()。這意味着目標價值受約束而變化緩慢,從而極大地改進了學習的穩定性。這種簡單的變化使學習動作-價值函數的相對不穩定的問題更接近於監督學習的情況,對於該問題存在魯棒的解決方案。我們發現,目標μ'和Q'都必須具有穩定的目標yi,以便始終如一地訓練critic而不會產生發散。由於目標網絡會延遲價值估計的傳播,因此這可能會延緩學習。但是,在實踐中,我們發現學習的穩定性遠遠超過了這一點。
從低維特征向量觀測中學習時,觀測的不同組成部分可能具有不同的物理單位(例如,位置與速度),並且范圍可能會隨環境而變化。這可能會使網絡難以有效學習,並且可能使得難以找到具有不同狀態價值規模的環境中普遍存在的超參數。
解決此問題的一種方法是手動縮放特征,以使它們在環境和單位之間處於相似范圍內。我們通過適應深度學習的最新技術來解決此問題,該技術稱為批歸一化(Ioffe&Szegedy, 2015)。該技術將小批量樣本中的每個維度歸一化以具有單位均值和方差。此外,它保持均值和方差的移動平均,以在測試期間(在我們的情況下,在探索或評估期間)用於歸一化。在深度網絡中,通過確保每一層都接收到白化的輸入,它用於使訓練期間的協方差漂移最小化。在低維情況下,我們在動作輸入之前對狀態輸入,μ網絡的所有層以及Q網絡的所有層進行了批歸一化(補充材料中提供了網絡的詳細信息)。通過批歸一化,我們能夠有效地學習使用不同類型單位的許多不同任務,而無需手動確保單位在設定范圍內。
在連續動作空間中學習的主要挑戰是探索。諸如DDPG之類的異策算法的優勢在於,我們可以獨立於學習算法來處理探索問題。通過將從噪聲過程N采樣的噪聲添加到我們的actor策略中,我們構建了一個探索策略μ':
可以選擇N以適合環境。如補充材料中所述,我們使用了Ornstein-Uhlenbeck過程(Uhlenbeck&Ornstein, 1930)來生成時間相關的探索,以解決慣性物理控制問題中的探索效率(自相關噪聲的類似用法在(Wawrzyński, 2015))。
2在實踐中,就像在策略梯度實現中通常所做的那樣,我們忽略了狀態訪問分布ρβ中的折扣。
4 RESULTS
我們構建了難度不同的模擬物理環境來測試我們的算法。這包括經典RL環境,例如cartpole,以及困難的高維任務(例如gripper),涉及接觸的任務(例如冰球擊打(canada))和運動任務(例如cheetah)(Wawrzyński, 2009)。在除cheetah以外的所有領域中,動作都是施加在致動關節上的扭矩。這些環境使用MuJoCo進行了模擬(Todorov et al., 2012)。圖1顯示了任務中使用的某些環境的渲染圖(補充內容包含環境的詳細信息,你可以在https://goo.gl/J4PIAz上查看一些學到的策略)。
在所有任務中,我們都使用低維狀態描述(例如關節角度和位置)和環境的高維渲染進行了實驗。如在DQN中一樣(Mnih et al., 2013; 2015),為了使這些問題在高維環境中幾乎完全可見,我們使用動作重復。對於智能體的每個時間步驟,我們將仿真分為三個時間步驟,重復智能體的動作並每次渲染。因此,報告給智能體的觀察結果包含9個特征圖(3個渲染中每個的RGB),這使智能體可以使用幀之間的差異來推斷速度。將幀下采樣為64x64像素,並將8位RGB值轉換為[0, 1]。有關我們的網絡結構和超參數的詳細信息,請參見補充信息。
我們在訓練過程中定期測試該策略,而不會產生噪音。圖2顯示了所選環境的性能曲線。 我們還會報告刪除了算法組成部分(即目標網絡或批歸一化)的結果。為了在所有任務上都能表現出色,這兩個方面都是必需的。尤其是,在許多環境中,如沒有DPG的原始工作那樣,沒有目標網絡的學習就非常困難。
令人驚訝的是,在一些更簡單的任務中,從像素學習策略與使用低維狀態描述符學習一樣快。這可能是由於重復動作使問題變得更簡單。卷積層也可能提供狀態空間的容易分離的表征,這對於較高的層來說可以快速學習。
表1總結了DDPG在所有環境中的性能(結果是5個副本的均值)。我們使用兩個基准對分數進行歸一化。第一個基准是來自幼稚策略的平均回報,該策略從有效動作空間的均勻分布中采樣動作。第二個基准是iLQG (Todorov&Li, 2005),它是一種基於規划的求解器,可以完全訪問基礎物理模型及其派生類。我們對分數進行歸一化,使得幼稚策略的平均分數為0,iLQG的平均分數為1。DDPG能夠在許多任務上學習良好的策略,並且在許多情況下,某些副本學習的策略優於 即使直接從像素學習時,iLQG所發現的那些策略。
學習准確的價值估計可能具有挑戰性。例如,Q學習容易高估價值(Hasselt, 2010)。我們通過將訓練后Q估計的價值與測試回合中看到的真實回報進行比較,從經驗上檢驗了DDPG的估計。圖3顯示,在簡單的任務中,DDPG可以准確估計回報,而不會產生系統性偏差。對於較困難的任務,Q估計會更糟,但是DDPG仍然可以學習良好的策略。
為了演示我們方法的通用性,我們還提供了Torcs,這是一款賽車游戲,其動作為加速,制動和轉向。Torcs以前曾在其他策略學習方法中用作測試平台(KoutnÍk et al., 2014b)。我們對物理任務使用了相同的網絡結構和學習算法超參數,但由於涉及的時間尺度非常不同,因此改變了探索的噪聲過程。在低維和像素方面,一些副本能夠學習合理的策略,盡管其他副本無法學習明智的策略,但它們能夠完成軌道周圍的電路。
5 RELATED WORK
最初的DPG論文使用圖塊編碼和線性函數近似評估toy問題算法。它證明了異策DPG相對於同策和異策隨機actor-critic的數據效率優勢。它還解決了一項更具挑戰性的任務,即多關節章魚臂必須用肢體的任何部位擊中目標。但是,該論文沒有像我們在這里展示的那樣將方法擴展到大型高維觀察空間。
人們通常認為,標准策略搜索方法(如本工作中探索的方法)過於脆弱,無法擴展到棘手的問題(Levine et al., 2015)。人們認為標准策略搜索很困難,因為它同時處理復雜的環境動態和復雜的策略。實際上,過去使用actor-critic和策略優化方法進行的大多數工作都難以擴展到更具挑戰性的問題上(Deisenroth et al., 2013)。通常,這是由於學習的不穩定性所致,其中問題的進展或者被后續的學習更新所破壞,或者學習太慢而無法實施。
無模型策略搜索的最新工作表明,它可能不像以前想象的那樣脆弱。Wawrzyński (2009); Wawrzyński&Tanwani (2013)在actor-critic框架中使用回放緩存訓練了隨機策略。與我們的工作同時,Balduzzi&Ghifary (2015)通過“偏向器”網絡擴展了DPG算法,該網絡顯式學習。但是,它們僅在兩個低維域上訓練。Heess et al. (2015)引入了SVG(0),它也使用Q-critic,但學習了隨機策略。DPG可被視為SVG(0)的確定性限制。我們在此描述的用於擴展DPG的技術也可以通過使用重參數化技巧來應用於隨機策略(Heess et al., 2015; Schulman et al., 2015a)。
另一種方法是信任域策略優化(TRPO)(Schulman et al., 2015b),直接構建隨機神經網絡策略,而無需將問題分解為最優控制和監督階段。通過對策略參數進行精心選擇的更新,限制更新以防止新策略與現有策略相差太遠,此方法可產生近乎單調的改進。這種方法不需要學習動作-價值函數,並且(可能因此)似乎大大降低了數據效率。
為了應對actor-critic方法的挑戰,最近使用指導策略搜索(GPS)算法的工作(例如,(Levine et al., 2015))將問題分解為三個相對容易解決的階段:首先,它使用全狀態觀測,以創建圍繞一個或多個名義軌跡的動態的局部線性近似,然后使用最優控制沿着這些軌跡找到局部線性最優策略;最后,它使用監督學習來訓練復雜的非線性策略(例如深度神經網絡),以重現優化軌跡的狀態到動作映射。
這種方法具有許多優勢,包括數據效率,並且已成功地應用於使用視覺的各種現實世界中的機器人操縱任務。在這些任務中,GPS使用與我們類似的卷積策略網絡,但有兩個值得注意的例外:1. 它使用空間softmax將視覺特征的維數減少為每個特征圖的單個(x, y)坐標,以及2. 它還在網絡的第一個全連接層上接收有關機械手配置的直接低維狀態信息。兩者都可能提高算法的功能和數據效率,並且可以在DDPG框架中輕松利用。
PILCO (Deisenroth&Rasmussen, 2011)使用高斯過程來學習動態的非參數化概率模型。使用此學到的模型,PILCO可以計算分析策略梯度,並在許多控制問題中實現令人印象深刻的數據效率。然而,由於對計算的高需求,PILCO“對於解決高維問題不切實際”(Wahlström et al., 2015)。似乎深度函數近似是將RL擴展到大型高維域的最有前途的方法。
Wahlström et al. (2015)使用深度動態模型網絡以及模型預測控制來解決像素輸入的鍾擺擺動任務。他們訓練了一個可微的前向模型,並將目標狀態編碼到學到的潛在空間中。他們對學到的模型進行模型預測控制,以找到達到目標的策略。但是,此方法僅適用於目標狀態可以向算法證明的域。
最近,進化方法已被用於使用壓縮權重參數化(Koutník et al., 2014a)或無監督學習(Koutník et al., 2014b)來從像素中學習Torcs的競爭策略,以減小進化權重的維數。尚不清楚這些方法能否很好地推廣到其他問題。
6 CONCLUSION
這項工作結合了深度學習和RL的最新進展中的見識,從而產生了一種算法,即使使用原始像素進行觀察,該算法也可以通過連續的動作空間有效地解決跨多個領域的難題。與大多數RL算法一樣,使用非線性函數近似會使收斂保證無效。但是,我們的實驗結果表明,穩定的學習無需在環境之間進行任何修改。
有趣的是,與DQN學習在Atari域中找到解決方案所使用的經驗步驟相比,我們所有的實驗所使用的經驗步驟少得多。我們研究的幾乎所有問題都在250萬步的經驗之內得以解決(並且通常要少得多),這比DQN的Atari解決方案所需的步數減少了20倍。這表明,給定更多的仿真時間,DDPG可能會解決比此處考慮的還要困難的問題。
我們的方法仍然存在一些局限性。最明顯的是,與大多數無模型強化方法一樣,DDPG需要大量的訓練集來找到解決方案。但是,我們認為,強大的無模型方法可能是大型系統的重要組成部分,可能會克服這些局限性(Glascher et al., 2010)。
Supplementary Information: Continuous control with deep reinforcement learning
7 EXPERIMENT DETAILS
我們使用Adam (Kingma&Ba, 2014)來學習神經網絡參數,actor和critic的學習率分別為10-4和10-3。對於Q,我們使用L2權重衰減為10-2,並且使用折扣因子γ = 0.99。對於軟目標更新,我們使用τ = 0.001。神經網絡對所有隱含層使用校正后的非線性(Glorot et al., 2011)。actor的最終輸出層是tanh層,用於綁定動作。低維網絡具有2個隱含層,分別具有400和300個單位(約13萬個參數)。直到Q的第二個隱含層才包括動作。從像素中學習時,我們使用了3個卷積層(無池化),每層有32個濾波。然后是兩個全連接層,每個層有200個單元(約43萬個參數)。actor和critic的最終層權重和偏差都是根據均勻分布[-3 x 10-3, 3 x 10-3]和[-3 x 10-4, 3 x 10-4]初始化的,分別用於低維和像素情況。這是為了確保策略和價值估計的初始輸出接近零。其他層從均勻分布初始化,其中 f 是層的fan-in。直到全連接層才包括動作。我們針對低維度問題訓練了小批量(64),對像素問題訓練了小批量(16)。我們使用的回放緩存大小為106。
對於探索噪聲過程,我們使用時間相關的噪聲,以便在具有動量的物理環境中進行良好的探索。我們使用了Ornstein-Uhlenbeck過程(Uhlenbeck&Ornstein, 1930),其中θ = 0.15和σ = 0.2。Ornstein-Uhlenbeck過程對帶有摩擦的布朗粒子的速度進行建模,從而得出以0為中心的時間相關值。
8 PLANNING ALGORITHM
我們的規划器被實現為模型預測控制器(Tassa et al., 2012):在每個時間步驟上,我們從系統的真實狀態開始運行軌跡優化的單個迭代(使用iLQG, (Todorov&Li, 2005))。每條軌跡優化規划在250ms至600ms之間的時間范圍內進行規划,並且隨着世界仿真的發展,這種規划范圍將逐漸消失,就像模型預測控制一樣。
iLQG迭代從先前策略的初始rollout開始,該策略決定了名義軌跡。我們使用重復的模擬動態樣本來估計動態在軌跡的每個步驟周圍的線性擴展,以及成本函數的二次擴展。我們使用這個局部線性二次模型序列來沿名義軌跡在時間上向后積分價值函數。這種反向傳播導致對動作序列的推定修改,這將降低總成本。我們通過整合動態前向(前向傳播),在動作序列的空間中對該方向執行無導數線搜索,並選擇最優軌跡。我們存儲此動作序列,以熱啟動下一個iLQG迭代,並在仿真器中執行第一個動作。這將導致一個新狀態,該狀態將在軌跡優化的下一次迭代中用作初始狀態。
9 ENVIRONMENT DETAILS
9.1 TORCS ENVIRONMENT
對於Torcs環境,我們使用了獎勵函數,該函數在每一步中為沿軌道方向投影的汽車速度提供正獎勵,對於碰撞的懲罰為-1。如果在500幀后沒有沿着軌道前進,則回合將終止。
9.2 MUJOCO ENVIRONMENTS
對於物理控制任務,我們使用了獎勵函數,可在每個步驟提供反饋。在所有任務中,獎勵都包含很小的動作成本。對於具有靜態目標狀態的所有任務(例如鍾擺擺動和到達)我們會根據到目標狀態的距離提供平滑變化的獎勵,在某些情況下,如果目標狀態的半徑較小,則會提供額外的正獎勵。
對於抓握和操縱任務,我們使用了獎勵,該獎勵的術語鼓勵向有效載荷的方向運動,第二成分鼓勵將有效載荷向目標的方向運動。在運動任務中,我們獎勵前進動作並懲罰嚴峻的沖擊,以鼓勵平穩步態而不是跳躍(Schulman et al., 2015b)。此外,對於跌倒,我們使用了負獎勵和提前終止,而跌倒是由高度和軀干角度的簡單閾值確定的(對於walker2d情況)。
表2列出了問題的范圍,以下是所有物理環境的摘要。