譚曉陽,張 哲
(1.南京航空航天大學(xué)計算機科學(xué)與技術(shù)學(xué)院/人工智能學(xué)院,南京 211106;2.模式分析與機器智能工業(yè)和信息化部重點實驗室,南京 211106)
強化學(xué)習(xí)作為機器學(xué)習(xí)領(lǐng)域的一個重要分支,是解決序貫決策問題的重要范式。該范式從一個完整的、交互式的和目標(biāo)導(dǎo)向的智能體出發(fā),通過感知環(huán)境變化獲得反饋信號,并以此選擇合適的動作與環(huán)境交互以實現(xiàn)既定目標(biāo)。深度強化學(xué)習(xí)(Deep reinforcement learning,DRL)將深度學(xué)習(xí)技術(shù)引入到強化學(xué)習(xí)領(lǐng)域中,使得構(gòu)建高度復(fù)雜的參數(shù)化非線性目標(biāo)函數(shù)(如值函數(shù)、策略函數(shù)或轉(zhuǎn)換模型)成為可能,從而極大地促進了強化學(xué)習(xí)領(lǐng)域的進步。從戰(zhàn)勝人類頂尖棋手的AlphaGo[1]開始,深度強化學(xué)習(xí)快速地吸引了大量研究者的關(guān)注,并廣泛地應(yīng)用在自動駕駛、推薦系統(tǒng)、機器人控制以及智慧醫(yī)療等相關(guān)領(lǐng)域。
深度強化學(xué)習(xí)在某些方面取得了成功,但也存在著缺陷與不足。一個重要的方面是基于深度強化學(xué)習(xí)的方法需要大量的數(shù)據(jù)樣本提供給模型進行訓(xùn)練。例如,利用深度強化學(xué)習(xí)模型的智能體在Atari[2]游戲環(huán)境下需要1 800 萬幀的訓(xùn)練數(shù)據(jù)才能超過人類玩家水平。在醫(yī)療影像、機器人控制和推薦系統(tǒng)等現(xiàn)實場景中,收集到如此龐大的數(shù)據(jù)集幾乎是不可能的,在另外一些場合,則存在收集數(shù)據(jù)的代價過大的問題,以上因素都限制了深度強化學(xué)習(xí)在這些領(lǐng)域內(nèi)發(fā)揮更大的作用。
為了解決深度強化學(xué)習(xí)樣本復(fù)雜度高的問題,研究者們從不同的角度出發(fā),提出了一系列的方法和機制來提高深度強化學(xué)習(xí)的樣本效率。常見的方法有異策略學(xué)習(xí)[3?7]、基于模型的強化學(xué)習(xí)[8?9]、遷移強化學(xué)習(xí)[10?11]、多任務(wù)強化學(xué)習(xí)[12?14]和連續(xù)強化學(xué)習(xí)[15?17]等。異策略和基于模型的方法都是從數(shù)據(jù)利用的角度出發(fā),前者提高歷史數(shù)據(jù)的利用率,后者則是利用仿真模型產(chǎn)生數(shù)據(jù)提供給智能體進行訓(xùn)練。遷移強化學(xué)習(xí)、多任務(wù)強化學(xué)習(xí)以及連續(xù)強化學(xué)習(xí)都是跨任務(wù)的強化學(xué)習(xí)。遷移強化學(xué)習(xí)是將單個或多個源任務(wù)上的學(xué)習(xí)經(jīng)驗通過知識遷移的方式運用到目標(biāo)任務(wù)的學(xué)習(xí)中,從而促進在目標(biāo)任務(wù)下的學(xué)習(xí)。多任務(wù)強化學(xué)習(xí)則同時學(xué)習(xí)多個相關(guān)任務(wù),利用這些任務(wù)之間的共性結(jié)構(gòu),使得聯(lián)合學(xué)習(xí)能夠進一步提升智能體性能表現(xiàn)并提高樣本效率。連續(xù)強化學(xué)習(xí)假設(shè)訓(xùn)練任務(wù)依次輸入,需要智能體在整個生命周期上連續(xù)提高其學(xué)習(xí)技能,通過不斷遷移之前學(xué)習(xí)的知識到當(dāng)前任務(wù)上以促進學(xué)習(xí)。
與上述方法密切相關(guān)的是元強化學(xué)習(xí),它是一類自動從相關(guān)任務(wù)中學(xué)習(xí)強化學(xué)習(xí)所需歸納偏置的相關(guān)理論和方法的統(tǒng)稱,對于提高強化學(xué)習(xí)算法在困難場景下的樣本效率和泛化能力具有重要用途。本文通過對近幾年元強化學(xué)習(xí)的研究進行總結(jié)和歸納,回顧并梳理了該領(lǐng)域的發(fā)展脈絡(luò)。
元學(xué)習(xí)是一種新的機器學(xué)習(xí)范式,從模型在相關(guān)任務(wù)上的訓(xùn)練過程中獲取學(xué)習(xí)經(jīng)驗,并結(jié)合這些經(jīng)驗知識提升模型在未知學(xué)習(xí)任務(wù)上的表現(xiàn),換言之,就是一個“學(xué)會學(xué)習(xí)”的過程。這一概念最早起源于心理學(xué)和腦神經(jīng)科學(xué)[18],20 世紀(jì)90 年代,研究者們將其引入機器學(xué)習(xí)領(lǐng)域[19?22],提出了“自參考”“快慢知識”和“突觸學(xué)習(xí)規(guī)則”等元學(xué)習(xí)相關(guān)的早期概念,實質(zhì)上都是模仿人類利用過往經(jīng)驗在新的場景下快速學(xué)習(xí)的能力,因此元學(xué)習(xí)也可看作是一種知識遷移的工具。
把元學(xué)習(xí)運用到強化學(xué)習(xí)領(lǐng)域的方法統(tǒng)稱元強化學(xué)習(xí)(Meta reinforcement learning,Meta RL),其目的是自動從一組相關(guān)任務(wù)中學(xué)習(xí)有益的歸納偏置,為后續(xù)強化學(xué)習(xí)服務(wù)。由于目前深度強化學(xué)習(xí)算法在現(xiàn)實應(yīng)用中普遍面臨樣本效率低、學(xué)習(xí)速度慢和泛化能力低(每個新任務(wù)需重新訓(xùn)練)的性能瓶頸,元強化學(xué)習(xí)算法通過試圖自動為深度強化學(xué)習(xí)任務(wù)提供有益偏置的方法,為上述問題的解決指出了一條有希望的途徑,因而日益成為強化學(xué)習(xí)領(lǐng)域的研究熱點,涌現(xiàn)出大量文獻。
為了對這些文獻進行總結(jié)和分類,以加深對該領(lǐng)域研究現(xiàn)狀的了解,本文提出了如圖1 所示的元強化學(xué)習(xí)框架。在該框架中,一個元強化學(xué)習(xí)算法主要包含3 個成分:學(xué)習(xí)經(jīng)驗(相關(guān)任務(wù))、歸納偏置及學(xué)習(xí)目標(biāo):算法首先在相關(guān)任務(wù)上進行元學(xué)習(xí),自動抽取這些任務(wù)背后的共同模式,即歸納偏置,然后將其應(yīng)用于具體的強化學(xué)習(xí)算法。簡而言之,元強化學(xué)習(xí)的核心在于如何有效地發(fā)現(xiàn)、表示和重用相關(guān)任務(wù)背后共同的知識,使得新的強化學(xué)習(xí)任務(wù)不必每次從頭開始學(xué)習(xí)。

