999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于二階時序差分誤差的雙網(wǎng)絡(luò)DQN算法

2020-05-20 10:22:40陳建平傅啟明付保川吳宏杰
計算機工程 2020年5期
關(guān)鍵詞:動作模型

陳建平,周 鑫,傅啟明,高 振,付保川,吳宏杰

(蘇州科技大學(xué) a.電子與信息工程學(xué)院; b.江蘇省建筑智慧節(jié)能重點實驗室,江蘇 蘇州 215009)

0 概述

強化學(xué)習(xí)(Reinforcement Learning,RL)是一種通過與環(huán)境交互將狀態(tài)映射到動作以獲取最大累積獎賞值的方法[1]。該方法設(shè)計思想來源于條件反射理論和動物學(xué)習(xí)理論,是一類重要的機器學(xué)習(xí)算法。自20世紀80年代被提出以來,經(jīng)過不斷發(fā)展,強化學(xué)習(xí)已經(jīng)在工程設(shè)計、模式識別、圖像處理、網(wǎng)絡(luò)優(yōu)化等方面得到了廣泛應(yīng)用[2]。由于強化學(xué)習(xí)方法特有的學(xué)習(xí)和計算方式,其在解決一些大規(guī)?;蜻B續(xù)的狀態(tài)空間任務(wù)時,狀態(tài)空間的大小隨著特征數(shù)量的增加而呈指數(shù)級增長趨勢,所需計算量和存儲空間也指數(shù)級增長,導(dǎo)致“維數(shù)災(zāi)難”[3]問題,因此,傳統(tǒng)的強化學(xué)習(xí)方法無法滿足大狀態(tài)空間或者連續(xù)狀態(tài)空間的任務(wù)需求。目前,解決“維數(shù)災(zāi)難”問題的主要方法是狀態(tài)抽象和函數(shù)逼近。其中,函數(shù)逼近可以有效減少狀態(tài)的存儲空間,并且在大規(guī)模數(shù)據(jù)的訓(xùn)練中具備一定的泛化特性。

在解決大規(guī)模狀態(tài)空間的強化學(xué)習(xí)問題時引入深度學(xué)習(xí)(Deep Learning,DL)[4-5]可實現(xiàn)復(fù)雜函數(shù)的逼近。深度學(xué)習(xí)的概念源于對人工神經(jīng)網(wǎng)絡(luò)的研究,其通過學(xué)習(xí)一種深層的非線性網(wǎng)絡(luò)結(jié)構(gòu),擬合數(shù)據(jù)與標簽之間的非線性關(guān)系,從而學(xué)習(xí)數(shù)據(jù)的本質(zhì)特征[6],實現(xiàn)復(fù)雜函數(shù)的逼近。谷歌的DeepMind團隊在此基礎(chǔ)上創(chuàng)新性地將具有決策能力的強化學(xué)習(xí)與具有感知能力的深度學(xué)習(xí)相結(jié)合,提出了深度強化學(xué)習(xí)(Deep Reinforcement Learning,DRL)[7]的概念。此后,DeepMind構(gòu)造了人類專家級別的Agent,其對自身知識的構(gòu)建與學(xué)習(xí)都來源于原始輸入信號,無需任何人工編碼和領(lǐng)域知識,充分體現(xiàn)了DRL是一種端到端的感知與控制系統(tǒng),具有很強的通用性[8]。此后,深度強化學(xué)習(xí)被廣泛應(yīng)用于各種問題,如AlphaGo[9]、對抗網(wǎng)絡(luò)架構(gòu)[10]、機器人控制[11-12]等。

