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