?

基于TD-error自適應校正的深度Q學習主動采樣方法

2019-02-20 08:46白辰甲唐降龍
計算機研究與發展 2019年2期
關鍵詞:偏差經驗樣本

白辰甲 劉 鵬 趙 巍 唐降龍

(哈爾濱工業大學計算機科學與技術學院模式識別與智能系統研究中心 哈爾濱 150001)

強化學習[1](reinforcement learning, RL)是機器學習的重要分支.智能體在與環境的交互過程中根據當前狀態選擇動作,執行動作后轉移到下一個狀態并獲得獎勵.從智能體執行動作到獲得獎勵的過程產生了一條“經驗”,智能體從大量經驗中學習,不斷改進策略,最大化累計獎勵.傳統強化學習方法適用于離散狀態空間,不能有效處理高維連續狀態空間中的問題.線性值函數近似或非線性值函數近似法將狀態與值函數之間的關系進行參數化表示[2],可以處理高維狀態空間中的問題.其中,線性值函數近似有良好的收斂性保證,但往往需要人為提取狀態特征,且模型表達能力有限;非線性值函數近似沒有嚴格的收斂性證明,但具有強大的模型表達能力.Tesauro[3-4]將時序差分法(temporal difference, TD)與非線性值函數近似相結合,提出了TD-Gammon算法.該算法用前饋神經網絡對狀態值函數進行估計,在西洋雙陸棋中達到了人類頂尖水平.

近年來,深度學習[5-6]與強化學習相結合[7]的非線性值函數近似方法在大規模強化學習中表現出良好性能.谷歌DeepMind團隊提出了“深度Q網絡”[8-9](deep Q-network, DQN),DQN以圖像序列作為輸入,輸出對動作值函數的估計,策略表示為卷積神經網絡的參數.DQN在Atari 2600的大多數視頻游戲上的性能超過了人類專家水平.

對經驗樣本的存儲和采樣是DQN的關鍵問題.DQN在訓練中使用誤差梯度反向傳播算法,只有訓練樣本集合滿足或近似滿足獨立同分布時才能正常收斂[10].然而,智能體與環境交互產生的樣本前后具有強相關性.為了消除樣本相關性,DQN使用經驗池來存儲和管理樣本,在訓練中從經驗池中隨機取樣.DQN需要容量巨大的經驗池(約106),為了填充經驗池,智能體需要頻繁地與環境進行交互.然而,智能體與環境交互的代價非常昂貴的,不僅表現在時間的消耗上,更表現在安全性、可控性、可恢復性等諸多方面[11].因此,研究如何對樣本進行高效采樣、減少智能體與環境的交互次數、改善智能體的學習效果,對深度強化學習研究有重要意義.

目前針對DQN樣本采樣問題的研究主要有2個方面:1)并行采樣和訓練.使用多個智能體并行采樣和訓練,用異步梯度法更新Q網絡[12-13],其思想是通過并行采樣和訓練來打破樣本之間的相關性.2)主動采樣.強調樣本之間的差異性[14],為每個樣本設定優先級,按優先級進行采樣.Schaul等人[11]提出了優先經驗回放法(prioritized experience replay, PER),經驗池中樣本被采樣的概率與樣本的存儲優先級成正比,存儲優先級由經驗池中樣本上次參與訓練的TD-error決定.TD-error是樣本在使用TD算法更新時目標值函數與當前狀態值函數的差值,其中目標值函數是立即獎勵與下一個狀態值函數之和.盡管PER算法在一定程度上提高了樣本的利用效率,但在包含大量樣本的經驗池中,每個時間步僅有少量樣本可以參與Q網絡迭代,其余樣本無法參與訓練,這些樣本的TD-error沒有跟隨Q網絡的更新而變化,導致樣本的存儲優先級無法準確反映經驗池中TD-error的真實分布.

為了進一步提高樣本的采樣效率,應當以更準確的采樣優先級在經驗池中選擇樣本.本文研究發現,經驗池中樣本距離上次被采樣的時間間隔越長,樣本的存儲TD-error偏離真實值越遠.由于長時間未被采樣的樣本數量巨大,導致存儲優先級與真實優先級的偏差較大.本文提出一種基于TD-error自適應校正的主動采樣模型(active sampling method based on adaptive TD-error correction, ATDC-PER).該模型基于樣本回放周期和網絡狀態在樣本與優先級偏差之間建立映射關系,實現對存儲優先級的校正,在Q網絡每次訓練中都使用校正后的優先級在經驗池中選擇樣本.本文提出的偏差模型參數是自適應的,在訓練中模型始終跟隨Q網絡的變化,對采樣優先級的估計更為合理.實驗結果表明,校正后的優先級符合經驗池中樣本TD-error的分布,利用校正后的優先級選擇樣本提高了樣本的利用效率,減少了智能體與環境的交互,同時改善了智能體的學習效果,獲得了更大的累計獎勵.

