趙 英,秦 進(jìn),袁琳琳
1.貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽 550025
2.貴州開放大學(xué) 信息工程學(xué)院,貴陽 550023
強(qiáng)化學(xué)習(xí)[1(]reinforcement learning,RL)是Agent不斷地與環(huán)境進(jìn)行交互,從而強(qiáng)化自己的決策能力,使得未來累積獎(jiǎng)勵(lì)達(dá)到最大值。而獎(jiǎng)勵(lì)是強(qiáng)化學(xué)習(xí)過程中的關(guān)鍵因素,它會(huì)影響學(xué)習(xí)的速度和效率,此時(shí)的獎(jiǎng)勵(lì)是Agent和環(huán)境交互中產(chǎn)生的,即外在獎(jiǎng)勵(lì)。在某些情況下,這些外在獎(jiǎng)勵(lì)是密集且形狀良好,會(huì)持續(xù)給Agent獎(jiǎng)勵(lì)信號(hào),指導(dǎo)Agent增強(qiáng)自己的決策能力,比如:到達(dá)任務(wù)中機(jī)器人手臂和物體之間的距離[2]。然而,在許多現(xiàn)實(shí)世界問題的環(huán)境中,并沒有提供穩(wěn)定且密集的獎(jiǎng)勵(lì),導(dǎo)致Agent可能會(huì)花費(fèi)很長(zhǎng)時(shí)間才能遇到獎(jiǎng)勵(lì)信號(hào),甚至沒有獎(jiǎng)勵(lì)信號(hào),比如下圍棋,人們很難為每一步設(shè)定一個(gè)獎(jiǎng)勵(lì)值。因此,如何在稀疏獎(jiǎng)勵(lì)下有效探索環(huán)境仍然是一個(gè)開放的挑戰(zhàn)[3]。
為了解決上述的挑戰(zhàn),有研究人員受到心理學(xué)中內(nèi)在動(dòng)機(jī)的啟發(fā),提出使用內(nèi)在獎(jiǎng)勵(lì)來鼓勵(lì)A(yù)gent探索環(huán)境[4-5]。內(nèi)在獎(jiǎng)勵(lì)能夠很好地指導(dǎo)Agent去探索環(huán)境,尤其是針對(duì)于獎(jiǎng)勵(lì)特別稀疏的環(huán)境。目前針對(duì)內(nèi)在獎(jiǎng)勵(lì)的設(shè)計(jì)主要分為兩大類型。一類是通過計(jì)數(shù)的方式,這種類型的探索獎(jiǎng)勵(lì)是鼓勵(lì)A(yù)gent訪問新狀態(tài),給新狀態(tài)分配更高的獎(jiǎng)勵(lì)。Bellemare等人[6]提出偽計(jì)數(shù)的方法設(shè)計(jì)內(nèi)在獎(jiǎng)勵(lì),Strehl、Littman等人[7]提出最基本的統(tǒng)計(jì)方法來設(shè)計(jì)內(nèi)在獎(jiǎng)勵(lì)。另一類是通過好奇心的方式,使Agent能夠很好地和環(huán)境互動(dòng),從而很少去選擇帶來不好結(jié)果的動(dòng)作,比如Mohamed等人[8]提出的使用動(dòng)態(tài)模型的預(yù)測(cè)誤差作為內(nèi)在獎(jiǎng)勵(lì),或者Pathak等人[9]提高其對(duì)世界動(dòng)態(tài)的知識(shí)和前瞻性預(yù)測(cè)。除了上述兩種主要的內(nèi)在獎(jiǎng)勵(lì),還有其他形式的內(nèi)在獎(jiǎng)勵(lì)設(shè)計(jì),Klyubin等人[10]提出的鼓勵(lì)A(yù)gent控制環(huán)境,Pong等人[11]提出的目標(biāo)多樣性,鼓勵(lì)目標(biāo)分布的熵最大化。在Lair等人[12]的研究中,從語言監(jiān)督中發(fā)現(xiàn)了內(nèi)在獎(jiǎng)勵(lì)。最優(yōu)獎(jiǎng)勵(lì)框架將內(nèi)在獎(jiǎng)勵(lì)表現(xiàn)為一種超越探索的機(jī)制,將其起源置于進(jìn)化背景中。然而,針對(duì)目前內(nèi)在獎(jiǎng)勵(lì)的設(shè)計(jì)存在著一定的缺陷,通過計(jì)數(shù)形式設(shè)計(jì)的內(nèi)在獎(jiǎng)勵(lì)公式,一是在狀態(tài)空間很大的情況下,Agent訪問的每一個(gè)狀態(tài)幾乎都是新狀態(tài),不能區(qū)分狀態(tài)之前的差別。二是內(nèi)在獎(jiǎng)勵(lì)會(huì)在前期快速消失;通過動(dòng)態(tài)模型的預(yù)測(cè)誤差設(shè)計(jì)的內(nèi)在獎(jiǎng)勵(lì)只考慮當(dāng)前采取動(dòng)作帶來的短期獎(jiǎng)勵(lì),如果Agent只從短期獎(jiǎng)勵(lì)來評(píng)判此動(dòng)作的好壞,可能會(huì)促使Agent錯(cuò)失此動(dòng)作從長(zhǎng)期帶來的最大化獎(jiǎng)勵(lì)。
為了緩解此問題,本文提出一種結(jié)合新穎性和風(fēng)險(xiǎn)評(píng)估的內(nèi)在獎(jiǎng)勵(lì)方法。將內(nèi)在獎(jiǎng)勵(lì)分為兩部分,一部分是基于狀態(tài)-動(dòng)作計(jì)數(shù),鼓勵(lì)A(yù)gent去訪問以前沒有訪問過的狀態(tài),并且使得內(nèi)在獎(jiǎng)勵(lì)不會(huì)提前消失;另外一部分是從長(zhǎng)遠(yuǎn)的角度來考慮當(dāng)前動(dòng)作的好壞,并在探索過程中加入風(fēng)險(xiǎn)因素,鼓勵(lì)A(yù)gent根據(jù)自身偏好去選擇動(dòng)作。此時(shí)的內(nèi)在獎(jiǎng)勵(lì)不僅衡量當(dāng)前狀態(tài)的新穎性,也通過執(zhí)行的動(dòng)作來衡量當(dāng)前狀態(tài)的好壞程度。使用Mujoco環(huán)境來評(píng)估本文的方法,實(shí)驗(yàn)結(jié)果表明本文的方法比僅使用外在獎(jiǎng)勵(lì)和其他內(nèi)在獎(jiǎng)勵(lì)的方法能夠獲得更高的平均獎(jiǎng)勵(lì)。
內(nèi)在動(dòng)機(jī)已經(jīng)被廣泛地用于解決各種困難探索任務(wù)當(dāng)中。Deci等人[13]為了緩解稀疏獎(jiǎng)勵(lì)提出內(nèi)在動(dòng)機(jī)。Barto[14]首先在內(nèi)在動(dòng)機(jī)中提出Agent與其周圍環(huán)境的交互模型,并認(rèn)為將內(nèi)在動(dòng)機(jī)和外部獎(jiǎng)勵(lì)結(jié)合起來應(yīng)該比單獨(dú)使用外部獎(jiǎng)勵(lì)的效果更好。Zheng等人[4]提出一種新的基于隨機(jī)梯度的參數(shù)內(nèi)在獎(jiǎng)勵(lì)的算法(LIRPG),當(dāng)與外在獎(jiǎng)勵(lì)結(jié)合時(shí),可以提高強(qiáng)化學(xué)習(xí)解決問題時(shí)的性能。Bellemare等人[6]提出的基于偽計(jì)數(shù)的內(nèi)在獎(jiǎng)勵(lì)和Strehl等人[7]提出的基于狀態(tài)訪問計(jì)數(shù)提出的內(nèi)在獎(jiǎng)勵(lì),都是鼓勵(lì)A(yù)gent訪問新狀態(tài),為新狀態(tài)分配高的內(nèi)在獎(jiǎng)勵(lì),指導(dǎo)Agent有效地探索環(huán)境,從而緩解外在獎(jiǎng)勵(lì)稀疏的問題。Zha等人[15]提出的RAPID方法在樣本效率和最終獎(jiǎng)勵(lì)方面效果都不錯(cuò)。RAPID將每一幕(episode)視為一個(gè)整體,并從每一幕和長(zhǎng)期經(jīng)驗(yàn)給出一幕的探索分?jǐn)?shù)。這些得分很高的序列被視為良好的探索行為,并存儲(chǔ)在一個(gè)小的排名緩沖區(qū)中。Agent模擬緩沖區(qū)中的序列,重現(xiàn)過去良好的探索行為。其內(nèi)在獎(jiǎng)勵(lì)表現(xiàn)形式為:
其中,Ndistinct表示一幕中不同狀態(tài)的數(shù)量,Ntotal表示一幕中狀態(tài)的總數(shù),N(s)是整個(gè)訓(xùn)練過程中s的狀態(tài)計(jì)數(shù),W1、W2是超參數(shù)。正如2.1節(jié)討論的,本文的方法與計(jì)數(shù)的內(nèi)在獎(jiǎng)勵(lì)有相似之處。但是只用當(dāng)前狀態(tài)計(jì)數(shù)的內(nèi)在獎(jiǎng)勵(lì)去探索環(huán)境是低效的,所以本文主要考慮采用轉(zhuǎn)移后狀態(tài)設(shè)計(jì)內(nèi)在獎(jiǎng)勵(lì)。
在許多任務(wù)中,風(fēng)險(xiǎn)與環(huán)境的固有不確定性有關(guān)(即具有隨機(jī)性)。在這些環(huán)境中,即使是最優(yōu)策略(關(guān)于未來累積獎(jiǎng)勵(lì))在某些情況下也可能表現(xiàn)不佳[16]。因?yàn)槲磥砝鄯e獎(jiǎng)勵(lì)最大化并不一定能避免大的負(fù)面結(jié)果的罕見發(fā)生,所以需要其他標(biāo)準(zhǔn)來評(píng)估風(fēng)險(xiǎn)。在這種情況下,未來累積獎(jiǎng)勵(lì)最大化被轉(zhuǎn)化為包含一些與收益方差相關(guān)的風(fēng)險(xiǎn)概念[17-18]。Chow等人[19]研究靜態(tài)環(huán)境中的條件風(fēng)險(xiǎn)值(CVaR)和平均-條件風(fēng)險(xiǎn)值優(yōu)化。Clements等人[20]提出了一個(gè)框架來估計(jì)學(xué)習(xí)Q值的不確定性,推導(dǎo)不確定性的估計(jì)值,引入了一種不確定性感知的UADDPG算法。Dabney等人[21]為了解決狀態(tài)、獎(jiǎng)勵(lì)和動(dòng)作在觀察到的累積獎(jiǎng)勵(lì)中引起的不確定性,提出采用分布式方法(QR-DDPG算法),顯式地對(duì)收益分布進(jìn)行建模,而不僅僅是估計(jì)均值。最近,Bisi等人[22]提出一種獎(jiǎng)勵(lì)波動(dòng)性風(fēng)險(xiǎn)方差方法,該方法考慮每一步獎(jiǎng)勵(lì)的方差,并對(duì)每一步獎(jiǎng)勵(lì)的方差進(jìn)行優(yōu)化,與未來累積獎(jiǎng)勵(lì)的方差相比,每一步獎(jiǎng)勵(lì)的方差可以更好地捕捉短期風(fēng)險(xiǎn),并且通常會(huì)導(dǎo)致更平滑的軌跡。常見的風(fēng)險(xiǎn)通常從未來累積獎(jiǎng)勵(lì)和方差這兩方面進(jìn)行考慮,稱為收益方差,與之前CVaR的性能測(cè)試相比,收益方差具有明確的可解釋性和計(jì)算優(yōu)勢(shì)。Tamar等人[23]推導(dǎo)了二階矩M=E[G2]的貝爾曼式關(guān)系,然后通過關(guān)系式估計(jì)G的方差,其中G表示未來累積獎(jiǎng)勵(lì):
M的Bellman式方程可以表示為:
其中,rex表示外在獎(jiǎng)勵(lì),γ是折扣率。在此前的工作中還未發(fā)現(xiàn)將內(nèi)在獎(jiǎng)勵(lì)與風(fēng)險(xiǎn)結(jié)合,內(nèi)在獎(jiǎng)勵(lì)在促使Agent探索環(huán)境過程中,也并未考慮環(huán)境中某些狀態(tài)-動(dòng)作會(huì)存在不確定性和不安全性。有鑒于此,本文使用累積獎(jiǎng)勵(lì)的方差作為Agent探索環(huán)境的風(fēng)險(xiǎn)程度。
近端策略優(yōu)化算法(PPO)[24]是一種策略梯度算法,通過與環(huán)境的交互交替采樣數(shù)據(jù),并利用隨機(jī)梯度上升的方法進(jìn)行代替的目標(biāo)函數(shù)的優(yōu)化。標(biāo)準(zhǔn)策略梯度方法對(duì)每個(gè)采樣的數(shù)據(jù)進(jìn)行一次更新,就將這些采樣的數(shù)據(jù)扔掉,重新采樣,再實(shí)現(xiàn)更新,而PPO算法可以實(shí)現(xiàn)多個(gè)小批量更新,解決了策略梯度算法中步長(zhǎng)難以確定的問題。
在現(xiàn)實(shí)世界中,Agent往往在一個(gè)信息不完整、環(huán)境隨時(shí)變化和感知力有限的情況下進(jìn)行決策,從而使得Agent收到的反饋信號(hào)少之又少。強(qiáng)化學(xué)習(xí)的算法在每個(gè)時(shí)間步采取一個(gè)動(dòng)作,即使Agent對(duì)其選擇的動(dòng)作存在顧慮,它也會(huì)使用這個(gè)動(dòng)作進(jìn)行學(xué)習(xí)。這種不謹(jǐn)慎會(huì)導(dǎo)致Agent犯下錯(cuò)誤。而且當(dāng)Agent探索到比以前更好的策略時(shí),Agent大部分時(shí)間都會(huì)選擇這個(gè)策略,所以它很少去探索未訪問的環(huán)境。為鼓勵(lì)A(yù)gent發(fā)現(xiàn)好的狀態(tài),本文提出一種結(jié)合新穎性和風(fēng)險(xiǎn)評(píng)估的內(nèi)在獎(jiǎng)勵(lì)驅(qū)動(dòng)的探索方法。內(nèi)在獎(jiǎng)勵(lì)rin由新穎性O(shè)(s,a,s′)和風(fēng)險(xiǎn)評(píng)估M(s,a,s′)兩種因素決定。在每個(gè)時(shí)間步驟t,Agent執(zhí)行一個(gè)動(dòng)作并獲得一個(gè)獎(jiǎng)勵(lì):
其中,α是超參數(shù)。本文在PPO算法中加入基于新穎性和風(fēng)險(xiǎn)評(píng)估的內(nèi)在獎(jiǎng)勵(lì)得到PPO+NRA(PPO-noveltyrisk assessment)方法,PPO+NRA方法使用內(nèi)在獎(jiǎng)勵(lì)和外在獎(jiǎng)勵(lì)之和,更新策略參數(shù),其中內(nèi)在獎(jiǎng)勵(lì)只會(huì)影響策略參數(shù)的變化,而本文中累積獎(jiǎng)勵(lì)的最終衡量標(biāo)準(zhǔn)是Agent所獲得的外在獎(jiǎng)勵(lì)值。下面詳細(xì)介紹構(gòu)成內(nèi)在獎(jiǎng)勵(lì)的兩種因素。
新穎性作為內(nèi)在獎(jiǎng)勵(lì)的一部分,主要用于處理Agent對(duì)環(huán)境的探索能力。即促使Agent在生命周期中盡可能多地訪問不同的狀態(tài)。在有些環(huán)境中發(fā)現(xiàn)許多糟糕的探索序列經(jīng)常出現(xiàn)在同一個(gè)狀態(tài),或者探索序列前期階段總是重復(fù)之前探索過的狀態(tài)。因此Agent會(huì)被困在一個(gè)熟悉的環(huán)境,從而不去探索未訪問過的環(huán)境。從Agent和環(huán)境進(jìn)行交互過程中,根據(jù)對(duì)環(huán)境的熟悉程度和對(duì)新狀態(tài)出現(xiàn)的好奇程度,可以設(shè)置不同的獎(jiǎng)勵(lì)值。即當(dāng)狀態(tài)一直反復(fù)出現(xiàn)時(shí),該狀態(tài)獲得內(nèi)在獎(jiǎng)勵(lì)很低,此時(shí),內(nèi)在獎(jiǎng)勵(lì)無法指引Agent有效地探索環(huán)境,因此,為了獲得高的內(nèi)在獎(jiǎng)勵(lì),應(yīng)該鼓勵(lì)A(yù)gent去探索周邊的環(huán)境,而不是一直停留在熟悉的環(huán)境中進(jìn)行探索。如果環(huán)境的狀態(tài)和/或動(dòng)作空間是高維連續(xù)的,一個(gè)狀態(tài)和/或動(dòng)作幾乎不會(huì)重復(fù)出現(xiàn),采用簡(jiǎn)單的基于計(jì)數(shù)的方法,會(huì)發(fā)現(xiàn)絕大多數(shù)狀態(tài)和/或動(dòng)作的計(jì)數(shù)為1,無法區(qū)分不同狀態(tài)和/或動(dòng)作之間的差異性。為此,本文使用靜態(tài)哈希方法實(shí)現(xiàn)高維的狀態(tài)和/或動(dòng)作空間的降維,將狀態(tài)和/或動(dòng)作映射到哈希碼,并將狀態(tài)和/或動(dòng)作的計(jì)數(shù)轉(zhuǎn)換為哈希碼的計(jì)數(shù)。靜態(tài)哈希方法[25]使用SimHash[26]作為哈希函數(shù),它通過角距離來度量相似性,SimaHash將狀態(tài)s∈S的二進(jìn)制代碼檢索為:
其中g(shù):S→RD是一個(gè)可選的預(yù)處理函數(shù),本文中沒有使用預(yù)處理函數(shù),A是矩陣,服從標(biāo)準(zhǔn)高斯分布N(0,1),k是控制粒度:更高的值會(huì)導(dǎo)致更少的沖突,更有可能區(qū)分狀態(tài)。
新穎性是基于靜態(tài)哈希計(jì)數(shù)的探索,將新穎性定義為當(dāng)前狀態(tài)-動(dòng)作對(duì)的新穎性與狀態(tài)-動(dòng)作-轉(zhuǎn)換后狀態(tài)新穎性之和。本文主要考慮轉(zhuǎn)換后狀態(tài)的統(tǒng)計(jì)次數(shù),主要是大部分內(nèi)在獎(jiǎng)勵(lì)的計(jì)數(shù)從狀態(tài)、狀態(tài)-動(dòng)作這兩方面進(jìn)行統(tǒng)計(jì),其本質(zhì)是沒有區(qū)別的,都是對(duì)狀態(tài)s進(jìn)行統(tǒng)計(jì),這意味著新穎性對(duì)狀態(tài)進(jìn)行兩次計(jì)算,可能會(huì)導(dǎo)致Agent過早失去內(nèi)在獎(jiǎng)勵(lì)信號(hào)。而本文考慮轉(zhuǎn)換后狀態(tài)作為計(jì)數(shù),主要有兩個(gè)作用:一是分別對(duì)狀態(tài)-動(dòng)作和轉(zhuǎn)換后狀態(tài)進(jìn)行統(tǒng)計(jì),不會(huì)過早失去內(nèi)在獎(jiǎng)勵(lì)。當(dāng)狀態(tài)-動(dòng)作被訪問的次數(shù)越多,而轉(zhuǎn)換后狀態(tài)被訪問的次數(shù)是首次或者很少被訪問時(shí),Agent不會(huì)過早失去內(nèi)在獎(jiǎng)勵(lì)信號(hào),還能根據(jù)其內(nèi)在獎(jiǎng)勵(lì)信號(hào)去探索未訪問的狀態(tài)。二是判斷當(dāng)前狀態(tài)s采取動(dòng)作a是否有利于Agent探索。Agent采取動(dòng)作a,到達(dá)下一狀態(tài)s′,如果多次訪問該狀態(tài)s′,則表示該動(dòng)作不利于當(dāng)前時(shí)刻的探索,反之是有利于探索。新穎性定義為:
其中,n(s,a)表示為對(duì)當(dāng)前狀態(tài)-動(dòng)作的訪問次數(shù)統(tǒng)計(jì),n(s,a,s′)表示為當(dāng)前狀態(tài)采取動(dòng)作a,到達(dá)下一狀態(tài)s′的訪問次數(shù)統(tǒng)計(jì),其中λ為正常數(shù),滿足0<λ<1。訪問次數(shù)越多,狀態(tài)的新穎性獎(jiǎng)勵(lì)值越低。
本文提出用風(fēng)險(xiǎn)評(píng)估作為內(nèi)在獎(jiǎng)勵(lì)的一部分,主要是規(guī)避對(duì)環(huán)境不利的動(dòng)作。從實(shí)驗(yàn)結(jié)果中發(fā)現(xiàn),當(dāng)來自環(huán)境的反饋很少時(shí),這種方法可以促進(jìn)有效的探索策略。強(qiáng)化學(xué)習(xí)中大多數(shù)采用隨機(jī)性探索或者是ε-greedy探索來進(jìn)行學(xué)習(xí),這些不安全性探索的學(xué)習(xí)可能會(huì)帶來巨大的風(fēng)險(xiǎn)。通過風(fēng)險(xiǎn)來修改Agent的探索過程,將下一狀態(tài)的狀態(tài)價(jià)值和當(dāng)前狀態(tài)的狀態(tài)價(jià)值的差值,與累積獎(jiǎng)勵(lì)方差來確定狀態(tài)-動(dòng)作-轉(zhuǎn)換后狀態(tài)的風(fēng)險(xiǎn)評(píng)估,用以下表達(dá)式定義它:
其中v(s)、v(s′)分別為狀態(tài)s和s′的價(jià)值;Var[G]是累積獎(jiǎng)勵(lì)的方差(公式(2)),從整個(gè)生命周期開始計(jì)算;β是風(fēng)險(xiǎn)等級(jí)參數(shù),主要控制狀態(tài)-動(dòng)作-轉(zhuǎn)換后狀態(tài)的風(fēng)險(xiǎn)程度,當(dāng)β取值越大,意味著當(dāng)前狀態(tài)-動(dòng)作-轉(zhuǎn)換后的狀態(tài)存在風(fēng)險(xiǎn)等級(jí)越高,此時(shí)Agent會(huì)傾向于選擇其他的動(dòng)作到達(dá)下一狀態(tài),來規(guī)避對(duì)環(huán)境有重大影響的動(dòng)作。
風(fēng)險(xiǎn)評(píng)估主要從選擇當(dāng)前動(dòng)作的風(fēng)險(xiǎn)程度進(jìn)行考慮。一方面從長(zhǎng)遠(yuǎn)的角度來判斷當(dāng)前動(dòng)作是否會(huì)使未來累積獎(jiǎng)勵(lì)達(dá)到最大值,雖然采取當(dāng)前動(dòng)作會(huì)使Agent獲得較高的短期獎(jiǎng)勵(lì)值,但有可能會(huì)導(dǎo)致未來獎(jiǎng)勵(lì)達(dá)不到最大值,從而使Agent發(fā)現(xiàn)次優(yōu)策略。另一方面Agent在選擇此動(dòng)作的時(shí)候,可能會(huì)出現(xiàn)不同的結(jié)果,即環(huán)境在發(fā)生變化時(shí),可能之前采取動(dòng)作取得可觀的獎(jiǎng)勵(lì),但也有可能在后面采取此動(dòng)作得到相應(yīng)的懲罰。因此對(duì)于此動(dòng)作采取反復(fù)探索。首先用累積獎(jiǎng)勵(lì)的方差來判斷當(dāng)前動(dòng)作對(duì)環(huán)境的影響程度,當(dāng)方差很大時(shí),說明此動(dòng)作對(duì)收益的波動(dòng)很大;其次再利用β來評(píng)估當(dāng)前動(dòng)作的風(fēng)險(xiǎn)程度,通過調(diào)節(jié)權(quán)重β,來賦予此狀態(tài)的價(jià)值。在本文的實(shí)驗(yàn)中,β值是正數(shù),Agent會(huì)規(guī)避冒險(xiǎn)行為。
實(shí)驗(yàn)采用的環(huán)境是OpenAI公司開發(fā)的Gym平臺(tái)中Mujoco控制類游戲,選取4個(gè)連續(xù)控制類問題來驗(yàn)證本文方法的有效性。本文選取的4個(gè)連續(xù)控制類問題如下:
(1)Swimmer實(shí)驗(yàn)環(huán)境中,如圖1(a)所示,在粘性流體中的三連桿游泳機(jī)器人,通過驅(qū)動(dòng)兩個(gè)關(guān)節(jié)使其盡可能快地向前游。
(2)Hopper實(shí)驗(yàn)環(huán)境中,如圖1(b)所示,讓一個(gè)三維單腿機(jī)器人盡可能地快速向前跳躍。
(3)Walker2d實(shí)驗(yàn)環(huán)境中,如圖1(c)所示,需要訓(xùn)練使二維雙足Agent盡可能快地向前走。
圖1 Mujoco游戲環(huán)境圖Fig.1 Mujoco game environment map
(4)Humanoid實(shí)驗(yàn)環(huán)境中,如圖1(d)所示,需要訓(xùn)練三維雙足Agent盡可能快地向前走,并且不會(huì)摔倒。其中,Humanoid是當(dāng)前強(qiáng)化學(xué)習(xí)算法可以解決的最具挑戰(zhàn)性的任務(wù)之一,具有非常高維的狀態(tài)、動(dòng)作空間。
實(shí)驗(yàn)使用的CPU為Intel?Core?i5-7400,內(nèi)存為8 GB。為了驗(yàn)證本文提出的內(nèi)在獎(jiǎng)勵(lì)方法的有效性,把其應(yīng)用于PPO算法,得到的算法記為PPO+NRA,并與基線方法PPO、LIRPG、RAPID、UA-DDPG和QR-DDPG進(jìn)行比較。在實(shí)驗(yàn)中,使用步長(zhǎng)為128,熵系數(shù)為0.01,批量大小為256,折扣率為0.99,值損失項(xiàng)系數(shù)為0.5,剪裁為0.2和學(xué)習(xí)率為0.000 1,實(shí)驗(yàn)采用了均方根隨機(jī)梯度下降方法來更新網(wǎng)絡(luò)的參數(shù)。
在強(qiáng)化學(xué)習(xí)中,主要使用一個(gè)episode所獲得的累積獎(jiǎng)勵(lì)值來評(píng)判方法的優(yōu)劣,累計(jì)獎(jiǎng)賞值越高說明方法的性能越好,學(xué)習(xí)到的是一個(gè)有利于Agent的策略。為了實(shí)驗(yàn)的穩(wěn)定性,取過去10次訓(xùn)練的每個(gè)episode的平均獎(jiǎng)勵(lì)值,每次訓(xùn)練100萬步。為創(chuàng)建一個(gè)更具挑戰(zhàn)性的稀疏獎(jiǎng)勵(lì)設(shè)置,延遲外在獎(jiǎng)勵(lì),在本文中以每20、40步來延遲外在獎(jiǎng)勵(lì),結(jié)果如圖2和3所示。圖2和圖3中的橫坐標(biāo)是學(xué)習(xí)過程中的時(shí)間步長(zhǎng),縱坐標(biāo)是過去10個(gè)episode訓(xùn)練的平均獎(jiǎng)勵(lì)。其中將外在獎(jiǎng)勵(lì)延遲40步更加體現(xiàn)出本文的方法在環(huán)境非常稀疏的條件下能獲得更高的平均獎(jiǎng)勵(lì)值。
圖3 延遲40步實(shí)驗(yàn)結(jié)果圖Fig.3 Delayed 40-step experiment result graph
針對(duì)環(huán)境稀疏情況不同,分別對(duì)延遲20步和40步的實(shí)驗(yàn)結(jié)果圖進(jìn)行分析。從圖2分析可以看出:
圖2 延遲20步實(shí)驗(yàn)結(jié)果圖Fig.2 Delayed 20-step experiment result graph
在外在獎(jiǎng)勵(lì)延遲20步的情形下,PPO+NRA在除Humanoid之外的所有三個(gè)環(huán)境中都取得了最佳性能。在Humanoid環(huán)境中,PPO+NRA比LIRPG稍差一些,原因是LIRPG中用一個(gè)以外在獎(jiǎng)勵(lì)為目標(biāo)的網(wǎng)絡(luò)來學(xué)習(xí)內(nèi)在獎(jiǎng)勵(lì),經(jīng)過一段時(shí)間的探索Agen(t相對(duì)于延遲40步的情形)容易獲得外在獎(jiǎng)勵(lì),從而改進(jìn)內(nèi)在獎(jiǎng)勵(lì)的學(xué)習(xí),進(jìn)一步改進(jìn)策略的學(xué)習(xí)。PPO的策略參數(shù)受到外在獎(jiǎng)勵(lì)的影響,由于外在獎(jiǎng)勵(lì)幾乎為0,不能很好地引導(dǎo)Agent決策,而PPO+NRA加入內(nèi)在獎(jiǎng)勵(lì),通過外在獎(jiǎng)勵(lì)和內(nèi)在獎(jiǎng)勵(lì)一起更新策略參數(shù),獲得不錯(cuò)的平均獎(jiǎng)勵(lì)。在Walker2d環(huán)境中,PPO+NRA與其他五種方法相比,性能提升明顯,其中RAPID方法相對(duì)于其他方法在前期獲取的平均獎(jiǎng)勵(lì)幾乎為0,可能是因?yàn)镽APID前期的樣本不利于Agent選擇好的策略,隨著Agent不斷地探索,RAPID方法能選擇好的樣本進(jìn)行決策。QR-DDPG在中間階段的平均獎(jiǎng)勵(lì)值低,這可能是因?yàn)椴扇×孙L(fēng)險(xiǎn)軌跡,在環(huán)境稀疏的情況下,QR-DDPG不能很好地對(duì)收益分布進(jìn)行建模。在Hopper環(huán)境中,PPO+NRA前期不如PPO,這主要的原因是PPO沒有內(nèi)在獎(jiǎng)勵(lì),而外在獎(jiǎng)勵(lì)又稀疏,導(dǎo)致Agent前期不斷地探索環(huán)境,當(dāng)Agent遇到獎(jiǎng)勵(lì)值高的狀態(tài)-動(dòng)作時(shí),就會(huì)經(jīng)常訪問此狀態(tài)-動(dòng)作,所以PPO前期獲得平均獎(jiǎng)勵(lì)值高,但在后期由于缺乏探索導(dǎo)致Agent學(xué)習(xí)到一個(gè)次優(yōu)的策略。本文的方
法考慮新穎性,從而促使Agent探索環(huán)境,Agent在學(xué)習(xí)過程中能夠很好地平衡探索與利用,學(xué)習(xí)到一個(gè)好的策略。從平均獎(jiǎng)勵(lì)值來看,PPO+NRA相對(duì)于LIRPG較差一點(diǎn),可能是因?yàn)長(zhǎng)IRPG主要鼓勵(lì)A(yù)gent不斷地去探索環(huán)境,去發(fā)現(xiàn)未訪問過的狀態(tài),這也可能是LIRPG在30萬步之前的平均獎(jiǎng)勵(lì)值高的原因,隨著Agent探索能力減弱,中后期階段Agent訪問的狀態(tài)大部分是之前訪問過的狀態(tài),此時(shí)Agent就會(huì)偏向于利用,所以LIRPG在中后期的平均獎(jiǎng)勵(lì)值波動(dòng)不明顯。PPO+NRA在前期表現(xiàn)不好的原因可能是PPO+NRA不僅鼓勵(lì)A(yù)gent去探索環(huán)境,還對(duì)動(dòng)作進(jìn)行判斷,導(dǎo)致Agent在前期花費(fèi)大量時(shí)間訓(xùn)練。在Swimmer環(huán)境中,PPO+NRA在實(shí)驗(yàn)中期優(yōu)于其他五種方法,主要是PPO+NRA增加了風(fēng)險(xiǎn)評(píng)估,使Agent規(guī)避危險(xiǎn)動(dòng)作的選擇,大大降低了環(huán)境中所存在的陷阱。QR-DDPG的曲線比UA-DDPG的曲線波動(dòng)大,這可能是因?yàn)镾wimmer環(huán)境的外在獎(jiǎng)勵(lì)是負(fù)值且稀疏,導(dǎo)致QR-DDPG無法學(xué)習(xí)到有利的收益分布,促使Agent不能從收益分布中區(qū)分狀態(tài)-動(dòng)作是否存在風(fēng)險(xiǎn)。
在更為稀疏的環(huán)境,PPO+NRA在四個(gè)環(huán)境中有三個(gè)環(huán)境能取得高的平均獎(jiǎng)勵(lì)值,從圖3分析可以看出:
當(dāng)外在獎(jiǎng)勵(lì)延遲40步時(shí),Agent在更稀疏的環(huán)境中,前期探索能力較好,尤其是在最具挑戰(zhàn)的Humanoid游戲中,平均獎(jiǎng)勵(lì)值在中后期呈現(xiàn)上升趨勢(shì),而圖2的Humanoid環(huán)境平均獎(jiǎng)勵(lì)值在中后期已經(jīng)趨于收斂,雖然LIRPG算法的平均獎(jiǎng)勵(lì)值在外在獎(jiǎng)勵(lì)延遲20步時(shí)超過PPO+NRA,但是在環(huán)境更加稀疏的情況下,LIRPG算法不能很好地指引Agent獲得最優(yōu)策略,并且在前期LIRPG的探索能力也在逐漸下降。LIRPG后期下降的原因可能是內(nèi)在獎(jiǎng)勵(lì)參數(shù)的更新受到策略參數(shù)的影響,由于外在獎(jiǎng)勵(lì)太過稀疏,導(dǎo)致Agent獲取的策略不好,從而影響內(nèi)在獎(jiǎng)勵(lì)參數(shù)的變化。RAPID在此環(huán)境中表現(xiàn)得很差,主要是Humanoid環(huán)境中的動(dòng)作數(shù)量很多,RAPID算法中的內(nèi)在獎(jiǎng)勵(lì)(公式(1))從一幕中不同狀態(tài)的數(shù)量進(jìn)行考慮,也就是鼓勵(lì)A(yù)gent去探索不同的狀態(tài),然而Humanoid環(huán)境的狀態(tài)空間比Swimmer、Hopper和Walker2d更為復(fù)雜,Agent訪問的狀態(tài)幾乎是不同的,使得Agent不能區(qū)分狀態(tài)之間的區(qū)別,這會(huì)導(dǎo)致RAPID不能對(duì)好的樣本進(jìn)行采樣以更新策略的參數(shù),并且RAPID沒有考慮當(dāng)前選擇的動(dòng)作是否對(duì)Agent有利,而PPO+NRA促使Agent在探索不同狀態(tài)的同時(shí)也對(duì)選擇的動(dòng)作進(jìn)行判斷。在Walker2d游戲中,LIRPG算法在更稀疏的環(huán)境中獲得的平均獎(jiǎng)勵(lì)值很低,而PPO+NRA在更稀疏的環(huán)境中也能獲得較高的平均獎(jiǎng)勵(lì)值。PPO算法的平均獎(jiǎng)勵(lì)值僅次于PPO+NRA,這可能是因?yàn)镻PO采用的是離軌策略(off-policy),Agent與環(huán)境交互過程中產(chǎn)生好的樣本,促使Agent使用好的樣本來訓(xùn)練網(wǎng)絡(luò)。RAPID的平均獎(jiǎng)勵(lì)值低,主要是因?yàn)閃alker2d環(huán)境的動(dòng)作空間復(fù)雜,RAPID只鼓勵(lì)A(yù)gent不斷地去探索環(huán)境,沒有對(duì)動(dòng)作的選擇進(jìn)行判斷,會(huì)導(dǎo)致Agent選擇不利的動(dòng)作。UA-DDPG在后期的波動(dòng)性大,可能是因?yàn)閯?dòng)作的不確定性是有偏估計(jì),在學(xué)習(xí)過程中大部分都在執(zhí)行探索行為。在Hopper環(huán)境中,PPO+NRA比其他五種方法較為穩(wěn)定,波動(dòng)性不大,性能提升明顯。在Swimmer游戲中,RAPID算法在更稀疏的環(huán)境中也能獲得較高的平均獎(jiǎng)勵(lì)值,但是在環(huán)境復(fù)雜和動(dòng)作數(shù)量增加的Walker2d游戲和Humanoid游戲中,并沒有獲得高的平均獎(jiǎng)勵(lì)值,主要是因?yàn)镾wimmer游戲中動(dòng)作數(shù)量少,Agent只需不斷地探索環(huán)境,而另外兩個(gè)環(huán)境外在獎(jiǎng)勵(lì)非常稀疏,動(dòng)作數(shù)量多,RAPID算法只鼓勵(lì)A(yù)gent去探索不同的狀態(tài),沒有考慮此動(dòng)作是否對(duì)Agent有利,而PPO+NRA促使Agent在探索不同狀態(tài)的同時(shí)也對(duì)選擇的動(dòng)作進(jìn)行判斷。UA-DDPG比QR-DDPG的平均獎(jiǎng)勵(lì)高,這可能是因?yàn)橥庠讵?jiǎng)勵(lì)是負(fù)值的時(shí)候,UA-DDPG在學(xué)習(xí)過程中會(huì)積累更多的風(fēng)險(xiǎn)狀態(tài)-動(dòng)作,在大部分時(shí)間Agent執(zhí)行探索行為。
通過實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),尤其是針對(duì)外在獎(jiǎng)勵(lì)特別稀疏的情況下,PPO+NRA相比于PPO、LIRPG、RAPID、UADDPG和QR-DDPG這五種算法來說,在多數(shù)環(huán)境中能取得較高的平均獎(jiǎng)勵(lì)值,說明本文的方法能夠解決外在獎(jiǎng)勵(lì)稀疏的問題。特別是在Humanoid這種最具挑戰(zhàn)的環(huán)境中,當(dāng)使用新穎性和風(fēng)險(xiǎn)評(píng)估作為內(nèi)在獎(jiǎng)勵(lì)時(shí),內(nèi)在獎(jiǎng)勵(lì)不會(huì)提前消失,仍然能夠鼓勵(lì)A(yù)gent長(zhǎng)期地進(jìn)行探索。從表1中可以看出PPO+NRA在延遲40步中獲得平均獎(jiǎng)勵(lì)值更高。外在獎(jiǎng)勵(lì)延遲20步的情況下,雖然LIRPG兩個(gè)環(huán)境中的平均獎(jiǎng)勵(lì)值都比本文的方法稍好,但是LIRPG在獎(jiǎng)勵(lì)更加稀疏的環(huán)境中表現(xiàn)的結(jié)果比本文的方法差,可以清晰地從表1中發(fā)現(xiàn)LIRPG隨著獎(jiǎng)勵(lì)稀疏增加平均獎(jiǎng)勵(lì)值下降,RAPID只在Swimmer一個(gè)環(huán)境中平均獎(jiǎng)勵(lì)值提升,而本文的方法在獎(jiǎng)勵(lì)非常稀疏的情況下,在大部分環(huán)境中也能夠獲取較高的平均獎(jiǎng)勵(lì)值,驗(yàn)證本文的方法能夠解決外在獎(jiǎng)勵(lì)稀疏的問題。
表1 Mujoco環(huán)境平均獎(jiǎng)勵(lì)值Table 1 Average reward value of Mujoco environment
本文提出一種結(jié)合新穎性和風(fēng)險(xiǎn)評(píng)估的內(nèi)在獎(jiǎng)勵(lì)方法,將內(nèi)在獎(jiǎng)勵(lì)加入到PPO算法當(dāng)中,得到PPO+NRA。并在Mujoco基準(zhǔn)測(cè)試任務(wù)中驗(yàn)證了它的有效性,實(shí)驗(yàn)結(jié)果均表明本文的方法能夠使Agent在外在獎(jiǎng)勵(lì)稀疏的環(huán)境下獲得較高的平均獎(jiǎng)勵(lì)值,并且在Mujoco環(huán)境中最困難的任務(wù)之一Humanoid上實(shí)現(xiàn)了最佳的性能。下一步的工作是調(diào)整內(nèi)在獎(jiǎng)勵(lì)方法進(jìn)一步提高平均獎(jiǎng)勵(lì)值和收斂速度。考慮在內(nèi)在獎(jiǎng)勵(lì)完全消失之前,讓Agent根據(jù)所獲得經(jīng)驗(yàn)來獲取相關(guān)的技能,用此技能來代替逐漸消失的內(nèi)在獎(jiǎng)勵(lì),最后根據(jù)此技能來更新策略。