圖1 元強化學(xué)習(xí)流程框架圖Fig.1 Framework of meta reinforcement learning process
值得注意的是以上3 個模塊之間并不是彼此獨立,而是彼此依賴的:一方面,強化學(xué)習(xí)算法的學(xué)習(xí)目標(biāo)決定了其需要何種歸納偏置,而這進一步?jīng)Q定了應(yīng)該從哪些相關(guān)任務(wù)中去獲取這些歸納偏置;另一方面,相關(guān)任務(wù)決定了能夠從中獲取什么樣的歸納偏置,而后者在一定程度決定了能夠適用何種強化學(xué)習(xí)算法。因此,對于一個元強化學(xué)習(xí)問題,需全面進行考慮上述3 個方面。
元強化學(xué)習(xí)算法一般涉及兩類學(xué)習(xí)器:一類是基學(xué)習(xí)器;另一類是元學(xué)習(xí)器。其中基學(xué)習(xí)器負責(zé)對單個任務(wù)的學(xué)習(xí),并向元學(xué)習(xí)器反饋歸納偏置的效果;而元學(xué)習(xí)器在基學(xué)習(xí)的反饋基礎(chǔ)上,從相關(guān)任務(wù)中搜索最優(yōu)的有用模式。因此整個學(xué)習(xí)過程包括兩個階段:一是基學(xué)習(xí)器在某種歸納偏置的基礎(chǔ)上進行個體學(xué)習(xí)的階段,稱為基學(xué)習(xí)階段,又叫內(nèi)循環(huán)階段,這個階段為第2 個階段提供反饋;第2個階段是元學(xué)習(xí)階段,又叫外循環(huán)階段,它利用第1 階段的反饋來搜索最優(yōu)的歸納偏置信息。在具體的元強化學(xué)習(xí)算法中,通常將相關(guān)任務(wù)視為問題空間上的一個任務(wù)分布上的采樣,再利用元學(xué)習(xí)方法從采樣的相關(guān)任務(wù)中學(xué)習(xí)或抽取有用的歸納偏置。最后根據(jù)不同的學(xué)習(xí)目標(biāo),將其嵌入到具體的基強化學(xué)習(xí)器。
基于圖1 的元強化學(xué)習(xí)流程,本節(jié)分別對元強化學(xué)習(xí)的相關(guān)任務(wù)、歸納偏置以及學(xué)習(xí)目標(biāo)3 個部分作進一步的分析介紹,并從這些角度出發(fā),分別對當(dāng)前的研究進行歸納和分類。
元強化學(xué)習(xí)中的相關(guān)任務(wù)即學(xué)習(xí)經(jīng)驗對元學(xué)習(xí)器所學(xué)習(xí)到的歸納偏置的性能好壞,將在每個相關(guān)任務(wù)的經(jīng)驗上進行估計。對于元學(xué)習(xí)范式下的監(jiān)督學(xué)習(xí)而言,可以用訓(xùn)練損失作為對不同歸納偏置的獎勵或評價準(zhǔn)則,這些獎勵的大小同時也反映了任務(wù)經(jīng)驗的好壞。如果以測試集上的損失作為元學(xué)習(xí)的性能度量,則任務(wù)中不僅應(yīng)包含訓(xùn)練集,用于每個任務(wù)在歸納偏置下進行自適應(yīng)學(xué)習(xí),同時也應(yīng)包含測試數(shù)據(jù)集,結(jié)合每個任務(wù)學(xué)習(xí)的自適應(yīng)模型來評估特定歸納偏置的性能好壞。
在元強化學(xué)習(xí)中,任務(wù)經(jīng)驗較為復(fù)雜,可能包含關(guān)于任務(wù)環(huán)境的全部信息,如狀態(tài)空間、動作空間、轉(zhuǎn)移模型和獎勵函數(shù)等。這些信息既可以用于單獨學(xué)習(xí)不同的馬爾科夫決策過程(Markov deci?sion process,MDP)中某個方面的模式,如狀態(tài)空間表示,也可以將全部信息映射到一個全局空間中,作為一個“任務(wù)向量”[23?24]。強化學(xué)習(xí)中的任務(wù)還可包括環(huán)境以外的輔助信息,特別是關(guān)于智能體的信息。例如值函數(shù)、策略函數(shù)以及該任務(wù)訓(xùn)練過程中的信息,如梯度、學(xué)習(xí)率等,這些均可作為元學(xué)習(xí)的目標(biāo)。
如何定義何為“相關(guān)任務(wù)”?目前文獻中尚無統(tǒng)一接受的定義。這不僅取決于各任務(wù)的性質(zhì),也取決于目標(biāo)任務(wù)本身。盡管很難驗證,實踐中通常假設(shè)用于學(xué)習(xí)的相關(guān)任務(wù)來自同一問題空間上的某個任務(wù)分布,任務(wù)本身可視為這一分布的獨立采樣。其次,元強化學(xué)習(xí)的目標(biāo)(使強化學(xué)習(xí)算法具有在相關(guān)環(huán)境也能獲得良好性能的能力)決定了測試環(huán)境和訓(xùn)練環(huán)境應(yīng)具有一定的共同模式。理論上,測試任務(wù)應(yīng)和訓(xùn)練任務(wù)來自同一分布(如果不是,則通常屬于遷移強化學(xué)習(xí)考慮范疇)。例如,這些任務(wù)之間盡管獎勵函數(shù)不同,但狀態(tài)遷移機制相同,或反之。在常見的迷宮任務(wù)中,任務(wù)之間往往僅是迷宮布局和目標(biāo)位置不同,但任務(wù)的目標(biāo)一致。
除了人工選擇元強化學(xué)習(xí)的相關(guān)任務(wù),也可以依據(jù)所要學(xué)習(xí)的歸納偏置來自動學(xué)習(xí)和生成相關(guān)任務(wù)。由于相關(guān)任務(wù)的數(shù)目對元學(xué)習(xí)性能具有重要影響,自動生成相關(guān)任務(wù)可在一定程度上緩解該問題。代表性的工作有以下幾個方面:
(1)無監(jiān)督方法。最近的研究嘗試利用無監(jiān)督學(xué)習(xí)的方式自動設(shè)計任務(wù)分布,增加訓(xùn)練任務(wù)的多樣性以提高元強化學(xué)習(xí)的性能表現(xiàn)。具體思路是利用一個隱變量及其互信息最大化條件構(gòu)造一個偽獎勵函數(shù),然后以這個偽獎勵函數(shù)構(gòu)造不同的任務(wù)供元強化學(xué)習(xí)算法訓(xùn)練。這種方法使智能體更加充分地探索任務(wù)狀態(tài)空間,同時當(dāng)給定真實的獎勵函數(shù)后,通過偽獎勵函數(shù)訓(xùn)練的元強化學(xué)習(xí)算法也能快速自適應(yīng)?;谶@種思想,一些研究[25?26]利用包含隱變量的自適應(yīng)策略構(gòu)造互信息目標(biāo),還有一些研究[27]則利用基于隱變量的狀態(tài)轉(zhuǎn)移模型來使互信息最大化。
(2)自動課程學(xué)習(xí)方法。域隨機化(Domain randomization)方法的目標(biāo)是通過調(diào)整模擬場景,縮小在模擬任務(wù)下學(xué)習(xí)的模型與真實場景中模型之間的間隔。實現(xiàn)這一目標(biāo)的一個典型方法是自動課程學(xué)習(xí),根據(jù)智能體在當(dāng)前模擬任務(wù)中的學(xué)習(xí)表現(xiàn)自動地調(diào)整模擬環(huán)境的參數(shù)配置。具體而言,自動課程學(xué)習(xí)[28?29]的基本思路是先采樣一些簡單的模擬任務(wù)進行元強化學(xué)習(xí),當(dāng)學(xué)習(xí)的性能收斂后,擴充模擬環(huán)境的參數(shù)變量,從而采樣到更加困難的任務(wù)提供給元強化學(xué)習(xí)進行訓(xùn)練,并不斷迭代元強化學(xué)習(xí)和任務(wù)采樣過程。這種由易到難的學(xué)習(xí)方法不僅簡化了訓(xùn)練同時也避免了困難的人工調(diào)參過程。
在機器學(xué)習(xí)領(lǐng)域,歸納偏置通常是指學(xué)習(xí)器在對未知樣本進行推理與預(yù)測時所依賴的一組假設(shè)。相關(guān)研究指出,沒有學(xué)習(xí)器能在無歸納假設(shè)的前提下進行合理的泛化。實際上人類之所以能進行快速的歸納推斷,一個主要原因就是人類在持續(xù)學(xué)習(xí)任務(wù)的過程中,不僅學(xué)習(xí)概念和動作技能,而且學(xué)習(xí)歸納偏置,即如何進行泛化。
歸納偏置的形式可以是專家對問題的洞察和經(jīng)驗,以假設(shè)空間等形式引入學(xué)習(xí)系統(tǒng)。但這種方式的主要缺點是受制于專家自身的能力,因而更為理想的方式是找到一種方式,能夠從以往的相關(guān)學(xué)習(xí)任務(wù)中自動學(xué)到有用的歸納偏置。換言之,元學(xué)習(xí)就是偏置學(xué)習(xí),因而本文將不加區(qū)別地使用元學(xué)習(xí)、偏置學(xué)習(xí)和學(xué)會學(xué)習(xí)等術(shù)語。從這個角度,“元強化學(xué)習(xí)”就是自動從一系列相關(guān)強化學(xué)習(xí)任務(wù)中學(xué)習(xí)有用的歸納假設(shè),從而增強學(xué)習(xí)器在新的未見強化學(xué)習(xí)任務(wù)上的學(xué)習(xí)效率和泛化性能。
對元學(xué)習(xí)器而言,學(xué)習(xí)歸納偏置是其提高學(xué)習(xí)能力的手段,從相關(guān)任務(wù)所獲取的歸納偏置最終為提高基學(xué)習(xí)器在新學(xué)習(xí)任務(wù)上的性能服務(wù)。由于不同的基學(xué)習(xí)器所使用的算法不同,其依賴的歸納偏置也不同,這就決定了元學(xué)習(xí)的學(xué)習(xí)目標(biāo)也不同??梢愿鶕?jù)元強化學(xué)習(xí)所抽取的歸納偏置的不同來對元學(xué)習(xí)器算法進行分類。例如有的元強化學(xué)習(xí)方法使用非參數(shù)方法,通過保留過去的經(jīng)驗記憶作為未來推理的基礎(chǔ)[30];有的通過學(xué)習(xí)共同的表示來為新任務(wù)提供先驗知識,也有的致力于為新任務(wù)學(xué)習(xí)參數(shù)空間中的初始化條件來加快其學(xué)習(xí)速度。
(1)學(xué)習(xí)樣本。這些方法主要為新任務(wù)提供額外訓(xùn)練樣本,用于基于模型或免模型(Model?free)的強化學(xué)習(xí)。這些樣本并非當(dāng)前策略生成,既可以視為對新任務(wù)的“異策略”數(shù)據(jù),也可視為對新任務(wù)施加的某種方式的約束。如文獻[31]提出利用元學(xué)習(xí)方法直接學(xué)習(xí)一個獨立的探索策略,根據(jù)該探索策略采樣的異策略數(shù)據(jù)對目標(biāo)策略進行訓(xùn)練,從而提高學(xué)習(xí)效率。該方法根據(jù)目標(biāo)策略訓(xùn)練前后的性能提升作為元獎勵信號訓(xùn)練探索策略。上節(jié)所述的虛擬相關(guān)任務(wù)生成方法也可視為通過為新任務(wù)提供學(xué)習(xí)樣本的方式來提供歸納偏置。
(2)假設(shè)空間。假設(shè)空間是強化學(xué)習(xí)任務(wù)潛在輸出的集合,一個好的假設(shè)空間應(yīng)以較高的概率包含從同一任務(wù)分布中抽取的新任務(wù)的解。理論上,見到足夠多的相關(guān)任務(wù)上充分的樣本后,元學(xué)習(xí)器應(yīng)能為新任務(wù)學(xué)習(xí)到一個好的假設(shè)空間,這既是目標(biāo)也是巨大的挑戰(zhàn)。
假設(shè)空間的形式,既可以是參數(shù)形式,也可以是非參數(shù)形式。一個參數(shù)形式的假設(shè),如人工神經(jīng)網(wǎng)絡(luò),通常可以用某個特定的泛函形式進行表示。定義這個泛函形式的先驗知識可能包括:(1)輸入輸出空間的表示。例如,可以將任務(wù)自適應(yīng)建模為一個任務(wù)推斷過程[23?24,32],即學(xué)習(xí)一個推斷網(wǎng)絡(luò),通過推斷網(wǎng)絡(luò)將輸入的數(shù)據(jù)樣本映射到一個任務(wù)隱變量空間作為自適應(yīng)信息;(2)函數(shù)參數(shù)化形式(如網(wǎng)絡(luò)結(jié)構(gòu)、基函數(shù)形式等)。例如一些研究[33?36]利用不同類型的循環(huán)神經(jīng)網(wǎng)絡(luò)來構(gòu)造可以存儲和利用過往學(xué)習(xí)記憶的循環(huán)網(wǎng)絡(luò)策略,在每個不同任務(wù)上重置模型隱狀態(tài)并連續(xù)輸入多條采樣軌跡來更新學(xué)習(xí)策略模型。
另一方面也可利用以往任務(wù)的樣本來直接學(xué)習(xí)經(jīng)驗記憶以構(gòu)造非參數(shù)化的假設(shè)表示。也有的方法直接存儲經(jīng)驗用于比較和查詢[30],而并不用于構(gòu)造假設(shè)表示,這種方法對于連續(xù)狀態(tài)環(huán)境而言會造成困難,因為其狀態(tài)空間是無限集。
(3)學(xué)習(xí)算法。學(xué)習(xí)算法的輸入為訓(xùn)練數(shù)據(jù),輸出為假設(shè)空間中的某個元素。這種映射一般通過優(yōu)化某個目標(biāo)性能實現(xiàn)。具體算法中,可以通過對以往相關(guān)任務(wù)的學(xué)習(xí),從參數(shù)的初始化位置、關(guān)于目標(biāo)額外的約束和學(xué)習(xí)率,甚至迭代方向等角度來學(xué)習(xí)先驗偏置。例如,一些研究學(xué)習(xí)一個最優(yōu)初始化策略[37?42]或狀態(tài)轉(zhuǎn)移模型[43],再根據(jù)不同的更新方式自適應(yīng)到目標(biāo)任務(wù)。還有一些算法直接學(xué)習(xí)一個損失函數(shù)[44]替代傳統(tǒng)的強化學(xué)習(xí)目標(biāo)或者學(xué)習(xí)一個額外的輔助損失函數(shù)[45],與傳統(tǒng)強化學(xué)習(xí)目標(biāo)函數(shù)結(jié)合來約束基強化學(xué)習(xí)器的學(xué)習(xí)目標(biāo)。
如前所述,從元學(xué)習(xí)器的角度,元強化學(xué)習(xí)的目標(biāo)是從相關(guān)任務(wù)中學(xué)習(xí)有用的歸納偏置,提供給后續(xù)新的強化學(xué)習(xí)任務(wù)使用。但從基強化學(xué)習(xí)器的角度,則需要考慮使用歸納偏置的目的、使用何種歸納偏置以及怎樣使用歸納偏置等一系列問題。
本節(jié)從元強化學(xué)習(xí)器的角度,將元強化學(xué)習(xí)的目標(biāo)大致分成兩類:提高學(xué)習(xí)效率和提高泛化能力。強化學(xué)習(xí)中的學(xué)習(xí)效率可以通過樣本復(fù)雜度來衡量,即為達成某個學(xué)習(xí)性能所需要的經(jīng)驗樣本量,也就是指智能體與環(huán)境在線交互次數(shù)。由于環(huán)境的不確定性以及明確監(jiān)督信號的缺失,強化學(xué)習(xí)算法所需的樣本復(fù)雜度通常遠高于傳統(tǒng)的監(jiān)督學(xué)習(xí)算法。利用相關(guān)強化學(xué)習(xí)任務(wù)中包含的有益偏置,是解決上述問題的途徑之一。例如Florensa 等結(jié)合隨機神經(jīng)網(wǎng)絡(luò)和信息論正則化工具,從預(yù)訓(xùn)練環(huán)境中學(xué)習(xí)一組既具有多樣性,又具有通用性和可遷移性的技能,用于減少一組下游任務(wù)的樣本復(fù)雜度[46];Gupta 等利用元學(xué)習(xí)方法來進行探索策略學(xué)習(xí)[47],以提高學(xué)習(xí)效率。這一問題的挑戰(zhàn)在于難以定義什么是好的探索策略,特別是對稀疏延遲獎勵的任務(wù)而言。作者解決前一問題的思路是將探索問題刻畫化為學(xué)習(xí)任務(wù)相關(guān)的結(jié)構(gòu)化動作噪聲分布的問題;同時在訓(xùn)練階段為每個任務(wù)構(gòu)造稠密的獎勵信號(因為此時目標(biāo)狀態(tài)已知),用于提供良好探索策略的經(jīng)驗。
元強化學(xué)習(xí)的第2 個目標(biāo)是提升基強化學(xué)習(xí)器的泛化能力。即利用元學(xué)習(xí)提取的歸納偏置來提高強化學(xué)習(xí)算法在新任務(wù)上的性能。依據(jù)統(tǒng)計機器學(xué)習(xí)的基本理論,一個算法在有限樣本上學(xué)習(xí)后的泛化性能主要由兩個方面決定:一個是樣本無關(guān)的偏置;另一個是訓(xùn)練偏差。例如在Q?learning中,給定任務(wù)M下,學(xué)習(xí)的Q值估計函數(shù)Q?的泛化性能上界可記為