1 相關工作

1.1 強化學習

強化學習的目標是最大化累計獎勵.智能體通過從經驗中學習,不斷優化狀態與動作之間的映射關系,最終找到最優策略(policy).智能體與環境的交互過程可以用馬爾可夫決策過程[15](Markov decision processes, MDP)來建模.在周期型任務中,MDP包括一系列離散的時間步0,1,2,…,t,…,T,其中T為終止時間步.在時間步t,智能體觀察環境得到狀態的表示St,根據現有策略π選擇動作At并執行.執行動作后MDP到達下一個時間步t+1,智能體收到獎勵Rt+1并轉移到下一個狀態St+1.回報定義為折扣獎勵之和,智能體通過調整策略來最大化回報.動作狀態值函數是指智能體處于狀態s時執行動作a,隨后按照策略π與環境交互直到周期結束所獲得的期望回報,記為Qπ(s,a).

最優策略求解一般遵循“廣泛策略迭代”的思想,包含策略評價和策略提升[1].策略評價是已知策略計算值函數的過程,策略提升是已知值函數選擇最優動作的過程.策略評價中值函數Qπ(s,a)的求解可以使用貝爾曼方程[15]轉換為遞歸形式

其中,r是立即獎勵,γ是折扣因子.值函數定義了在策略空間上的偏序關系,存在最優策略π*優于(或等同于)其他所有策略.

1.2 深度Q網絡

深度Q網絡[9](DQN)遵循Q-learning算法的更新法則,與線性值函數近似的不同之處在于DQN使用Q網絡來表示動作值函數,進而表示策略.Q網絡是由卷積層和全連接層組成的卷積神經網絡(CNN).DQN的主要特點有2個:

1) 使用2個獨立的Q網絡.分別使用θ和θ-代表Q網絡和目標Q網絡的參數,每隔L個時間步將Q網絡的參數復制到目標Q網絡中,即θ-←θ,隨后θ-在L個時間步內保持不變.DQN中TD-error定義為

(1)

2) 使用經驗池存儲和管理樣本,使用經驗回放[25]選擇樣本.樣本存儲于經驗池中,從經驗池中隨機抽取批量樣本訓練Q網絡.使用經驗回放可以消除樣本之間的相關性,使參與訓練的樣本滿足或近似滿足獨立同分布.

在DQN的基礎上,Hasselt等人[26-27]指出,DQN在計算TD-error時使用相同的Q網絡來選擇動作和計算值函數會導致值函數的過高估計,進而提出了DDQN(double DQN)算法.該算法用Q網絡來選擇動作,用目標Q網絡來估計值函數,從而消除了對值函數的過高估計,并提升了智能體的累計獎勵.DDQN中TD-error由式(2)計算:

(2)

此外,一些研究從不同角度提出了DQN的改進方法,主要思路可以分為:1)從探索和利用的角度[28-31],將傳統強化學習中使用的探索與利用策略擴展到深度強化學習中,改進DQN中的ε-貪心策略.2)從網絡結構的角度,使用競爭式網絡結構[32],分別估計動作值函數和優勢函數.3)從并行訓練的角度[12-13],消除樣本之間的相關性,同時加速訓練.4)從減少訓練中獎勵方差的角度[33],使用多個迭代步的延遲估計Q值,使其更加穩定.5)從模型之間知識遷移和多任務學習的角度[34-35],擴展DQN的使用范圍.6)從視覺注意力的角度,使智能體在訓練中將注意力集中于有價值的圖像區域[36].7)從主動采樣,減少與環境交互次數的角度[11],使用基于TD-error的優先經驗回放來提高樣本的利用效率.

1.3 優先經驗回放

Fig. 1 The main architecture of ATDC-PER model 圖1 本文方法(ATDC-PER)的總體結構

