- AI自動化測試:技術原理、平臺搭建與工程實踐
- 騰訊TuringLab團隊
- 806字
- 2020-08-13 13:47:06
3.3.3 DDPG
對于離散和低維的動作空間,我們可以使用DQN進行策略學習。然而,許多任務有著連續和高維的動作空間,如果要將DQN運用于連續域,一種方法就是把動作空間離散化,但是這會帶來維數災難。因為動作的數量會隨著自由度的增加而呈指數倍增長,進而給訓練過程帶來很大困難。此外,單純地對動作空間進行離散化會去除關于動作的結構信息。
為解決上述問題,2015年Lillicrap等人[1]將DQN的思想應用到連續動作中,提出了一種基于確定性策略梯度和演員-評論家的無模型算法——深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)。
DDPG借鑒了DQN的技術,采用經驗回放和目標網絡技術,減少了數據之間的相關性,增加了算法的穩定性和健壯性。雖然DDPG借鑒了DQN的思想,但是要直接將Q-learning應用到連續動作空間是不可能的,因此DDPG采用的是基于確定性策略梯度的演員-評論家方法。
DDPG采用的經驗回放技術和DQN完全相同,但是目標網絡的更新方式與DQN有所不同。DQN的目標網絡是每隔N步和Q網絡同步更新一次,而在DDPG中演員和評論家各自的目標網絡參數θ-和ω-是通過緩慢變化的方式更新,不直接復制參數,以此進一步增加學習過程的穩定性,如下式所示:

在連續動作空間學習策略的主要挑戰是如何有效地進行動作探索。由于DDPG使用的是Off-policy策略學習方法,因此可以通過額外增加一個噪聲項N來構建一個探索策略:

綜上所述,DDPG算法的演員網絡參數θ和評論家網絡參數ω的更新公式如下所示:

如圖3-5所示,在網絡結構上,與DQN相比,DDPG除了Q網絡之外還多了一個策略網絡,策略網絡的輸出為π(s)。同時,DQN的輸入僅是連續的視頻幀而不需要額外輸入動作,每個離散動作都有一個單獨的輸出單元。而DDPG的Q網絡則是在輸入連續的視頻幀后通過卷積神經網絡得到特征,再輸入動作a,最后輸出Q值。

圖3-5 DDPG的網絡結構示意
DDPG的一個關鍵優點就是簡潔,這使它能夠很容易地應用到更復雜的問題中。不過DDPG也有一些局限性,最明顯的就是它與大多數無模型的強化學習方法一樣,需要大量的訓練時間才能收斂。
[1] Lillicrap T P,Hunt J J,Pritzel A,et al.Continnons Control with Deep Reinforcement Learning[J].Computer Science,2015,8(6):A187.
- GAE編程指南
- Python機器學習:數據分析與評分卡建模(微課版)
- Java應用開發與實踐
- Elastic Stack應用寶典
- C語言程序設計立體化案例教程
- HTML 5與CSS 3權威指南(第3版·上冊)
- SQL Server實用教程(SQL Server 2008版)
- 零基礎學C語言程序設計
- Visual Basic程序設計(第三版)
- 代碼閱讀
- Web App Testing Using Knockout.JS
- Android Game Programming by Example
- AMP:Building Accelerated Mobile Pages
- 交互設計師成長手冊:從零開始學交互
- HTML5 WebSocket權威指南