在深度強化學(xué)習(xí)概念出現(xiàn)之前,研究者主要將神經(jīng)網(wǎng)絡(luò)用于復(fù)雜高維數(shù)據(jù)的降維,以便于處理強化學(xué)習(xí)問題。文獻[13]結(jié)合淺層神經(jīng)網(wǎng)絡(luò)與強化學(xué)習(xí)解決視覺信號輸入問題,控制機器人完成推箱子等任務(wù)。文獻[14]提出視覺動作學(xué)習(xí)的概念,將高效的深度自動編碼器應(yīng)用于視覺學(xué)習(xí)控制中,使智能體具有與人相似的感知和決策能力。文獻[15]通過結(jié)合神經(jīng)演化方法與強化學(xué)習(xí),在賽車游戲TORCS中實現(xiàn)了賽車的自動駕駛。文獻[16]將深度置信網(wǎng)絡(luò)引入到強化學(xué)習(xí)中,用深度置信網(wǎng)絡(luò)替代傳統(tǒng)的值函數(shù)逼近器,成功應(yīng)用于車牌圖像的字符分割任務(wù)。文獻[17]采用Q學(xué)習(xí)構(gòu)建誤差函數(shù),利用深度神經(jīng)網(wǎng)絡(luò)優(yōu)化蜂窩系統(tǒng)的傳輸速率。文獻[18]將卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)RL中的Q學(xué)習(xí)[19]算法相結(jié)合,構(gòu)建深度Q網(wǎng)絡(luò)(Deep Q-Network,DQN)模型用于處理視覺感知的控制任務(wù)。此后,DeepMind團隊結(jié)合DQN模型與目標Q網(wǎng)絡(luò)模型對原始的DQN模型進行改進,進一步提升其處理視覺感知任務(wù)的能力[20]。文獻[21]提出基于時序差分(Temporal Difference,TD)誤差自適應(yīng)校正的DQN主動采樣方法,估計樣本池中樣本的真實優(yōu)先級,提高了算法的學(xué)習(xí)速度。

本文針對原始DQN算法因過估計導(dǎo)致穩(wěn)定性差的問題,提出一種基于二階TD誤差的雙網(wǎng)絡(luò)DQN算法(Second-order TD-based Double Deep Q-learning Network,STDE-DDQN)。通過構(gòu)造2個相同的DQN結(jié)構(gòu)協(xié)同更新網(wǎng)絡(luò)參數(shù),并且基于二階TD誤差重構(gòu)損失函數(shù),從而增強學(xué)習(xí)過程中值函數(shù)估計的穩(wěn)定性。

1 相關(guān)理論

1.1 馬爾科夫決策過程

馬爾科夫決策過程(Markov Decision Process,MDP)可以用來解決序貫決策問題,而強化學(xué)習(xí)任務(wù)是一個典型的貫序決策過程。因此,利用馬爾科夫決策過程對強化學(xué)習(xí)問題進行建模,可以有效解決強化學(xué)習(xí)任務(wù)。

在強化學(xué)習(xí)中,通過估計動作值函數(shù)可以衡量Agent在某一策略π下動作選擇的優(yōu)劣程度,其中,優(yōu)劣程度根據(jù)可以利用的未來累積獎賞進行評估。策略π是指在狀態(tài)s下采取動作a的概率,可以表示為π(s,a)。動作值函數(shù)Qπ的定義如式(1)所示:

Qπ(s,a)=Eπ{Rt|st=s,at=a}=

(1)

其中,γ是折扣率,決定著未來獎賞的當前價值。如果當前策略是最優(yōu)策略,則所對應(yīng)的動作值函數(shù)即為最優(yōu)動作值函數(shù)Q*,定義如式(2)所示:

(2)

1.2 時序差分學(xué)習(xí)

時序差分(TD)學(xué)習(xí)結(jié)合了蒙特卡洛和動態(tài)規(guī)劃思想,能夠從原始的經(jīng)驗中學(xué)習(xí),是一種模型無關(guān)的強化學(xué)習(xí)方法。

TD方法對狀態(tài)值函數(shù)進行評估,可以利用經(jīng)驗樣本解決預(yù)測問題。通過判斷學(xué)習(xí)過程中行為策略與目標策略是否一致,可以將TD學(xué)習(xí)分為兩類:在策略學(xué)習(xí)與離策略學(xué)習(xí)。Q學(xué)習(xí)算法是一種經(jīng)典的離策略算法,行為策略一般使用ε-greedy策略。此外,基于Q學(xué)習(xí)對動作值函數(shù)進行評估,可以用于解決控制問題。Q學(xué)習(xí)中的Q值函數(shù)更新公式如式(3)所示:

Q(st,at)←Q(st,at)+β[rt+1+

(3)

其中,β是學(xué)習(xí)率,rt+1是立即獎賞,γ是折扣率。在這種情況下,學(xué)到的動作值函數(shù)Q直接逼近最優(yōu)動作值函數(shù)Q*,且不依賴于其行為策略。

1.3 DQN算法

DQN算法將深度學(xué)習(xí)與強化學(xué)習(xí)相結(jié)合,直接從高維的輸入學(xué)習(xí)控制策略,實現(xiàn)“端到端”的學(xué)習(xí)。該算法模型利用神經(jīng)網(wǎng)絡(luò)逼近動作值函數(shù),通過經(jīng)驗回放解決數(shù)據(jù)相關(guān)性及非靜態(tài)分布問題,并使用目標網(wǎng)絡(luò)解決模型穩(wěn)定性問題。相較于其他模型,DQN具有較強的通用性,可用于解決不同類型的問題。

在DQN算法中包含兩個相同的網(wǎng)絡(luò):目標網(wǎng)絡(luò)和估值網(wǎng)絡(luò)。初始化時,兩個網(wǎng)絡(luò)的權(quán)值相同。在訓(xùn)練過程中,對估值網(wǎng)絡(luò)進行訓(xùn)練更新,通過直接賦值的方式對目標網(wǎng)絡(luò)進行權(quán)值更新。

在每一次的迭代更新過程中,從經(jīng)驗池中隨機抽取小批量樣本(st,at,rt,at+1),將st輸入估值網(wǎng)絡(luò),輸出在狀態(tài)st下每一個動作的Q值,即估值網(wǎng)絡(luò)的預(yù)測值Q(st,at)。在訓(xùn)練過程中,通過求解標簽值對估值網(wǎng)絡(luò)進行權(quán)值更新。在計算標簽值時,將st+1輸入目標網(wǎng)絡(luò),輸出在st+1狀態(tài)下每個動作對應(yīng)的最大Q值,即Q*(st+1,at+1),使得累積折扣獎賞最大。同時,每訓(xùn)練N步,則將估值網(wǎng)絡(luò)的權(quán)值賦值給目標網(wǎng)絡(luò),進行一次更新。

DQN模型通過Q學(xué)習(xí)中的TD誤差構(gòu)造如下?lián)p失函數(shù):

(4)

然而,利用式(4)求解損失函數(shù)時,目標網(wǎng)絡(luò)Q值的迭代過程采用max操作。由式(5)可知,對Q值進行max操作后,其比優(yōu)先計算目標Q值期望后進行max操作的值大。因此,在原始DQN算法中,利用目標網(wǎng)絡(luò)最大Q值替代目標網(wǎng)絡(luò)Q值期望值的計算,會導(dǎo)致目標Q值的計算存在過估計,從而造成算法收斂性能的不穩(wěn)定。

E(max(Q1,Q2))≥max(E(Q1),E(Q2))

(5)

2 基于二階TD誤差的雙網(wǎng)絡(luò)DQN算法

在原始DQN模型中,目標Q值的計算存在過估計,會導(dǎo)致?lián)p失函數(shù)的計算出現(xiàn)偏差,降低算法收斂穩(wěn)定性。針對該問題,本文提出一種基于二階TD誤差的雙網(wǎng)絡(luò)DQN算法。在DQN模型的基礎(chǔ)上增加一個相同的值函數(shù)網(wǎng)絡(luò),并提出二階TD誤差的概念,構(gòu)建二階TD誤差模型與新的損失函數(shù)更新公式。通過兩輪值函數(shù)的學(xué)習(xí),降低目標Q值最大化的影響,克服單一目標Q值計算存在過估計的問題,有效減小模型的計算誤差,提高算法中值函數(shù)估計的穩(wěn)定性。

2.1 雙網(wǎng)絡(luò)DQN模型

針對DQN算法由于過估計導(dǎo)致收斂性差的問題,結(jié)合TD誤差階的定義,在DQN的基礎(chǔ)上增加一個相同的值函數(shù)網(wǎng)絡(luò)模型,從而提高算法的收斂性能,改進后的結(jié)構(gòu)模型如圖1所示。

圖1 基于二階TD誤差的雙網(wǎng)絡(luò)DQN模型結(jié)構(gòu)

在圖1中,為保證二階TD誤差雙網(wǎng)絡(luò)結(jié)構(gòu)的穩(wěn)定性,設(shè)置DQN_1與DQN_2結(jié)構(gòu)中的初始化權(quán)重參數(shù)θ相同。在二階TD模型中,DQN_2的估值網(wǎng)絡(luò)與環(huán)境交互,將得到的數(shù)據(jù)存入經(jīng)驗池,同時自動更新參數(shù),將估值網(wǎng)絡(luò)中的參數(shù)傳遞給DQN_1中的估值網(wǎng)絡(luò)。在DQN_2與環(huán)境第1輪交互后,DQN_1與環(huán)境交互,Agent進行第2輪的學(xué)習(xí)。