優先經驗回放是一種有效的管理經驗池的方法.原始的DQN算法在訓練時不考慮經驗池中樣本之間的差異,隨機抽取樣本進行訓練,導致樣本的利用效率較低,智能體需要頻繁地與環境進行交互.針對這一問題,Schaul等人[11]提出了優先經驗回放法(PER)來估計每個樣本的優先級,按照優先級選擇樣本訓練Q網絡.樣本優先級由樣本的TD-error分布決定.樣本的TD-error絕對值越大,在訓練中造成的Q網絡損失越大,表明該樣本給Q網絡帶來的信息量越大,在Q網絡后續迭代中應“優先”選擇該樣本參與訓練.PER算法的主要特點有3個:

1) 樣本優先級基于樣本上次參與訓練時的TD-error值.長時間未參與訓練的樣本在經驗池中存儲的TD-error長時間未更新,這些樣本的TD-error無法跟隨Q網絡的變化.只有上一個時間步參與訓練的批量樣本的TD-error值被更新,然而這部分樣本僅占經驗池中樣本的少數.

2) 采樣時在優先級的基礎上引入隨機性.完全按照優先級進行采樣會降低樣本的多樣性,因此PER算法中引入隨機性,使樣本被抽取的概率與優先級成正比,同時所有樣本都有機會被采樣.

3) 優先級的引入相對于均勻抽樣改變了樣本的分布,引入了誤差.PER算法使用重要性采樣權重對誤差進行補償.在計算損失函數梯度時,需在原有梯度的基礎上乘以重要性采樣權重,按補償后的梯度進行更新.

PER算法[11]具有高度的靈活性,可與離策略的深度強化學習方法進行廣泛結合.例如,文獻[37-38]將PER算法和策略梯度法結合,提高了確定性策略梯度算法[39-40](deep deterministic policy gradient, DDPG)在仿真機器人控制中的數據利用效率;PER算法與深度Q學習的結合提高了經驗池中樣本的利用效率,顯著減少了智能體與環境的交互次數,提升了智能體的最優策略得分[11].

2 基于TD-error校正的主動采樣模型

PER算法的問題在于,經驗池中存儲的TD-error值相對于Q網絡來說更新不及時,無法準確反映樣本的優先級.在每次迭代中Q網絡都會更新自身參數,而經驗池僅可更新參與訓練的批量樣本的TD-error值,此類樣本的數量約占經驗池容量的0.1%.這導致大多數樣本的存儲TD-error無法跟隨Q網絡的變化,并進一步導致樣本在經驗池中的存儲優先級與“真實”優先級之間存在偏差.本文分析了這種偏差對學習的影響,并闡述了依據真實或逼近真實的TD-error分布產生的優先級來選擇樣本能夠使深度Q網絡以更高的效率收斂到最優策略.

本文提出基于TD-error自適應校正的主動采樣模型(ATDC-PER)來校正樣本的存儲優先級,使用校正后的優先級分布進行主動采樣,能夠提高經驗池中樣本的利用效率.圖1是本文方法ATDC-PER的總體結構,主要包括“偏差模型”和“優先級校正”兩部分.其中,優先級校正需在所有時間步進行,偏差模型則每隔D個時間步更新1次.2.1節使用引例說明TD-error及樣本優先級分布對學習的作用,2.2節闡述ATDC-PER的建模過程,2.3節給出算法描述和復雜度分析.

2.1 TD-error偏差分析

本節用強化學習中的經典問題平衡車[41](CartPole)為引例①https:gym.openai.comenvsCartpole-v0,說明PER算法中經驗池的存儲TD-error與真實TD-error之間存在偏差,并分析TD-error分布對學習的作用.

CartPole的狀態表示為4維向量,包括桿的角度、桿運動的角速度、車的位置和車運動的速度,如圖2所示:

Fig. 2 The state of CartPole圖2 倒立擺的狀態表示

智能體通過向小車施加+1或-1的力來盡力保持桿的平衡.在時間步t,如果桿與垂直方向的角度不超過15度且小車與中心的距離不超過2.4個單元,則獎勵為+1,否則獎勵為-1同時周期結束.設1個周期的時間步不超過200步,則智能體在1個周期內所獲得的最大獎勵不超過200.用基于DDQN的PER算法來訓練Q網絡,Q網絡是包含64個隱含層節點的3層全連接網絡,經驗池容量為50 000.

PER算法中經驗池用樣本集合E={e(1),e(2),…,e(m)}表示,其中序號為i的樣本e(i)=s(i),a(i),r(i),s′(i)∈E.PER算法在每次迭代時抽取E中的1個批量樣本進行訓練.本文將樣本e(i)上次參與訓練的TD-error值稱為樣本的存儲TD-error,記為δ(i).設當前時間步為t,e(i)上次參與訓練的時間步為t-τ(i),則δ(i)由式(3)計算[27]:

(3)

由式(3)可知,存儲TD-error計算中使用的參數θt-τ(i)不是當前Q網絡參數,而是τ(i)個時間步之前的參數.在τ(i)個時間步內Q網絡經歷了τ(i)次參數迭代,而存儲TD-error值卻保持不變.這導致樣本的存儲TD-error與當前Q網絡不匹配,且τ(i)的值越大,這種不匹配程度越高.新樣本加入經驗池時τ(i)=1,每經歷1個時間步,參與該時間步訓練的樣本τ(i)置1,未參與該時間步訓練的樣本τ(i)加1.由于經驗池滿后新樣本會覆蓋老樣本,因此所有樣本τ(i)的取值范圍均在1到經驗池樣本總量之間.圖3顯示了CartPole在訓練周期為420時經驗池樣本的τ(i)的分布,樣本按τ(i)由小到大排序,經驗池中樣本總數為50 000.圖3表明,經驗池中有大量樣本的τ(i)值較大,這些樣本長期沒有參與訓練,δ(i)長期未更新.因此,存儲優先級與當前Q網絡的不匹配程度較高.

Fig. 3 Distribution of τ(i) in experience memory when training episode is 420圖3 訓練周期為420時經驗池中樣本的τ(i)的分布

(4)

p(i)=(|δ(i)|+ε)α,

(5)

(6)

其中ε和α均為常數.樣本TD-error的絕對值越大,在采樣中樣本的優先級就越高.

Fig. 4 Distribution of p(i) and in CartPole training when training episode is 180圖4 CartPole訓練周期為180時p(i)和分布圖

(7)

圖5顯示了優先級偏差的絕對值|Δp(i)|的分布,樣本仍按照p(i)由大到小排序.

Fig. 5 Distribution of |Δp(i)| in CartPole training when training episode is 180圖5 CartPole訓練周期為180時|Δp(i)|的分布圖

圖4和圖5表明,PER算法中使用基于δ(i)的存儲優先級進行主動采樣存在2個問題:

2)δ(i)的分布不能準確反映經驗池的真實情況.其中,當|δ(i)|較大時,樣本被抽取的概率高,τ(i)值較小,期間Q網絡變化不明顯,優先級偏差較小,此時可以使用存儲優先級作為真實優先級的近似估計;但當|δ(i)|較小時,τ(i)值較大,Q網絡在τ(i)個時間步內參數變化較大,導致存儲優先級偏離真實優先級的分布,此時基于δ(i)的存儲優先級不能準確反映經驗池的情況.

Fig. 6 Training curve comparison using experience replay with p(i) and 圖6 使用p(i)和作為優先級的訓練曲線對比

2.2 ATDC-PER模型

真實優先級和存儲優先級的偏差分布具有穩定性,所以ATDC-PER方法對偏差模型更新周期D的選取是不敏感的.真實優先級與存儲優先級的不同之處在于計算時使用的Q網絡參數不同,真實優先級使用時刻t的Q網絡參數,而存儲優先級使用t-τ(i)時刻的Q網絡參數,二者的區別在于τ(i)的分布.如圖3所示,τ(i)在經驗池中呈現長尾分布,最小值為1,最大值為經驗池樣本總量.在訓練中經驗池填充滿后容量不再發生變化,τ(i)分布具有穩定性,因此偏差模型不需要頻繁更新.

ATDC-PER算法在訓練過程中偏差模型分段更新的示意圖如圖7所示,橫軸代表訓練時間步,縱軸代表智能體在周期內的累計獎勵.偏差模型更新后的D個時間步內均使用該模型進行優先級校正,可以極大地減少時間開銷.

Fig. 7 Interval update policy in ATDC-PER algorithm圖7 ATDC-PER算法的分段更新策略示意圖

2.2.1 偏差模型

從經驗池中提取的樣本特征是偏差模型的輸入,真實優先級和存儲優先級之間的優先級偏差作為樣本標簽,是偏差模型的輸出.使用線性回歸模型對樣本特征與樣本標簽之間的關系進行建模,通過最小化平方損失函數來求解模型參數w.

1) 樣本特征.樣本特征是針對單個樣本而言的.特征在訓練中的經驗池中保存且與優先級偏差相關.樣本特征包括:

