周瑞朋,秦 進(jìn)
(貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽(yáng) 550025)
強(qiáng)化學(xué)習(xí)中存在探索與利用困境,一個(gè)強(qiáng)化學(xué)習(xí)智能體必須嘗試一些之前沒(méi)有嘗試過(guò)的操作,發(fā)現(xiàn)其中某些能有效產(chǎn)生獎(jiǎng)勵(lì)的動(dòng)作,同時(shí)智能體也必須充分利用能有效產(chǎn)生獎(jiǎng)勵(lì)的經(jīng)驗(yàn)[1]。強(qiáng)化學(xué)習(xí)問(wèn)題中的ε-greedy 策略由于簡(jiǎn)單而被廣泛使用,但在這種探索策略下智能體過(guò)度依賴于隨機(jī)算子,探索完全隨機(jī),沒(méi)有針對(duì)性。目前已有大量關(guān)于強(qiáng)化學(xué)習(xí)中有效探索的研究,如2002 年KEARNS 等[2]提出的多項(xiàng)式時(shí)間內(nèi)的近最優(yōu)強(qiáng)化學(xué)習(xí),2010 年JAKSCH 等[3]提出的強(qiáng)化學(xué)習(xí)的近最優(yōu)后悔邊界。多數(shù)探索方法都依賴于隨機(jī)干擾智能體的策略,如1999 年SUTTON 等[4]提出的ε-greedy,WILLIAMS[5]提出熵正則化以誘導(dǎo)新動(dòng)作,但這些方法都限制于較小的狀態(tài)動(dòng)作空間或者線性函數(shù)近似,不適用于神經(jīng)網(wǎng)絡(luò) 這樣的復(fù) 雜函數(shù)近 似[6]。2016 年BELLEMARE 等[7]提出基于 計(jì)數(shù)的探 索,2017 年OSTROVSKI 等[8]提出狀態(tài)空間的密度建模,這些方法被嘗試用來(lái)解決高維度和連續(xù)動(dòng)作上的馬爾科夫決策問(wèn)題,但不足是它們都依賴于較為復(fù)雜的額外結(jié)構(gòu),且探索不具備針對(duì)性。2017 年P(guān)ATHAK 等[9]提出的自監(jiān)督好奇心模塊,通過(guò)建立一個(gè)環(huán)境預(yù)測(cè)模型,對(duì)于模型預(yù)測(cè)不佳的,給予智能體一定的獎(jiǎng)勵(lì)(好奇心),這種方法在某些控制問(wèn)題上有一定的效果,但是在部分控制問(wèn)題上會(huì)導(dǎo)致智能體陷入過(guò)度探索。另一種方法是通過(guò)向算法中加入額外的關(guān)聯(lián)噪聲來(lái)增加自然探索,如2017 年MATTHIAS 等[10]提出使用參數(shù)空間噪聲探索,2018 年FORTUNATO等[11]提出噪聲網(wǎng)絡(luò)探索。這些算法通過(guò)加入噪聲干擾神經(jīng)網(wǎng)絡(luò)計(jì)算動(dòng)作的Q值,從而影響智能體在當(dāng)前狀態(tài)下采取的動(dòng)作,這些動(dòng)作可能是之前沒(méi)有嘗試過(guò)的動(dòng)作。2020 年ZHANG 等[12]提出與任務(wù)無(wú)關(guān)的探索策略,通過(guò)探索MDP,不依賴于獎(jiǎng)勵(lì)函數(shù)去收集軌跡。這些算法一定程度上提高了算法效率,但是過(guò)度依賴隨機(jī)算子,干擾神經(jīng)網(wǎng)絡(luò)計(jì)算動(dòng)作的Q值,其探索動(dòng)作沒(méi)有針對(duì)性,在探索期間,如果智能體訪問(wèn)到某些對(duì)于獲取獎(jiǎng)勵(lì)沒(méi)有幫助的狀態(tài),在這些策略下,它可能會(huì)繼續(xù)深度探索這些狀態(tài)及其后繼狀態(tài),產(chǎn)生過(guò)度探索的問(wèn)題。
在有限馬爾科夫決策過(guò)程中,存在一個(gè)唯一的、確定的最優(yōu)策略π*,其狀態(tài)動(dòng)作值函數(shù)Q*對(duì)于所有狀態(tài)動(dòng)作對(duì)都是最優(yōu)的[13],這個(gè)最優(yōu)值函數(shù)滿足貝爾曼最優(yōu)性方程集。受此啟發(fā),筆者認(rèn)為最優(yōu)策略由若干局部最優(yōu)策略組成。在強(qiáng)化學(xué)習(xí)中,一個(gè)學(xué)習(xí)任務(wù)被建模成馬爾科夫決策[14]過(guò)程,那么其局部最優(yōu)策略空間不可能無(wú)限大,則設(shè)計(jì)一個(gè)基于獎(jiǎng)勵(lì)排序的M 表,通過(guò)訓(xùn)練不斷迭代最后得到一個(gè)最優(yōu)策略的最優(yōu)子策略空間。
本文設(shè)計(jì)基于獎(jiǎng)勵(lì)排序的M 表并改進(jìn)ε-greedy算法。智能體在一定的概率下對(duì)當(dāng)前樣本與M 表中子策略進(jìn)行匹配,若找到一個(gè)相似子策略,則選擇該策略所采用的動(dòng)作,通過(guò)這種方式,使智能體得到的動(dòng)作具有針對(duì)性,同時(shí)提高獲得的平均獎(jiǎng)勵(lì)。
強(qiáng)化學(xué)習(xí)是用于解決序貫決策的機(jī)器學(xué)習(xí)分支領(lǐng)域,其關(guān)鍵之一是智能體要學(xué)習(xí)好的行為,這意味著需要增量式地調(diào)整行為或獲得新的技巧。另一個(gè)關(guān)鍵是強(qiáng)化學(xué)習(xí)通過(guò)不斷試錯(cuò)獲取經(jīng)驗(yàn)進(jìn)而學(xué)習(xí)[15]。強(qiáng)化學(xué)習(xí)問(wèn)題通常被建模成馬爾科夫決策過(guò)程,在每個(gè)時(shí)間步t,智能體所處狀態(tài)為st,策略π(at|st)表示智能體在狀態(tài)st下執(zhí)行動(dòng)作at的概率,在此概率下執(zhí)行動(dòng)作at,獲得一個(gè)標(biāo)量獎(jiǎng)勵(lì)rt,并轉(zhuǎn)換到st+1,將這個(gè)過(guò)程用五元組(st,at,st-1,rt-1,done)表示,其中done 是個(gè)布爾值,用來(lái)指示一個(gè)episode 是否結(jié)束。在回合型問(wèn)題中,其回報(bào)是帶折扣的累積獎(jiǎng)勵(lì),折扣因子γ∈(0,1],是對(duì)未來(lái)預(yù)估獎(jiǎng)勵(lì)的懲罰項(xiàng):
智能體的目標(biāo)就是最大化每個(gè)狀態(tài)的長(zhǎng)期回報(bào)期望。通常使用值函數(shù)來(lái)預(yù)測(cè)未來(lái)回報(bào)的期望以衡量一個(gè)狀態(tài)或者狀態(tài)動(dòng)作對(duì)的好壞。狀態(tài)值函數(shù)定義為:
動(dòng)作值函數(shù)定義為:
一個(gè)最優(yōu)狀態(tài)值被定義為:
深度強(qiáng)化學(xué)習(xí)就是使用深度神經(jīng)網(wǎng)絡(luò)來(lái)近似強(qiáng)化學(xué)習(xí)中的狀態(tài)值函數(shù)(或動(dòng)作值函數(shù))。深度強(qiáng)化學(xué)習(xí)被廣泛應(yīng)用于視頻游戲[16]、機(jī)器人[17]、自然語(yǔ)言處理[18]、計(jì)算機(jī)視覺(jué)[19]等領(lǐng)域。2013 年,DeepMind團(tuán)隊(duì)將深度神經(jīng)網(wǎng)絡(luò)引入強(qiáng)化學(xué)習(xí)用來(lái)近似值函數(shù)。深度強(qiáng)化學(xué)習(xí)設(shè)置了經(jīng)驗(yàn)緩沖,將智能體與環(huán)境進(jìn)行交互產(chǎn)生的經(jīng)驗(yàn)存入該緩沖,通常又稱這些經(jīng)驗(yàn)為樣本。
ε-greedy 策略是強(qiáng)化學(xué)習(xí)中最常用的探索策略。在該策略下,智能體有ε的概率會(huì)選擇一個(gè)隨機(jī)動(dòng)作,1-ε的概率選擇當(dāng)前動(dòng)作Q值最大的動(dòng)作,定義為:
其中:A*表示最優(yōu)動(dòng)作;|A(st)|是當(dāng)前狀態(tài)st下所有可選動(dòng)作的集合。
定義一個(gè)強(qiáng)化學(xué)習(xí)問(wèn)題的狀態(tài)集為:
π*表示全局最優(yōu)策略,由有限馬爾科夫決策過(guò)程的性質(zhì)可知其由若干優(yōu)先的局部最優(yōu)子策略組成。本文使用(st,at)表示子策略,用來(lái)近似π*,是一個(gè)向量。定義為:
基于最佳子策略記憶的強(qiáng)化探索,就是將智能體目前學(xué)到的最佳子策略存入一個(gè)存儲(chǔ)表中(記為M 表),當(dāng)智能體訪問(wèn)M 表時(shí),將當(dāng)前狀態(tài)與M 表中子策略狀態(tài)進(jìn)行相似度計(jì)算。若構(gòu)成相似,則返回子策略中的動(dòng)作。
解決過(guò)度探索,一個(gè)可行的方法是增加探索的針對(duì)性。在智能體與環(huán)境交互過(guò)程中,會(huì)產(chǎn)生大量的樣本并將樣本保存到經(jīng)驗(yàn)緩沖中。本文將較好的經(jīng)驗(yàn)作為子策略獨(dú)立存放,在探索時(shí),以一定的概率計(jì)算智能體當(dāng)前狀態(tài)與這些子策略的相似度,類似基于實(shí)例的學(xué)習(xí),本文選擇最相似的子策略中的動(dòng)作并執(zhí)行。通過(guò)相似計(jì)算增加智能體產(chǎn)生新的獎(jiǎng)勵(lì)值較高的樣本的概率,這樣的探索能夠促進(jìn)智能體獲得獎(jiǎng)勵(lì)值大的樣本,使探索具有針對(duì)性。如果將所有的子策略保存下來(lái),那么空間開銷和計(jì)算代價(jià)將會(huì)很大。本文使用結(jié)構(gòu)性相似度算法計(jì)算子策略的相似度,將相似的子策略中獎(jiǎng)勵(lì)值最高的子策略存入M 表中,視為智能體目前學(xué)到的最佳子策略。M 表獨(dú)立于經(jīng)驗(yàn)緩沖和智能體對(duì)經(jīng)驗(yàn)的采樣過(guò)程。M 表使用二元組(st,at)來(lái)存儲(chǔ)一個(gè)最佳子策略,并為每個(gè)子策略附加一個(gè)獎(jiǎng)勵(lì)信息rt,表示該子策略可獲得的獎(jiǎng)勵(lì),并使表中所有子策略基于獎(jiǎng)勵(lì)降序排序。M 表上的操作如圖1 所示。
圖1 M 表上的操作Fig.1 Operation on table M
如圖1 的左邊部分所示,智能體與環(huán)境交互產(chǎn)生一個(gè)新樣本之后,如果樣本的獎(jiǎng)勵(lì)值大于零且M 表為空,則將該樣本中的子策略存入M 表。若M 表不為空,則依次判斷該獎(jiǎng)勵(lì)與倒序的M 表中子策略的獎(jiǎng)勵(lì)值。若該獎(jiǎng)勵(lì)大于某個(gè)子策略(sT-k,aT-k)的獎(jiǎng)勵(lì)且小于該子策略的前繼子策略(sT-k-1,aT-k-1) 的獎(jiǎng)勵(lì),則進(jìn)一步計(jì)算該樣本與(sT-k,aT-k)中狀態(tài)的相似度,若小于閾值θ,則認(rèn)為不相似并掃描(sT-k+1,aT-k+1)前面的子策略中是否有與其相似的子策略,如果有,則跳過(guò)該策略,如果沒(méi)有相似度且大于閾值θ,則認(rèn)為相似,并使用樣本中的子策略替換掉M 表中對(duì)應(yīng)的子策略(sT-k,aT-k),可結(jié)合圖1 中3 個(gè)綠色文本框和上下子策略查看(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。若樣本中的子策略(st,at)獎(jiǎng)勵(lì)值大于(sT-n+1,aT-n+1)的獎(jiǎng)勵(lì)且小于(sT-n,aT-n)的獎(jiǎng)勵(lì),M 表中沒(méi)有與其重復(fù)的子策略(若有重復(fù),則跳過(guò)),且該子策略與(sT-n+1,aT-n+1)不相似,則將其插入(sT-n,aT-n)與(sT-n+1,aT-n+1)之間,可結(jié)合圖1 中紅色文本框以及上下子策略查看(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。
如果該樣本的獎(jiǎng)勵(lì)大于零但不大于M 表最后一個(gè)子策略的獎(jiǎng)勵(lì),則檢查M 表前面是否有與其相似的子策略,若有,則跳過(guò)該樣本,反之,則將該樣本中的子策略添加到M 表的末尾。
基于最佳子策略記憶的強(qiáng)化探索設(shè)計(jì)智能體在探索時(shí),將有一定的概率會(huì)通過(guò)M 表進(jìn)行探索。在這種情況下,智能體會(huì)對(duì)M 表做相似查詢,通過(guò)將當(dāng)前狀態(tài)與M 表中子策略的狀態(tài)正序依次計(jì)算相似度。若與其中某個(gè)子策略的相似度大于θ,則將該子策略中的動(dòng)作反饋給智能體。如圖1 右半部分所示,若st與s1相似,則將該動(dòng)作反饋給智能體,若不相似則繼續(xù)往下找,若整個(gè)M 表都沒(méi)找到,智能體將選擇神經(jīng)網(wǎng)絡(luò)計(jì)算該狀態(tài)下最大Q值的動(dòng)作。
在通常情況下,強(qiáng)化學(xué)習(xí)算法采用ε-greedy 探索。本文在ε-greedy 算法的基礎(chǔ)上加以改進(jìn)得到M-Epsilon-Greedy(MEG)探索。
令am為從M 中選出的最佳動(dòng)作,aQ為利用神經(jīng)網(wǎng)絡(luò)選出的動(dòng)作,am和aQ不同。A 為智能體所有可選動(dòng)作。智能體從M 表中選出的一個(gè)動(dòng)作為,sim 函數(shù)用來(lái)求智能體當(dāng)前狀態(tài)與M 中子策略狀態(tài)的相似度,從M 表頭到表尾,如果小于θ,則取對(duì)應(yīng)子策略中的動(dòng)作。由于前期神經(jīng)網(wǎng)絡(luò)不穩(wěn)定,為了使智能體在前期保留探索能力的同時(shí)增強(qiáng)探索的針對(duì)性,本文將智能體利用神經(jīng)網(wǎng)絡(luò)的概率分出一部分使用M 表探索,這樣智能體就既保留了探索能力,又能夠有效結(jié)合目前已學(xué)最佳策略進(jìn)行探索。
由此,定義MEG 探索表示為:
在狀態(tài)st下,智能體以ε的概率選擇一個(gè)隨機(jī)動(dòng)作a,以的概率選擇對(duì)M 表進(jìn)行相似查詢,ρ為在M 表中找到相似子策略的概率,如果找到相似子策略,則選擇子策略中的動(dòng)作am,反之,則選擇神經(jīng)網(wǎng)絡(luò)計(jì)算出最大Q值的動(dòng)作。在的概率下選擇利用神經(jīng)網(wǎng)絡(luò)計(jì)算的Q值最大的動(dòng)作aQ,其中|A(M)|為M 表中所有動(dòng)作的集合,|A|為智能體在該環(huán)境下的所有動(dòng)作集合,探索概率設(shè)置將在下文3.1 節(jié)中詳細(xì)介紹。
MEG 探索示意圖如圖2 所示。
圖2 MEG 探索示意圖Fig.2 Schematic diagram of MEG exploration
基于最佳子策略記憶的強(qiáng)化探索方法具有廣泛適用性,為了驗(yàn)證其性能,本文使用FQF 算法[20](分布強(qiáng)化學(xué)習(xí)的全參數(shù)分位數(shù)函數(shù))作為實(shí)例。
將基于獎(jiǎng)勵(lì)的有序M 表和MEG 探索策略與FQF 相結(jié)合,得到M-FQF。定義經(jīng)驗(yàn)緩沖的容量為N,每一次訓(xùn)練所用的數(shù)據(jù)量為一個(gè)batch_size。一個(gè)強(qiáng)化學(xué)習(xí)問(wèn)題從開始到結(jié)束為一個(gè)episode。
為近似分位點(diǎn)函數(shù)網(wǎng)絡(luò),為分?jǐn)?shù)提議網(wǎng)絡(luò)設(shè)置H個(gè)可調(diào)分位數(shù)(τ0=0,τH=1)。分?jǐn)?shù)提議網(wǎng)絡(luò)輸出對(duì)應(yīng)的分位數(shù)并將這些分位數(shù)傳入分位點(diǎn)函數(shù)網(wǎng)絡(luò)。分位點(diǎn)函數(shù)網(wǎng)絡(luò)將每個(gè)狀態(tài)動(dòng)作對(duì)映射到對(duì)應(yīng)分位數(shù)的概率,使用1-Wasseretein 計(jì)算近似分位點(diǎn)函數(shù)與真實(shí)分位點(diǎn)函數(shù)分布之間的距離,為了最小化1-Wasserstein 誤差,從固定的可調(diào)分位數(shù)τ去尋找對(duì)應(yīng)的最優(yōu)分位數(shù)值。分別使用RMSprop 算法和Adam 算法優(yōu)化分?jǐn)?shù)提議網(wǎng)絡(luò)和分位點(diǎn)函數(shù)網(wǎng)絡(luò)。將分布貝爾曼更新和分位數(shù)回歸相結(jié)合訓(xùn)練分位點(diǎn)函數(shù)網(wǎng)絡(luò),最小化Huber 分位數(shù)回歸損失(同分布強(qiáng)化學(xué)習(xí)的隱分位數(shù)網(wǎng)絡(luò)IQN[21]和分位數(shù)回歸的分布強(qiáng)化學(xué)習(xí)QR-DQN[22],將閾值設(shè)為k)。達(dá)到訓(xùn)練的最低步數(shù)后,對(duì)樣本采樣,訓(xùn)練網(wǎng)絡(luò)。最后更新分?jǐn)?shù)提議網(wǎng)絡(luò)和分位點(diǎn)函數(shù)網(wǎng)絡(luò)。
為驗(yàn)證改進(jìn)策略的有效性,選擇Playing Atari 2600游戲中的經(jīng)典控制問(wèn)題BankHeist、RoadRunner、Freeway、BeamRider作為實(shí)驗(yàn)對(duì)象,將本文改進(jìn)算法與DQN系列算法以及非DQN系列的A2C算法[23]進(jìn)行比較。
軟件環(huán)境:Arcade Leaning Environment,CUDA10.0,Pytorch 1.5,Python3.8。硬件環(huán)境:GPU型號(hào):Tesla P40 以及NVIDIA GeForce RTX 2080 Ti。為公平比較,對(duì)BankHeist、RoadRunner、Freeway、BeamRider 使用同狀態(tài)對(duì)抗DQN的魯棒深度強(qiáng)化學(xué)習(xí)[24](SA-DQN)的參數(shù),訓(xùn)練了500萬(wàn)個(gè)step。圖中橫坐標(biāo)單位為250 000 step。對(duì)于Playing Atari 2600 視頻游戲設(shè)置250 000 step 視頻游戲幀用于探索。本文使用IQN、FQF、QR-DQN、IQNRAINBOW[25]這4 種算法作為baseline。經(jīng)驗(yàn)回放的大小設(shè)置為1 000 000,一個(gè)訓(xùn)練batch_size 設(shè)置為32。折扣因子γ初始化為0.99。由于訓(xùn)練之初神經(jīng)網(wǎng)絡(luò)不穩(wěn)定,如果利用神經(jīng)網(wǎng)絡(luò)這種不穩(wěn)定性去探索顯得沒(méi)有針對(duì)性,因此從中分出的概率,使智能體根據(jù)M 表來(lái)探索。這一方面不影響智能體以ε的概率探索動(dòng)作空間,另一方面也加強(qiáng)了智能體探索的針對(duì)性。使用M表探索的概率隨著智能體探索概率ε線性衰減而逐漸衰減到0.01。初始化α=1e-5,θ=0.989。探索策略中的探索概率初始化為1,隨著訓(xùn)練逐漸減少到0.01。目標(biāo)網(wǎng)絡(luò)的更新步長(zhǎng)C為10 000。對(duì)環(huán)境Arcade Learning Environment 所反饋的獎(jiǎng)勵(lì)做歸一化處理后將樣本存入經(jīng)驗(yàn)緩沖。在與A2C 算法的比較中,選擇Berzerk、BeamRider這2種控制問(wèn)題作為實(shí)驗(yàn)對(duì)象。利用openAI的開源baselines 項(xiàng)目中的A2C 算法作為baseline,時(shí)間步與M-FQF 同為500 萬(wàn),其他參數(shù)為默認(rèn)參數(shù),epsilon為1e-5,alpha 與gamma 皆為0.99,學(xué)習(xí)率7e-4,智能體的評(píng)估間隔設(shè)置為250 000 step。
根據(jù)FQF 的實(shí)驗(yàn)描述,設(shè)計(jì)以下實(shí)驗(yàn)過(guò)程:智能體每到達(dá)一個(gè)狀態(tài)s就會(huì)將狀態(tài)輸入基礎(chǔ)DQN 經(jīng)典網(wǎng)絡(luò)。該網(wǎng)絡(luò)將狀態(tài)s的特征傳遞給分?jǐn)?shù)提議網(wǎng)絡(luò),將輸出的所有動(dòng)作輸入到分位點(diǎn)函數(shù)網(wǎng)絡(luò)。智能體根據(jù)MEG 探索策略選擇動(dòng)作,以ε的概率會(huì)執(zhí)行一個(gè)隨機(jī)動(dòng)作的概率智能體從M 表中進(jìn)行相似查詢選擇與當(dāng)前狀態(tài)相似的子策略中的動(dòng)作。以的概率選擇分?jǐn)?shù)提議網(wǎng)絡(luò)預(yù)測(cè)的最大狀態(tài)動(dòng)作值執(zhí)行動(dòng)作a,環(huán)境反饋獎(jiǎng)勵(lì)和下一個(gè)狀態(tài)后,將產(chǎn)生的樣本存入經(jīng)驗(yàn)回放,再進(jìn)行采樣、訓(xùn)練。
深度強(qiáng)化學(xué)習(xí)中算法效果主要由獎(jiǎng)勵(lì)值決定。網(wǎng)絡(luò)在設(shè)定的迭代次數(shù)結(jié)束后,平均獎(jiǎng)勵(lì)越大說(shuō)明該算法的性能越好。M-FQF 在實(shí)驗(yàn)環(huán)境Arcade Learning Environment 中4 種控制問(wèn)題上的實(shí)驗(yàn)結(jié)果如圖3~圖7 所示(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。
圖3 5 種算法在BankHeist 上的平均獎(jiǎng)勵(lì)Fig.3 Average reward of five algorithms on BankHeist
通過(guò)實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),結(jié)合了基于獎(jiǎng)勵(lì)有序的M表探索策略 的FQF 算法(M-FQF)相較于FQF、IQN、QR-DQN、IQN-RAINBOW 算法,在多數(shù)控制問(wèn)題上取得了更高的平均獎(jiǎng)勵(lì)且具有更好的穩(wěn)定性。
圖3 中約1.25×2 500 000 step 處5 種算法 突然性能變化較大,這可能是剛好更新了目標(biāo)網(wǎng)絡(luò),這時(shí)候更能體現(xiàn)算法本身的穩(wěn)健性。IQN-RAINBOW 在經(jīng)過(guò)這個(gè)點(diǎn)后就趨于平穩(wěn),獲得的平均獎(jiǎng)勵(lì)是5 種算法中最低的。M-FQF 和FQF 趨勢(shì)有點(diǎn)相似,但是從圖中可以看出M-FQF 明顯要優(yōu)于FQF 以及其他3 種算法。圖4 中游戲開局5 種算法的起點(diǎn)都不在原點(diǎn),這是因?yàn)镕reeway 游戲開局距離游戲得分處有一小段距離。約在2.5×250 000 step 到4×250 000 step 之間應(yīng)該是智能體學(xué)習(xí)的一個(gè)關(guān)鍵階段。因?yàn)樵谶@里5 種算法出現(xiàn)了不同程度的波峰或者波谷,只有QR-DQN 形成了一個(gè)波谷。相比其他4 種算法,QR-DQN 似乎受影響更大??梢钥闯鲞@個(gè)問(wèn)題上最優(yōu)的算法是IQN-RAINBOW,其次是M-FQF。此外,5 種算法在Freeway 上都有較好的收斂性。
圖4 5 種算法在Freeway 上的平均獎(jiǎng)勵(lì)Fig.4 Average reward of five algorithms on Freeway
在RoadRunner 問(wèn)題上,從圖5 看出M-FQF 和IQN-RAINBOW 都有較好的收斂性。IQN-RAINBOW收斂更快,在初期其平均獎(jiǎng)勵(lì)更高,但是其收斂的平均獎(jiǎng)勵(lì)明顯低于M-FQF。M-FQF在該問(wèn)題上表現(xiàn)最好。從圖6 可以看出,M-FQF 在該問(wèn)題上收斂較為緩慢,但是最后獲得了較高的平均獎(jiǎng)勵(lì),說(shuō)明其學(xué)習(xí)到了一個(gè)較好的策略。而IQN-RAINBOW 依然收斂最快,但是收斂的平均獎(jiǎng)勵(lì)并不高且穩(wěn)定性不好,出現(xiàn)了很多明顯的波峰和波谷。M-FQF 則相對(duì)穩(wěn)健,整個(gè)訓(xùn)練過(guò)程沒(méi)有出現(xiàn)明顯的波峰和波谷。Berzerk 問(wèn)題的訓(xùn)練情況如圖7 所示,M-FQF 和IQN-RAINBOW 收斂都很快,初期IQN-RAINBOW就獲得了最高平均獎(jiǎng)勵(lì),比M-FQF還稍高一些。但在5×250 000 step 后IQN-RAINBOW就趨于收斂了,與其同時(shí),其他3 種算法也都趨于收斂,而M-FQF 平均獎(jiǎng)勵(lì)還在不斷上升,最后獲得了最高的平均獎(jiǎng)勵(lì)??梢钥闯?,在Berzerk 問(wèn)題上,M-FQF 算法性能最優(yōu),QR-DQN 性能最差。
圖5 5 種算法在RoadRunner 上的平均獎(jiǎng)勵(lì)Fig.5 Average reward of five algorithms on RoadRunner
圖6 5 種算法在BeamRider 上的平均獎(jiǎng)勵(lì)Fig.6 Average reward of five algorithms on BeamRider
圖7 5 種算法在Berzerk 上的平均獎(jiǎng)勵(lì)Fig.7 Average reward of five algorithms on Berzerk
將M-FQF 與非DQN 系列算法的A2C 進(jìn)行比較,如圖8 和圖9 所示。
圖8 M-FQF 和A2C 算法在Berzerk 上的回報(bào)Fig.8 Return of M-FQF and A2C algorithms on Berzerk
圖9 M-FQF 和A2C 算法算法在BeamRider 上的回報(bào)Fig.9 Return of M-FQF and A2C algorithms on BeamRider
從圖8 可以看出,Berzerk 問(wèn)題上A2C 算法收斂很快,在2.5×250 000 step 左右已經(jīng)獲得較高的回報(bào)。反觀M-FQF 算法在1.25×2 500 000 step 之前尚未表現(xiàn)出收斂,1.25×2 500 000 step 以后M-FQF 算法反超A2C 算法,獲得了相對(duì)高的回報(bào)。圖9 中A2C 算法趨于平穩(wěn),而M-FQF 算法獲得了相對(duì)高的回報(bào)。可以看出A2C算法相對(duì)穩(wěn)定,而M-FQF算法相對(duì)有些波動(dòng),不夠穩(wěn)定。
除了與以上算法進(jìn)行比較,本文對(duì)比了加入MEG探索和加入噪聲網(wǎng)絡(luò)以及優(yōu)先經(jīng)驗(yàn)回放在Bankheist和Roadrunner 問(wèn)題上的性能,如圖10 和圖11 所示(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版),可以看出,加入了MEG 探索的FQF 算法性能明顯提高。
圖10 FQF 算法在BankHeist 上的平均獎(jiǎng)勵(lì)Fig.10 Average reward of FQF algorithms on BankHeist
圖11 FQF 算法在RoadRunner 上的平均獎(jiǎng)勵(lì)Fig.11 Average reward of FQF algorithms on RoadRunner
為測(cè)試MEG 探索是否對(duì)收斂結(jié)束時(shí)的參數(shù)值有依賴,在BankHeist 環(huán)境下做了4 個(gè)實(shí)驗(yàn),設(shè)置算法收斂過(guò)程中使用隨機(jī)探索和MEG探索的概率之和為0.01。用e表示隨機(jī)探索的概率,m表示使用MEG 探索的概率。M-FQF 不同探索參數(shù)的平均獎(jiǎng)勵(lì)如圖12 所示(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。
圖12 M-FQF 算法在BankHeist 上的平均獎(jiǎng)勵(lì)Fig.12 Average reward of M-FQF algorithm on BankHeist
可以看出,隨著智能體使用MEG 探索的概率從0.01 下降到0.002,智能體所獲得的平均獎(jiǎng)勵(lì)也在不斷減少,說(shuō)明M-FQF 算法對(duì)于收斂過(guò)程中MEG 探索的概率參數(shù)設(shè)置有所依賴,使用MEG 探索的概率越大,算法性能越好。
本文設(shè)計(jì)一個(gè)基于獎(jiǎng)勵(lì)排序的M 表,進(jìn)而提出基于M 表的MEG 探索策略,并都加入到FQF 算法中,以提高算法的探索效率,緩解過(guò)度探索的問(wèn)題。實(shí)驗(yàn)結(jié)果表明,該策略在Playing Atari 2600 游戲中取得了較高的平均獎(jiǎng)勵(lì)。但MEG 探索依然存在不足,如在部分游戲中收斂速度緩慢。下一步將針對(duì)此問(wèn)題,通過(guò)調(diào)整探索方法進(jìn)一步優(yōu)化MEG 探索效果,如將M 表中實(shí)際存在的最佳子策略個(gè)數(shù)和有效訪問(wèn)次數(shù)考慮在利用M 表進(jìn)行探索的概率計(jì)算過(guò)程中,或?qū) 表中的最佳子策略進(jìn)行路徑規(guī)劃,通過(guò)邏輯處理導(dǎo)出新的最佳子策略或啟發(fā)策略。