強化學習的目標
智能體(Agent)通過與環境(Environment)交互,學習最大化累積獎勵(Cumulative Reward)?的策略。
數學抽象 馬爾科夫決策過程(MDP)
收益
由于馬爾科夫決策過程是一個序列決策過程,每一時刻的動作不僅會影響當前狀態,還會對后續的環境狀態產生影響。也就是說,當前時刻能夠獲得較多獎勵的動作從長遠來看也許并不是最佳的,而短期來看不太好的動作卻也許能在未來帶給智能體更多的獎勵。因此智能體在決策時不能單單考慮這一時刻的獎勵,而應該考慮到動作對未來的長期影響。為此,我們需要在獎勵的基礎上定義另一個評價指標來度量智能體所能獲得的長遠利益。在強化學習中,這一評價指標被稱為收益
折扣因子
我們需要對未來每一時刻的獎勵乘上一個折扣因子,并且越往后,衰減越大。為什么要這樣做呢?直覺上來看,時間上越遠,存在的不確定越多,對當前時刻的貢獻也就越小,因此需要用一個折扣因子來描述不同時刻獎勵對當前時刻的貢獻程度。
價值
價值實際上也就對應著強化學習中經常提到的Q值。
最終智能體的目標就是學習到一個最優策略,使得智能體在任意狀態下的價值最優,定義最佳策略下的動作價值函數為最優價值函數,也就是最優Q值。很顯然,當我們已知了最優Q值時,每一狀態下對應Q值最大的動作就是最佳動作。
因此,我們可以得出這樣一個結論:求解最優策略也就等價于求解最優Q值。
強化學習算法分類
基于價值估計的算法
基于價值估計的算法是對最優Q值進行估計
基于策略優化的強化學習算法
直接對最優策略進行估計
隨機性策略:對狀態到最優動作概率分布之間的映射進行估計,然后從該概率分布中進行采樣得到輸出動作。
確定性策略:直接對狀態到最優動作之間的映射進行估計。定義一個策略的性能函數作為優化目標,在強化學習中,這個性能函數通常被定義為一定策略下的平均收益。然后我們只需要依據優化目標對策略函數進行梯度上升,最終就可以得到最優策略。策略優化算法的特點是,神經網絡的輸出即為最優動作,因此這里的動作空間既可以是離散的也可以是連續的。在優化過程中,這里的性能函數通常通過一定的估計方法得到。
策略梯度算法
TRPO(trust region policy optimization, 信任域策略優化))
PPO(proximal policy optimization,鄰近策略優化)
算法的訓練在 與環境交互采樣數據 以及 利用隨機梯度上升優化一個替代(surrogate)目標函數 之間交替進行。相較于標準梯度策略算法每次數據采樣只能進行一次梯度更新,TRPO與PPO 所使用的目標函數能夠利用同一批次數據進行多次梯度更新。PPO 比 TRPO(trust region policy optimization, 信任域策略優化)更為簡單。
基于演員-評論家的強化學習算法
結合了價值估計方法與策略優化方法的特點,同時對最優Q值以及最優策略進行學習,最終策略網絡的輸出即為最優動作。
Actor網絡就像是一個執行者,用來輸出動作,而Critic網絡則對Actor輸出的動作進行評價,然后Actor再根據Critic的評價不斷地修正自己的策略,Critic則通過貝爾曼方程對自身網絡進行迭代更新,最終我們就可以得到一個較好的Actor網絡作為智能體最終的策略。
多智能體
首先,之前我們提到馬爾科夫決策過程最重要的特征就是環境下一時刻的狀態只取決于當前時刻的狀態和動作,也就是說環境的狀態轉移概率是一個確定的值,它保證了環境的平穩變化,使得智能體能夠學習出環境的變化規律,從而推理出狀態的變化過程。而在多智能體系統中,每個智能體所對應的環境包含了其他智能體的策略,此時智能體狀態的改變不再只取決于自身的動作和狀態,還會取決于其他智能體的策略,而這些策略在智能體學習的過程中會不斷地發生變化,這也就導致了每個智能體的狀態轉移概率隨著時間發生變化,使得環境非平穩變化,馬爾科夫特性不再滿足,給智能體策略的學習帶來了困難。
而在更加實際的情況中,每個智能體只能觀測到部分環境狀態信息,進一步惡化智能體的學習性能。
一種最直接的解決環境非平穩性和局部可觀性的方法就是對所有的智能體采取集中式學習的方法,將它們當做是一個智能體,直接學習所有智能體狀態到所有智能體動作之間的映射,但是一方面這種方法需要一個集中式控制中心與智能體之間進行大量的信息交互,另一方面神經網絡的輸入輸出維度會隨智能體數目指數增大,難以收斂。
參考
https://zhuanlan.zhihu.com/p/439629465
https://www.zhihu.com/column/c_1440728531004870656
https://zhuanlan.zhihu.com/p/546276372
https://zhuanlan.zhihu.com/p/440451849