張 鑫,張 席
深圳大學(xué) 計算機與軟件學(xué)院,廣東 深圳518061
強化學(xué)習(xí)是機器學(xué)習(xí)的分支之一,主要學(xué)習(xí)方法是智能體在環(huán)境中采取動作,從環(huán)境中獲得反饋獎賞后,通過最大化累積獎賞,調(diào)整下一步動作,從而獲得最優(yōu)策略[1]。在強化學(xué)習(xí)中,尋策方法有動態(tài)規(guī)劃法(Dynamic Programming,DP)、蒙特卡洛法(Monte Carlo,MC)、時間差分法(Temporal Difference,TD),其中應(yīng)用最廣泛的是時間差分法中的Q-Learning 算法[2],建立起狀態(tài)與動作的映射表,即Q 表,用于存儲對應(yīng)的狀態(tài)動作值,反映了當(dāng)前狀態(tài)下所有動作的優(yōu)劣。深度學(xué)習(xí)[3]解除了強化學(xué)習(xí)運行于低維度環(huán)境空間的限制[4],兩者結(jié)合后在更高維度的環(huán)境空間中取得了實質(zhì)性的進展[5]。
Minh 等人[6]將深度學(xué)習(xí)與Q-Learning 算法結(jié)合,提出深度Q 網(wǎng)絡(luò)(Deep Q Network,DQN),并在Atari 2600[7]部分游戲中,獲得了超越人類玩家的表現(xiàn),在這基礎(chǔ)上,后續(xù)加入了經(jīng)驗回放、目標(biāo)網(wǎng)絡(luò)等機制使得深度Q 網(wǎng)絡(luò)的穩(wěn)定性和訓(xùn)練表現(xiàn)得到進一步的提升[8]。Hasselt 等人[9]證明了深度Q 網(wǎng)絡(luò)的過估計問題,提出雙深度Q網(wǎng)絡(luò)(Double Deep Q Network,DDQN),將DQN 與Double Q-Learning 算法[10]結(jié)合,用于提高算法的穩(wěn)定性,緩解過估計問題。Schaul等人[11]在經(jīng)驗回放機制的基礎(chǔ)上,提出優(yōu)先經(jīng)驗回放機制(Prioritized Experience Replay,PER),提高重要經(jīng)驗樣本的利用率,加快訓(xùn)練進程。
強化學(xué)習(xí)不同于機器學(xué)習(xí)中的監(jiān)督學(xué)習(xí),需要通過與環(huán)境交互探索,獲得反饋信號,才能得到訓(xùn)練樣本。訓(xùn)練樣本攜帶有價值的信息量的多少,直接決定了訓(xùn)練表現(xiàn)的好壞與訓(xùn)練時間的長短。常用的探索方式是ε貪心策略,由于其簡單有效,被廣泛應(yīng)用,然而在稀疏獎賞的環(huán)境中,需要執(zhí)行特定的動作序列,才能獲得獎賞,完全依賴隨機性的ε貪心策略表現(xiàn)欠佳?;跔顟B(tài)計數(shù)的探索[12]是有效的傳統(tǒng)探索方式,為應(yīng)用到高維度環(huán)境空間中,Bellemare等人[13]對狀態(tài)進行虛擬近似計數(shù)與用于求解虛擬計數(shù)的概率模型,Osband等人[14]對Q值建立近似分布,Choi 等人[15]與Burda 等人[16]提出結(jié)合狀態(tài)計數(shù)的內(nèi)在激勵函數(shù)。
本文提出DDQN-PSE(Double Deep Q Network with Prioritized State Estimation)方法,即對訪問過的狀態(tài)進行近似估計,給予訪問次數(shù)少的狀態(tài)更高的優(yōu)先值,與外部獎賞一并存入經(jīng)驗池中,并在Q 函數(shù)近似過程中以一定權(quán)重系數(shù)ξ結(jié)合。實驗結(jié)果證明,DDQN-PSE方法相對于DDQN 算法與DDQN-PER 算法,能夠更快地獲取到環(huán)境的反饋獎賞,訓(xùn)練穩(wěn)定性與訓(xùn)練表現(xiàn)均有顯著提升。
強化學(xué)習(xí)是在一個確定的任務(wù)中,通過與環(huán)境不斷交互,獲得環(huán)境給予的反饋獎賞,改善調(diào)整后續(xù)執(zhí)行的動作,進而學(xué)習(xí)獲得最優(yōu)策略的方法?;窘Y(jié)構(gòu)可表示為含有四個元素的元組(S,A,r,π),其中S為環(huán)境狀態(tài)的集合;A為所有環(huán)境中可執(zhí)行動作的集合;r為獎賞函數(shù),即智能體在所在環(huán)境中采取動作后,獲得的獎賞回報;π為策略函數(shù),是狀態(tài)與動作之間的映射,即對于狀態(tài)s(s∈S),動作a(a∈A) ,有a~π(s)。在時間步為t(?t>0 )時,狀態(tài)下st選擇動作at執(zhí)行后,獲得獎賞期望回報可表示為[2]:
其中,γ表示折扣因子系數(shù),rt+1表示在t時間步獲得的環(huán)境反饋獎賞。在策略π下,在狀態(tài)st下的狀態(tài)價值函數(shù)記為:
考慮動作at,則在狀態(tài)st下的狀態(tài)動作價值函數(shù)記為:
針對上述的最優(yōu)狀態(tài)價值函數(shù)與最優(yōu)狀態(tài)動作價值函數(shù)可分別為:
展開可得最優(yōu)貝爾曼方程,表示為遞歸形式,在時間步t為:
其中,p為狀態(tài)轉(zhuǎn)移概率函數(shù),表示在狀態(tài)st采取動作at,獲得反饋獎賞rt+1并到達(dá)下一個狀態(tài)st+1。假設(shè)當(dāng)前環(huán)境滿足馬爾科夫性[17],即不需要時間步t之前的環(huán)境信息,屬于馬爾科夫決策過程(Markov decision process),利用公式(5)進行策略迭代,則尋找最優(yōu)策略的過程可以看作是尋找最優(yōu)貝爾曼方程的過程。
由于高維度環(huán)境問題的狀態(tài)空間過于龐大,傳統(tǒng)強化學(xué)習(xí)算法無法將完整狀態(tài)作為輸入,通過結(jié)合深度學(xué)習(xí),使得可以學(xué)習(xí)高維度輸入數(shù)據(jù)的特征,即為深度強化學(xué)習(xí)。
深度Q 網(wǎng)絡(luò)使用Q-Learning 算法[18],利用非線性模型神經(jīng)網(wǎng)絡(luò)進行擬合,從而為智能體采取動作。QLearning算法屬于TD算法的一種,因此自舉推測的TDtarget可表示為:
其中,r為當(dāng)前步獲得的獎賞,可視為短期收益,maxQ(s',a')可視為未來收益,γ為折扣因子系數(shù),γ越大,表示越注重未來收益的影響,s'為到達(dá)的下一個狀態(tài),a'為下一個狀態(tài)選擇的動作。在DQN 算法中,使用經(jīng)驗回放機制打破狀態(tài)之間的相關(guān)性,當(dāng)智能體在t步采取動作at后,把經(jīng)驗樣本以元組(st,at,rt+1,st+1,d)的形式存入經(jīng)驗池D中,其中d為當(dāng)前回合是否結(jié)束的布爾值。從經(jīng)驗池中隨機批量采樣一定數(shù)量的經(jīng)驗樣本用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),同時在TD-target中使用目標(biāo)網(wǎng)絡(luò)的參數(shù),計算TD-target與Q網(wǎng)絡(luò)近似值之間的均方誤差,則誤差公式記為:
其中,TD-target 為γmaxQ(s',a';w-) ,使用目標(biāo)網(wǎng)絡(luò)的參數(shù)w-,增強了網(wǎng)絡(luò)的穩(wěn)定性,緩解了收斂困難的問題。然而DQN 在每次迭代都會選取最大的Q 值,使得估計的值函數(shù)大于其真實值,且過估計量非均勻分布,導(dǎo)致最終策略未必最優(yōu)。因此利用DDQN 算法[9]對TD-target進行解耦,將選擇動作與評估分開,則記為:
其中,r表示當(dāng)前狀態(tài)執(zhí)行動作a獲得的獎賞,s'為下一個狀態(tài),a'為下一個狀態(tài)選擇的動作,w表示當(dāng)前選取動作網(wǎng)絡(luò)的參數(shù),w-表示目標(biāo)網(wǎng)絡(luò)的參數(shù),γ表示折扣因子。
在DQN 的經(jīng)驗回放機制中,經(jīng)驗池中的經(jīng)驗回放概率是均等的,隨機地在經(jīng)驗池中抽取用于訓(xùn)練的樣本批量,沒有對經(jīng)驗樣本的重要性進行區(qū)分。而在稀疏獎賞環(huán)境的經(jīng)驗池中,大部分的經(jīng)驗樣本包含失敗的信息,只有少量包含成功的信息,因此需要對經(jīng)驗樣本的重要性進行區(qū)分,應(yīng)用優(yōu)先級機制進行回放。優(yōu)先經(jīng)驗回放機制將經(jīng)驗樣本用于訓(xùn)練產(chǎn)生的TD-error 值視為經(jīng)驗樣本的優(yōu)先級,當(dāng)TD-error 越大,說明神經(jīng)網(wǎng)絡(luò)對該樣本的擬合精度還有很大的上升空間,則該樣本越需要被學(xué)習(xí),優(yōu)先級越高。因此,可以優(yōu)先學(xué)習(xí)最需要被學(xué)習(xí)的樣本,從而提高樣本的利用效率。為了減少計算代價,經(jīng)驗樣本只有被重放的時候才被給予優(yōu)先級,而由于隨著訓(xùn)練進行,TD-error 會慢慢減少,所以可知在訓(xùn)練初期階段,TD-error大的經(jīng)驗樣本,優(yōu)先級高,會被頻繁地回放,但未必能一定說明該樣本比后續(xù)的樣本更加重要,并且一些優(yōu)先級低的經(jīng)驗樣本可能很長一段時間都不會被回放,造成多樣性缺失,使得網(wǎng)絡(luò)過度擬合。
本文使用優(yōu)先經(jīng)驗回放與均勻經(jīng)驗回放結(jié)合的隨機抽樣方法,在保證樣本多樣性的同時,對樣本按優(yōu)先級概率回放。抽取經(jīng)驗樣本e的優(yōu)先級概率可定義為:
其中[11],pe=|TDerror(e)|+λ,λ是一個極小的正值常量,以防TD-error為0時,該經(jīng)驗樣本永遠(yuǎn)不會被回放;α為優(yōu)先級指數(shù),可見α=0 時為均勻經(jīng)驗回放;k為抽取的經(jīng)驗樣本批量數(shù)。
優(yōu)先經(jīng)驗回放以TD-error 為優(yōu)先級抽取經(jīng)驗池中的樣本,替代了均勻隨機抽取,改變了經(jīng)驗樣本回放的分布,從而引入了偏差,導(dǎo)致訓(xùn)練過程不穩(wěn)定。為糾正偏差,在計算誤差的時候,加入重要性抽樣權(quán)重系數(shù)μ,因此計算經(jīng)驗樣本e的誤差公式記為:
其中,權(quán)重系數(shù)μe可表示為:
其中,β為非均勻概率的補償系數(shù),隨著訓(xùn)練進程逐漸增加到1;N為經(jīng)驗池大小。
假設(shè)在一個稀疏獎賞的環(huán)境中,即智能體并不能在每步都取得環(huán)境反饋的獎賞,設(shè)智能體動作空間大小為Na,則選取動作at的概率為(1/Na)。圖1 表示的是稀疏獎賞環(huán)境中成功獲得獎賞的訓(xùn)練回合的流程,狀態(tài)s1選擇動作a1到達(dá)狀態(tài)s2,但并沒有獲得獎賞,直到狀態(tài)sn-1選取動作an-1到達(dá)狀態(tài)sn取得獎賞rn+1,意味著只有采取了正確的動作序列{a1,a2,…,an-1} ,才能獲得獎賞,而獲得獎賞的概率為(1/Na)n,若完全依靠隨機性在稀疏獎賞環(huán)境中探索,無疑這會減緩訓(xùn)練進程,甚至在訓(xùn)練回合數(shù)少的任務(wù)中完全得不到獎賞,不能取得訓(xùn)練效果。
圖1 稀疏獎賞環(huán)境模型
優(yōu)先經(jīng)驗回放對存儲在經(jīng)驗池中的經(jīng)驗樣本按優(yōu)先級概率回放,提高了重要樣本的利用效率,但依舊利用ε貪心策略探索,將到達(dá)的每個狀態(tài)不加區(qū)分地存入經(jīng)驗池中,并沒有改變智能體的探索策略,在稀疏獎賞的環(huán)境中仍然完全依靠隨機性來獲取到反饋獎賞。為解決這個問題,引入狀態(tài)估計方法,提出優(yōu)先狀態(tài)估計的雙深度Q網(wǎng)絡(luò)(DDQN-PSE)算法模型,即神經(jīng)網(wǎng)絡(luò)不僅僅近似Q 函數(shù),同時近似狀態(tài)估計,網(wǎng)絡(luò)訓(xùn)練的誤差值為狀態(tài)優(yōu)先級大小。為了使得狀態(tài)的近似與Q 函數(shù)的近似不相互干擾,獨立運行,不把狀態(tài)估計作為Q 網(wǎng)絡(luò)的參數(shù),而是建立一個新的非線性擬合函數(shù)f(s;θ),因此可以適用于任何強化學(xué)習(xí)算法,同時參考Q網(wǎng)絡(luò)的設(shè)置,使用一個目標(biāo)網(wǎng)絡(luò)作為目標(biāo)擬合函數(shù)f(s;θ-) ,同樣計算均方誤差,誤差公式可表示為:
其中,s為狀態(tài)作為神經(jīng)網(wǎng)絡(luò)的輸入,θ-表示目標(biāo)網(wǎng)絡(luò)的參數(shù)。以誤差值作為狀態(tài)的優(yōu)先級ps,誤差越大,則說明該狀態(tài)被訪問的少,應(yīng)該增加該狀態(tài)的訪問頻率。為了避免出現(xiàn)預(yù)測誤差導(dǎo)致的狀態(tài)估計誤差,f(s;θ-)不隨著訓(xùn)練進程更新網(wǎng)絡(luò)參數(shù),而是維持一個不變值,因此基于神經(jīng)網(wǎng)絡(luò)的泛化能力,可以推斷狀態(tài)之間的相似性。
如圖2所示,將狀態(tài)優(yōu)先級ps作為經(jīng)驗樣本的信息之一,存入經(jīng)驗池中。將狀態(tài)優(yōu)先級與Q 函數(shù)結(jié)合,表示為:
其中,r表示當(dāng)前狀態(tài)獲得的獎賞,γ表示折扣因子系數(shù),s'為下一個狀態(tài),a'為下一個狀態(tài)選擇的動作。為了避免優(yōu)先級低的狀態(tài)長時間不被訪問,同時結(jié)合ε貪心策略進行探索,保證一定的隨機性,從而保證狀態(tài)樣本的多樣性,防止過擬合的情況出現(xiàn)。DDQN-PSE具體算法流程如下所示:
圖2 狀態(tài)估計模型
算法1DDQN with Prioritized State Estimation
初始化:固定經(jīng)驗池D大小,隨機Q網(wǎng)絡(luò)參數(shù)w,隨機狀態(tài)網(wǎng)絡(luò)參數(shù)θ,固定批量采樣數(shù)T大小。
輸入:訓(xùn)練回合數(shù)N,回合訓(xùn)練步數(shù)K,觀察步數(shù)M,折扣因子γ,批量采樣數(shù)T,目標(biāo)網(wǎng)絡(luò)更新頻率F,指數(shù)α、β。
輸出:Q函數(shù)值。
1.t=0
2. 初始化狀態(tài)st
3. form=1 toMdo
4. 選取動作at,到達(dá)下一個狀態(tài)st+1,ps=0
5. 將樣本(st,at,rt+1,st+1,ps,d)存入經(jīng)驗池D中
6.t=t+1
7. end for
8. fori=1 toNdo
9.tstart=t
10. 選取動作at,到達(dá)下一個狀態(tài)st+1
12. 將樣本(st,at,rt+1,st+1,ps,d)存入經(jīng)驗池D中
13.t=t+1
14. ift >Mthen
15. 批量采樣T個樣本
17. 計算誤差L(w)為
19. 更新梯度Δw←Δw+μeL(w)?wQ(se,ae;w),Δθ←Δθ+L(θ)?θ f(se;θ)
20. 更新網(wǎng)絡(luò)參數(shù)w、θ
21. if (t-tstart)%F==0 then
22. 更新目標(biāo)網(wǎng)絡(luò)參數(shù)θ-=θ
23. end for
算法在第3~7 步,為訓(xùn)練觀察步數(shù),先在經(jīng)驗池中積累一定的經(jīng)驗樣本,在開始訓(xùn)練網(wǎng)絡(luò)之前增加樣本的多樣性,利于后續(xù)的訓(xùn)練學(xué)習(xí)。第8~11步與環(huán)境交互,獲得經(jīng)驗樣本,存入經(jīng)驗池中。在第14~19步采樣批量樣本進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,其中,第16步中TD-target使用DDQN 算法,為了減少過估計,并且使用公式(13)中的改進Q 函數(shù)。第20~21 步為在一定步數(shù)后更新目標(biāo)網(wǎng)絡(luò)參數(shù),使得訓(xùn)練過程更為穩(wěn)定,同時解決難以收斂的問題。
本文選取OpenAI Gym[19]中的MountainCar-v0 與Atari 2600 游戲中的FreewayNoFrameskip-v4 進行實驗對比測試。兩者均屬于稀疏獎賞環(huán)境,在這兩個問題中,DDQN 算法需要足夠的隨機探索,即大量的訓(xùn)練回合,才能取得首次反饋獎賞。
在MountainCar-v0 環(huán)境中,Q 網(wǎng)絡(luò)、狀態(tài)網(wǎng)絡(luò)均使用三層全連接線性層,參考DQN 網(wǎng)絡(luò)參數(shù)設(shè)置[6],其中特征層神經(jīng)元數(shù)為64,隱藏層神經(jīng)元數(shù)為128,輸出層神經(jīng)元數(shù)為MountainCar-v0環(huán)境的動作空間大小,激活函數(shù)使用ReLU。經(jīng)驗池大小為10 000,目標(biāo)網(wǎng)絡(luò)更新頻率為500,ε參數(shù)初始為1.0,隨著訓(xùn)練進程呈指數(shù)級衰減,直到為0.1后固定數(shù)值,折扣系數(shù)γ為0.9,批量采樣數(shù)為64,梯度下降算法使用Adam優(yōu)化算法,Adam算法的學(xué)習(xí)率設(shè)置為0.001。FreewayNoFrameskip-v4 是Atari2600 游戲中的無預(yù)處理的原始游戲版本,為了減輕計算負(fù)擔(dān),加快訓(xùn)練進程,需要對圖像進行預(yù)處理操作,只留下必要的信息,避免無用信息占據(jù)計算資源。在Atari 2600 游戲中,原始圖像是尺寸為210×160×3的RGB圖像,為了降低輸入圖像的維數(shù),將RGB圖像轉(zhuǎn)換為灰度圖,減少了圖像的通道數(shù),由于任務(wù)中并不涉及顏色處理,因此能在不影響智能體訓(xùn)練的情況下降低計算需求。其次,再將轉(zhuǎn)換后的灰度圖降采樣為110×84×1 的圖像,為了使用卷積神經(jīng)網(wǎng)絡(luò)[20]進行特征處理,將其裁剪為84×84×1 的正方形圖像,同時以連續(xù)4 個狀態(tài)為一組作為網(wǎng)絡(luò)的輸入用于分析動態(tài)特征,則神經(jīng)網(wǎng)絡(luò)的輸入為84×84×4。使用卷積神經(jīng)網(wǎng)絡(luò)與全連接層結(jié)合作為特征處理層,卷積層具體細(xì)節(jié)如表1所示。
表1 卷積神經(jīng)網(wǎng)絡(luò)層
卷積層的輸出經(jīng)過扁平化處理后,作為全連接層的輸入。全連接層包含兩層全連接網(wǎng)絡(luò),分別為隱藏層與輸出層,隱藏層的神經(jīng)元數(shù)為512,輸出層神經(jīng)元數(shù)為FreewayNoFrameskip-v4 環(huán)境的動作空間大小,激活函數(shù)均使用ReLU,狀態(tài)網(wǎng)絡(luò)與Q網(wǎng)絡(luò)結(jié)構(gòu)一致,僅于輸出層神經(jīng)元數(shù)不同,為64。具體超參數(shù)設(shè)置如表2所示。
表2 超參數(shù)設(shè)置
為了保證經(jīng)驗樣本的多樣性,結(jié)合ε貪心策略進行探索,ε參數(shù)的衰退步數(shù)為回合的訓(xùn)練步數(shù)。狀態(tài)網(wǎng)絡(luò)近似的誤差由于所處訓(xùn)練環(huán)境的不同,或者所在時間步的不同,會有近似結(jié)果出現(xiàn)較大差異的可能性,這難以判斷是因為狀態(tài)的優(yōu)先級高,還是因為誤差導(dǎo)致。為了保持狀態(tài)網(wǎng)絡(luò)近似的誤差在一致的范圍內(nèi),需要對其取值區(qū)間進行限制。由于OpenAI Gym 與Atari2600 環(huán)境中,單次獎賞的區(qū)間為[-1,1] ,因此將狀態(tài)優(yōu)先值,縮緊到區(qū)間[-1,1] 內(nèi)。
在MountainCar控制問題和FreeWay游戲中對比基準(zhǔn)算法雙深度Q網(wǎng)絡(luò)(DDQN)、優(yōu)先經(jīng)驗回放的雙深度Q網(wǎng)絡(luò)(DDQN-PER),以及本文提出的優(yōu)先狀態(tài)估計的雙深度Q 網(wǎng)絡(luò)(DDQN-PSE)。為了實驗分析部分表述的清晰簡潔,DDQN-PER算法以PER算法進行表示,而DDQN-PSE算法以PSE算法進行表示。
實驗結(jié)果如圖3所示,以50的滑動窗口大小取移動平均值,通過實驗對比發(fā)現(xiàn),PSE 算法區(qū)分了狀態(tài)之間的優(yōu)先級,鼓勵智能體去探索更多未知的狀態(tài),緩解了在得不到有效反饋時原地打轉(zhuǎn)的困境。在圖3(a)、(b)中均可發(fā)現(xiàn),PSE 算法很快地獲得了反饋獎賞,擺脫了稀疏獎賞的困境,然而在后續(xù)的表現(xiàn)卻不盡人意,并沒有把回合獎賞最大化作為目標(biāo)。
圖3 算法間平均獎賞對比
進一步分析具體情況,即訓(xùn)練過程與回合累積的狀態(tài)優(yōu)先值的變化,如圖4 所示。圖4(a)中可以看到,對于狀態(tài)優(yōu)先值曲線,首次在200訓(xùn)練步前結(jié)束回合是第一個峰值,在獲得較高的回合獎賞時是第二個峰值,在獲得最高獎賞時是第三個峰值,理論上在MountainCar環(huán)境中,獲得越高的獎賞情況下,狀態(tài)優(yōu)先值應(yīng)該越低(由于更早地結(jié)束了回合,累積狀態(tài)優(yōu)先值更低),說明為了得到更多的狀態(tài)估計值,探索了無關(guān)的狀態(tài),在500回合數(shù)之后,依舊沒有利用已知信息去將回合獎賞最大化,狀態(tài)優(yōu)先值曲線處于穩(wěn)定狀態(tài),說明環(huán)境中已有狀態(tài)基本被探索完畢。
在圖4(b)中,由于FreeWay 環(huán)境中,馬路中間車輛不斷移動,造成狀態(tài)空間巨大,因此在50 回合數(shù)之前,不斷訪問新的狀態(tài),狀態(tài)優(yōu)先值持續(xù)保持最大值,隨后逐漸下降,在獲得回合獎賞最大值時對應(yīng)狀態(tài)優(yōu)先值最小值,隨后回合獎賞值逐漸下降為0,而狀態(tài)優(yōu)先值卻開始上升,說明直接到馬路對岸獲得獎賞從而將獎賞最大化的策略,與探索更多狀態(tài)的策略產(chǎn)生矛盾。
圖4 平均獎賞與狀態(tài)優(yōu)先值對比
基于上述描述,結(jié)合圖中平均獎賞與狀態(tài)優(yōu)先值曲線對比,以及值大小的對比,可以推斷探索策略以回合內(nèi)訪問更多狀態(tài)為主,而不是獲取最大回合獎賞,具體地說,累積的狀態(tài)優(yōu)先值相比于平均獎賞值過大,例如FreeWay 游戲中,即使?fàn)顟B(tài)優(yōu)先值已經(jīng)被縮進在[-1,1]區(qū)間,但在一個回合2 000訓(xùn)練步數(shù)中,每步動作后都會返回一個狀態(tài)優(yōu)先值,而獎賞必須到達(dá)馬路對面才能獲得,獎賞值在其中占的比例過小,在實際游戲場景中小雞傾向于在馬路中間不停躲避車輛以獲取新的狀態(tài),而不是穿越馬路獲得環(huán)境給予的獎賞,具體地說,導(dǎo)致了對得到的獎賞值不敏感,仍舊追求更大的累積狀態(tài)優(yōu)先值的行為。
針對上述問題,對公式(13)進行改進,將環(huán)境給予的外部獎賞與狀態(tài)優(yōu)先值,以一定權(quán)重系數(shù)ξ結(jié)合。改進后的Q函數(shù)記為:
其中,為了動態(tài)地適應(yīng)各類環(huán)境,ξ取值為1/K,K為環(huán)境中每個訓(xùn)練回合的訓(xùn)練步數(shù)。
在圖5中可以看到,改進后的PSE算法早于其余兩種算法取得環(huán)境反饋獎賞的同時,在后續(xù)的訓(xùn)練過程中取得了較優(yōu)的訓(xùn)練表現(xiàn),實驗說明智能體的探索重心重新回到以獲得環(huán)境獎賞上來,解決了狀態(tài)優(yōu)先級對訓(xùn)練的干擾。
圖5 改進后算法間平均獎賞對比
本文針對在稀疏獎賞環(huán)境中難以獲得獎賞問題,提出DDQN-PSE 方法,對狀態(tài)進行優(yōu)先級估計,改進了探索策略,使得在稀疏獎賞的環(huán)境中有更好的訓(xùn)練表現(xiàn)。在OpenAI Gym 與Atari 2600 中的稀疏獎賞環(huán)境MountainCar經(jīng)典控制問題環(huán)境與FreeWay游戲進行實驗對比,結(jié)果表明相比于幾種基于隨機探索的深度強化學(xué)習(xí)算法,訓(xùn)練穩(wěn)定性與訓(xùn)練表現(xiàn)均有提升。