式中:Q*為最優(yōu)動作值函數(shù);d*為π*在狀態(tài)空間上的訪問頻率;H 為假設(shè)空間;εapp表示由于假設(shè)偏置所導(dǎo)致的近似誤差;εest表示有限樣本下的估計誤差。
為了提高強化學(xué)習(xí)的泛化性能,有必要同時考慮上述兩個因素:一方面度量由于歸納偏置的引入(例如通過改變狀態(tài)空間表示而間接影響假設(shè)空間,或利用特定的深度網(wǎng)絡(luò)架構(gòu)來直接決定新任務(wù)的函數(shù)形式)對近似誤差的影響;另一方面,由于知識的遷移,可能降低單任務(wù)的學(xué)習(xí)難度,從而降低估計誤差。在實踐中,可以通過比較基學(xué)習(xí)器的漸進性能來判斷元強化學(xué)習(xí)器所輸出的歸納偏置是否有利于單個任務(wù)泛化性能的提高。
除了從基任務(wù)的角度來分析元強化學(xué)習(xí)的目標(biāo),基任務(wù)的特點也影響了不同形式的元強化學(xué)習(xí)算法,當(dāng)前研究根據(jù)基任務(wù)的不同主要可以分為以下幾類:
(1)免模型元強化學(xué)習(xí)。這類方法利用對相關(guān)任務(wù)的學(xué)習(xí),在策略網(wǎng)絡(luò)的參數(shù)空間中學(xué)習(xí)歸納偏置,即元策略[33,37?39,47]。在新的任務(wù)下,從這個元策略出發(fā),通過不同的自適應(yīng)方法得到針對當(dāng)前任務(wù)的最優(yōu)策略。一些研究[33,38,47]根據(jù)最常見的“演員?評論家”框架,利用策略梯度法對學(xué)習(xí)到的元策略在新任務(wù)下進行自適應(yīng)更新得到當(dāng)前任務(wù)最優(yōu)策略。為減少基于策略梯度的元強化學(xué)習(xí)方法存在的計算困難問題,有研究基于進化策略[38]的方法元學(xué)習(xí)策略網(wǎng)絡(luò)的歸納偏置,并能以更少的樣本代價自適應(yīng)到最優(yōu)策略。
(2)基于模型的元強學(xué)習(xí)。以基于模型的強化學(xué)習(xí)作為基任務(wù)的元強化學(xué)習(xí)算法目的是在狀態(tài)轉(zhuǎn)移模型空間學(xué)習(xí)有用的歸納偏置。在新任務(wù)上先根據(jù)自適應(yīng)方法得到任務(wù)最優(yōu)狀態(tài)轉(zhuǎn)移模型,再根據(jù)模型產(chǎn)生的數(shù)據(jù)進行策略規(guī)劃或?qū)W習(xí)。如文獻[32]學(xué)習(xí)一個包含任務(wù)隱變量的神經(jīng)網(wǎng)絡(luò)來表示狀態(tài)轉(zhuǎn)移元模型以及任務(wù)推斷網(wǎng)絡(luò),通過推斷任務(wù)信息并自適應(yīng)狀態(tài)轉(zhuǎn)移模型后規(guī)劃智能體策略。與之類似,文獻[48]進一步利用高斯過程對動態(tài)模型的不確定性進行建模。還有一些研究[40]用集成模型的方法表示狀態(tài)轉(zhuǎn)移模型的不確定性,利用集成模型代表不同的相關(guān)任務(wù)再結(jié)合相應(yīng)的元強化學(xué)習(xí)方法直接學(xué)習(xí)最優(yōu)策略。
(3)元模仿強化學(xué)習(xí)。模仿學(xué)習(xí)這類基任務(wù)是從專家演示數(shù)據(jù)中學(xué)習(xí)到最優(yōu)策略,最直接的方法是行為克隆,直接學(xué)習(xí)智能體策略來模仿專家的行為。最簡單的方式是利用循環(huán)神經(jīng)網(wǎng)絡(luò)框架[49]抽取歸納偏置并作為初始化模仿策略,或者使用基于梯度的元學(xué)習(xí)方法[41]替代循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)器。另一種模仿學(xué)習(xí)方法則通過專家樣本推斷出獎勵函數(shù),再根據(jù)這個獎勵函數(shù)進行學(xué)習(xí)最優(yōu)策略,這種方式也稱為逆強化學(xué)習(xí)。結(jié)合逆強化學(xué)習(xí)的元學(xué)習(xí)框架最終目的是在元獎勵函數(shù)空間學(xué)習(xí)一個歸納偏置,根據(jù)不同的專家演示能自適應(yīng)到相應(yīng)的獎勵函數(shù),并以此進行強化學(xué)習(xí)。基于這個思想,一些工作[50?51]結(jié)合對抗最大熵逆強化學(xué)習(xí)框架進行元強化學(xué)習(xí)。
(4)異策略元強化學(xué)習(xí)。前述的免模型元強化學(xué)習(xí)算法通常使用同策略(on?policy)算法[52?53],即假定元學(xué)習(xí)內(nèi)外兩個層次的優(yōu)化問題的訓(xùn)練數(shù)據(jù)來自同一分布。相比之下,異策略通常有著更好的樣本效率和性能表現(xiàn)。因此一些工作嘗試將異策略方法結(jié)合到元強化學(xué)習(xí)框架中,在文獻[23]中,通過同策略數(shù)據(jù)對任務(wù)進行推斷,同時利用異策略數(shù)據(jù)訓(xùn)練元策略和元價值函數(shù),提高了訓(xùn)練效率和最終性能。文獻[54]中則借鑒傾向性估計的思想,擴充了用于自適應(yīng)的可用數(shù)據(jù)量,進一步提高元訓(xùn)練過程的效率。
本節(jié)以幾個典型的元強化學(xué)習(xí)算法為例,詳細介紹上節(jié)所述的元強化學(xué)習(xí)框架如何具體應(yīng)用到實際算法設(shè)計中。如前所述,元學(xué)習(xí)可以理解為偏置學(xué)習(xí),所學(xué)的歸納偏置記為參數(shù)θ,任務(wù)集為Dmeta?train?{,},,分別為第i個任務(wù)的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)集,可視為MDP 分布P(M)上的一個采樣,則元學(xué)習(xí)的目標(biāo)就是使習(xí)得的偏置在這組n個相關(guān)MDP 任務(wù)上的平均性能最大化,即有

