何 立, 沈 亮, 李 輝,2,*, 王 壯, 唐文泉
(1. 四川大學計算機(軟件)學院, 四川 成都 610065; 2. 四川大學視覺合成圖形圖像技術國家級重點實驗室, 四川 成都 610065; 3. 江西洪都航空工業集團有限責任公司, 江西 南昌 330024)
深度學習(deep learning, DL)被認為是解決連續決策任務的一個有原則和有效的方法,在這個方法中,學習智能體通過與環境進行交互,不斷試錯來提高其性能。近年來,隨著強化學習(reinforcement learning, RL)的快速發展,將RL算法嵌入DL框架組合而成的新結構深度RL(deep RL, DRL)進一步推動了RL的發展。
無論是在學術界還是在工業界,DRL都被廣泛應用以解決之前難以解決的任務,比如,其在控制、游戲中的人機對抗等領域都取得了不錯的成績。尤其是當AlphaStar和AlphaGo在與頂級人類玩家的對弈中取得勝利,這些足以說明DRL取得的巨大成功。
雖然RL在不斷發展和進步,但在將其應用到諸多場景中的時候,依然面臨著困難和挑戰,例如高采樣復雜度和脆弱的收斂性等。除此之外,RL問題中的環境模型一般來說是未知的,智能體只有在保證與環境充分交互的前提下,才能利用與環境交互得到的知識來提升自身的性能。由于環境反饋的信息存在部分可觀測性、獎勵稀疏性、延遲性以及高維度的觀測值和動作空間等問題,智能體在不借助任何先驗知識的情況下收斂到最優策略是非常困難和耗時的。遷移學習(transfer learning, TL)是一種用相關的、類似的數據來訓練相似問題的方法,能夠將學習到的知識從一個場景遷移到另一個場景。這種利用外部專業知識來加速智能體的學習過程的思想,在很大程度上能夠彌補RL缺乏先驗知識的問題。將TL應用在RL中的一個顯著效果是保證了RL訓練結果的復用性和時效性。主要原因是TL能夠復用現有的知識,不會丟棄已有的大量工作和成果,而這一點是RL無法做到的。此外,對于新問題,TL能夠快速遷移和應用已有的成果,體現時效性的優勢。
策略重用(policy reuse, PR)作為一種TL方法,通過將源任務中的最優策略遷移到目標任務中來解決上述RL中的問題,也因而成為RL領域的一個熱門研究課題。
本綜述所作的貢獻:從策略結構的角度出發,對現有的RL中的PR方法進行了總結、分析和對比,并擴展到了DRL和多智能體領域,為研究者提供了新的研究思路和未來研究方向的建議。
本節簡述了RL、DRL和PR的基本概念,并且說明了這篇綜述中所需要使用到的一些關鍵術語。
典型的RL問題是訓練一個RL智能體與一個滿足馬爾可夫決策過程(Markov decision process,MDP)標準的環境交互。在每次與環境的交互中,智能體從初始狀態開始,識別自身所處的狀態,并遵循某種策略執行相應的動作,環境則會產生該“狀態-動作”對的獎勵。執行完動作后,MDP將會依據轉移函數過渡到下一個狀態。智能體在與環境的交互過程中累積折扣獎勵,這一系列的相互作用稱為一個episode。RL問題就是重復訓練大量的episode直至智能體學習到最優策略。圖1表示RL的基本框架。

圖1 RL基本框架Fig.1 Basic framework of RL
在目前的RL問題中,都是采用MDP來描述RL任務。MDP表示為一個五元組=〈,,,,〉,其中:是狀態空間;是動作空間;:××→[0,1]是智能體在狀態∈下采取動作∈轉移到下一個狀態′∈的概率分布;:×→是智能體在狀態下采取動作轉移到下一個狀態′所得到的環境反饋的即時獎勵;是折扣因子,∈(0,1],用于平衡瞬時獎勵和長期獎勵對總獎勵的影響。


(1)


(2)
與狀態值函數類似,每個策略還關聯一個在狀態和動作上定義的函數,用于評估“狀態-動作”對的表現,表示為

(3)


(4)

上述兩種方法都是基于值函數(value based,VB)的RL方法,其中的經典算法有Q-learning、Sarsa等。與上述方法不同,基于策略梯度(policy pradient,PG)的方法用參數化后的策略來替代函數,再用梯度下降方法來近似求解最優策略。這類RL方法中的經典算法有PG、確定性PG(deterministic PG, DPG)。
傳統RL方法常會遭遇“維度災難”,即狀態和動作空間有時候會非常復雜,×的維度過于龐大。比如Q-learning,通過將“狀態-動作”對的值存入表格,讀取表格數據來進行學習。一旦×的維度過大,表格的規模也會相應增大,算法迭代收斂的時間就會非常長,甚至無法收斂。除此之外,還有學習速度慢、獎勵稀疏和泛化性差等問題。
DRL通過利用深度神經網絡近似值函數和策略,以解決高維度狀態和動作空間的問題。深度Q網絡(deep Q-network,DQN)是一種經典的基于值函數的DRL方法,用神經網絡近似值函數,而且不再用表格去存儲值,取而代之的是用經驗回放池(experience replay buffer,ERB)存儲智能體與環境交互后的經驗單元〈,,,′〉,以便智能體通過從ERB中采樣的方式訓練和更新神經網絡參數。
VB方法的缺點在于難以解決連續動作空間的問題,PG方法則沒有這方面的困擾。具有代表性的方法如深度DPG (deep DPG, DDPG)。其基于行動者-評論者(actor-critic,AC)框架,包含4個神經網絡:Actor當前網絡負責策略網絡參數的迭代更行,根據當前狀態選擇動作,與環境交互生成下一個狀態′和獎勵;Actor目標網絡定期復制網絡參數,根據從經驗池采樣的下一狀態′來選擇下一動作′;Critic當前網絡負責價值網絡參數的更新,用于計算當前的值;Critic目標網絡定期復制網絡參數,計算目標值。除了DDPG,還有異步優勢行動者-評論者(asynchronous advantage actor-critic,A3C)算法和近端策略優化(proximal policy optimization,PPO)等算法。
DRL雖然在一定程度上解決了高維度狀態和動作空間的問題,但是其在解決兩個相似問題的時候,依然需要從零訓練,學習速度慢、資源消耗大和難以復用的問題仍然存在。比如現有兩個RL問題,表示為=〈,,,,〉和=〈,,,,〉,這兩個問題之間的差異僅僅在于獎勵函數。然而狀態值函數()和函數(,)高度依賴MDP,這意味著,無論是基于值的方法還是基于策略的方法,只要問題稍稍改變,()和(,)等過去的知識都不再適用,之前的學習結果就會失效,而重新訓練的代價卻是巨大的。對于此類RL問題,高昂的訓練代價和事倍功半的效率的缺陷日益突出,這加速了將TL方法應用在RL中的進程。
PR作為一種可以遷移RL訓練結果的TL方法,通過重用過去的經驗知識來加速新任務的學習,很大程度上解決了上述RL面臨的問題。
為了便于說明和理解,將MDP等同于領域、任務或環境等概念。
PR的雛形源于文獻[17],其所提出的方法基于行為遷移(behavior transfer,BT),通過將學習到的值函數從一個任務轉移到另一個相似的任務來加速學習。將給定的任務1的初始策略定義為
(,,,,,)?
(5)
此策略從開始。則使用作為與任務1相似的任務2的初始策略,來學習任務2的最優策略:
(,,,,,π)?
(6)
這種方法需要對值函數進行轉換,存在一定的局限性,但是對后續PR方法的發展起到很大的啟發作用。


(7)
式中:,分別表示最大episode數、每個episode中的最大步數;,表示第個episode中第步智能體接收的瞬時獎勵。
PR過程中,智能體與環境的交互過程如圖2所示,其中紅色虛線圓圈中的MDP元素可能會在源和目標任務之間發生變化。

圖2 智能體與環境交互過程Fig.2 Process of interaction between agent and environment
在介紹PR的方法之前,首先需要明確:PR效果的好壞很大程度上決定于源任務和目標任務之間的相似性。然而擁有完全相同的狀態空間和動作空間的任務過于理想化,因而研究如何準確地進行源任務和目標任務之間的映射也是PR中的熱門方向。
早期工作中,文獻[19]假設目標任務中的動作和狀態在源任務種存在唯一對應的關系,如圖3所示。其中,分別是狀態和動作上的映射函數,是源任務向目標任務映射值的函數。在此基礎上,文獻[20]將手動設置的專家建議作為一種離線知識在源任務和目標任務之間傳遞,這個專家建議依據值的大小給動作進行排名,以便智能體在目標任務中選擇更好的動作。然而以上兩種映射方法最大的問題在于默認了目標任務中的狀態和動作的映射在源任務中是唯一的,這顯然是不切實際的。同時,這種映射需要人工去完成,不具有通用性。因此,文獻[21-23]的工作是研究如何讓智能體自動學習映射函數,將狀態表示分為特定于智能體和特定于任務,文獻[21]和文獻[22]在上學習映射函數并用該映射來設計即時獎勵。該方法的好處是從上映射的狀態空間可以同時用于具有不同動作空間但共享相似的狀態空間的智能體上。

圖3 源和目標任務間的映射Fig.3 Mapping between source and target tasks

總而言之,當前任務間映射的工作都基于源和目標任務之間存在一對一的映射這種假設。所映射的內容包括狀態、函數或轉移函數。這些映射的知識除了能夠直接應用在目標任務上,還能夠作為額外獎勵或最小化的損失函數,以這種形式來引導智能體在目標任務中的學習。表1總結了主要的任務間映射方法。

表1 任務間映射方法總結
本文從是否基于策略結構的角度將目前存在的PR方法分為策略重構、獎勵設計、問題轉換和相似性度量等方面。但是在部分RL問題中,解決方案往往結合了多種PR方法,以取得更好的效果。下面將分別從這幾個方面系統地介紹和分析PR方法。
在改變策略結構的前提下,根據改變策略結構方法的不同,PR方法又可分為外部協助、概率探索和策略蒸餾/整合等方面。
3.1.1 外部協助
在完成重用過去的策略這項工作時,只要在可接受的范圍內,外部協助往往能夠在促進學習目標任務方面表現出不錯的效果。該外部協助可能來自不同的源頭,具有不同的質量,可能來自人類專家、專家演示以及近似最優或次優的專家策略等。總的來說,這些外部協助都是依靠人類來完成的。大部分這種結合外部協助的PR方法都是針對特定的目標域而言,即源任務和目標任務是相同的。當然也有針對不同目標域的工作,如文獻[31]在針對轉移函數不同的任務時,通過偏差修正的方法來使智能體盡量不偏離專家策略,以此來保證重用的有效性。
文獻[32]提出了一種利用人力為每個狀態都綁定一個策略來構成一個稱為“提示”的二元組〈π,〉的空間提示PR方法。這相當于為每個狀態都打上標簽,當智能體處于某個狀態時,就使用對應的策略,這樣能夠保證每個提示可以解決一個任務。顯然,當狀態空間過大時,為每個狀態都指定一個策略是不現實的。作者考慮到這點,將綁定了策略的狀態作為參考狀態(reference state,RS),用一個變量reach來估計策略在其參考狀態周圍的表現。將reach與每個提示聯系起來,綜合考慮當前狀態(current state,CS)與參考狀態之間的距離和策略的表現來相應地增加reach的值,再依據reach的大小來選擇提示,該文中用曼哈頓距離作為度量reach的標準:

(8)
在狀態空間定義的其他度量均可。

專家演示是一種通過利用提供的演示進行有效的探索來幫助智能體學習的方法。就目前來說,專家演示在利用外部協助的PR方法上應用得最為廣泛,發展得也最為迅速。其主要原因是這種方式直接簡便、效果顯著。根據何時將演示用于知識遷移,該類方法可以分為離線方法、在線方法和在線離線相結合。離線方法是在應用專家演示之前對RL中的元素進行預訓練,如值函數()和策略。Kurenkov 等人提出了在智能體學習的過程中重用專家演示這種離線知識,使其快速實現高性能的方法。文獻[36]使用預訓練后的值函數加速了DDPG算法的學習過程,并在理論上論證了他們方法的可行性。Silver等人在著名的AlphaGo項目中用預先訓練的策略選擇動作,來幫助其擊敗人類頂級圍棋選手。不同于文獻[36],文獻[37]用演示來初始化值函數或策略,Schaal等人[38]的工作則用演示來初始化任務的動態模型。這些方法雖然在一定程度上加快了收斂,但是這一切都是建立在人類能夠提供準確的經驗的基礎上,也就是說這些專家演示本身未必最優,并且預訓練的過程可能漫長和繁雜,從總的學習過程來看,該方法并沒有在學習時間上有較大的縮減。對于在線學習方法,則是拋棄了預訓練的過程,將專家演示直接用于RL階段,使智能體的行為偏向于有利的探索。然而當不能保證演示的質量的時候,學習的效果可能不盡如人意。文獻[40]利用RL提供的理論保證,通過專家演示和獎勵設計的過程來加速學習。這種方法的優勢在于利用人類的輸入的同時不會對演示的最優性做出錯誤的假設。除此之外,該方法需要的演示更少,對演示的次優具有更強的魯棒性。除此之外,現在的很多研究都是將離線預培訓和在線學習的方法結合起來,如Nair等人的工作建立在DDPG框架和事后經驗回放(hindsight experience buffer,HEB)上,用DDPG框架來從演示中學習。該方法還通過利用行為克隆損失(behavior cloning loss,BCL)解決了演示次優的問題,對具有較高值的演示動作進行損失懲罰:

(9)
式中:Ⅱ[·]表示值損失的懲罰值;||是專家演示的模。
利用專家演示來加速學習面臨著一些挑戰,第一個是不完美的演示。這雖然是意料之中的情況,但是這種對環境有偏差的演示會對最終的學習效果造成一定的影響。目前針對不完美演示的解決方法包括改變目標函數。例如,文獻[42]所提出的hinge-loss函數,允許少數違反(,())-max∈()(,)≥1性質的情況的發生。第二個挑戰是過擬合。這個問題是由人類能夠提供的專家演示總是有限的而導致的。因為在這些有限數量的演示當中,可能沒有包含對目標域中出現的所有狀態的指導。目前解決這種問題的方案包括使用熵正則化目標來鼓勵智能體的探索。一般來說,專家演示可以通過離線預訓練和在線學習來更好地初始化目標任務的學習以及實現有效的探索。但是如何使用次優、有限的專家演示加速學習,會是PR方法中的一個重要研究方向。
312 概率探索

鑒于以上兩個缺陷,Fernández 等人提出了一種在重用策略庫的過程中同時增加探索的動作選擇策略π-reuse,該策略庫包含過去任務的策略。他們在學習的過程中逐漸降低重用過去策略的概率,相應的在增大的那部分概率中使用-greedy探索策略去探索目標任務,公式化表達如下:

(10)
式中:,分別表示過去的策略和正在學的新策略。這種方法能保證智能體在學習最優目標策略的時候能夠充分探索,避免收斂到次優策略。同時還使用一個參數封裝探索策略的所有參數,然后用該值來衡量所重用策略的有用性,再依此判斷是否要將該策略放入策略庫中。作者定義了最有用的重用策略。

=argmax(),=1,2,…,
(11)
這種方法為PR中的概率探索方法的后續相關研究提供了思路。但這種方法有一個限制,就是要經常性地評估,即每個專家策略對目標任務的期望回報。改進前的算法時間復雜度為(log),改進后為(),這無疑增加了算法的復雜度。另外,雖然允許單個目標狀態在任務之間是不同的,但是要求,和都不變,這種限制過于苛刻。文獻[46]克服了這種嚴格的限制,通過狀態映射和動作映射::→和:→,將轉換為可以在目標任務中執行的新策略:

(12)
但是這種任務映射一方面需要人工定義,當狀態空間和動作空間過大時,人工的耗費難以接受;另一方面,這種任務映射不具有通用性。比如說,對于3個任務=〈,,,,〉,=〈,,,,〉和=〈,,,,〉,,是任務1,2之間的映射組,則其只適用于任務1,2之間,將其用于任務1,3或者任務2,3就行不通。
李學俊等人將上述提到的概率探索方法應用到RoboCup 2D Keepaway的高層搶球動作決策中,通過將4v3任務的策略遷移到5v4任務的學習中,縮短了訓練的時間,并且相較于普通的RL方法能夠更快地收斂到令人滿意的策略。
文獻[48]提出了一種建立隨機抽象策略來概括過去知識的方法。這種方法將源任務之前所有的解決方案歸納為單個抽象策略,該策略以抽象后的狀態和動作的關系∑=∪∪表示,然后在新任務的學習過程中使用,以便讓智能體在學習的早期就能表現出較好的效果。除此之外,文獻[48]還提出了一種基于PR的Q學習(PR Q-learning,PRQL)算法的通用框架,允許學習者通過協調利用過去的經驗、隨機探索和利用在新任務學習過程中獲得的新知識來表現出更適當的表現。
Narayan等人提出了一種通過使用類似-greedy的方法有概率地構建任務子空間并探索子空間生成子策略的方法。這種方法在一定程度上既保證了最后學出來的目標策略的最優性,又加速了學習的過程。當然,這種方法中不僅僅包括概率探索,還包括策略整合,這些將在后文中進行說明。
上述的探索策略都屬于非定向探索,這種探索方法的特點是局部的,隨機選擇動作,比如說ε-greedy。相比之下,定向探索使用了全局信息來系統地確定要嘗試的動作。文獻[50]通過任務間映射結合可證明有效的延遲Q學習(delayed Q-learning,DQL)算法分析動作值的遷移,表達式如下:

(13)
式中:是任務間映射函數;是領域。該算法使用定向探索策略“不確定行為優先探索(optimism in the face of uncertainty,OFU)”在目標任務中學習更快,同時可以避免最優性的損失,即“正遷移”。但該方法有一個缺陷是:如果不解決兩個任務,就沒有通用的方法來獲得任務之間適合的任務間映射。OFU定向探索策略的工作示意圖如圖4所示。

圖4 OFU定向策略工作示意圖Fig.4 Work diagram of OFU directional policy
3.1.3 策略蒸餾/整合
對于重用策略,研究人員首先想到的就是直接重用源策略(值),但是這種方法的弊端在前文中已經說明了:容易導致負遷移。為了剔除源策略中不適用于目標任務的部分,文獻[43]只使用在相似問題中學到的策略的一部分,并在學習中保持策略的這部分不變。這種方法雖然提高了學習的速度,但是犧牲了策略的最優性。

假設有一系列狀態空間和動作空間相同,轉移函數和獎勵函數不同的任務。這類任務的特點是變化的范圍是未知和無窮的,可以利用學習策略中的共同結構來加速目標策略的學習。文獻[54]提出了一種利用神經網絡擬合一個概率模型的采樣軌跡去學習策略空間結構的增量學習框架(incremental learning of policy space structure, ILPSS)。該軌跡用成功(“+”)或失敗(“-”) 來標記是否到達目標狀態,在后續的學習中只重用成功的軌跡。并將學習到的策略片段分配給概率模型當作一個“選項”,在之后的任務中用來生成更多的采樣軌跡,具體流程如圖5所示。

圖5 ILPSS工作流程圖Fig.5 Work flow chart of ILPSS
Rusu等人提出了一種根據專家網絡和學生網絡值的誤差來確定值的回歸目標函數,來使學生網絡逼近專家網絡的多任務PR方法,如圖6所示,可以將多個任務最優策略整合到單個策略中,通過重用整合后的單個策略來達到加速學習的目的。但是當任務的參數規模和狀態空間龐大的時候,需要消耗大量的計算去訓練多任務策略網絡。Yin等人提出了一種使用特定任務的高層次卷積特征作為多任務策略網絡輸入的策略蒸餾框架,并利用一個稱作“分層優先經驗重放”的采樣框架有選擇性地從每個任務的經驗回放池選擇經驗放到神經網絡上學習。文獻[57]提出了一種在一組相關源任務上訓練單個策略網絡并將其重用在新任務中的“Actor-Mimic”方法。這種方法雖然能夠加速新任務的學習,但是必須要在源任務和新任務之間具有一定相似性的情況下才能實現,因為任務間的相似性度量方法直接影響著PR的效果。另外,上面所提到的幾種策略蒸餾方法都有一個共同的問題:同時訓練多項任務會對單個任務的表現產生負面影響。這種負面影響可能來自其他任務的梯度,在極端情況下,一個任務甚至可能支配其他的任務。為了抵消這種負面的影響,Teh等人讓每個源任務單獨訓練并將單個任務中獲得的知識蒸餾到共享策略中,然后再由共享策略提取出共同的結構重用到其他的任務中,如圖7所示。學習過程就是最大化一個聯合目標函數的過程,其中聯合目標函數為


(14)
式中:是共享策略,是單個源策略;和是熵正則化因子。這種方法雖然消除了多任務訓練對單任務訓練所產生的影響,但是其在將單個任務中的知識蒸餾到共享策略中以及將共享策略中提取出的共同結構重用到其他任務的過程中增加了計算量。

圖6 多任務策略蒸餾Fig.6 Multi-task policy distillation

圖7 共享策略工作過程Fig.7 Working process of shared policy
國內學者在這方面也有類似的研究。常田等人提出了隨機集成策略遷移(stochastic ensemble policy transfer, SEPT)方法。該方法取消了在源策略庫中每次選擇一個策略的方式,取而代之的是利用終止概率計算出源策略的概率權重,再依據概率權重從策略庫中集成出專家策略。最后通過策略蒸餾的方式將專家策略遷移到目標任務上去。這種方法避免了估計源策略在目標任務上的性能的不可靠性和度量目標任務間的相似性時所帶來的誤差。
文獻[48]則換了一種思路,使用貝葉斯變更點檢測算法尋找環境發生變化的位置,以此變更點為起點向后擴展步構造一個子空間并將其視為子任務。然后將在子任務探索得到的子策略與源策略整合為一個完整策略去解決目標任務。為了解決只在子任務中探索而造成的次優問題,使用了類似-greedy的方法,即在目標任務中探索的時候以一定的概率強制建立子空間(不管此處是否為變更點),這樣目標任務中的其他狀態也能夠被探索到,因而最后學出來的策略是最優的。無論是重用完整的源策略還是部分源策略,抑或是將多個源策略蒸餾、整合為一個最優的源策略,這些從策略結構出發的方法都面臨著一個共同的問題:源任務和目標任務之間需要具有極高的相似性。即使通過借助外部的幫助,或者增加概率去探索目標任務的未知領域來減緩收斂到次優策略的情況,但這些方法自身也存在著協助有限、次優或者增加探索而導致的學習時間過長等問題。如何使策略重構得更加契合目標任務是此類PR方法的核心問題。表2總結分析了具有代表性的策略重構類的PR方法。

表2 策略重構類方法總結
獎勵設計是另一種通過定義策略之間的相似性或從源策略去定義目標任務策略的方式去加速RL速度的方法。智能體除了學習環境反饋中的獎勵外,還額外學習一個包含了先驗知識的獎勵設計函數:××→來生成輔助獎勵,給予智能體在有益狀態時以更高的獎勵來加速收斂。獎勵函數的改變將導致任務的改變:
=(,,,,)→=(,,,,)
(15)
式中:=+。智能體將在新的MDP中學習目標策略。
文獻[61]提出了用定義在狀態空間上的勢函數的差值作為獎勵設計函數的方法基于勢函數的獎勵設計(potential based reward shaping,PBRS):
(,,′)=(′)-()
(16)
在此基礎上,文獻[62]提出了將其擴展到基于勢函數的狀態-動作對建議(potential based state-action advice,PBA)的方法:
(,,′,′)=(′,′)-(,)
(17)
這個方法的一個限制是需要遵循策略來學習,如式(17)所示,′是通過遵循策略轉換到下一個狀態′時要執行的動作。上述的方法都是基于靜態的勢函數,文獻[63]提出了一種將狀態和時間結合起來的基于動態勢函數(dynamic potential based,DPB)的方法:
(,,′,′)=(′,′)-(,)
(18)
證明了這種動態方法依然保證了策略的不變性:

(19)
式中:是當前時間。在此基礎上,Harutyunyan等人又提出了一種能將任何先驗知識作為額外獎勵加入基于動態勢函數的建議(dynamic potential based advice,DPBA)的方法。基本原理是:給定來自先驗知識的任意額外獎勵函數,其必須滿足以下條件才可作為額外獎勵添加到原始即時函數上:
(′,′)-(,)=(,)=(,)
(20)
如果是動態的,則其貝爾曼方程是:
(,)=(,)+(′,′)
(21)
由此可知獎勵設計函數(,)是(,)的否定:
(,)=(′,′)-(,)=-(,)
(22)
故可以將的否定作為獎勵函數來訓練額外的狀態-動作值函數和策略,的更新方式如下:
(,)←(,)+()
(23)
因此,動態獎勵設計函數為
(,)=+1(′,′)-(,)
(24)
DPBA方法最大的優點在于提供了一個能將任意先驗知識作為額外獎勵的框架,這大大提高了獎勵設計類方法在PR上的通用性。
文獻[65]提出了一種使用獎勵設計遷移策略(policy transfer using reward shaping,PTS):在使用映射函數,完成了源任務和目標任務之間狀態和動作映射工作的基礎上,利用獎勵設計將專家策略從源任務重用在目標任務上,那么額外的獎勵正好是被映射的狀態和動作被源任務的專家策略采取的概率(((),()))。另一項工作則利用神經網絡訓練鑒別器去區分樣本是來自專家策略還是目標策略,而鑒別器的損失被用來設計獎勵函數以鼓勵智能體去模仿專家策略。這種方法涉及到PR方法的兩個方面:獎勵設計和外部協助。文獻[67]所做的工作中的其中一項是通過定義一個設計獎勵函數強度的參數來針對不同的目標任務調整獎勵函數的大小。Zheng等人提出用外在獎勵優化內在獎勵并使用內外獎勵的和去更新策略的方法:學習策略梯度的內在獎勵(learning intrinsic rewards for policy gradient,LIRPG),基于該算法的智能體學習過程的抽象表示如圖8所示。此方法的優點在于該算法適用于大部分的RL算法。

圖8 LIRPG智能體學習過程的抽象表示Fig.8 Abstract representation of learning process of LIRPG agent
以上所述的工作都屬于利用外在的知識來設計獎勵函數,Marom等人轉換了思路,考慮了額外的獎勵源于自身的情況,提出了信念獎勵設計(belief reward shaping,BRS)的概念,利用貝葉斯獎勵設計框架來產生隨著經驗衰減的來自Critic網絡自身的勢值。
總的說來,獎勵設計方法從基于狀態和狀態-動作值的靜態勢函數,到加入時間變化過程的動態勢函數,再到能將任意先驗知識作為輔助獎勵添加到原始獎勵函數的框架,獎勵設計方法已被應用到實際上生活中的諸多場景,如訓練機器人、口語對話系統等。如今,將獎勵設計應用在PR的方法還不是很成熟,主要的問題在于構造的獎勵函數并不能夠完美契合目標任務,從而導致智能體在學習目標策略的過程中采取一些投機取巧方式的情況發生,或者收斂到次優策略。表3對比分析了獎勵設計類的PR方法。

表3 獎勵設計類方法總結
PR的核心問題是源策略的選擇問題,智能體能否以最快的速度尋找到目標任務的最優策略一定程度上取決于所選擇的源策略契合目標任務的程度。因此,關于PR的有些工作聚焦于將源策略的選擇問題轉化為其他較易解決的問題。


(25)

(26)
由于該方法只學習了源策略的選項間策略,容易導致次優問題,為了避免這個問題,用原始策略來擴展源策略庫,然而這種方法需要手動添加原始策略,在很大程度上限制了其通用性,不能用于解決連續動作空間問題。為了解決文獻[73]中存在的問題,文獻[74]提出了一種由Agent模塊和Option模塊兩個主要模塊組成的策略遷移框架(policy transfer framework,PTF),如圖9所示。其中,Agent模塊用于在Option模塊的指導下學習目標策略,Option模塊用于學習選擇對Agent有用的源策略。同時利用一個加權因子(,)控制從源策略中重用策略的程度,其中(,)定義為
(,)=()(1-(,|))
(27)

圖9 PTFFig.9 PTF
這個框架能夠與大多數RL算法結合,在離散和連續動作空間中都能應用。然而,相較之前的方法,這種方法新增了兩個網絡用于控制Agent何時選擇源策略以及重用程度,這必然會增加算法的復雜度和計算量。
Yang等人提出了一種基于多智能體選項的策略遷移框架(multiagent option-based policy transfer, MAOPT)來提高多智能體選項的效率。該框架通過將多智能體策略遷移建模為選項學習問題來學習為每個智能體提供建議以及何時終止建議。該方法在離散和連續狀態空間問題上都表現良好。
問題轉化類的方法旨在將難以解決的源策略選擇問題轉化為其他易解決或相對熟悉的領域問題。但這種問題轉換的前提是存在適合的轉換模型,不準確的轉換反而會導致次優問題的出現。
目前已經有很多關于PR的工作,但是大多數方法都依賴于源任務和目標任務極度相似的假設。然而這種假設在實踐過程中并不一定能夠滿足。如果源任務和目標任務無關,PR將會導致學習速度變慢,乃至在目標任務中的表現很差。因此,定義源任務和目標任務之間的相似性來選擇最優的源策略是必要的。現有的工作中,度量源和目標任務的MDP之間相似性的方法居多,也有度量策略之間相似性的方法。
Fernández等人利用距離度量兩個源任務最優策略的相似性來選擇重用最有用的源策略,定義和證明了此種度量方法。


(28)
因而用距離度量來定義策略在策略中的作用為

(29)
由于該方法需要比較應用兩個策略后的結果來判斷哪個策略更適合用來重用,計算量較大,不適用于大規模的PR場景。
相較于度量策略相似性的工作,更多的工作集中在度量任務MDP之間的相似性。在早期的工作中,文獻[76-78]使用了一種交互模擬形式的度量方法,該方法將MDP之間的差異進行了量化。然而這個工作需要手動定義任務之間的度量,并且只適用于離散狀態空間以及需要巨大的計算量。文獻[19]提出的方法是半自動的,要求人類用戶為算法定義相關的源任務和目標任務之間的關系,再用算法來比較源和目標任務之間的相似性。顯然,為了實現完全自主的PR方法,智能體必須能夠選擇與目標任務相關的源任務以及學習源和目標任務之間的關系,如任務間映射。Taylor和Ammar等人將工作聚焦于如何使智能體選擇與目標任務相關的源任務。而這正是重用先驗知識成功與否的關鍵。
朱斐等人針對不穩定環境下的RL問題,提出了一種基于公式集的策略搜索算法。該方法用MDP分布表示不穩定的環境,利用自模擬度量構造的MDP分布之間的距離度量公式作為標準,并結合小公式集的構造方法,將求解的策略在不同的MDP分布之間進行遷移。從理論上證明了遷移之后的策略的最優性邊界。這種方法為在不穩定環境下的RL問題中進行PR提供了思路,但是該算法中MDP分布之間的距離計算公式并不適用于龐大的狀態空間和連續狀態空間的問題。
文獻[81]提出了一種從通過智能體與環境交互收集的樣本中估計源和目標任務之間相似性的度量方法,該方法能夠捕獲和聚類具有多重差異的多維數據集之間的動態相似性,包括不同的獎勵函數和轉移函數。此方法的基本原理是:首先使用受限玻爾茲曼機(restricted Boltzmann machine,RBM)模型對源任務中收集的數據進行建模,產生一組能夠描述源MDP的相關的和信息性的特征。然后在目標任務上測試這些特征,以此評估MDP的相似性。這種方法實現了智能體自主學習度量源和目標任務之間相似性并依此選擇合適的源策略進行PR的工作。但是這種方法一個最主要的缺陷是可能會導致經驗過擬合的問題,即在給定特定MDP參數的情況下效果良好,而在使用其他參數或在不同的MDP上時效果難以達到預期。
Wang等人將工作的重點放在了多任務遷移上,提出了一種稱為“啟發式自適應PR”的框架。這種框架通過快速選擇最合適的策略及其有用的部分,來促進存儲在策略庫中的源策略的有效重用。同時,通過使用KL散度衡量策略之間的差異來篩選策略,保證了策略的質量,并完成策略庫的重建。該方法有效避免了重用源策略中不相關的部分而導致的負遷移,并在每個回合中將策略庫中的“不良策略”移除以保證策略庫的健壯性和有效性。美中不足的是,該方法并不適用于連續動作空間問題。
Song等人的工作主要是提出了兩個度量有限個MDP之間距離的方法。第一個方法是Hausdorff度量方法,用于利用Hausdorff矩陣度量不同任務狀態集之間的距離。具體定義如下。
給定兩個MDP:=〈,,,,〉和=〈,,,,〉,其Hausdorff距離為

(30)
式中:′為兩個狀態之間的距離。這種方法存在錯誤度量的問題:如果相似的多維數據集中至少存在一個異常值,可能會被錯誤地視為不相似的數據集。因此又提出了第二個方法:Kantorovich度量方法,該方法利用Kantorovich矩陣度量概率分布之間的距離。具體定義如下。
給定兩個MDP:=〈,,,,〉和=〈,,,,〉,其Kantorovich距離為

(31)
使用這種方法時,即使存在異常值,對總數據集的影響也不大。與此工作類似,文獻[48]同樣是計算概率分布之間的距離,它基于Jensen-Shannon距離(Jensen-Shannon distance,JSD)定義了一個輕量級的度量來計算共享相同狀態-動作的問題中的任務相似性。JSD定義為Jensen-Shannon散度的平方根:

(32)
式中:是KL散度;和是源任務和目標任務中相應狀態-動作對的分布;=(+)2。
相似性度量類方法的目標只有一個:為目標任務選擇最好的源策略進行重用。現有的方法五花八門,沒有統一的度量標準,該方向未來的工作可能會著力于尋找一個統一的度量標準。表4總結了目前的相似性度量類方法。

表4 相似性度量類方法總結
以上分析的幾類方法,有效地加速了RL算法的收斂,但在一定程度上也提升了算法的復雜度和計算量。為方便了解和對比,分析、對比了這幾類方法的優缺點,如表5所示。

表5 PR方法對比
近些年隨著DL的飛速發展,DL和RL相結合的方法DRL在一定程度上解決了以前傳統RL方法難以解決的問題。適用于傳統RL算法的PR方法,在更換了RL框架的情況下,依然適用。在上面介紹的各類PR方法中,某些方法不僅適用于傳統RL框架,同樣適用于DRL框架。
文獻[39]將專家演示這類依靠外部協助的PR方法應用在最經典的DRL算法DQN上,稱為學習演示的深度Q學習。另一項基于DQN算法的工作是文獻[65],其工作與獎勵設計技術關系密切,基于一組專家演示來構建勢函數,并且狀態-動作對的勢值由給定狀態-動作對和專家經驗之間的最高相似性來度量,這種額外獎勵鼓勵智能體做出類似專家的動作。文獻[55-56]提出的策略蒸餾方法同樣是基于DQN算法框架的。其中文獻[55]的工作是利用專家網絡和學生網絡值的誤差來使得學生網絡逼近專家網絡從而進行多任務PR。而文獻[56]的工作則是將特定任務的高層次卷積特征作為多任務策略網絡的輸入,再有選擇地采樣每個任務的經驗放到神經網絡上學習。
PR方法不僅僅應用到基于值函數框架的DRL中,也適用于基于策略梯度框架的DRL。文獻[89]基于信任域策略優化(trust region policy optimization,TRPO)算法框架,提出了一種結合生成對抗網絡(generative adversarial networks,GAN)和獎勵設計函數-log(1-(,))的算法生成對抗模仿學習(generative adversarial imitation learning,GAIL)。該算法可以利用GAN的對抗訓練直接顯示地得到策略,更加高效。Kang等人提出的學習演示的策略優化(policy optimization from demonstration,POfD)算法擴展了GAIL,該算法基于TRPO和PPO,將GAN中的鑒別器獎勵與環境獎勵結合,訓練智能體去獲得最大化累積的環境獎勵:

(33)
式中:和分別是當前策略和專家策略的占用度量,是由策略導出的狀態-動作分布。
以上算法,無論是GAIL還是POfD,都屬于on-policy的RL框架。文獻[68]提出的學習演示的DDPG(DDPG from demonstrations,DDPGfD)算法則是off-policy的RL框架,該算法基于DDPG,指導智能體從專家演示中學習策略。另一項基于DDPG框架的工作是文獻[40],與DDPGfD的不同在于智能體的功能通過行為克隆損失得到加強,鼓勵其模仿所提供的演示行為。文獻[58]提出的方法基于A3C框架,同時利用策略蒸餾提取多個教師策略網絡中的經驗并轉移到學習策略網絡以實現多任務PR。Schmitt等人做的工作與文獻[58]類似,使用教師和學生策略網絡之間的交叉熵來設計獎勵,并設計了一個動態衰減系數來減輕獎勵增加所帶來的負面影響,從而使學生策略在迭代優化一定次數后能夠獨立于教師策略。
飛速發展的DRL算法已經能夠面對高維的狀態或動作空間的問題,但是面對相似問題需要從頭學習的問題依然需要依靠PR方法來解決。表6總結了主流的應用了PR方法的DRL框架。