(8)

(9)

(10)

(11)

Atari游戲Pong①https:gym.openai.comenvsPong-v0和Breakout②https:gym.openai.comenvsBreakout-v0在訓練時間步為105時經驗池中所有樣本的樣本特征,和樣本標簽Δ的分布如圖8所示,樣本按照存儲優先級排序,具體的設置將在實驗部分介紹.圖8表明,樣本的存儲優先級和回放周期都與優先級偏差Δ密切相關.

Fig. 8 Distribution of feature , and label Δ in Pong and Breakout when t=105圖8 Pong和Breakout在t=105時樣本特征,和樣本標簽Δ的分布

3) 偏差模型參數求解.使用回歸模型來對樣本特征和樣本標簽之間的關系進行建模.由于樣本特征與樣本標簽之間的關系明顯,因此使用線性回歸模型.同時,線性回歸模型在當前的輸入輸出條件下存在閉式解,不需要使用梯度法迭代求解,時間開銷很小.

權重向量w的維度與特征x(i)的維度相同.根據線性回歸模型的定義,假設函數hw(x(i))表示為

(13)

設當前經驗池中樣本數為m,則全體樣本組成的特征矩陣X∈m×6,表示為

(14)

(15)

損失函數為平方誤差損失,記為J(w).經驗池中所有樣本的平均損失表示為

(16)

參數向量w為使得損失J(w)取最小值的解.由于特征矩陣X的元素均大于0,w存在閉式解.經推導可得,最小化損失函數J(w)的w的解為

w=(XTX)-1XTy.

(17)

2.2.2 優先級校正

(18)

(19)

Fig. 9 Distribution of , and at step t=107 in Breakout training圖9 Breakout訓練中t=107時,和分布

2.3 算法描述和復雜度分析

2.3.1 算法描述

ATDC-PER的算法流程如算法1所示.

算法1. ATDC-PER算法.

輸入:偏差模型特征階數K、偏差模型更新周期D、獎勵折扣因子γ、樣本批量大小k、學習率η、經驗池容量N、偏差模型參數α、重要性權重β、訓練終止時間步T、目標Q網絡更新頻率L;

輸出:Q網絡參數;

初始化:經驗池為空,批量梯度Δ=0,初始化Q網絡和目標Q網絡參數為θ和θ-.

① 根據初始狀態S0,以ε-貪心選擇動作A0~πθ(S0);

② fort=1 toTdo

③ 觀察到狀態St并獲得獎勵Rt;

④ 將經驗序列(St-1,At-1,Rt,St)存儲到經驗池中,并賦予當前經驗池中最大的優先級;

⑤ ift%D==0

⑥ 樣本特征提取,構造如式(14)所示的特征矩陣X;

⑧ 偏差模型求解,將偏差模型參數更新為w=(XTX)-1XTy;

⑨ end if

Q(Sj-1,Aj-1);

其中行⑤~⑨是偏差模型更新的過程,需在t,t+D,t+2D,…等時間步計算經驗池的樣本特征和優先級偏差進行訓練,求解模型參數w.行⑩是優先級校正的過程,通過偏差模型得到樣本真實優先級的估計.行在優先級的基礎上加入隨機性,樣本被采樣的概率與優先級成正比,同時所有樣本都有機會被采樣.行~計算損失函數的梯度,計算梯度時需在TD-error的基礎上乘以重要性權重(importance sampling weight)系數[42],原因是按照優先級采樣與均勻采樣相比會給梯度的計算帶來誤差,因此使用采樣概率的比值φ進行補償[11],并使用全部樣本的φ的最大值進行規約,如式(20)所示.

φj=(N×P(j))-β,

(20)

其中,k=1,2,…,N,N為經驗池容量,β是一個常數,P(j)為樣本e(j)的采樣優先級在全體樣本中所占的比例,如式(21)所示.

(21)

2.3.2 復雜度分析

ATDC-PER算法包括偏差模型和優先級校正兩部分.根據分段更新策略,在執行D次優先級校正的同時會執行一次偏差模型更新.由于偏差模型更新的時間復雜度較高,而優先級校正僅執行矩陣乘法和加法,時間復雜度低,所以分段更新策略可以使復雜度高的部分以極低的頻率執行,從而減少時間開銷.

1) 偏差模型的復雜度分析.偏差模型更新包括樣本特征提取、樣本標簽提取和模型求解3個階段,分析如下:

① 樣本特征提取.原始的樣本特征維度為2,提取K階多項式后的特征向量x(i)∈,特征矩陣X∈.其中,m的值不超過經驗池總容量,且在經驗池填充滿之后不再變化,是一個常數.因此特征提取的時間復雜度和空間復雜度均為O(K2).

③ 偏差模型求解.模型求解階段的時間消耗集中在式(17)中對參數向量w的求解上.XTX∈,在此基礎上求逆的時間復雜度為Ο(K6),空間復雜度為Ο(K2).

2) 優先級校正的復雜度分析.優先級校正階段在提取樣本特征Xt后與參數向量w執行矩陣乘法,時間復雜度為Ο(K4),空間復雜度為Ο(K2).

由于ATDC-EPR算法中間隔D個時間步偏差模型才更新一次,D的取值較大,其余時間步都僅執行優先級校正的操作,因此總體時間復雜度為Ο(K4),空間復雜度為Ο(K2).另外,一般K=2時偏差模型就可以很好地估計優先級偏差,此時求解參數w所需的逆矩陣(XTX)-1∈6×6,規模較小,可以快速求解.

經過復雜度分析,本文提出的ATDC-PER算法以極小的時間和空間代價就可以在Q網絡每次迭代中校正經驗池中樣本的存儲優先級,使用校正后的優先級選擇樣本.

3 實驗結果與分析

本節首先介紹實驗平臺和環境,隨后介紹ATDC-PER算法的參數選擇,通過對比實驗說明參數對性能的影響,最后從智能體的學習速度和最優策略的質量2方面對實驗結果進行分析.

3.1 實驗平臺描述

實驗使用基于Atari 2600游戲平臺Arcade Learning Environment(ALE)[43]的OpenAI集成環境[44].ALE平臺包含數十個視頻游戲,并對外提供接口.ALE平臺的挑戰在于游戲種類和數量豐富,包含益智類、體育類、策略類、射擊類、搏斗類等多種類型的游戲,需多個游戲中使用同一算法,在超參數固定的情況下,僅以原始屏幕圖像作為輸入進行學習和訓練.

本文選擇ALE平臺中的19個游戲進行實驗,游戲的簡要介紹列于表1,各游戲界面如圖10所示.可以看出,游戲類型多樣,游戲的界面風格不同,在訓練中Q網絡的輸入不同.同時,每個游戲中智能體需完成的任務不同,即最終學習的策略也不同.

Table 1 A Brief Introduction to 19 Atari Games表1 19個Atari游戲的簡要介紹

Fig. 10 State representations of 19 Atari games圖10 19個Atari游戲的狀態表示

本文使用的計算平臺為戴爾PowerEdge T630塔式工作站,工作站配置2顆Intel Xeon E5-2609 CPU、4塊NVIDIA GTX-1080Ti顯卡(GPU)和64 GB內存,每個游戲使用單獨的一塊顯卡進行訓練.卷積神經網絡基于Tensorflow[45]開源庫實現,本文核心代碼、實驗結果和測試視頻均可下載①http:pr-ai.hit.edu.cn20180510c1049a207703page.htm.

3.2 ATDC-PER參數選擇

ATDC-PER算法在全部游戲中使用相同的超參數集合,以驗證模型的通用性.ATDC-PER算法在PER算法的基礎上增加了2個超參數,分別是偏差模型更新周期D和偏差模型特征階數K,其余參數的設置與PER算法的設置相同.狀態表示為原始圖像預處理并疊加4幀組成的84×84×4的矩陣;Q網絡為3層卷積神經網絡,輸出每個動作的值函數,目標Q網絡的更新頻率設為40 000;鑒于不同游戲的分值計算方式不同,使用符號函數對獎勵進行規約;為了使訓練更加穩定,對回傳的梯度進行限制,使其不超過10.使用基于平方誤差損失的Adam優化器進行訓練,批量大小k=32,學習率設為10-4,折扣因子γ=0.99;探索因子在前400萬幀從1.0線性遞減至0.1,在隨后的時間步內以之前速度的110線性遞減至0.01后保持不變;經驗池容量設為106;優先級計算中使用的參數α=0.6;重要性權重計算中使用的參數β初始值設為0.4,在訓練中線性增加至1.0.

3.2.1 偏差模型更新周期

