三個經(jīng)典強(qiáng)化學(xué)習(xí)算法中重大缺陷(及如何修復(fù))
作者:Wouter van Heeswijk, PhD翻譯:陳之炎
校對:張睿毅
如何克服經(jīng)典強(qiáng)化學(xué)習(xí)(RL)中遇到的下述缺陷:
諸如Q-learning和REINFORCE等強(qiáng)化學(xué)習(xí)算法問世已經(jīng)幾十年了,教科書仍然廣泛圍繞它們。然而這些算法暴露出的一些根本的缺陷,極大地增加了一個良好策略進(jìn)行學(xué)習(xí)的難度。
本文討論經(jīng)典強(qiáng)化學(xué)習(xí)算法的三個主要缺陷,以及克服這些缺陷的解決方案。
選擇高估值的動作
問題描述
大多數(shù)RL算法在Q-learning算法基礎(chǔ)上使用價值函數(shù)來捕獲下游獎勵,其中Q-learning算法的驅(qū)動機(jī)制是,它選擇生成最高期望值的那個動作。由于初始化的不同,這種機(jī)制在嘗試第一個操作時往往會卡住,所以通常選擇概率為?的隨機(jī)操作,典型值設(shè)置為0.05左右。
在極限情況下,會無限頻次地嘗試每個動作,直到Q收斂到真實值。然而,實際經(jīng)常是使用有限的樣本,Q值就帶偏差,因此問題是Q-learning算法會持續(xù)地選擇高估值的動作!
想象一下,當(dāng)玩兩個相同的老虎機(jī)時,早期迭代中機(jī)器A碰巧給出了高于平均水平的獎勵,所以它的Q值更高,繼續(xù)玩機(jī)器A。于是,由于機(jī)器B使用更少,因此需要更長時間才能計算出Q值。即便實際上兩臺機(jī)器Q值相同。
從一般意義上來說,價值函數(shù)并不總是完美的,雖然RL更喜歡執(zhí)行估值較高的動作,但不排除可能有時候RL會“獎勵”估值低的動作——這顯然不是理想的屬性。
老虎機(jī)問題清楚證明了選擇值溢出動作帶來的影響[圖源Bangyu Wang“Unsplash”雜志]
Q-learning算法的問題可以溯源到用相同的觀察結(jié)果進(jìn)行采樣和更新的實踐,通過使用一個策略進(jìn)行采樣并更新另一個策略來解耦這些步驟,這正是Q-learning(Van Hasselt,2010)所做的。
雙Q-learning對網(wǎng)絡(luò)的動作進(jìn)行采樣,再用另一個網(wǎng)絡(luò)的輸出更新Q值,這一過程通過解耦出了采樣和學(xué)習(xí),解決了高估值問題。【資料來源:Van Hasselt(2010)]
一般來講,與目標(biāo)網(wǎng)絡(luò)合作是一種不錯的做法。目標(biāo)網(wǎng)絡(luò)是該策略的周期副本,用于生成訓(xùn)練的目標(biāo)值(而不是使用完全相同的策略來生成觀察和目標(biāo)),這種方法降低了目標(biāo)和觀察結(jié)果之間的相關(guān)性。
另一個解決方案是從Q-value估計不確定性的角度來考慮,不單單將動作的期望值制成表格,還可以跟蹤觀察結(jié)果的方差,從而知道它是否偏離了真實值。使用不確定性邊界和知識梯度是實現(xiàn)這一目的的兩種方法。這里不再是簡單地選擇具有最高期望Q值的動作,還應(yīng)考慮可以從一個新的觀察中學(xué)習(xí)到多少。利用這種智能采樣方法可以探索具有高不確定性的動作。
策略梯度更新不良
問題描述
策略梯度算法已經(jīng)存在了幾十年,是所有演員-評論家模型的根源。傳統(tǒng)的策略梯度算法,例如:REINFORCE,依靠梯度來確定權(quán)重更新的方向。高獎勵和高梯度的結(jié)合會生成一個強(qiáng)大的更新信號。
傳統(tǒng)的策略梯度更新函數(shù),基于目標(biāo)函數(shù)梯度?_θJ(θ)和步長α更新策略權(quán)值θ。
這個想法似乎很自然,如果獎勵函數(shù)的斜率很大,就會朝這個方向邁出一大步;如果獎勵函數(shù)的斜率很小,那么執(zhí)行大型更新就沒有任何意義了。盡管這種邏輯看起來令人信服,但它從根本上也還存在缺陷。
左:超調(diào)行為示例,執(zhí)行一個錯過獎勵峰值的大策略更新。右:失速行為示例,被困在梯度接近0的局部最優(yōu)中。[圖片由作者提供]
梯度只提供局部信息,它告訴我們斜坡有多陡,但不知道朝該方向走多遠(yuǎn),可能會引發(fā)超調(diào)。此外,策略梯度并沒有考慮到缺乏梯度信號可能會被困在一個次優(yōu)的平臺之中。
更糟糕的是,無法通過強(qiáng)制更新某參數(shù)的局部權(quán)重來控制這種行為,例如,在下圖中,相同大小的權(quán)重更新對策略有截然不同的影響。
兩個高斯策略更新的例子。盡管這兩個更新的參數(shù)空間大小相同,但左邊的策略顯然比右邊的策略受到的影響更大[圖片由作者提供]
從簡單的各種學(xué)習(xí)算法實驗開始,傳統(tǒng)隨機(jī)梯度下降(SGD)算法只考慮一階矩,現(xiàn)代學(xué)習(xí)算法(例如,ADAM)考慮二階矩,大大提高了性能。
雖然沒有徹底解決策略梯度更新不良問題,但性能還是得到了顯著提高。
熵正則化是防止常規(guī)策略梯度算法過早收斂的一種常用方法,簡單地說,RL中的熵是動作選擇不可預(yù)測性的一個度量標(biāo)準(zhǔn)。熵正則化為探索未知行為增添了一個獎項,當(dāng)對系統(tǒng)了解較少時,熵的值會更高:
強(qiáng)化學(xué)習(xí)中熵的度量
更復(fù)雜的策略梯度算法的擴(kuò)展會考慮二階導(dǎo)數(shù),它提供了函數(shù)的局部敏感性信息。在平緩的局部可以放心地前進(jìn)多步;在一個陡峭的局部則傾向于謹(jǐn)慎地拾階而下。自然策略梯度、TRPO和PPO等算法考慮了更新的敏感性,明確地或暗中地都考慮了二階導(dǎo)數(shù)。目前,PPO是一種首選的策略梯度算法,它在實現(xiàn)難度,與速度性能之間,取得了良好的平衡。
自然策略梯度的權(quán)重更新方案,費舍爾矩陣F(θ)包含關(guān)于局部靈敏度的信息,生成動態(tài)權(quán)重更新。
非策略學(xué)習(xí)性能欠佳
問題描述
某些植根于Q-learning的算法依賴于非策略學(xué)習(xí),這意味著通過實際觀察到的動作來執(zhí)行更新。然而,非策略學(xué)習(xí)需要一個元組(s,a,r,s’,a’)——實際上,正如與它同名的SARSA算法一樣——非策略學(xué)習(xí)使用動作a*而不是a’。因此,權(quán)重更新時只需要存儲(s,a,r,s’),并學(xué)習(xí)獨立于智能體動作的策略。
通過特定的設(shè)置,非策略學(xué)習(xí)可以從過往重放緩沖區(qū)中提取元組來重復(fù)使用之前的觀察,這為創(chuàng)建昂貴的觀察結(jié)果(計算上)提供了方便。只需將狀態(tài)輸入策略,以獲得動作a*,使用結(jié)果值更新 Q值,無需重新計算從s到s’的過渡狀態(tài)。
然而,即便已經(jīng)在大型數(shù)據(jù)集上訓(xùn)練好了非策略強(qiáng)化學(xué)習(xí)算法,它在部署時的效果卻往往還是不盡如人意,為什么會這樣?
這個問題可以歸歸納出一個常見的統(tǒng)計學(xué)誤區(qū)——假設(shè)訓(xùn)練集能代表真實的數(shù)據(jù)集。但情況發(fā)生變化,該數(shù)據(jù)集對應(yīng)的策略無法反映智能體最終運行的環(huán)境策略——通常,真實數(shù)據(jù)集不同于訓(xùn)練集,更新后的策略生成了不同的狀態(tài)-動作組合。
真正的非策略學(xué)習(xí)——例如,僅從靜態(tài)數(shù)據(jù)集中學(xué)習(xí)好的策略——在強(qiáng)化學(xué)習(xí)中可能是根本不可行的,因為更新策略不可避免地會改變觀察狀態(tài)-動作組合的概率。由于不可能窮盡搜索空間,所以不可避免地會生成不可預(yù)見狀態(tài)-動作組合的推斷值。
最常見的解決方案是不在一個完全靜態(tài)的數(shù)據(jù)集上進(jìn)行訓(xùn)練,而是用在新策略下生成的觀察結(jié)果不斷地豐富數(shù)據(jù)集。它有助于刪除舊的樣本,這些舊樣本不再代表最新策略下生成的數(shù)據(jù)。
另一種解決方案是重要性抽樣,它本質(zhì)上是根據(jù)當(dāng)前策略下產(chǎn)生的概率來重新權(quán)衡觀察結(jié)果。對于每個觀測結(jié)果,可以計算其在原始策略和當(dāng)前策略下產(chǎn)生的概率比,從而使來自類似策略的觀測結(jié)果更有可能被采用。
重要性抽樣考慮了原始策略和目標(biāo)策略之間的相似性,選擇在與當(dāng)前策略相似的策略下生成的具有更高概率的觀察值。
總結(jié)
本文探討了傳統(tǒng)RL算法中遇到的三個常見缺陷,以及解決這些問題的策略。
問題描述:
- 基于值函數(shù)近似的算法,系統(tǒng)地選擇估計價值高的動作。
解決方案:
- 使用目標(biāo)網(wǎng)絡(luò)來減少目標(biāo)和觀察之間的相關(guān)性(例如雙Q-learning)。
- 在動作選擇地價值估計中加入不確定性(如不確定性界限、知識梯度。)
II. 策略梯度更新不良
問題描述:
- 策略梯度算法通常執(zhí)行更新步驟的能力較差,例如,停留在局部最優(yōu)時的小步驟、超出并錯過獎勵峰值的大步驟。
解決方案:
- 使用ADAM學(xué)習(xí)算法取代標(biāo)準(zhǔn)的隨機(jī)梯度下降,它除了跟蹤一階梯度外,還跟蹤矩。
- 在獎勵信號中添加熵獎勵,鼓勵更多對未知區(qū)域的探索。
- 部署包含二階矩(顯式或隱式)的算法,如自然策略梯度、TRPO或PPO。
III. 非策略學(xué)習(xí)性能欠佳
問題描述:
- 回放緩沖區(qū)中的過程不能代表外樣本的過程,因此值被錯誤地外推,性能下降。
解決方案:
- 更新回放緩沖區(qū),添加新的過程,刪除舊的過程。
- 執(zhí)行重要性抽樣,以增加概率從更近目標(biāo)中選取策略。
- (如果樣本觀察成本更低)切換為策略學(xué)習(xí)。
參考文獻(xiàn)問題一:值高估動作
哈塞爾特,H.(2010)。雙q學(xué)習(xí),神經(jīng)信息處理系統(tǒng)的研究進(jìn)展,23。Matiisen, Tambet (2015).揭開深度強(qiáng)化學(xué)習(xí)的神秘面紗。計算神經(jīng)科學(xué)實驗室。https://neuro.cs.ut.ee/demystifying-deep-reinforcement-learning/
問題二:策略梯度更新不良Mahmood,A. R.,Van Hasselt,H. P.,薩頓,R. S.(2014)?;诰€性函數(shù)近似的非策略學(xué)習(xí)的加權(quán)重要性采樣。神經(jīng)信息處理系統(tǒng)研究進(jìn)展,27。康奈爾大學(xué)計算優(yōu)化開放教科書,(2021)。 URL:https://optimization.cbe.cornell.edu/index.php?title=Adam
問題三:非策略學(xué)習(xí)性能欠佳藤本,南州,梅格, D., & Precup, D. (2019年5月)。非策略深度強(qiáng)化學(xué)習(xí)探索,國際機(jī)器學(xué)習(xí)會議。(pp.2052–2062).PMLR.
原文標(biāo)題:Three Fundamental Flaws In Common Reinforcement Learning Algorithms (And How To Fix Them)原文鏈接:
https://towardsdatascience.com/three-fundamental-flaws-in-common-reinforcement-learning-algorithms-and-how-to-fix-them-951160b7a207
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。