在第2輪學(xué)習(xí)結(jié)束后,Agent在前兩輪學(xué)習(xí)的基礎(chǔ)上,通過DQN_1目標網(wǎng)絡(luò)中的動作值函數(shù)與DQN_2結(jié)構(gòu)中估值網(wǎng)絡(luò)和目標網(wǎng)絡(luò)中的動作值函數(shù),構(gòu)建新的損失函數(shù),利用梯度下降對權(quán)重進行求解,以逼近真實目標Q值。之后,在DQN_2上進行第3輪學(xué)習(xí),直至所有的情節(jié)結(jié)束。此外,每間隔N步,DQN_1與DQN_2模型中的估值網(wǎng)絡(luò)都會將權(quán)重參數(shù)復(fù)制給各自的目標網(wǎng)絡(luò)。

2.2 二階TD誤差

在任意第m次迭代計算中,任意時刻t,當前狀態(tài)動作對為(st,at),Q學(xué)習(xí)以前一輪對(st,at)的估計差值作為TD誤差,如式(6)所示:

TDEm(st,at)=βt[rt+1(st,at)+

γmaxQm-1(st+1,at+1)-Qm-1(st,at)]

(6)

其中,TDEm(st,at)是在第m輪中t時刻狀態(tài)動作對的TD誤差,βt是學(xué)習(xí)率,rt+1(st,at)是該狀態(tài)動作對的立即獎賞值,γ是折扣率,Qm-1(st+1,at+1)是m-1輪中t+1時刻的狀態(tài)動作對的估值,Qm-1(st,at)是m-1輪中t時刻的狀態(tài)動作對的估值。在式(6)中,當前狀態(tài)動作值的估值是基于后續(xù)狀態(tài)動作對估值的最大值,即利用后續(xù)狀態(tài)動作對的Q值的極值,代替狀態(tài)動作對的真實極值,進而計算TD誤差。

定義1(N階TD誤差) 在第m輪,任意時刻t,立即獎賞為rt+1,記Q值為:

Qm(st,at)=rt+1+γmaxQm(st+1,at+1)

(7)

其中,Qm(st+1,at+1)是第m輪對t+1時刻狀態(tài)動作對的估值。N階TD誤差的定義如式(8)所示,記為TDE(n),并且n≥1,n為階數(shù)。當n為2時,稱為二階TD誤差,記為TDE(2),如式(9)所示:

(1-αm){αm[Qm-n(st,at)-Qm-1(st,at)]+

(8)

(1-αm)[Qm-1(st,at)-Qm-2(st,at)]

(9)

2.3 損失函數(shù)構(gòu)建

算法的實際輸出與期望輸出差值越大,即損失函數(shù)的值越大,算法的收斂效果越差。本文針對算法收斂穩(wěn)定性問題,構(gòu)造兩個相同的DQN結(jié)構(gòu),引入二階TD誤差的概念重構(gòu)新的損失函數(shù),達到提升算法收斂性能的目的。

在DQN模型的學(xué)習(xí)過程中,從經(jīng)驗池隨機選擇樣本數(shù)據(jù),通過梯度下降的方式進行參數(shù)更新。在二階TD誤差雙網(wǎng)絡(luò)DQN結(jié)構(gòu)中,利用經(jīng)驗回放進行隨機采樣,通過二階TD誤差函數(shù)進行學(xué)習(xí),并更新權(quán)重參數(shù)θ。二階TD誤差計算公式如式(10)所示:

(α-1)[Qm-1(st,at;θ4)-Qm-2(st,at;θ2)]

(10)

其中,θ2為DQN_1模型目標網(wǎng)絡(luò)的參數(shù),θ3與θ4分別為DQN_2模型中估值網(wǎng)絡(luò)和目標網(wǎng)絡(luò)的參數(shù)。在模型訓(xùn)練的每一步參數(shù)更新過程如下:將DQN_2中估值網(wǎng)絡(luò)的參數(shù)傳遞給DQN_1中的估值網(wǎng)絡(luò),且同時保持自身的更新,即θ3=θ1,θ3=θ3,其中θ3表示DQN_2中估值網(wǎng)絡(luò)下一狀態(tài)的權(quán)重參數(shù),每間隔N步,將DQN_1中的估值網(wǎng)絡(luò)參數(shù)傳遞給目標網(wǎng)絡(luò),即θ2=θ1,同時將DQN_2中的估值網(wǎng)絡(luò)參數(shù)傳遞給目標網(wǎng)絡(luò),即θ4=θ3。

由此得到改進后的損失函數(shù)如式(11)所示:

L(θ)=Es,a,r,s′{[(1-α)(TQ2-TQ1)-

α(TQ1-BQ2)]2}

(11)

其中,損失函數(shù)是兩個網(wǎng)絡(luò)參數(shù)值的方差,并受參數(shù)α的影響,網(wǎng)絡(luò)結(jié)構(gòu)的目標值與估計值也取決于網(wǎng)絡(luò)權(quán)重參數(shù)。在訓(xùn)練時,要保持當前目標網(wǎng)絡(luò)權(quán)重參數(shù)的固定,防止算法收斂不穩(wěn)定。對損失函數(shù)式(11)求解權(quán)重導(dǎo)數(shù),得到權(quán)重梯度如式(12)所示:

(12)

2.4 STDE-DDQN算法

根據(jù)上文介紹,給出基于二階TD誤差雙網(wǎng)絡(luò)DQN算法流程,如算法1所示。

算法1基于二階TD誤差的雙網(wǎng)絡(luò)DQN算法

2.For episode=1,M do

3.初始化狀態(tài)s1;

4.For t=1,T do

5.采用ε-greedy策略選擇動作;

6.得到執(zhí)行動作at后的獎勵r,以及下一時刻的狀態(tài)st+1;

7.將數(shù)據(jù)(st,at,rt,st+1)存入到D中;

8.隨機從D中取出樣本(st,at,rt,st+1)進行訓(xùn)練;

9.判斷狀態(tài)是否為中止狀態(tài),若是則目標為rT,否則計算目標值;

10.利用式(11)計算損失函數(shù);

11.利用式(12)更新權(quán)重參數(shù)θ1與θ3;

12.每N步迭代后,θ2=θ1,θ4=θ3;

13.End for

14.End for

3 實驗與結(jié)果分析

3.1 Mountain Car問題求解

3.1.1 實驗描述

為驗證本文算法的性能,將本文提出的基于二階TD誤差雙網(wǎng)絡(luò)DQN算法與原始DQN算法應(yīng)用于經(jīng)典控制Mountain Car問題進行比較。

Mountain Car問題示意圖如圖2所示,其中一輛車在一維軌道上,位于兩座“山”之間,即帶有坡面的谷底,目標是把車開到右邊的山上(圖2中小旗的位置)。然而,小車由于動力不足,不能一次通過山體,因此小車必須借助前后加速的慣性才能通過山頂。Mountain Car實驗的狀態(tài)是兩維的,其中一維表示位置,另一維表示速度。其中,小車的位置區(qū)間為[-1.2,0.6],速度的區(qū)間為[-0.07,0.07]。動作空間有3個離散動作,分別表示向左、向右、無動作。在情節(jié)開始時,給定小車一個隨機的位置和速度,然后在模擬環(huán)境中進行學(xué)習(xí)。當小車到達目標位置(圖2中小旗的位置)時,情節(jié)結(jié)束,并開始一個新的情節(jié)。

圖2 Mountain Car問題示意圖

當小車到達目標位置時,立即獎賞是1,其他情況下立即獎賞與位置有關(guān)。獎賞函數(shù)如式(13)所示:

(13)

3.1.2 實驗設(shè)置

本文的實驗環(huán)境是Open AI Gym,神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化器是RMSprop,隱藏層使用的線性修正單元為ReLU。

實驗中的具體參數(shù)設(shè)置為:學(xué)習(xí)率β為0.001,ε-greedy策略中ε的值為0.9,其迭代的速率為0.000 2,迭代間隔為300,經(jīng)驗池的數(shù)量為3 000,情節(jié)數(shù)量設(shè)置為500,訓(xùn)練中mini-batch的值為32。

3.1.3 實驗分析

在α不同取值情況下,比較二階TD誤差雙網(wǎng)絡(luò)DQN算法和傳統(tǒng)DQN算法應(yīng)用于Mountain Car問題的性能表現(xiàn),如圖3所示(每個實驗執(zhí)行500個獨立情節(jié))。其中,α分別取值0.1、0.3、0.5和0.7。在實驗過程中,每個算法都被獨立執(zhí)行20次,求出平均值。

圖3 2種算法求解Mountain Car問題的性能對比

從圖3(a)可以看出,α取0.1時,在第40個情節(jié)處的平均步數(shù)降至最低,之后緩慢收斂至穩(wěn)定值,第70個情節(jié)后穩(wěn)定在200步左右。從圖3(b)可以看出,α取值為0.3時,算法在前400個情節(jié)的實驗過程中都有大幅度的振蕩,效果較差,第400個情節(jié)之后的性能與DQN算法性能相似。從圖3(c)可以看出,α取值為0.5時,二階TD誤差雙網(wǎng)絡(luò)DQN算法的實驗效果與DQN算法的收斂效果相似,符合上文的理論推導(dǎo)。從圖3(d)可以看出,當α取值為0.7時,算法的實驗效果在500個情節(jié)內(nèi)有3個明顯的振蕩高峰,收斂效果變差。由此看出,α取值逐漸變大時,振蕩幅度變大,算法的收斂性能越差。這是由于雙網(wǎng)絡(luò)DQN算法在TD誤差的基礎(chǔ)上引入了二階TD的概念,使得算法能夠在兩個同構(gòu)值函數(shù)網(wǎng)絡(luò)的學(xué)習(xí)基礎(chǔ)上進行新一輪的迭代學(xué)習(xí),減小了算法模型的計算誤差,進一步提高了算法的收斂穩(wěn)定性。因此,二階TD誤差雙網(wǎng)絡(luò)DQN算法的前期收斂速度比DQN更快,振蕩較少且更接近收斂值。綜上,當α取值為0.1時,算法的收斂效果最好。

圖4是在α=0.1的條件下,選取不同學(xué)習(xí)率β的算法效果對比??梢钥闯?β取0.001時,算法前20個情節(jié)學(xué)習(xí)的效果與其他取值情況相似,第20個~第70個情節(jié)時學(xué)習(xí)效果較好,第100個情節(jié)處有一個較大幅度的振蕩,第240個~第270個情節(jié)處有較高幅度的振蕩,之后算法逐漸穩(wěn)定至收斂值;β取0.002時,前期學(xué)習(xí)效果較差,第50個~第120個情節(jié)時有較大幅度的振蕩,第120個~第500個情節(jié)時都有較小幅度的振蕩;β取0.005時,算法在第50個情節(jié)~第100個情節(jié)處有較小幅度的振蕩,之后的情節(jié)中有小幅度的振蕩,相比其他取值情況,收斂效果較好。因此,根據(jù)實驗結(jié)果與實驗分析,學(xué)習(xí)率β的值選擇0.005效果最好。由此看出,面對離散動作問題時,學(xué)習(xí)率并非越小越好,學(xué)習(xí)率的選擇需要根據(jù)具體問題分析。

圖4 不同β取值下本文算法的學(xué)習(xí)性能

Fig.4 Learning performance of the proposed algorithm under differentβvalues

在學(xué)習(xí)率β取0.005且α=0.1的情況下,針對不同ε-greedy最大取值對學(xué)習(xí)效果的影響進行對比,如圖5所示,其中,ε的最大值分別取0.90、0.95以及0.99,且每次動作選擇后,每一次的迭代值為0.000 2??梢钥闯?ε最大值取0.90時,算法前期逐步收斂,收斂效果相比其他取值較好,第400個~第460個情節(jié)處有輕微振蕩;ε最大值取0.95時,算法前期振蕩明顯,第160個情節(jié)之后逐漸穩(wěn)定至收斂值;ε最大值取0.99時,算法在前150個情節(jié)振蕩幅度巨大,之后的情節(jié)中振蕩幅度逐漸降低。原因是算法的前期需要積極探索更有效的策略,當ε取值較大時,前期每個情節(jié)探索最優(yōu)動作的概率較大,經(jīng)過多個情節(jié),ε的值就會降低到最小,導(dǎo)致前100個情節(jié)震蕩幅度較大,難以收斂。因此,綜合上述分析,ε取值為0.9時效果最好。

圖5 不同ε取值下本文算法求解Mountain Car問題的性能

Fig.5 Performance of solving Mountain Car problem by the proposed algorithm under differentεvalues

3.2 Cart Pole問題求解

3.2.1 實驗描述

為進一步驗證二階TD誤差雙網(wǎng)絡(luò)DQN算法的性能,將其與原始DQN算法應(yīng)用于空間狀態(tài)更為復(fù)雜的平衡桿(Cart Pole)問題進行性能比較。

Cart Pole問題示意圖如圖6所示,其中一根桿由一個非驅(qū)動的接頭連接到一輛小車上,小車沿著無摩擦的軌道運行。

圖6 Cart Pole問題示意圖

該系統(tǒng)的狀態(tài)是四維的,可以表示為:Ssate={x,xdot,T,Tdot};動作是一維的,有2個離散動作:向左或向右。系統(tǒng)中通過施加一個+1或-1的力來控制小車,且當鐘擺處于直立狀態(tài)時,Agent的目標是阻止它倒下。當Agent控制操作桿走一步,且桿子保持垂直時,環(huán)境給予Agent一個立即獎賞,當桿子與垂直方向的角度超過15°,或者小車從中心移動超過2.4個單位時,游戲結(jié)束。為使獎賞函數(shù)更合理有效,設(shè)置獎賞函數(shù)如式(14)所示:

(14)

3.2.2 實驗設(shè)置

本文的實驗環(huán)境是Open AI Gym,神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化器是RMSprop,隱藏層使用的線性修正單元為ReLU。

實驗中的具體參數(shù)設(shè)置為:學(xué)習(xí)率β為0.01,ε-greedy策略中ε的值為0.9,ε迭代的速率為0.001,迭代間隔N為100,經(jīng)驗池的數(shù)量為2 000,情節(jié)數(shù)量設(shè)置為3 000,訓(xùn)練中mini-batch的值為32。

3.2.3 實驗分析

在α不同取值情況下,比較二階TD誤差雙網(wǎng)絡(luò)DQN算法和傳統(tǒng)DQN算法應(yīng)用于經(jīng)典Cart Pole問題的性能表現(xiàn),如圖7所示(實驗中每個算法都獨立執(zhí)行3 000個情節(jié))。針對α的取值設(shè)計實驗,驗證算法的收斂性能與α值設(shè)置的關(guān)聯(lián)性,其中,α分別取值0.1、0.3、0.5和0.7。

圖7 2種算法求解Cart Pole問題的性能對比

從圖7可以看出,原始DQN算法約在第60個情節(jié)處開始學(xué)習(xí),到750個情節(jié)時趨于穩(wěn)定值400,在之后的情節(jié)中仍有較高幅度的振蕩,并且算法在第2 000個情節(jié)左右獲得最低獎賞值。從圖7(a)可以看出,α取0.1時,二階TD誤差雙網(wǎng)絡(luò)DQN算法也在60個情節(jié)左右開始學(xué)習(xí),在第250個情節(jié)處接近穩(wěn)定值500,之后的情節(jié)中有輕微振蕩,第1 800個~第2 000個情節(jié)時有較大波動,最終能夠穩(wěn)定收斂并且取得比DQN算法更高的獎賞值。從圖7(b)可以看出,α取0.3時,二階TD誤差雙網(wǎng)絡(luò)DQN算法在第250個~第1 700個情節(jié)性能表現(xiàn)較好,之后的情節(jié)中振蕩較大,收斂性能較差。從圖7(c)可以看出,α取0.5時,算法的收斂性能與DQN算法相似,滿足上文的理論推導(dǎo)。從圖7(d)可以看出,α取0.7時,算法的振蕩幅度較大,沒有明顯的收斂表現(xiàn)。通過對比分析可以得出結(jié)論:當α取0.1時,算法的收斂效果最好,穩(wěn)定性最強。比較不同取值情況下α的取值可知,STDE-DDQN算法由于引入二階TD誤差,其通過相同值函數(shù)網(wǎng)絡(luò)的迭代學(xué)習(xí)可降低模型的學(xué)習(xí)誤差,具有更好的收斂穩(wěn)定性。

圖8是二階TD誤差雙網(wǎng)絡(luò)DQN算法在α取0.1時不同學(xué)習(xí)率下的收斂效果對比,其中分別設(shè)置學(xué)習(xí)率β為0.01、0.005以及0.002??梢钥闯?β取0.01時,在第250個情節(jié)時開始收斂,收斂穩(wěn)定值為520,第1 750個~第2 000個情節(jié)處收斂性能下降,之后在收斂值附近振蕩,且振蕩幅度較大;β取0.005時,與其他取值情況相比,前期收斂較慢,且在收斂值左右振蕩,從第300個情節(jié)處開始,一直在收斂值左右輕微振蕩,整體性能表現(xiàn)較好;β取0.002時,算法學(xué)習(xí)率較低,學(xué)習(xí)緩慢,但初期學(xué)習(xí)效果較好,第200個情節(jié)處開始收斂,在第2 000個~3 000個情節(jié)處算法的振蕩幅度較大,收斂效果較差。由此可知:當學(xué)習(xí)率較大時,算法收斂較快,但振蕩幅度較大,容易陷入局部最優(yōu)的問題,難以收斂;當學(xué)習(xí)率較小時,學(xué)習(xí)效果較好,但算法學(xué)習(xí)速率較慢,收斂情況不穩(wěn)定。因此,綜合上述分析,學(xué)習(xí)率β的值選擇為0.005時,算法的性能最好。

圖8 不同β取值下本文算法求解Cart Pole問題的性能

Fig.8 Performance of solving Cart Pole problem by the proposed algorithm under differentβvalues

圖9是在保證α與學(xué)習(xí)率β的情況下,選取不同ε-greedy策略二階TD誤差雙網(wǎng)絡(luò)DQN算法的收斂效果對比。可以看出:ε取0.90時,算法收斂較慢,在第400個情節(jié)處開始收斂,并在之后的情節(jié)中一直以較小的振蕩幅度維持在收斂穩(wěn)定值左右;ε取0.95時,算法在第300個情節(jié)處開始收斂,且收斂速度較快,振蕩幅度較小;ε取0.99時,算法的平均獎賞較高,達到650左右,但是算法不易收斂,振蕩幅度較大,原因是ε-greedy策略取值較大,前期Agent探索概率大,易找到最優(yōu)策略與最優(yōu)值,但后期動作選擇時,ε的值過小,缺少探索,不易收斂。因此,ε取值為0.95時效果最好。

圖9 不同ε取值下本文算法求解Cart Pole問題的性能

Fig.9 Performance of solving Cart Pole problem by the proposed algorithm under differentεvalues

4 結(jié)束語

本文通過引入N階TD誤差的概念,提出一種基于二階TD誤差的雙網(wǎng)絡(luò)DQN算法。構(gòu)建兩個同構(gòu)的值函數(shù)網(wǎng)絡(luò)分別表示先后兩輪的值函數(shù),并重構(gòu)損失函數(shù),使Agent能夠在先后兩輪值函數(shù)的基礎(chǔ)上進行學(xué)習(xí),減小學(xué)習(xí)誤差,提高算法的收斂穩(wěn)定性。此外,還通過對比實驗探索收斂效果更好的參數(shù)取值?;贕ym實驗平臺的Mountain Car和Cart Pole求解實驗結(jié)果表明,該算法能夠有效提高值函數(shù)估計的穩(wěn)定性,具有較好的收斂性能。本文工作通過引入二階TD誤差設(shè)計改進的DQN算法,下一步將針對更高階的情況對算法收斂性能進行優(yōu)化。

猜你喜歡
動作模型
一半模型
下一個動作
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
動作描寫要具體
畫動作
讓動作“活”起來
動作描寫不可少
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 在线中文字幕日韩| 2020精品极品国产色在线观看| 亚洲区视频在线观看| h网址在线观看| 亚洲日韩国产精品无码专区| 久久99热这里只有精品免费看| 亚洲国产成人精品一二区| 欧美日韩高清在线| 日韩不卡高清视频| 欧美亚洲一二三区| 久久99国产综合精品女同| 国产真实自在自线免费精品| 精品人妻AV区| 亚洲天堂777| 国产三级成人| jizz在线免费播放| 亚洲人成网7777777国产| 国产精品极品美女自在线| 国产精品成人久久| 一本二本三本不卡无码| 亚洲精品老司机| 国产精品入口麻豆| 黄色污网站在线观看| 91青青视频| 91成人免费观看在线观看| 国产成人在线小视频| 日韩在线第三页| 国产精品va| 制服丝袜在线视频香蕉| 91在线视频福利| 真人高潮娇喘嗯啊在线观看 | 高清久久精品亚洲日韩Av| 国产成人无码综合亚洲日韩不卡| 国产色偷丝袜婷婷无码麻豆制服| 国产91精品最新在线播放| 青青青国产在线播放| 无码AV高清毛片中国一级毛片| 中文字幕有乳无码| 熟女成人国产精品视频| 国产一区二区影院| 欧美日韩一区二区在线播放| 在线播放精品一区二区啪视频| 亚洲欧美不卡| 97国产成人无码精品久久久| 国产在线视频自拍| 日韩精品一区二区三区中文无码| 欧美日韩第三页| 国产麻豆另类AV| 深爱婷婷激情网| 精品无码国产一区二区三区AV| 国产乱人激情H在线观看| 99久久无色码中文字幕| 欧美黄网在线| 国产精品99在线观看| 色AV色 综合网站| 亚洲香蕉在线| 97国产在线播放| 高清色本在线www| www.精品国产| 亚洲天堂视频在线播放| 四虎永久免费地址在线网站| 成人一级免费视频| 国产91久久久久久| 不卡无码h在线观看| 久久久精品无码一区二区三区| 亚洲激情区| 国产99在线观看| 欧美性精品| 福利一区三区| 91综合色区亚洲熟妇p| 亚洲国产精品美女| 国产中文在线亚洲精品官网| 久久黄色视频影| 一级全黄毛片| 国产成人亚洲日韩欧美电影| 91亚洲国产视频| 国产青青操| 亚洲中文精品久久久久久不卡| 99精品视频九九精品| 色婷婷丁香| 亚洲熟女中文字幕男人总站| 亚洲一道AV无码午夜福利|