式中:?,θ分別為基學(xué)習(xí)器和元學(xué)習(xí)器參數(shù);fθ()表示基學(xué)習(xí)器利用第i個任務(wù)的訓(xùn)練樣本執(zhí)行內(nèi)循環(huán)訓(xùn)練過程,logP(|?i)表示該任務(wù)的內(nèi)循環(huán)結(jié)束后在相應(yīng)測試集上的外循環(huán)反饋得分。以EPG(Evolved policy gradient)[44]算法為例。該算法始終維護一組“精英任務(wù)”,元學(xué)習(xí)的歸納偏置就是這組精英任務(wù)的分布參數(shù)。在元學(xué)習(xí)過程中,先從分布中采樣一個任務(wù),然后按正常的強化學(xué)習(xí)訓(xùn)練該任務(wù),并將得到的最優(yōu)策略在任務(wù)環(huán)境中的平均回報作為當(dāng)前偏置在該任務(wù)上的性能度量。根據(jù)度量結(jié)果,在外循環(huán)階段算法調(diào)整歸納偏置,使得在任務(wù)分布上的平均性能最大化。具體算法流程如下:
(1)給定歸納偏置參數(shù)θ,從分布中P(M)中采樣任務(wù)M,初始化其策略為φ~Pφ(θ);
(2)執(zhí)行內(nèi)循環(huán),優(yōu)化該任務(wù)下的最優(yōu)策略:φ*=arg maxφ Eτ~M,πφ(Rτ),其中Rτ為策略πφ在M下執(zhí)行得到的軌跡累計回報;
(3)當(dāng)內(nèi)循環(huán)結(jié)束后,每個任務(wù)M的性能FM(θ)用其最終學(xué)習(xí)的策略在該任務(wù)上的期望回報來度量:FM(θ)?Eτ[Rτ|M,πφ*],則元學(xué)習(xí)的目標(biāo)可定義為在任務(wù)分布上的期望性能,有

