前言
這篇文章是大名鼎鼎的DDPG演算法,它常常被用作連續動作問題的Baseline。DDPG的核心是將Determinitic Policy Gradient (DPG)演算法和DQN中訓練強化學習中的神經網路技巧結合起來,進一步增強了DPG的表現力。
這篇文章也是OpenAI Spinning up上面的key papers的一個必讀文章:
[16]Continuous Control With Deep Reinforcement Learning, Lillicrap et al, 2015。
Algorithm: DDPG.
背景介紹
Deep Determinstic Policy Gradient中的deep是什麼?
最近,著名的DQN (Deep Q Network)(Mnih et al 。, 2015)取得了重大進展,可以在許多雅達利影片遊戲中達到人類玩家的水平。DQN首次採用神經網路來估計值函式,由於DQN中人們用Deep一詞,因而這篇文章也沿用了Deep,意思是用神經網路來估計值函式。
什麼是Determinstic Policy Gradient?
Deterministic Policy是相對於Stochastic Policy而言的。其中Stochastic Policy的表示式為
。而Deterministic Policy的表示式為
,給定一個狀態s就會對應一個唯一動作a。
具體大家可以看的我的這篇文章:強化學習論文筆記(2)
比起DQN,DDPG的優勢是什麼?
DQN只能處理離散的以及低維的動作(action)空間。DQN只能將連續動作離散化,因為它需要找到一個動作來最大化動作-值函式。這種離散化有很多弊端:
維度詛咒,動作空間的維度越大,離散化的難度是指數級增加。
很難應付精細控制問題,因為不可以充分訪問動作空間。
簡單的離散化不能利用動作空間的資訊,有時候這種資訊是解決問題的關鍵
但是,很多應用,像物理控制任務都是處理連續的高維動作空間。而DDPG由於採用的是policy gradient演算法,可以處理連續動作問題。
演算法推導
這篇文章的演算法思路還是特別好理解的,就是Deep+DPG:
我們先看下
DPG
的目標函式梯度,
其中從第一行到第二行用了鏈式求導法則,先對動作a求導,再對引數
求導。其中Q函式可以透過離線訓練而得到。於是引發了Deep的技術。
2。
Deep
包含了兩種訓練神經網路近似Q函式的技術:重播緩衝器(replay buffer)和目標網路(target network)
演算法細節
soft target update,不同於DQN定期更新目標網路的引數,而是採用一種更柔的方法,按一定比例把過去和現在的引數合起來傳遞給目標網路。
batch normalization,這是深度學習常用的一種防止梯度消失或者爆炸的手段,可以提高網路的訓練效率。
action exploration,在確定性動作上面加上一個噪音,用來更好地探索。
最終的演算法: