1. 介紹
這篇論文將DQN應(yīng)用于動作空間是連續(xù)的情況。我們知道,DQN的輸入通常是高緯度的觀測空間(例如圖像像素),輸出則是離散的動作空間。生活中有相當(dāng)一部分問題,動作空間是連續(xù)的。DQN無法直接用于這些問題。
一種方式是離散化動作空間。但是問題多多
這篇論文中,作者提出了一種model-free, off-policy actor-critic算法來在連續(xù)的動作空間中使用DQN。
通常使用一個復(fù)雜的非線性的函數(shù)來擬合價值函數(shù)會導(dǎo)致不穩(wěn)定,DQN通過兩種方式來克服不穩(wěn)定,一是,網(wǎng)絡(luò)從replay buffer來學(xué)習(xí),屬于off-policy,減少了樣本之間的關(guān)聯(lián);二是網(wǎng)絡(luò)和一個目標(biāo)網(wǎng)絡(luò)一同訓(xùn)練,這使得學(xué)習(xí)的目標(biāo)更加穩(wěn)定。
論文提出的算法稱為 DDPG。
2. 算法
Q-learning的主要方式就是最小化如下loss

其中

在連續(xù)的動作空間,很難直接應(yīng)用Q-learning,因此在每一步都要對最優(yōu)的進(jìn)行求解,這是非常困難的。為此,這里采用基于actor-critic approach的DPG算法。
DPG算法包含了一個actor函數(shù),它指定了從狀態(tài)到動作的確定性的映射,也就是策略。還包含了一個critic
,它通過bellman方程學(xué)習(xí)。
下面公式為policy的梯度,也就是actor函數(shù)的梯度。

在論文DPG中證明了上式是policy gradient。
和Q-learning一樣,使用一個非線性函數(shù)擬合會導(dǎo)致無法保證收斂。論文的貢獻(xiàn)就是在DQN的啟發(fā)下,對DPG進(jìn)行了修改,使得它能夠用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),也就是Deep DPG(DDPG)。
算法如下:

在增強(qiáng)學(xué)習(xí)問題中應(yīng)用神經(jīng)網(wǎng)絡(luò)的一個困難是,很多的優(yōu)化算法基于樣本獨(dú)立同分布的假設(shè)。顯然,增強(qiáng)學(xué)習(xí)環(huán)境產(chǎn)生的樣本不滿足這個假設(shè)。除此之外,為了有效訓(xùn)練,通常還會采用minibatch。
像DQN中一樣,論文采用了replay buffer來克服這個困難。根據(jù)一個exploration策略,采樣一些樣本存儲在replay buffer中。訓(xùn)練時就從這里取樣本。
直接使用神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)Q-learning通常會不穩(wěn)定。因此網(wǎng)絡(luò) 同時用于計算target value,和更新。論文中采用的方法是類似DQN中的target network,但是更新時不是直接拷貝,而是使用soft target updates。作者首先拷貝一份actor和critic網(wǎng)絡(luò):
和
。它們用于計算target value。它們的參數(shù)通過慢慢地跟蹤learned network來更新:
。
遠(yuǎn)遠(yuǎn)小于1,這意味著target value也會改變地非常慢。
在實(shí)際問題中,一些低維度的特征往往單位不同,例如位置和速度,這可能使得網(wǎng)絡(luò)難以高效訓(xùn)練。
一種方式是認(rèn)為統(tǒng)一。論文使用batch-normalization來克服這個問題。
另一個連續(xù)動作空間的問題是exploration。論文中通過加入噪聲來構(gòu)造exploration policy。
。