由于偏置θ與其性能度量J(θ)之間的泛函形式并不明確,難以直接計算該目標(biāo)函數(shù)關(guān)于θ的梯度?θ J(θ)。解決這個問題的一種常見方法是黑盒優(yōu)化,在EPG 算法中采用了如下的進化策略(Evo?lution strategy,ES)方法來進行估計,有

式中:第1 個等號用高斯擾動(進化變異)的方式來近似估計策略梯度;第2 個等式關(guān)于擾動參數(shù)計算梯度,最后用蒙特卡洛來采樣來近似期望。整個偏置梯度可以視為關(guān)于隨機進化方向εk的加權(quán)平均,其中提升偏置性能較好的方向獲得更大權(quán)重。這種方法也可看作為一組相關(guān)任務(wù)維護一個先驗的策略分布,在新任務(wù)中,從該分布中采樣作為初始策略而不需要從頭開始學(xué)習(xí),與MAML[37]算法相似。
值得指出,雖然一般而言無法計算J(θ)關(guān)于θ的梯度,但在某些場景下,可以設(shè)計一個完全可微的訓(xùn)練過程。這種訓(xùn)練過程適用于某一任務(wù)分布下的所有任務(wù),使得平均而言能夠獲得較高的期望回報。因此這一訓(xùn)練過程本身就是一種歸納偏置,并且由于可微,所以極大簡化了元學(xué)習(xí)過程,這一路線的典型算法是Wang 等[34]提出的利用LSTM(Long?short temporal memory)循環(huán)網(wǎng)絡(luò)來構(gòu)造訓(xùn)練過程。假設(shè)LSTM 的參數(shù)為θ,則元學(xué)習(xí)的目標(biāo)函數(shù)為

