賴 俊,魏競毅,陳希亮
陸軍工程大學(xué) 指揮控制工程學(xué)院,南京210007
強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)是機(jī)器學(xué)習(xí)的一個重要分支,它是智能體(Agent)根據(jù)自身狀態(tài)(State)采取動作(Action)與環(huán)境進(jìn)行交互獲取獎勵,最終完成一個最優(yōu)策略使獎勵最大化。2017 年最具影響力的AlphaGo大勝世界圍棋冠軍李世石和柯潔事件,其核心算法就是強(qiáng)化學(xué)習(xí)算法。但在傳統(tǒng)強(qiáng)化學(xué)習(xí)中面臨著維數(shù)災(zāi)難的問題,因?yàn)樗袕?qiáng)化學(xué)習(xí)的方法都把狀態(tài)動作空間視為一個巨大的、平坦的搜索空間,這也就意味著一旦環(huán)境較為復(fù)雜,狀態(tài)動作空間過大,將會導(dǎo)致起始狀態(tài)到目標(biāo)狀態(tài)的路徑非常長,需要學(xué)習(xí)參數(shù)以及學(xué)習(xí)過程中的存儲空間將會非常大,使得學(xué)習(xí)的難度成指數(shù)增加,并且強(qiáng)化學(xué)習(xí)效率以及效果不盡如人意。
之后隨著深度學(xué)習(xí)的再次興起,其強(qiáng)大的探索能力受到了廣大科研人員的熱捧,于是結(jié)合兩者深度強(qiáng)化學(xué)習(xí)也就此應(yīng)運(yùn)而生,深度強(qiáng)化學(xué)習(xí)不僅具有強(qiáng)大的探索能力,對于復(fù)雜的環(huán)境狀態(tài)都能夠有一個良好的處理,但當(dāng)智能體具有復(fù)雜動作空間時,其依舊不能取得良好的結(jié)果,使得強(qiáng)化學(xué)習(xí)的發(fā)展再次碰觸到了瓶頸。為解決強(qiáng)化學(xué)習(xí)發(fā)展的瓶頸問題,研究者們將分層的思想加入強(qiáng)化學(xué)習(xí)中,提出分層深度強(qiáng)化學(xué)習(xí)(Hierarchical Deep Reinforcement Learning,HRL),HRL 的本質(zhì)是通過將任務(wù)分解為不同抽象層次上的子任務(wù),子任務(wù)的狀態(tài)動作空間有限,對子任務(wù)能夠有較快的求解速度,最終加快整體問題的求解[1]。經(jīng)過分層深度強(qiáng)化學(xué)習(xí)在競技對抗游戲中,人工智能不斷發(fā)力,在例如DOTA2、星際爭霸2 這類復(fù)雜的競技對抗游戲中與游戲職業(yè)頂尖人員進(jìn)行對抗并取得了勝利,甚至在與普通人對戰(zhàn)時出現(xiàn)人類一敗涂地的情況。
本文首先對MDP 和SMDP 進(jìn)行簡要描述,同時也回顧了一下三種分層強(qiáng)化學(xué)習(xí)方法:Sutton的option體系、Parr 和Russell 的HAM(Hierarchies of Abstract Machines)方法和Dietterich的MAXQ 框架,之后對幾年來在分層深度強(qiáng)化學(xué)習(xí)上的創(chuàng)新進(jìn)行了介紹,主要集中在分層的子策略共享、無監(jiān)督的學(xué)習(xí)和多層的分層結(jié)構(gòu),最終討論分層深度強(qiáng)化學(xué)習(xí)的發(fā)展前景與挑戰(zhàn)。
強(qiáng)化學(xué)習(xí)是學(xué)習(xí)一種從情景到動作的映射,以此來使得標(biāo)量獎勵或強(qiáng)化信號最大[2]。強(qiáng)化學(xué)習(xí)的目標(biāo)是給定一個馬爾科夫決策過程(Markov Decision Process,MDP),尋找最優(yōu)策略π。強(qiáng)化學(xué)習(xí)的學(xué)習(xí)過程是動態(tài)的,其數(shù)據(jù)通過在不斷與環(huán)境進(jìn)行交互來產(chǎn)生并不斷更新,馬爾科夫決策過程有元組(S,A,P,R,γ)描述,其中S為有限的狀態(tài)集,A為有限的動作集,P為狀態(tài)轉(zhuǎn)移概率,R為回報函數(shù),γ為折扣因子,用于計算累積回報。當(dāng)一個智能體(agent)根據(jù)與環(huán)境的交互采取一個動作α后,它會獲得一個即時收益reward,然后根據(jù)其狀態(tài)轉(zhuǎn)移概率P到達(dá)下一狀態(tài)st+1,同時由于馬爾科夫性,下一個狀態(tài)st+1僅與當(dāng)前狀態(tài)st相關(guān),所以每次做出決策時不用考慮歷史狀態(tài),最終根據(jù)其累積獎勵構(gòu)成的狀態(tài)值函數(shù)和狀態(tài)-行為值函數(shù),來學(xué)習(xí)到最優(yōu)策略。
馬爾科夫決策過程根據(jù)當(dāng)前狀態(tài)st選擇一個動作后,會根據(jù)狀態(tài)轉(zhuǎn)移概率P和策略π 跳轉(zhuǎn)至下一狀態(tài)st+1,而且根據(jù)馬爾科夫性其下一狀態(tài)st+1僅與當(dāng)前狀態(tài)st有關(guān)。但由于在一些情況下,多個動作在多個時間步驟完成后才能體現(xiàn)出其真正的價值,對于這類情況MDP 無法進(jìn)行較好的優(yōu)化處理,所以研究人員引入半馬爾科夫決策過程SMDP(Semi-Markov Decision Process)[3],SMDP是依賴歷史狀態(tài)的策略,兩者的狀態(tài)變化如圖1。Sutton提出對于任何MDP,以及在該MDP上定義任何一組option,僅在這些option 中進(jìn)行選擇并執(zhí)行每個option以終止決策的過程就是SMDP。SMDP包括一組狀態(tài)、一組動作,對于每對狀態(tài)與動作都有一個累積折扣收益,同時與下一個狀態(tài)和transit time有一個明確的聯(lián)合分布[4]。
圖1 MDP與SMDP狀態(tài)比較
在SMDP 中,兩個決策之間的時間間隔為τ,τ既可以是實(shí)數(shù)也可以是整數(shù)。當(dāng)為實(shí)數(shù)時,SMDP建模連續(xù)時間離散事件系統(tǒng)(continuous-time discrete-event systems)[5],在離散時間(discrete-time)SMDP[5]中,只能在底層時間步的整數(shù)倍的時間上做決策,離散時間SMDP是大多數(shù)分層強(qiáng)化學(xué)習(xí)算法的基礎(chǔ),同時也可以推廣到連續(xù)時間上。在SMDP中,在某一狀態(tài)s采取動作后,經(jīng)過τ時間后才會以某一概率轉(zhuǎn)移至下一狀態(tài)s′,此時是狀態(tài)s和時間τ的聯(lián)合概率寫作預(yù)期獎勵為狀態(tài)值函數(shù)和狀態(tài)-行為值函數(shù)的貝爾曼方程為:
分層強(qiáng)化學(xué)習(xí)本質(zhì)是將較為復(fù)雜的強(qiáng)化學(xué)習(xí)問題進(jìn)行分解,將大問題分解為一系列子問題,之后給出子問題的解決策略,從而得出解決整體問題的最優(yōu)化策略。在分層強(qiáng)化學(xué)習(xí)中,抽象的思想貫穿始終,其通常對于子任務(wù)進(jìn)行抽象,將其多個動作進(jìn)行封裝抽象為一個策略動作,在MDP 系統(tǒng)中下一狀態(tài)僅與當(dāng)前狀態(tài)有關(guān),而與之前狀態(tài)無關(guān),所以在底層策略中采用MDP,但在高層策略中,其雖然將子任務(wù)抽象成一個策略動作,近似看作一個動作,但其內(nèi)在存在一系列動作,在高層策略選擇子策略后,經(jīng)過子策略一段執(zhí)行時間后,高層狀態(tài)才會轉(zhuǎn)至下一狀態(tài),在此是采用SMDP的處理方式。分層強(qiáng)化學(xué)習(xí)的經(jīng)典學(xué)習(xí)算法主要包含Option、HAMs、MAXQ,雖然這三種方法是相對獨(dú)立開發(fā)的,但是其具有相同的點(diǎn),都是依據(jù)SMDP來提供理論基礎(chǔ)。
Sutton[6]提出SMDP本質(zhì)上是具有固定Options選項(xiàng)集的MDP,Options 是具有一定意義的時間序列決策過程,也可以理解為一段持續(xù)時間內(nèi)的動作。Options 包含三部分:策略π表示option 中的策略,終止條件β表示狀態(tài)s有概率結(jié)束當(dāng)前option;初始集I表示option的初始狀態(tài)集合。
在一個任務(wù)正在進(jìn)行時,只有狀態(tài)s?I時,Options才是有效的。當(dāng)選擇了option,就會根據(jù)當(dāng)前的策略π 選擇動作,直到option 根據(jù)終止條件β終止,之后智能體開始選擇下一option。一個option 在st開始,終止于st+k。在每一個中間時間,MDP 僅取決于sτ,而SMDP可能取決于前面的整個序列。同時可以將SMDP 用在Q-learning 中,在每一步option 終止后更新,更新公式為:
Bacon 在option 基礎(chǔ)上將其與Actor-Critic 者結(jié)合,提出了一種Option-Critic框架[7],這一框架與經(jīng)典AC框架相似,但其使用option 的分層強(qiáng)化學(xué)習(xí)方法,并使用策略梯度方法對一系列option的參數(shù)進(jìn)行更新,實(shí)現(xiàn)了端到端算法,其不需要設(shè)置內(nèi)在獎勵,就能夠自動學(xué)習(xí)出option的策略和自動切換option。其在四房間任務(wù)中,當(dāng)目標(biāo)任務(wù)發(fā)生變化時,相較于AC 方法,使用Option-Critic 框架的智能體能更快的適應(yīng),同時在Arcade 學(xué)習(xí)環(huán)境中,在多個游戲中表現(xiàn)出超越DQN的性能收益。
Parr和Russell提出一種分層結(jié)構(gòu)的MDP策略稱為分層抽象機(jī)HAMs(Hierarchies of Abstract Machines)[8]。HAMs也是在SMDP的理論基礎(chǔ)上提出的,但與Options不同的是,HAMs是通過限制可實(shí)現(xiàn)策略的類別來簡化復(fù)雜的MDP。HAM是一個程序,當(dāng)智能體在環(huán)境中執(zhí)行時,它約束著每個可以執(zhí)行的操作,例如在迷宮之中,一個簡單的機(jī)器可能會命令反復(fù)選擇向右或向下,排除所有向上向左的策略,HAMs以這種簡單約束表達(dá)來給出了一種層次約束思想。
HAMs是通過一組狀態(tài)、一個轉(zhuǎn)換函數(shù)和一個確定機(jī)器的初始狀態(tài)的啟動函數(shù)來定義一個HAM是一個三元組,μ是機(jī)器狀態(tài)的有限集,I是從環(huán)境狀態(tài)到機(jī)器狀態(tài)的確定初始狀態(tài)的隨機(jī)函數(shù),δ是機(jī)器狀態(tài)和環(huán)境狀態(tài)對下一機(jī)器狀態(tài)的隨機(jī)下一狀態(tài)函數(shù)映射,I和δ通常是是描述環(huán)境狀態(tài)的一些狀態(tài)變量的函數(shù)[9]。
對任意的MDP(M)和任意的HAM(H)都存在一個SMDP,表示為H?M,其解是一個最優(yōu)的選擇函數(shù)choose(s,m),使得在M中執(zhí)行H的智能體獲得的期望和收益最大。同時對任意的MDP(M)和任意的HAM(H)都還存在一個reduced SMDP,表示為等同于H?M,其最優(yōu)策略相同,但是包含的狀態(tài)不超過H在M上的選擇的狀態(tài)的動作是H?M的選擇點(diǎn)上的選擇動作。將Q學(xué)習(xí)應(yīng)用于HAMs 中稱為HAMQ-learning[9],它持續(xù)追蹤以下參數(shù):t當(dāng)前環(huán)境狀態(tài);n當(dāng)前機(jī)器狀態(tài);sc和mc上一選擇點(diǎn)的環(huán)境狀態(tài)和機(jī)器狀態(tài);α上一選擇點(diǎn)做的選擇;rc和βc上一個選擇點(diǎn)以來累積的獎勵和折扣總額。HAM Q-learning智能體更新:在每一個選擇點(diǎn)的轉(zhuǎn)換,智能體Q學(xué)習(xí)更新公式:
PHAM[10]是David 在HAM 上提出的新的改進(jìn),在PHAM中引入了兩種額外的狀態(tài)類型,分別是表述執(zhí)行內(nèi)部操作的內(nèi)部狀態(tài)和便于計算但不產(chǎn)生直接影響的空狀態(tài),通過這兩種狀態(tài)在HAM 中添加了幾個結(jié)構(gòu)化的編程結(jié)構(gòu),PHAM 具有相比HAM 更多的11 個參數(shù),同時PHAM具有中斷中止特性,其可以在調(diào)用子例程中指定中止條件。在執(zhí)行巡邏環(huán)境中,PHAM僅需9臺機(jī)器即可,而HAM則需要63臺,具有更好的表現(xiàn)力。
Dietterich提出一種新的分層強(qiáng)化學(xué)習(xí)方法MAXQ值函數(shù)分解(MAXQ value function decomposition),簡稱為MAXQ[11]。該方法將目標(biāo)MDP 分解為較小的MDP的值函數(shù)的組合,這種分解稱為MAXQ分解,將給定的M分解為一組子任務(wù),將M0作為根子任務(wù),解決M0也就解決了M,如圖2 所示是一種出租車任務(wù)簡要分解的情況。每一個子任務(wù)是一個三元組定義為一個終止斷言(termination predicate),它將S劃分為一組活動狀態(tài)Si和一組終止?fàn)顟B(tài)Ti,子任務(wù)Mi的策略只有在當(dāng)前狀態(tài)是活動狀態(tài)時才可以執(zhí)行。Ai是實(shí)現(xiàn)Mi任務(wù)的一系列動作,這些動作可以是原始動作集合A中的動作,也可以是其他子任務(wù)。是一個偽獎勵函數(shù),它規(guī)定了每個從活動狀態(tài)到終止?fàn)顟B(tài)的轉(zhuǎn)變的偽獎勵,這個獎勵說明了終止?fàn)顟B(tài)對這一子任務(wù)的期望程度,它通常被用來給目標(biāo)終端狀態(tài)一個0的偽獎勵,而給任何非目標(biāo)終止?fàn)顟B(tài)一個負(fù)獎勵。策略π定義為一個包含問題中每個子任務(wù)的策略的集合是子任務(wù)Mi的解決策略。
圖2 使用MAXQ的出租車接客任務(wù)分解
狀態(tài)-行為值函數(shù)定義為:
因此可以遞歸的表達(dá)Q函數(shù)為:
在MAXQ 的 基 礎(chǔ) 上,Nicholas 將R-MAX 算 法 與MAXQ 框架相結(jié)合提出一種更新的算法R-MAXQ[12],它繼承了R-MAX 算法基于模型的探索和MAXQ 的分層抽象思想,R-MAXQ 與MAXQ 不同于其使用模型分解來計算分層的值函數(shù),而不是使用標(biāo)準(zhǔn)MDP 模型來計算整體值函數(shù),同時它的層次結(jié)構(gòu)允許它通過減少不必要的探索性操作來約束智能體的策略,并提高其累積回報,在出租車任務(wù)中R-MAXQ 算法相對R-MAX 和MAXQ-Q算法總是獲得更大的收益。
Mehta 提出了一種從模型和演示中自動歸納算法HI-MAT(Hierarchy Induction via Models and trajectories)[13],HI-MAT 將動態(tài)貝葉斯網(wǎng)絡(luò)(DBN)模型應(yīng)用于源問題中的單個成功軌跡,以構(gòu)建因果注釋軌跡(CAT)。HI-MAT以CAT中動作之間的因果和時間關(guān)聯(lián)為指導(dǎo),遞歸地對其進(jìn)行解析,并根據(jù)發(fā)現(xiàn)的CAT 分區(qū)定義MAXQ子任務(wù),其與VISA[14]相同都使用了DBN,但不同于VISA 引入option 架構(gòu),而HI-MAT 引入的是MXAQ架構(gòu),同時使用了在源MDP中得到的成功軌跡,最終其實(shí)驗(yàn)表明學(xué)習(xí)的層次結(jié)構(gòu)更加緊湊。
但同時HI-MAT 使用DBN 對于復(fù)雜環(huán)境模型的自動構(gòu)造能力較差,同時如果成功軌跡如果存在缺陷,則其無法自動發(fā)現(xiàn)子任務(wù),于是Wang 提出了一種新的機(jī)制來發(fā)現(xiàn)MAXQ子任務(wù),稱為HI-CS(Hierarchy-Instruction via Clustering States)[15],HI-CS通過使用受動作影響的狀態(tài)變量來自動獲取任務(wù)層次結(jié)構(gòu),并基于狀態(tài)變量,生成狀態(tài)抽象。然后,HI-CS分析了動作對系統(tǒng)狀態(tài)的影響,將子任務(wù)聚類成層次結(jié)構(gòu)。
當(dāng)今HRL 算法通常采用兩層結(jié)構(gòu),一層結(jié)構(gòu)作為頂層結(jié)構(gòu),每隔一段時間進(jìn)行調(diào)用,根據(jù)當(dāng)前觀測到的環(huán)境和智能體狀態(tài)產(chǎn)生高層策略輸出子任務(wù),這個子任務(wù)可以是一個目標(biāo)點(diǎn)也可以是一個任務(wù),第二層作為底層結(jié)構(gòu),根據(jù)當(dāng)前目標(biāo)狀態(tài)和子任務(wù)產(chǎn)生動作,以解決子任務(wù)問題。這種結(jié)構(gòu)高層產(chǎn)生子任務(wù)并不十分復(fù)雜,而在底層策略上產(chǎn)生的動作會影響最終目標(biāo)完成的效率,同時由于子任務(wù)產(chǎn)生所獲得的收益回報往往較為稀薄,所以如何更好地學(xué)習(xí)以及產(chǎn)生更有效的任務(wù)是重點(diǎn)。
DQN 算法是在強(qiáng)化學(xué)習(xí)中經(jīng)典的算法,其通過神經(jīng)網(wǎng)絡(luò)來近似值函數(shù),但是DQN 算法在獎勵稀疏問題上效果較差的,針對這一情況Kulkarni提出了一種分層強(qiáng)化學(xué)習(xí)算法h-DQN[16],其建立雙層網(wǎng)絡(luò)結(jié)構(gòu)如圖3,其雙層結(jié)構(gòu)都是采用DQN 網(wǎng)絡(luò)。第一層叫做metacontroller,負(fù)責(zé)先定一個能達(dá)到的小目標(biāo),第二層是低級別controller,根據(jù)meta給出的目標(biāo)進(jìn)行action,小目標(biāo)達(dá)到或者到達(dá)規(guī)定時間后,重復(fù)制定新的目標(biāo)。metacontroller 通過外在獎勵來生成子目標(biāo),同時給予controller 內(nèi)在獎勵,使controller 能夠根據(jù)獎勵實(shí)現(xiàn)小目標(biāo)。最終其在Atari 游戲蒙特祖瑪?shù)膹?fù)仇中相較DQN取得了更好的效果,提高了其在稀疏獎勵問題上的處理能力,但如果在連續(xù)狀態(tài)空間上中,meta-controller需要無數(shù)個子目標(biāo),同時其需要外部獎勵,這顯然無法做到,所以其也具有局限性。
圖3 h-DQN分層結(jié)構(gòu)圖
在分層結(jié)構(gòu)中,子策略是用于解決其子任務(wù)的一系列具體動作,環(huán)境和智能體處于在不同狀態(tài)下所采產(chǎn)生的子任務(wù)必然不同,同時其采用的一系列動作也有所區(qū)別,但是在一些環(huán)境下,其雖然任務(wù)不同但是所采取的動作與策略存在共通性,只要把這些子策略再次進(jìn)行細(xì)分,就可以使其在不同任務(wù)中實(shí)現(xiàn)共享,而不用每次提出子任務(wù)就需要一次學(xué)習(xí)訓(xùn)練,這樣也就可以提高訓(xùn)練效率,使其更快更好地完成任務(wù)。
Florensa 提出了一種基于skill-based 的隨機(jī)神經(jīng)網(wǎng)絡(luò)SNN4HRL(Stochastic Neural Networks for Hierarchical Reinforcement Learning)[17],在整體框架下其首先建立了一個預(yù)訓(xùn)練環(huán)境,在預(yù)訓(xùn)練環(huán)境中學(xué)習(xí)技能,之后在利用所學(xué)習(xí)到的技能,使智能體在實(shí)際環(huán)境中的高層策略中根據(jù)環(huán)境狀態(tài)來學(xué)習(xí)調(diào)用這些技能,提高其解決問題的效率。在高層策略中其使用SNN(Stochastic Neural Networks)來靈活調(diào)用這些技能,并采用雙線性融合將觀測值和隱變量做外積,發(fā)現(xiàn)這種方式可以產(chǎn)生更廣泛的技能,同時文中通過使用基于互信息的正則項(xiàng),以保證其學(xué)習(xí)到的技能更多樣更能適用多種情況。但如果由于預(yù)訓(xùn)練環(huán)境與實(shí)際環(huán)境的獎勵并不完全相同,在實(shí)際中可能會產(chǎn)生不能良好解決整體任務(wù)的情況。
由于人對不同的環(huán)境任務(wù)能夠有一個明確的解決策略,那么人工對子任務(wù)和子策略提出更強(qiáng)的一些約束也就可以減少智能體學(xué)習(xí)訓(xùn)練時間,Andreas 就提出了一種以策略草圖(policy sketches)為指導(dǎo)的多任務(wù)深度強(qiáng)化學(xué)習(xí)框架[18],建立一種模型將每個子任務(wù)與一個模塊化的子策略相結(jié)合,其子策略訓(xùn)練時采用AC(Actor-Critic)方法,并通過在共享子策略之間綁定參數(shù),來使整個任務(wù)特定策略的收益最大化。因?yàn)閷⒆硬呗耘c子任務(wù)人工進(jìn)行關(guān)聯(lián),所以在學(xué)習(xí)過程中可以提高學(xué)習(xí)效率,減少了自我學(xué)習(xí),但同時由于人工定義了每個任務(wù)所需要的子任務(wù)數(shù)目,所以其泛化性能不足,對于不同環(huán)境下的問題需要重新進(jìn)行人工定義。
此前的分層結(jié)構(gòu)更多的都是研究人員根據(jù)任務(wù)人工進(jìn)行設(shè)定,OpenAI實(shí)驗(yàn)室的Frans提出了一個端到端的算法(Meta-Learning Shared Hierarchies[19],MLSH),其通過與環(huán)境互動來實(shí)現(xiàn)自動的分層結(jié)構(gòu),無需進(jìn)行過多的人工設(shè)定,能夠在未知任務(wù)上快速學(xué)習(xí)子策略。MLSH在子策略問題上也是共享的,同時通過不斷訓(xùn)練新的主策略,使其可以自動地找到適合主策略的子策略,這一算法突破了人工設(shè)定的局限性,使得其能夠自主進(jìn)行學(xué)習(xí)。
無監(jiān)督在缺乏足夠先驗(yàn)知識的情況下依舊能夠自動實(shí)現(xiàn)良好的分類,其不需要人工進(jìn)行標(biāo)注這也就使其具有更好的泛化性能,由于很多分層強(qiáng)化學(xué)習(xí)算法適用的環(huán)境相對較為單一,在不同的環(huán)境下都需要人工進(jìn)行不同的設(shè)定,將無監(jiān)督應(yīng)用于分層強(qiáng)化學(xué)習(xí)中就可以增強(qiáng)其魯棒性,使其在放到更為復(fù)雜的環(huán)境下,也能夠產(chǎn)生更好的效果。
Rafati[20]提出了一種新的無模型的子目標(biāo)發(fā)現(xiàn)的分層強(qiáng)化學(xué)習(xí)方法,其使用了增量無監(jiān)督學(xué)習(xí),根據(jù)智能體最近產(chǎn)生的軌跡來產(chǎn)生合適的子目標(biāo)集合,利用無監(jiān)督學(xué)習(xí)方法可以用來從狀態(tài)集合中識別出好的子目標(biāo)集合,分層結(jié)構(gòu)使用的是H-DQN。Rafati使用異常點(diǎn)檢測和K-means聚類方法來識別出潛在的子目標(biāo),狀態(tài)特征發(fā)生較大變化也可以當(dāng)做異常點(diǎn)(也就是新奇的狀態(tài)),其在“蒙特祖瑪?shù)膹?fù)仇”這一環(huán)境較為復(fù)雜的游戲中也取得了較好的結(jié)果。
為了使智能體能夠自主地不斷進(jìn)步并對環(huán)境進(jìn)行探索,Sukhbaatar和Kostrikov提出了一種以無監(jiān)督探索環(huán)境的方式[21],其設(shè)立一個智能體,但是存在Alice 和Bob 兩個策略制定者,Alice 首先執(zhí)行若干動作,之后將這個序列作為目標(biāo)任務(wù)讓Bob去做,如果Bob完成任務(wù)則獲得較多獎勵,而Alice獲得較少獎勵,相反如果Bob未完成則Alice 獲得較大獎勵,以此來使Bob 能夠更快地了解環(huán)境,而Alice也能不斷提高任務(wù)難度,兩者形成一種循序漸進(jìn)的探索。在此基礎(chǔ)上Sukhbaatar 再次將分層的思想加入其中,提出一個基于非對稱自我扮演的無監(jiān)督學(xué)習(xí)方案[22],其模型為HSP(Hierarchical Self-Play)模型如圖4,添加了高層策略chalice,讓chalice 利用外部獎勵來學(xué)習(xí)如何提出目標(biāo)讓Bob進(jìn)行完成,使得其能夠不斷自我優(yōu)化,不僅有較好的環(huán)境探索能力,同時也能夠通過增加外部獎勵來促進(jìn)其實(shí)現(xiàn)任務(wù)目標(biāo)。
圖4 HSP分層結(jié)構(gòu)框圖
兩層的分層結(jié)構(gòu)是當(dāng)前大多數(shù)分層強(qiáng)化學(xué)習(xí)算法的主結(jié)構(gòu),因?yàn)榉謱铀惴ū旧砭途哂胁环€(wěn)定性,同時由于有些環(huán)境下獎勵更為稀疏,所以分層結(jié)構(gòu)一旦分更多層,其穩(wěn)定性更為難以保證。Levy 提出了一種三層的層次強(qiáng)化學(xué)習(xí)框架,層次角色批評HAC(Hierarchical Actor-Critic)[23]。在這一層次框架中其克服了智能體在聯(lián)合多個層次的穩(wěn)定性問題,同時也是第一個成功在具有連續(xù)狀態(tài)和動作空間的任務(wù)中并行學(xué)習(xí)三級層次結(jié)構(gòu)的框架。其在三層結(jié)構(gòu)中采用一種嵌套的方式來構(gòu)建智能體如圖5,當(dāng)前狀態(tài)輸入每層策略,首先由頂層策略產(chǎn)生subgoal1,之后再由子策略產(chǎn)生subgoal2,直到底層策略產(chǎn)生動作與環(huán)境進(jìn)行交互。Levy認(rèn)為分層強(qiáng)化學(xué)習(xí)分層策略的產(chǎn)生不穩(wěn)定性的原因主要有兩點(diǎn),第一點(diǎn)是頂層的轉(zhuǎn)移函數(shù)是依賴于下一層的策略的,頂層每隔n個時間步會提出一個子目標(biāo),然后交由底層策略執(zhí)行,但n個時間步后智能體處于什么狀態(tài)是由底層策略決定的,所以頂層策略提出目標(biāo),智能體卻可能到達(dá)不同的狀態(tài),第二點(diǎn)由于底層策略是不斷探索的,這也就造成頂層策略的轉(zhuǎn)移函數(shù)會隨之不斷變化,這并造成多層策略的不穩(wěn)定性。為了解決這一問題,文中使用了HER(Hindsight Experience Reply)[24],解決其穩(wěn)定性問題,并通過使用hindsight action和hindsight goal transitions 讓智能體能夠并行學(xué)習(xí)多個策略,但HAC 的三層結(jié)構(gòu)相比其他兩層結(jié)構(gòu)所具有的優(yōu)勢并沒有真正體現(xiàn)出來,仍有繼續(xù)進(jìn)步的空間。
圖5 HAC多層結(jié)構(gòu)示意圖
而Song 提出了一種多樣性驅(qū)動的分層強(qiáng)化學(xué)習(xí)算法DEHRL(Diversity-driven Extensible Hierarchical Reinforcement Learning)[25],在該框架中,構(gòu)建并學(xué)習(xí)了一個可擴(kuò)展框架如圖6,實(shí)現(xiàn)了多層次的HRL,但與HAC結(jié)構(gòu)并不相同,DEHRL是上層策略調(diào)用下層策略與MLSH類似,在每一層中其包含三個部分policy、predictor 和estimator,每一層都會將環(huán)境狀態(tài)和上一層的動作作為輸入,policy負(fù)責(zé)產(chǎn)生每一層的動作,predictor對未來的狀況進(jìn)行預(yù)測,預(yù)測一段時間后的外部狀態(tài)和外部獎勵,并將其傳給下層的estimator,estimator 將上層的預(yù)測作為輸入,得到本層的獎勵并根據(jù)結(jié)果訓(xùn)練本層的policy,同時DEHRL 是無需人為設(shè)計外部獎勵的端到端的算法,避免了過多的人為因素。
圖6 DEHRL分層結(jié)構(gòu)框圖
上述分層強(qiáng)化算法都有其針對性優(yōu)化的方面,各自具有其優(yōu)缺點(diǎn),其對比情況如表1。子策略共享的分層方法相對更易實(shí)現(xiàn),其所依賴更多的是人工進(jìn)行子策略的設(shè)計,當(dāng)設(shè)計的子策略越好,其訓(xùn)練出來的效果也就越好,同時其收斂速度也會更快,但其也會因?yàn)槿斯ぴO(shè)計的缺陷,可能產(chǎn)生無法良好解決任務(wù)的情況。無監(jiān)督分層方法更多的優(yōu)化體現(xiàn)在其對環(huán)境的探索上,其對于探索新奇點(diǎn)產(chǎn)生的獎勵更高,這在復(fù)雜環(huán)境下能夠更好地使其產(chǎn)生出更多的動作,同時其不會受限于單一環(huán)境,在新環(huán)境下也能夠不斷進(jìn)行探索發(fā)現(xiàn),訓(xùn)練結(jié)果能夠不斷進(jìn)行優(yōu)化,但也是因?yàn)闀Ω嗟胤讲粩嗵剿鳎孕枰嗟挠?xùn)練時間。多層結(jié)構(gòu)分層方法主要對分層的穩(wěn)定性方面有了更好的體現(xiàn),分層結(jié)構(gòu)本身就具有不穩(wěn)定性,同時層數(shù)越多結(jié)構(gòu)的穩(wěn)定性也就更差,訓(xùn)練結(jié)果也更不容易收斂,所以多層結(jié)構(gòu)對穩(wěn)定性的解決有了很好的表現(xiàn),但是多層的分層結(jié)構(gòu)具體對整體性能的優(yōu)化體現(xiàn)的并不明顯,這點(diǎn)仍有研究的空間。同時在2.3節(jié)中介紹了兩種自動分層算法HI-MAT和HI-CS,自動分層算法能夠根據(jù)動作和狀態(tài)變化,來進(jìn)行子任務(wù)的識別,并通過聚類或者DBN來實(shí)現(xiàn)自動的分層,自動分層的結(jié)構(gòu)更為緊湊,同時減少了人工,使得智能體能夠具有更好的自主學(xué)習(xí)能力,其整體效果相較基礎(chǔ)的Qlearning和MAXQ-Q方法有更好的表現(xiàn),但是整體環(huán)境較為簡單,所以仍有較大的進(jìn)步空間。
表1 分層深度強(qiáng)化學(xué)習(xí)算法匯總
除了上述幾種方法,依舊有以下幾種不同創(chuàng)新的分層強(qiáng)化方法。例如為了應(yīng)對skill-based HRL 方法在預(yù)訓(xùn)練環(huán)境中的代理獎勵和任務(wù)可能不一樣,而導(dǎo)致預(yù)訓(xùn)練的技能不能良好解決底層任務(wù)的情況,Li開發(fā)了一種新的基于優(yōu)勢的輔助獎勵的HRL 方法(HRL approach with Advantage-based Auxiliary Rewards HAAR)[26],HAAR基于高層策略的優(yōu)勢函數(shù),在不使用特定領(lǐng)域信息的情況下,為低層次技能學(xué)習(xí)指定了輔助獎勵。通過優(yōu)化其輔助獎勵,來整體提高累計的獎勵來實(shí)現(xiàn)整體效果的提升。Nachum 則提出了一種采用off-policy 的分層強(qiáng)化學(xué)習(xí)算法HIRO[27],因?yàn)閛ff-policy 具有更好的樣本效率,最終實(shí)現(xiàn)在Ant-Gather、Ant-Maze 等較為復(fù)雜環(huán)境中的較好效果。Dilokthanakul[28]針對可視域中發(fā)現(xiàn)子目標(biāo)提出了一種具有廣泛適用性的方法,其采用兩種方法來對子目標(biāo)進(jìn)行發(fā)現(xiàn),分別是采用像素控制和特征控制,在像素控制過程中采用卷積處理,并將其處理后的連續(xù)兩個的像素塊的平方差來作為內(nèi)在獎勵,在特征控制上其引入特征選擇性的概念,將其作為一個內(nèi)在獎勵,最終其塑造的獎勵函數(shù)不僅包含內(nèi)在獎勵還設(shè)立有外部獎勵,通過獎勵來對智能體的行為可以進(jìn)行細(xì)微的調(diào)節(jié)。
在電子競技方面,南京大學(xué)團(tuán)隊就發(fā)現(xiàn)將分層強(qiáng)化學(xué)習(xí)用在星際爭霸2游戲中訓(xùn)練AI算法[29],也表現(xiàn)出良好的性能,通過實(shí)驗(yàn)發(fā)現(xiàn)分層的結(jié)構(gòu)相較于未分層結(jié)構(gòu),在與高難度電腦對戰(zhàn)的情況下有更好的勝率,而在低難度情況下差別不明顯,但其在作戰(zhàn)網(wǎng)絡(luò)是由人工進(jìn)行整體的設(shè)定,輸出結(jié)果是都是整體的行動,但在玩家對戰(zhàn)時存在著編隊的行為,所以其作戰(zhàn)策略仍可以進(jìn)行優(yōu)化。同時OpenAI 實(shí)驗(yàn)室開發(fā)出了名為OpenAI five的人工智能系統(tǒng)[30]在dota2游戲中表現(xiàn)出了極為優(yōu)越的性能,OpenAI five 采用的GPU 數(shù)量峰值時有1 536 個,同時其采用了一個超過1.5 億個參數(shù)的模型,神經(jīng)網(wǎng)絡(luò)具有4 096 個單元的LSTM,并經(jīng)過將近10 個月的訓(xùn)練時間,最終在與游戲職業(yè)選手的對戰(zhàn)中取得了勝利。
科研人員認(rèn)為人和動物的行為是具有層次結(jié)構(gòu)的,分層強(qiáng)化學(xué)習(xí)在一定程度上符合人解決任務(wù)的思想歷程。分層強(qiáng)化學(xué)習(xí)的優(yōu)勢從根本上在于:擁有在更快的學(xué)習(xí)、減少維數(shù)災(zāi)難和解決大的狀態(tài)-動作空間問題的強(qiáng)大能力,同時擁有多層次的時間抽象能力和更好的泛化能力,其利用分層的方式減少了問題的復(fù)雜性,但同時其依舊面臨著多層次產(chǎn)生的策略不穩(wěn)定性、額外的超參數(shù)以及樣本效率問題等諸多挑戰(zhàn),總體來看以下幾個方面將是HRL的重要研究方向:
(1)更加強(qiáng)大的自動分層能力。當(dāng)前的分層強(qiáng)化學(xué)習(xí),其高層策略尤其是在相對復(fù)雜的環(huán)境下,通常是由人工進(jìn)行層次劃分以及任務(wù)的設(shè)定,這可以減少其子任務(wù)空間狀態(tài)與動作的復(fù)雜性,但同時結(jié)果的好壞更多的會有人設(shè)定來決定,這也就要求其有特定領(lǐng)域的知識和技巧,來更好促進(jìn)其強(qiáng)化學(xué)習(xí)的效果,雖然有HI-MAT、HI-CS、MLSH自動學(xué)習(xí)層次結(jié)構(gòu)方法,但其對解決任務(wù)的能力并沒有較好的提升,所以在此方面仍有較大的進(jìn)步空間。
(2)大規(guī)模深度強(qiáng)化學(xué)習(xí)的應(yīng)用。深度學(xué)習(xí)的發(fā)展就是計算機(jī)算力在不斷的發(fā)展,大規(guī)模深度強(qiáng)化學(xué)習(xí)對于計算機(jī)算力需求更是強(qiáng)烈,其通過大規(guī)模的CPUGPU來進(jìn)行獲得訓(xùn)練數(shù)據(jù)以實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,而分層強(qiáng)化學(xué)習(xí)在大規(guī)模問題上的應(yīng)用依舊很少,如果能將分層應(yīng)用于大規(guī)模深度強(qiáng)化學(xué)習(xí)上,使得學(xué)習(xí)效率更快,這也是一種挑戰(zhàn)。
(3)評價標(biāo)準(zhǔn)的確立?,F(xiàn)在的研究環(huán)境下存在一個觀點(diǎn)認(rèn)為,認(rèn)為當(dāng)前缺乏一個有效的標(biāo)準(zhǔn)與工具來評價HRL甚至整個強(qiáng)化學(xué)習(xí)的領(lǐng)域的進(jìn)展,這也在一定程度上阻礙著強(qiáng)化學(xué)習(xí)的進(jìn)步,所以如何確立一個明確的評價標(biāo)準(zhǔn)也是一個重要的研究方向。
本文對于分層強(qiáng)化學(xué)習(xí)進(jìn)行了回望,按照由淺入深的次序?qū)Ψ謱訌?qiáng)化學(xué)習(xí)進(jìn)行了分析,介紹了HRL 的概念理論、經(jīng)典算法、深度學(xué)習(xí)算法和發(fā)展展望等。本文在引言部分對分層強(qiáng)化學(xué)習(xí)的背景知識進(jìn)行了介紹,之后對強(qiáng)化學(xué)習(xí)的基本理論進(jìn)行了簡要介紹,同時對經(jīng)典的分層強(qiáng)化學(xué)習(xí)進(jìn)行梳理,接著對加入深度學(xué)習(xí)后的分層強(qiáng)化學(xué)習(xí)按照對基礎(chǔ)算法的改進(jìn)、子策略共享分層方法、無監(jiān)督分層方法、多層結(jié)構(gòu)分層方法進(jìn)行分類對比分析,最后對分層強(qiáng)化學(xué)習(xí)的未來展望進(jìn)行簡要分析。通過本文可以看到分層強(qiáng)化學(xué)習(xí)是一個有著極大發(fā)展?jié)摿?、能夠解決復(fù)雜動作問題的新興領(lǐng)域,其不僅在科研領(lǐng)域在工程領(lǐng)域也有著諸多的應(yīng)用場景,相信隨著科研人員的不斷鉆研,這一領(lǐng)域必會不斷克服困難解決更多更復(fù)雜的問題,在未來實(shí)現(xiàn)人類的美好智能生活。