前言

這篇文章是大名鼎鼎的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的表示式為

\pi_\theta(a|s)=P[a|s;\theta]

。而Deterministic Policy的表示式為

a=\mu_\theta(s)

,給定一個狀態s就會對應一個唯一動作a。

具體大家可以看的我的這篇文章:強化學習論文筆記(2)

比起DQN,DDPG的優勢是什麼?

DQN只能處理離散的以及低維的動作(action)空間。DQN只能將連續動作離散化,因為它需要找到一個動作來最大化動作-值函式。這種離散化有很多弊端:

維度詛咒,動作空間的維度越大,離散化的難度是指數級增加。

很難應付精細控制問題,因為不可以充分訪問動作空間。

簡單的離散化不能利用動作空間的資訊,有時候這種資訊是解決問題的關鍵

但是,很多應用,像物理控制任務都是處理連續的高維動作空間。而DDPG由於採用的是policy gradient演算法,可以處理連續動作問題。

演算法推導

這篇文章的演算法思路還是特別好理解的,就是Deep+DPG:

我們先看下

DPG

的目標函式梯度,

強化學習論文筆記(3)DDPG

其中從第一行到第二行用了鏈式求導法則,先對動作a求導,再對引數

\theta^\mu

求導。其中Q函式可以透過離線訓練而得到。於是引發了Deep的技術。

2。

Deep

包含了兩種訓練神經網路近似Q函式的技術:重播緩衝器(replay buffer)和目標網路(target network)

演算法細節

soft target update,不同於DQN定期更新目標網路的引數,而是採用一種更柔的方法,按一定比例把過去和現在的引數合起來傳遞給目標網路。

batch normalization,這是深度學習常用的一種防止梯度消失或者爆炸的手段,可以提高網路的訓練效率。

action exploration,在確定性動作上面加上一個噪音,用來更好地探索。

最終的演算法:

強化學習論文筆記(3)DDPG