式中:πθ為基于整個觀測歷史Ht-1={s0,a0,…,st-1,at-1}的策略πθ(at|st,Ht-1)。該策略本身用一個可微LSTM 網(wǎng)絡(luò)來近似,可以在一組相關(guān)任務(wù)上通過梯度下降進行訓(xùn)練,即有

基于LSTM 策略的方法給出了可微的J(θ)函數(shù)形式,使得可以用傳統(tǒng)的梯度反傳方法來優(yōu)化歸納偏置,但其缺點在于學(xué)習(xí)這樣的優(yōu)化器往往需要較大的樣本復(fù)雜度。為了降低學(xué)習(xí)代價同時仍然保持目標(biāo)函數(shù)對參數(shù)的可微性質(zhì),可以對單個任務(wù)加以約束和簡化。例如MAML 算法中,當(dāng)采樣一個任務(wù)M后,用Pφ(θ)來初始化策略πφ,但要求每個任務(wù)的優(yōu)化策略πφ*與初始策略之間的距離盡可能小,則有目標(biāo)函數(shù)

基于鏈?zhǔn)椒▌t有

元強化學(xué)習(xí)的相關(guān)任務(wù)通常用一個任務(wù)分布中的采樣來表示,因此其學(xué)習(xí)環(huán)境的構(gòu)建以及最終算法的性能評估標(biāo)準(zhǔn)與一般的強化學(xué)習(xí)設(shè)置下有所不同。目前有一些開源的元強化學(xué)習(xí)研究環(huán)境,如Sonic the Hedgehog[56]、CoinRun[57]和Meta?World[58]用于訓(xùn)練和對比各種元強化學(xué)習(xí)算法的性能表現(xiàn)。
其中Sonic the Hedgehog 和CoinRun 是基于視頻游戲的元強化學(xué)習(xí)環(huán)境,且都是離散動作環(huán)境,兩者分別包含58 和232個強化學(xué)習(xí)任務(wù)。而Meta?world 則是一個仿真機械臂控制任務(wù)的元強化學(xué)習(xí)環(huán)境,屬于連續(xù)動作環(huán)境,總共包含50 種機械臂控制任務(wù),如“推”、“拉”、“開門”等動作。圖2 所示是Meta?World 平臺上元強化學(xué)習(xí)的一個任務(wù)分布示例,其目標(biāo)是完成機械臂放置物品到指定位置的任務(wù)。每個采樣任務(wù)上,機械臂狀態(tài)和動作空間、轉(zhuǎn)移概率模型都是一致的,所不同的是需放置物品的目標(biāo)位置不同,即獎勵函數(shù)不同。目前大量元強化學(xué)習(xí)研究都采用這種方式,即通過隨機采樣動力學(xué)模型或獎勵函數(shù)的超參數(shù)設(shè)置來區(qū)分不同的采樣任務(wù)。