表6 PR方法中的DRL框架總結
相對于單智能體而言,多智能體環境是非穩態的,多智能體RL(multi-agent RL,MARL)遵循隨機博弈(stochastic game,SG)過程。對于MDP而言,其轉移函數不僅與當前狀態、當前動作以及下一個狀態′有關,還與時間有關,因此更加復雜,更具有挑戰性。
在多智能體環境中,傳統的RL算法或多智能體算法沒有過多關注對方的策略,僅僅只是聚焦于對手的行為,這類方法的弊端在于容易被對手的行為所誤導,但是根據對手的策略來行動能夠避免此問題。然而在多智能體環境中,對手的策略多且雜,如何快速地根據對手策略制定自己的策略正是MARL-PR算法所要解決的問題。文獻[95]提出的貝葉斯PR(Bayesian PR,BPR),可以根據對手的策略來指定自己的策略,提出了一個當智能體面對未知任務時使用策略蒸餾來選擇最優策略的框架。該框架使用了一個信念模型(),以獎勵為標準來衡量當前的任務和過去已經解決的任務之間的相似程度,最優策略就是信念模型下期望獎勵最大的策略。然而該信念模型存在光靠獎勵難以準確區分對手的問題,文獻[96]提出了一種方法深度BPR:用參數為的神經網絡去近似對手的策略的修正信念模型,配合引入的對手模型同時去檢測對手以達到精確檢測的目的。如果檢測發現對手用的是之前未用過的策略,則開始學習新策略并在學習完成后放入策略庫。文獻[97]提出的算法Bayes-Pepper結合了兩個框架Pepper和BPR,該算法先從多智能體算法中獲得隨機的動作策略,然后計算可能的對手的信念,并隨著交互的進行而更新,從而使智能體可以針對對手快速選擇適當的策略。文獻[99]將BPR擴展到對抗性設置,特別是擴展到從一種固定策略轉換為另一種靜態策略的對手。當Agent檢測當前策略不是最優時,該擴展功能可以在線學習新模型。
然而以上方法都假定對手在一組平穩策略中隨機改變其策略,在實踐中,對手可以通過采用更高級的推理策略來表現出更復雜的行為,此時這些方法就難以打敗這些復雜的對手。文獻[100]提出一種貝葉斯心理策略理論(Bayesian theory of mind on policy, Bayes-ToMoP)方法,不僅能快速準確地檢測到非平穩對手,而且還能檢測到更復雜的對手,并據此計算出最佳對策。
相較于單智能體DRL算法,多智能體算法更加切合現實環境和需求。面對不穩定的環境,單智能體算法難以收斂,也不能通過改變智能體本身的策略去適應不穩定的動態環境。多智能體算法的提出在一定程度上緩解了這些問題。然而,隨著智能體數量的增加,多智能體算法的聯結動作空間大小爆炸性增長,而這帶來的是龐大的計算量。除此之外,多智能體系統中各個智能體的任務存在差異,但彼此之間又存在耦合,相互影響,獎勵設計比較困難,而這直接影響了學習到的策略的好壞。而且探索問題也是多智能體算法急需解決的問題之一。多智能體環境中,各智能體需要同時考慮自己對環境的探索和應對同伴策略變化進行的探索,而且各智能體的探索都可能影響同伴的策略,這使得學習的過程復雜且緩慢。PR方法的加入部分緩解了這些問題,但是現有的方法還不夠成熟。接下來可以研究更加通用的PR方法,通過重用相似環境的源策略來更快地發現對手策略,加速探索過程和降低計算損耗。
機器人學習領域一直是RL的重要研究方向,但一直存在實驗代價過大的問題,比如機器人學習在復雜的山路進行作業的時候,經常存在損壞的風險。而在相似的地況進行作業時,從頭學習不僅效率低,而且損耗大。文獻[101]提出讓不同機器人之間共享學習到的策略來進行協同訓練的PR方法很大程度上緩解了這個問題。其方法是在DQN框架下實現多個機器人智能體之間的策略遷移,通過在一個經驗池中共享演示和異步執行策略的更新。文獻[102]則把注意力集中在機器人面臨未知任務時的學習方法上,通過在所選的多個源任務上訓練一個通用策略結合專家策略來讓機器人更快地適應目標任務。
除了機器人領域,游戲也是PR廣泛應用的領域。最典型的游戲應用就是AlphaGo。這是一款圍棋游戲,先利用專家演示離線訓練智能體,再通過學習用蒙特卡羅樹搜索法來選擇最優策略。在星際爭霸這款實時戰略游戲中也使用了PR。除此之外,OpenAI訓練了一個擊敗了人類職業玩家的Dota2游戲智能體,其中也用到了PR的方法。文獻[31]將PR應用在Minecraft上,文獻[51-52]則在Atari上應用了PR方法。另外,在導航游戲和山地車游戲上也有應用。在這些通用平臺上的應用且有不錯的效果,足以說明PR的有效性。表7總結了常見的PR方法的應用場景。

表7 PR方法應用總結
本綜述從是否基于策略重構的角度將目前RL中存在的PR方法進行分類并介紹。除此之外,還總結了在結構不同的任務之間的映射方法以及應用了PR的領域。本文提供了一個關于RL中PR方法的新的分類思路,希望能夠為做此方面研究的人提供一點幫助。
依據現在RL中的PR研究進程,基于模型的PR方法會是未來的一個發展趨勢。基于模型的方法能夠結合大多數的RL算法,實現策略重構、獎勵設計等方法的自動化,大大提高PR的效率和通用性。除此之外,任務的相似性度量方法現階段良莠不齊,設計和制定一套通用高效的度量標準對于PR的發展也起到了至關重要的作用。另外,雖然PR能夠較好地解決RL收斂速度慢、資源消耗大以及復用性的問題,但也提升了算法的復雜度和計算,如何在解決傳統RL問題的基礎上避免算法復雜度和計算的提高也是PR方法迫切需要解決的問題。最后,目前PR在多智能體內的研究進展緩慢,其主要原因在于多智能體場景的復雜性。然而多智能體場景更加貼近現實,優質的多智能體PR方法能夠在很大程度上提高工業制造的效率。鑒于這個原因,相信多智能體PR會是未來的一大研究熱點。