官术网_书友最值得收藏!

3.2.2 DQN

在2015年,Mnih等人[1]提出了DQN(Deep Q-Network),其是利用深度學(xué)習(xí)進(jìn)行強(qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)。DQN利用Q-learning訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),并且添加目標(biāo)網(wǎng)絡(luò)提高模型的學(xué)習(xí)性能。

在DQN出現(xiàn)之前,利用神經(jīng)網(wǎng)絡(luò)逼近強(qiáng)化學(xué)習(xí)中的動作值函數(shù)時會出現(xiàn)不穩(wěn)定甚至不收斂的問題;DQN出現(xiàn)之后,使用經(jīng)驗回放和目標(biāo)網(wǎng)絡(luò)這兩種技術(shù)解決了這個問題。

(1)經(jīng)驗回放

經(jīng)驗回放的具體做法是在每個時間點存儲智能體的經(jīng)驗et=(st,at,rt,st+1),形成回放記憶序列D={e1,…,eN}。在訓(xùn)練時,每次從回放記憶序列D中隨機(jī)提取小批量的經(jīng)驗樣本,并使用隨機(jī)梯度下降算法更新網(wǎng)絡(luò)參數(shù)。經(jīng)驗回放通過重復(fù)采樣歷史數(shù)據(jù)增加了數(shù)據(jù)的使用效率,同時減少了數(shù)據(jù)之間的相關(guān)性。

(2)目標(biāo)網(wǎng)絡(luò)

DQN使用卷積神經(jīng)網(wǎng)絡(luò)逼近動作值函數(shù),我們將該卷積神經(jīng)網(wǎng)絡(luò)稱為Q網(wǎng)絡(luò),將動作值函數(shù)參數(shù)化表示為Q(s,a,θi),其中θi為Q網(wǎng)絡(luò)在第i次迭代時的參數(shù)。Q網(wǎng)絡(luò)每次迭代的優(yōu)化目標(biāo)值為:

該目標(biāo)值由另外一個單獨的目標(biāo)網(wǎng)絡(luò)產(chǎn)生,其中,為下一時刻的狀態(tài),為所有可能的動作,為目標(biāo)網(wǎng)絡(luò)的參數(shù)。

在Q網(wǎng)絡(luò)的訓(xùn)練過程中,參數(shù)θi通過最小化以下目標(biāo)函數(shù)進(jìn)行更新:

對上式求偏導(dǎo)可得:

目標(biāo)網(wǎng)絡(luò)和Q網(wǎng)絡(luò)都為卷積神經(jīng)網(wǎng)絡(luò),二者可以使用相同的結(jié)構(gòu)。目標(biāo)網(wǎng)絡(luò)的參數(shù)每經(jīng)過N次迭代便用Q網(wǎng)絡(luò)的參數(shù)θi更新一次,在中間過程中目標(biāo)網(wǎng)絡(luò)的參數(shù)保持不變。

DQN的網(wǎng)絡(luò)結(jié)構(gòu)如圖3-3所示。網(wǎng)絡(luò)的輸入是經(jīng)過預(yù)處理后的連續(xù)4幀游戲圖像,經(jīng)過3層卷積層和2層全連接層,輸出每個動作所對應(yīng)的Q值。與很多傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)不同,DQN所用的卷積神經(jīng)網(wǎng)絡(luò)沒有池化層。

圖3-3 DQN網(wǎng)絡(luò)結(jié)構(gòu)示意

與傳統(tǒng)的強(qiáng)化學(xué)習(xí)方法相比,DQN主要有兩個貢獻(xiàn)。

1)使用經(jīng)驗回放和目標(biāo)網(wǎng)絡(luò)來穩(wěn)定模型的訓(xùn)練過程。

2)設(shè)計了一種端到端的強(qiáng)化學(xué)習(xí)方法,即以原始像素和游戲比賽得分作為輸入,輸出每個動作對應(yīng)的Q值。

[1] Mnih V,Kavukcuoglu K,Silver D,et al.Playing Atari with Deep Reinforcement Learning[C].Proceedings of the Workshops at the 26th Neural Information Processing Systems,2013:201-220.

主站蜘蛛池模板: 洛川县| 邓州市| 青海省| 仪征市| 灵寿县| 六安市| 万载县| 景洪市| 泽州县| 竹北市| 娄烦县| 嘉祥县| 沾益县| 津市市| 青海省| 常德市| 邻水| 鄂尔多斯市| 黄大仙区| 长宁区| 沽源县| 丘北县| 肇庆市| 祁门县| 浪卡子县| 中方县| 巴塘县| 佳木斯市| 昌黎县| 淮滨县| 清原| 永修县| 洪湖市| 荥阳市| 郴州市| 南漳县| 宜州市| 娄底市| 石棉县| 古丈县| 靖西县|