圖2 Meta-World 環(huán)境中相關(guān)任務(wù)示例Fig.2 Examples of related tasks in Meta-World
元強化學(xué)習(xí)通過在訓(xùn)練任務(wù)上學(xué)習(xí)到有效的歸納偏置信息,再利用學(xué)習(xí)到的歸納偏置來提高強化學(xué)習(xí)智能體在新的測試任務(wù)上的學(xué)習(xí)效率和性能表現(xiàn)。因此,評價不同元強化學(xué)習(xí)算法性能的優(yōu)劣就是評價其學(xué)習(xí)到的歸納偏置信息對智能體學(xué)習(xí)測試任務(wù)時的幫助。Langley[59]提出了幾種性能指標(biāo)(圖3),從以下方面來評估元強化學(xué)習(xí)算法。

圖3 知識遷移的性能指標(biāo)Fig.3 Some performance indicators about transfer of knowledge
元強化學(xué)習(xí)的一個主要動機是降低強化學(xué)習(xí)過程的樣本復(fù)雜度,提高算法泛化性能。因此,度量元強化學(xué)習(xí)算法性能好壞的一個重要指標(biāo)就是其在測試任務(wù)上的學(xué)習(xí)速率。如圖3(a)所示,強化學(xué)習(xí)條件下,學(xué)習(xí)速率可以用樣本復(fù)雜度,通過兩個方面來反映:(1)達到某個設(shè)定的期望性能所需的訓(xùn)練樣本數(shù)量,即給定一個性能閾值,通過對比不同算法在測試任務(wù)上自適應(yīng)訓(xùn)練達到指定閾值性能時所需訓(xùn)練樣本數(shù)來比較算法性能,間接反映所學(xué)到的歸納偏置的質(zhì)量:一般所需訓(xùn)練樣本數(shù)越少,算法樣本復(fù)雜度越低,說明元學(xué)習(xí)的歸納偏置越好;(2)相同訓(xùn)練樣本數(shù)量下算法性能差異,即使用相同數(shù)量的訓(xùn)練樣本進行自適應(yīng)訓(xùn)練后,不同算法的性能差異代表了學(xué)習(xí)速率的快慢,也間接說明了元學(xué)習(xí)得到的歸納偏置好壞:相同數(shù)量的訓(xùn)練樣本下,自適應(yīng)算法性能越高,元學(xué)習(xí)的歸納偏置性能越好。
需要指出,以上兩個準(zhǔn)則都是對歸納偏置性能的間接度量,不應(yīng)作絕對化理解。因為算法在測試環(huán)境下的性能本質(zhì)上是多種因素的非線性函數(shù),如歸納偏置、探索策略、優(yōu)化方法和基學(xué)習(xí)器泛化能力等。其中任一因素的改變都會導(dǎo)致算法性能的改變,而實踐中往往很難對此施加嚴格的控制,因此性能改善不能絕對化理解為相應(yīng)的歸納偏置性能一定有用。
除了判斷元強化學(xué)習(xí)速率,如圖3(b)所示利用元強化學(xué)習(xí)得到的歸納偏置在測試任務(wù)上最終的收斂性能也是衡量算法表現(xiàn)的評估標(biāo)準(zhǔn)。當(dāng)元強化學(xué)習(xí)將學(xué)到的歸納偏置應(yīng)用到不同的強化學(xué)習(xí)算法中時,其收斂性能也會有明顯的差異。通常情況下需要結(jié)合學(xué)習(xí)速率和性能收斂對不同的元強化學(xué)習(xí)算法進行綜合比較。
本文根據(jù)相關(guān)任務(wù)、歸納偏置、元學(xué)習(xí)算法和性能評估這幾個方面對一些代表性算法進行簡要歸納,具體總結(jié)見表1,同時本文在表2 列出了相關(guān)平臺和算法的項目開源地址。