通過在Alien,Breakout,Pong的訓練過程中使用不同的偏差模型更新周期D來測試參數D對Q網絡學習的影響.在訓練過程中的時刻t訓練偏差模型得偏差模型參數wt,使用不同的參數D,測試模型wt在位于時刻t+D的經驗池樣本的平均損失,損失的計算如式(16)所示.不同的偏差模型更新周期D下的平均損失對比列如表2所示:

Table 2 Average Loss of Bias Model Trained in t Steps and Tested in t+D Steps Under Different D Values表2 比較不同D值下時刻t訓練的偏差模型在時刻t+D測試的平均損失

由表2可知,隨著偏差模型更新周期D的增加,損失總體升高.但從數值上看,損失的升高并不明顯,特別是在105個時間步內,因此實驗中將D的值設置為105.表2數據表明本文提出的偏差模型具有較強的泛化能力,對偏差模型更新周期D的選擇不敏感,偏差模型可以在訓練后較長的時間步內適用,同時也驗證了圖7所示的分段更新策略的合理性.

3.2.2 偏差模型特征階數

偏差模型的特征階數K越大,模型復雜度越高,訓練誤差越小,但計算復雜度也隨之升高,同時可能引起過擬合.通過在游戲Alien,Breakout,Pong的訓練過程中進行粗搜索來選擇K的值.實驗使用不同的K值進行訓練,記錄多個位于偏差模型更新周期中心的經驗池樣本,比較經驗池樣本的平均損失,結果列于表3.表3中數據表明,隨著K值的增加,損失總體下降,但在K>2時損失的變化已經不顯著,同時在Alien中K>3時有過擬合的趨勢.因此,綜合考慮損失和計算消耗,本文實驗將多項式特征的階數設為K=2.

Table 3 Average Loss at the Center of Renewal Period of Correction Model Under Different K Values表3 比較不同K值下處于偏差模型更新周期中心的經驗池平均損失

3.3 對比實驗與分析

本文選擇2個基線算法進行對比,分別為DDQN[27]和優先經驗回放[11](PER).其中,DDQN算法中樣本沒有優先級,在訓練時從經驗池中隨機取樣;PER算法在DDQN的基礎上為每個樣本設置存儲優先級,存儲優先級與樣本上次參與訓練時的TD-error絕對值成正比,在采樣時根據存儲優先級依概率選擇樣本.本文通過偏差模型對存儲優先級進行校正,用校正后的真實優先級的估計進行采樣,提高了樣本的利用效率.

算法的評價標準包括智能體的學習速度和智能體學習到的最優策略的質量.

3.3.1 智能體的學習速度

圖11顯示了19個Atari游戲的訓練曲線,橫軸代表時間步,每個時間步智能體與ALE環境交互一次,ALE環境會產生一幀新的圖像.縱軸代表智能體在周期內獲得的累計獎勵.在訓練開始后,隨著迭代的進行,智能體的水平不斷提高,獎勵值不斷增大,達到峰值后神經網絡的訓練可能趨于過擬合,因此訓練后期獎勵值可能會有波動.

ATDC-PER算法在19個游戲中的15個游戲收斂速度更快,能夠以更少的交互次數達到最大獎勵,如圖11所示.特別是在Breakout,DoubleDunk,Enduro,Pong,Robotank,UpNDown這6個游戲中

Fig. 11 Comparison of our method with PER [11] and DDQN [27] algorithms in training curve of 19 Atari games圖11 本文方法在19個Atari游戲中與PER[11]和DDQN[27]算法的訓練曲線對比

速度提升明顯,分別如圖11(f)(j)(k)(m)(q)(s)所示,在訓練的相同時間步,ATDC-PER算法中智能體的得分水平總體優于DDQN和PER算法.圖11中的曲線表明,本文提出的ATDC-PER算法通過在訓練中校正經驗池樣本的存儲優先級,提高了經驗池樣本的利用效率,提升了智能體的學習速度,減少了智能體與環境的交互次數,使智能體以更少的迭代步收斂.

3.3.2 最優策略的質量

最優策略反映智能體最終的學習結果,訓練結束后使用最優策略可以指導智能體在ALE環境中獲得良好表現.ATDC-PER算法中策略表示為Q網絡參數,訓練結束后智能體可以得到完整可復用的策略.訓練過程中保存每個時間步所在周期的獎勵值,同時每隔105個時間步保存一次Q網絡參數,訓練結束后選擇獎勵曲線平滑后處于峰值點的Q網絡參數作為最優策略,通過測試最優策略的質量對學習效果進行評價.