表1 一些代表性算法歸納對比Table 1 Summary and comparison of some representative algorithms

表2 相關(guān)算法及實驗環(huán)境項目地址Table 2 Experimental environment URL of some algorithms
本文對最近元強化學(xué)習(xí)研究的進展進行了回顧和總結(jié)。首先介紹了元強化學(xué)習(xí)的總體框架以及相關(guān)概念。在此基礎(chǔ)上,從相關(guān)任務(wù)、歸納偏置、學(xué)習(xí)目標(biāo)3 個關(guān)鍵方面對當(dāng)前研究做進一步的分析和分類,同時列舉并介紹了相應(yīng)的代表性工作。最后還介紹了當(dāng)前一些開源的元強化學(xué)習(xí)實驗環(huán)境以及算法性能評估標(biāo)準(zhǔn)。
目前元強化學(xué)習(xí)研究方興未艾,還沒有形成一套完整且成熟的研究體系,同時也給了研究者們深度挖掘的機會。盡管新的方法和思想不斷涌現(xiàn),但仍然存在以下幾個方面值得更加深入的探究:(1)計算復(fù)雜度。元強化學(xué)習(xí)面臨一個關(guān)鍵問題就是計算復(fù)雜度高。內(nèi)循環(huán)過程除了利用任務(wù)樣本進行優(yōu)化自適應(yīng)外,還需要額外的計算用于評估特定歸納偏置在當(dāng)前任務(wù)上的效果,從而為外循環(huán)過程提供獎勵。每個任務(wù)上的評估往往需要昂貴的計算代價。如何在保證一定計算精度的前提下,簡化或改進內(nèi)循環(huán)過程的優(yōu)化及評估方法是解決元強化學(xué)習(xí)計算復(fù)雜度問題的一個重要方向。(2)魯棒性問題。機器學(xué)習(xí)中一個很重要的概念就是算法的魯棒性,因為現(xiàn)實中的數(shù)據(jù)通常存在大量噪聲。具體到元強化學(xué)習(xí)問題,單個任務(wù)的性能不僅取決于歸納偏置,而且還與其他因素,如模型初始化、訓(xùn)練數(shù)據(jù)和優(yōu)化算法等密切相關(guān),因此用歸納偏置在任務(wù)上的學(xué)習(xí)表現(xiàn)作為其評價標(biāo)準(zhǔn)本質(zhì)上帶有大量噪聲。如何設(shè)計更加魯棒的元強化學(xué)習(xí)算法、減少噪聲的影響,也是一個值得研究的方向。(3)優(yōu)化復(fù)雜性。單個強化學(xué)習(xí)任務(wù)的目標(biāo)函數(shù)本身就具有一定復(fù)雜性,在多個任務(wù)上評估所學(xué)歸納偏置的性能并優(yōu)化進一步加劇了這個復(fù)雜性,使得元學(xué)習(xí)階段關(guān)于歸納偏置的損失曲面本質(zhì)上高度非線性,給優(yōu)化求解帶來了巨大的困難。因此如何提高元學(xué)習(xí)器的優(yōu)化性能也是未來研究的關(guān)鍵。(4)實用性問題?,F(xiàn)有元強化學(xué)習(xí)方法對實際應(yīng)用通常具有較強的限制,例如要求訓(xùn)練任務(wù)的分布不能太復(fù)雜,相關(guān)任務(wù)之間不能相差太大、訓(xùn)練任務(wù)和測試任務(wù)分布具有一定的一致性等。如何放松這些限制,使得元強化學(xué)習(xí)適用于更廣泛的場合,是值得研究的問題。最近一些研究從“從多個任務(wù)中學(xué)習(xí)如何評價策略好壞”的角度,為全新任務(wù)學(xué)習(xí)有用的歸納偏置[41,61?62],是對這一方向的有益嘗試。