最優策略的評價方法與DDQN[27]中相同,首先,周期開始時智能體與環境隨機進行1~31次無動作交互,為測試提供隨機的初始狀態.隨后,智能體按照最優策略的ε-貪心策略選擇動作,探索因子為0.05.每個周期智能體與環境最多進行18 000個時間步的交互,策略的最終得分為100個測試周期得分的平均值.鑒于每個游戲的分值計算方式不同,使用式(22)在實際得分的基礎上計算規約得分.

(22)

其中,scorerandom為隨機智能體的得分,scorehuman為人類專家的得分,規約后的分值大于100%表明智能體的水平已經超過了人類專家水平.

19個Atari游戲總體的最優策略評價結果比較列于表4,單個游戲的評價結果列于表5.表5中隨機智能體(random)、人類專家(human)和DDQN算法的得分來源于文獻[27],PER算法的得分來源于文獻[11].

Table 4 Summary of Normalized Score on All Games 表4 全部游戲的規約得分評價表 %

Table 5 Raw Scores and Normalized Scores on All Games表5 全部游戲的實際得分和規約得分表

3.3.3 綜合評價

表6顯示了19個Atari游戲中智能體學習速度和最優策略質量的綜合評價.結果表明,本文使用偏差模型校正后的真實優先級的估計來選擇樣本能夠在訓練中提升智能體的學習速度,同時提高最優策略的質量.本文算法在2種評價指標下都取得最好成績的游戲達1419個,其中在1519個游戲中提升了智能體的學習速度,減少了智能體與環境的交互次數;在1519個游戲中改善了智能體的學習效果,提升了最優策略的質量.Boxing游戲比較簡單,3種算法均能收斂到接近最大獎勵值,本文算法和PER算法的收斂速度均略低于DDQN算法,但本文方法的最優策略得分優于其余2種算法,如圖11(e)所示.BeamRider,NameThisGame這2個游戲不同方法的訓練曲線交錯上升,最后各算法達到的最優策略質量相似,均明顯超過了人類專家水平.RoadRunner中本文方法的收斂速度優于DDQN和PER算法,最優策略得分略低于PER算法.PrivateEye游戲較難,3種算法的最優策略得分均不足人類專家得分的1%,均沒有得到較好的結果.

Table 6 Comprehensive Evaluation on All Games表6 全部游戲的綜合評價表

Note: ■ shows this method is the best among all of the comparison methods.

由表4和表5數據可知,ATDC-PER算法能夠在全部19個游戲中的15個游戲獲得更好的最優策略.最優策略規約得分的中位數相對于PER算法[11]提高12%,平均數提高83.3%.實驗結果表明,本文方法通過提高經驗池中樣本的采樣效率,可以改善智能體的最終學習效果,使智能體收斂到更好的最優策略.

4 結 論

深度Q學習中,基于優先經驗回放的方法在訓練中樣本的存儲優先級不能跟隨Q網絡迭代而更新,存儲優先級不能準確反映經驗池中樣本TD-error分布的真實情況,從而降低了大量樣本的利用效率.使用樣本的真實優先級對經驗池樣本進行采樣能夠明顯提高經驗池樣本的利用效率和學習的效果.

本文提出的基于TD-error自適應校正的主動采樣方法,利用樣本的回放周期和Q網絡狀態能夠校正樣本的優先級偏差,得到樣本真實優先級的估計值,以極小的代價逼近真實優先級的分布.偏差模型在訓練過程中分段更新,且對更新周期不敏感,偏差模型特征階數較小時就可以很好地估計優先級偏差,分段更新策略顯著降低了本文方法的計算復雜度.在Q網絡迭代的每個時間步使用校正后的優先級進行采樣,能夠提升Q網絡訓練中經驗池樣本的利用效率.在Atari 2600中的實驗結果表明,使用本文方法進行主動采樣提升了智能體的學習速度,減少了智能體與環境的交互次數,同時改善了智能體的學習效果,提升了最優策略的質量.

猜你喜歡
偏差經驗樣本
50種認知性偏差
2021年第20期“最值得推廣的經驗”評選
如何走出文章立意偏差的誤區
2018年第20期“最值得推廣的經驗”評選
規劃·樣本
真相
隨機微分方程的樣本Lyapunov二次型估計
Can lucid dreams kill you?
當你遇見了“零經驗”的他
機械裝配偏差源及其偏差傳遞機理研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合