基于網(wǎng)格環(huán)境的模仿學(xué)習(xí)技術(shù)實(shí)戰(zhàn)探索 原創(chuàng)
本文將全面探討在網(wǎng)格環(huán)境下,模仿學(xué)習(xí)中一些著名方法的測試運(yùn)行與結(jié)果對比分析。
簡介
強(qiáng)化學(xué)習(xí)(RL)是機(jī)器學(xué)習(xí)的一個分支,圍繞通過標(biāo)量信號(獎勵)的指導(dǎo)進(jìn)行學(xué)習(xí);這與監(jiān)督學(xué)習(xí)是不同的,監(jiān)督學(xué)習(xí)需要目標(biāo)變量的完整標(biāo)簽。
我們可以通過一個直觀的例子來解釋強(qiáng)化學(xué)習(xí)。比如一所學(xué)校有兩個班,連續(xù)重復(fù)兩種類型的測試。第一個班完成了測試并獲得了完整的正確答案(監(jiān)督學(xué)習(xí):SL)。第二個班也完成了測試,但是只得到每個問題的分?jǐn)?shù)(強(qiáng)化學(xué)習(xí):RL)。在第一種情況下,學(xué)生似乎更容易學(xué)習(xí)正確的答案并記住它們。在第二個班上,任務(wù)更難,因?yàn)樗麄冎荒芡ㄟ^反復(fù)試驗(yàn)來學(xué)習(xí)。然而,他們的學(xué)習(xí)將更加穩(wěn)健,因?yàn)樗麄儾粌H知道什么是正確的,而且知道要避免的所有錯誤答案。
為了有效地使用RL進(jìn)行學(xué)習(xí),應(yīng)該設(shè)計一個準(zhǔn)確的獎勵信號(成績),這被認(rèn)為是一項艱巨的任務(wù),特別是對于現(xiàn)實(shí)世界的應(yīng)用程序而言。例如,人類專家級的司機(jī)知道如何駕駛,但不能為“正確駕駛”技能設(shè)定獎勵機(jī)制,而烹飪或繪畫等領(lǐng)域也是如此。這就產(chǎn)生了對模仿學(xué)習(xí)方法(IL:imitation learning)的需求。IL是RL的一個新分支,它只關(guān)注從專家軌跡中學(xué)習(xí),而不知道回報。當(dāng)前,IL的主要應(yīng)用領(lǐng)域是機(jī)器人和自動駕駛領(lǐng)域。
在下文中,我們將探討本文參考文獻(xiàn)中提出的一些最著名的IL方法,按其提出時間從舊到新進(jìn)行排序,如下圖所示。
IL方法發(fā)明的時間順序表
注意,下文中數(shù)學(xué)公式將與符號的命名一起顯示。而且,這里給出的理論推導(dǎo)僅保持在最低限度。因此,如果您還需要更深入的了解,可以在末尾的參考文獻(xiàn)部分查找原始參考文獻(xiàn)。在本文隨附的Github倉庫中也提供了重新創(chuàng)建本文介紹方法的所有有關(guān)實(shí)驗(yàn)的完整代碼。
接下來,讓我們開始深入學(xué)習(xí)模仿學(xué)習(xí),從行為克?。˙C)到信息最大化生成對抗模仿學(xué)習(xí)(InfoGAIL)。
試驗(yàn)環(huán)境
本文中使用的試驗(yàn)環(huán)境表示為一個15x15大小的網(wǎng)格。具體的環(huán)境狀態(tài)定義如下圖所示:
- 智能體:紅色
- 初始智能體位置:藍(lán)色
- 墻壁:綠色
智能體的目標(biāo)是通過三個窗口中的任何一個,以最短的方式到達(dá)第一行,并朝向相對于穿過網(wǎng)格中間的垂直軸的初始位置的對稱位置。目標(biāo)位置不會顯示在狀態(tài)網(wǎng)格中。
因此,初始位置只有15種可能性,目標(biāo)位置也會因此而改變。
動作空間
動作空間A由0到4的離散數(shù)組成,表示四個方向的運(yùn)動和停止動作,如下圖所示:
獎勵函數(shù)
這里的真實(shí)數(shù)據(jù)獎勵R(s,a)是一個描述當(dāng)前狀態(tài)和動作的函數(shù),其值等于朝向目標(biāo)的位移距離:
在上面公式中,p1表示舊位置,p2表示新位置。智能體將始終在最后一行初始化,但每次都在隨機(jī)位置。
專家策略
用于本文中所介紹的所有方法(InfoGAIL除外)的專家策略都是為了以最短的路徑實(shí)現(xiàn)目標(biāo)。這涉及三個步驟:
- 向最近的窗口移動
- 直接朝著目標(biāo)前進(jìn)
- 在目標(biāo)位置停止運(yùn)動
此行為可由下面GIF動畫來演示:
使用專家策略生成其他IL方法使用的演示軌跡(每個軌跡τ都表示為狀態(tài)動作元組的有序序列)
其中,專家演示集定義為D={τ0,?,τn}
對于每30個情節(jié)——每個情節(jié)用32步,專家級平均情節(jié)回報率為16.33±6。
正向強(qiáng)化學(xué)習(xí)
首先,我們將使用真實(shí)獎勵值來訓(xùn)練一個模型,以便設(shè)置一些基準(zhǔn)參數(shù)和調(diào)整超參數(shù),方便后面與IL方法一起使用。
本文中使用的正向強(qiáng)化學(xué)習(xí)算法的實(shí)現(xiàn)基于Clean RL腳本(參考文獻(xiàn)12),該腳本提供了強(qiáng)化方法的詳細(xì)實(shí)現(xiàn)細(xì)節(jié)。
簡介
我們將分別測試近端策略優(yōu)化(PPO)(參考文獻(xiàn)2)和深度Q網(wǎng)絡(luò)(DQN)(參考文獻(xiàn)1),這兩種方法是目前為止最先進(jìn)的同策略強(qiáng)化方法和眾所周知的異策略強(qiáng)化方法。
以下介紹每種方法的訓(xùn)練步驟及其特征歸納。
同策略——近端策略優(yōu)化(PPO)算法
此方法使用正在訓(xùn)練的當(dāng)前策略,并在收集每個episode(情景)的推出后更新其參數(shù)。PPO算法有兩個主要部分組成:評論家和演員。其中,演員代表策略,而評論家則為每個狀態(tài)提供價值估計,并為其更新目標(biāo)。
異策略——深度Q網(wǎng)絡(luò)(DQN)算法
DQN算法通過使用epsilon貪婪探索在重放緩沖區(qū)中收集卷展(rollouts)來離線訓(xùn)練其策略。這意味著,DQN算法并不總是根據(jù)每個狀態(tài)的當(dāng)前策略采取最佳動作,而是選擇隨機(jī)動作,這使得探索不同的解決方案成為可能。在這種算法中,可以把一個額外的目標(biāo)網(wǎng)絡(luò)與更新頻率較低的策略版本一起使用,以便使學(xué)習(xí)目標(biāo)更加穩(wěn)定。
試驗(yàn)結(jié)果和討論
下圖顯示了上述兩種方法的情景回報曲線。其中,DQN方法使用黑色顯示,而PPO方法顯示為橙色線。
對于這個簡單的例子:
- PPO和DQN都收斂,但PPO略有優(yōu)勢。這兩種方法都沒有達(dá)到16.6的專家級水平(PPO方法接近15.26)。
- DQN在相互步驟方面似乎收斂較慢;與PPO相比,這被稱為樣本低效。
- PPO需要更長的訓(xùn)練時間,這可能是由于演員-評論家訓(xùn)練對兩個目標(biāo)不同的網(wǎng)絡(luò)進(jìn)行更新的緣故。
兩種方法的訓(xùn)練參數(shù)基本相同。如果您想更仔細(xì)地了解這些曲線是如何生成的,請查看本文附帶存儲庫中的腳本文件ppo.py和dqn.py。
行為克?。˙C)
行為克隆首次在參考文獻(xiàn)4中提出,是一種直接的模仿學(xué)習(xí)方法。這種方法中應(yīng)用了監(jiān)督學(xué)習(xí)技術(shù),將每個狀態(tài)映射到基于專家演示的動作D。這種方法將目標(biāo)定義為:
其中,πbc代表訓(xùn)練好的策略,πE代表專家策略,l(πbc(s),πE(s))表示專家和訓(xùn)練過的策略在響應(yīng)相同狀態(tài)時的損失函數(shù)。
BC和監(jiān)督學(xué)習(xí)之間的區(qū)別在于將問題定義為一個交互式環(huán)境;在這個環(huán)境中,BC根據(jù)動態(tài)的狀態(tài)(例如,機(jī)器人朝著目標(biāo)移動)采取動作。相比之下,監(jiān)督學(xué)習(xí)則是將輸入映射到輸出,如對圖像進(jìn)行分類或預(yù)測溫度。這種區(qū)別在參考文獻(xiàn)8中有所解釋。
在此實(shí)現(xiàn)中,智能體的所有初始位置僅包含15種可能性。因此,只有15條軌跡可以學(xué)習(xí),BC網(wǎng)絡(luò)可以有效地記憶這些軌跡。為了使問題更難解決,我們將訓(xùn)練數(shù)據(jù)集D的大小減半(480個“狀態(tài)-動作”對中只使用了240個),并對本文中后續(xù)的所有模仿學(xué)習(xí)方法都采取這種處理辦法。
訓(xùn)練結(jié)果
在完成模型訓(xùn)練后(如bc.py腳本所示),我們得到的平均情景回報率為11.49,標(biāo)準(zhǔn)差為5.24。
這比以前的正向強(qiáng)化方法要少得多。以下GIF動畫顯示了訓(xùn)練好的BC模型的實(shí)際應(yīng)用情況。
從此GIF中可以明顯看出,近三分之二的軌跡已經(jīng)學(xué)會了穿過墻壁。然而,該模型陷入了最后三分之一的困境,因?yàn)樗鼰o法從前面的例子中推斷出真正的策略,特別是因?yàn)樗坏玫搅?5個專家軌跡中的一半來學(xué)習(xí)。
最大熵逆強(qiáng)化學(xué)習(xí)(MaxENT)
除了行為克?。˙C)方法之外,MaxEnt(參考文獻(xiàn)3)是另一種單獨(dú)訓(xùn)練獎勵模型的方法(不是迭代)。其主要思想在于基于當(dāng)前的獎勵函數(shù),對專家軌跡的概率進(jìn)行最大化計算。這可以表示為:
其中,N表示軌跡長度,Z表示給定策略下所有可能軌跡之和的歸一化常數(shù)。
該方法基于最大熵定理(參考文獻(xiàn)3)推斷其主要目標(biāo);該定理指出,滿足給定條件的最具代表性的策略就是具有最高熵H的策略。因此,MaxEnt需要使用一個額外的目標(biāo)來最大化策略的熵。這就又產(chǎn)生了下面這樣一個公式:
此公式中使用了導(dǎo)數(shù):
其中,SVD表示狀態(tài)訪問頻率;在給定當(dāng)前策略的情況下,可以用動態(tài)規(guī)劃算法來計算這個值。
在MaxEnt方法的實(shí)現(xiàn)中,我們沒有使用新獎勵的訓(xùn)練,因?yàn)閯討B(tài)編程算法會很慢很長。相反,我們選擇通過像前一個過程一樣重新訓(xùn)練BC模型來測試最大化熵的主要思想,但在損失中增加了推斷動作分布的負(fù)熵項。熵應(yīng)該是負(fù)的,因?yàn)槲覀兿Mㄟ^最小化損失來最大化它。
訓(xùn)練結(jié)果
在將權(quán)重為0.5的動作分布的負(fù)熵相加后(選擇正確的值很重要;否則,可能會導(dǎo)致學(xué)習(xí)效果變差),我們看到比之前的BC模型的性能略有改善,現(xiàn)在的平均情景回報率為11.56(+0.07)。之所以訓(xùn)練結(jié)果略有改進(jìn)是因?yàn)槲覀兪褂昧撕唵蔚沫h(huán)境,此環(huán)境包含的狀態(tài)數(shù)量實(shí)在有限。如果狀態(tài)空間變大一些的話,熵的重要性預(yù)計會更大。
生成對抗模仿學(xué)習(xí)(GAIL)
生成對抗模仿學(xué)習(xí)(GAIL)的最初工作(參考文獻(xiàn)5)受到了生成對抗網(wǎng)絡(luò)(GANs)概念的啟發(fā),GANs應(yīng)用對抗訓(xùn)練的思想來增強(qiáng)主模型的生成能力。同樣,在GAIL中,該概念被應(yīng)用于匹配訓(xùn)練策略和專家策略之間的狀態(tài)動作分布。
這可以推導(dǎo)為Kullback-Leibler散度,如論文(參考文獻(xiàn)5)所示。這篇論文最終得出這兩種模型(在GAIL中稱為生成器和鑒別器模型)的主要目標(biāo)為:
其中,Dt代表鑒別器,πθ代表生成器模型(即訓(xùn)練中的策略),πe代表專家策略,H(πθ)代表生成器模型的熵。
這里,鑒別器充當(dāng)二進(jìn)制分類器,而生成器則對應(yīng)于正在訓(xùn)練的實(shí)際策略模型。
GAIL的主要優(yōu)勢
與以前的幾種方法相比,GAIL方法的主要好處(以及它表現(xiàn)更好的原因)在于它的交互式訓(xùn)練過程。訓(xùn)練好的策略在鑒別器的獎勵信號的指導(dǎo)下學(xué)習(xí)和探索不同的狀態(tài)。
訓(xùn)練結(jié)果
在對GAIL模型訓(xùn)練160萬步后,該模型收斂到比BC和MaxEnt模型更高的水平。如果繼續(xù)訓(xùn)練的話,可以取得更好的成績。
具體來說,訓(xùn)練中我們獲得了平均12.8的情節(jié)獎勵,考慮到只有50%的演示沒有任何真正的獎勵,這是值得注意的一點(diǎn)。
下圖顯示了GAIL的訓(xùn)練曲線(y軸上標(biāo)有真實(shí)情景獎勵值)。值得注意的是,由于GAIL的對抗性訓(xùn)練性質(zhì),來自log(D(s,a))的獎勵計算結(jié)果可能會比真實(shí)獎勵值更混一些。
對抗反向強(qiáng)化學(xué)習(xí)(AIRL)
GAIL的一個遺留問題是,訓(xùn)練好的獎勵模型(鑒別器)實(shí)際上并不代表實(shí)際獎勵值。相反,鑒別器被訓(xùn)練為專家和生成器狀態(tài)動作對之間的二元分類器,其平均值為0.5。這意味著,鑒別器只能被視為替代獎勵。
為了解決這個問題,參考文獻(xiàn)6中的論文使用以下公式重新表述了鑒別器:
其中,fω(s,a)應(yīng)收斂到實(shí)際優(yōu)勢函數(shù)。在這個例子中,這個值表示智能體離不可見目標(biāo)有多近。注意,通過添加另一個術(shù)語以便包含已經(jīng)成形的獎勵值的方法,有助于找到真實(shí)獎勵值;然而,對于這個實(shí)驗(yàn),我們將僅限于上述優(yōu)勢函數(shù)。
訓(xùn)練結(jié)果
使用與GAIL相同的參數(shù)訓(xùn)練AIRL模型后,我們得到了以下訓(xùn)練曲線:
值得注意的是,在相同的訓(xùn)練步驟(160萬步)下,由于訓(xùn)練鑒別器的復(fù)雜性增加,AIRL的收斂速度較慢。然而,現(xiàn)在我們有了一個有意義的優(yōu)勢函數(shù),盡管只有10.8的情節(jié)獎勵,但訓(xùn)練結(jié)果仍然還是相當(dāng)不錯的。
讓我們比較一下這個優(yōu)勢函數(shù)和真實(shí)獎勵值,以便與專家演示結(jié)果對應(yīng)。為了使這些值更具可比性,我們還對學(xué)習(xí)到的優(yōu)勢函數(shù)fω的值進(jìn)行了歸一化。由此,我們得到了下圖:
在該圖中,有15個脈沖對應(yīng)于智能體的15個初始狀態(tài)。在圖的后半部分,我們可以看到訓(xùn)練模型中存在更大的誤差,這是由于在訓(xùn)練中只使用了一半的專家演示。
在圖形的前半部分,我們觀察到當(dāng)智能體在目標(biāo)處靜止且獎勵為零時的低狀態(tài),而在訓(xùn)練模型中計算結(jié)果表示為高值。在圖形的后半部分,計算結(jié)果表示為較低的值。
總體來看,學(xué)習(xí)函數(shù)大致遵循了真實(shí)獎勵值規(guī)律,并使用AIRL恢復(fù)了有關(guān)它的有用信息。
信息最大化GAIL(InfoGAIL)
盡管前面的幾種方法取得了一些進(jìn)步,但是模仿學(xué)習(xí)中仍然存在一個重要問題:多模態(tài)學(xué)習(xí)。為了將IL應(yīng)用于實(shí)際問題,有必要學(xué)習(xí)多種可能的專家策略。例如,在開車或踢足球時,沒有一種“真正”的做事方式;專家們的方法各不相同,IL模型應(yīng)該能夠始終如一地學(xué)習(xí)這些變化。
為了解決這個問題,人們又開發(fā)了InfoGAIL模型算法(參考文獻(xiàn)7)。受InfoGAN(參考文獻(xiàn)11)的啟發(fā),InfoGAN使用額外的風(fēng)格向量來調(diào)節(jié)GAN生成的輸出風(fēng)格,InfoGAIL在GAIL目標(biāo)的基礎(chǔ)上增加了另一個標(biāo)準(zhǔn):對狀態(tài)-動作對和新的控制輸入向量z之間的互信息進(jìn)行最大化處理。這個目標(biāo)可以推導(dǎo)成如下形式:
Kullback-Leibler散度
其中,估計后驗(yàn)p(z∣s,a)用一個新的模型Q近似,該模型以(s,a)為輸入,輸出z。
InfoGAIL的最終目標(biāo)函數(shù)可以表示成如下形式:
結(jié)果是,策略中包含了一個額外的輸入,即z,如下圖所示:
在我們的實(shí)驗(yàn)中,我們生成了新的多模態(tài)專家演示,每個專家只能從一個缺口(墻上的三個缺口中的一個)進(jìn)入,而不管他們的目標(biāo)是什么。實(shí)驗(yàn)中,我們使用了完整的演示集,但是沒有標(biāo)注是哪位專家在做動作。z變量是一個單熱編碼向量,表示成一個具有三個元素的專家類(例如,左門為[1 0 0])。此時,策略應(yīng)該是:
- 學(xué)會朝著目標(biāo)前進(jìn)。
- 將隨機(jī)生成的z值鏈接到不同模式的專家(從而通過不同的門)。
- Q模型應(yīng)該能夠根據(jù)每個狀態(tài)下的動作方向來檢測它是哪種模式。
請注意,由于對抗性訓(xùn)練,鑒別器、Q模型和策略模型訓(xùn)練結(jié)果圖都表現(xiàn)得有些混亂。
幸運(yùn)的是,我們清楚地學(xué)習(xí)了這兩種模式。無論是通過策略方法還是Q模型方法都沒有識別出第三種模式。以下三個GIF動畫顯示了在給定不同z值時從InfoGAIL學(xué)習(xí)到的專家模式情況:
z=[1,0,0]
z=[0,1,0]
z=[0,0,1]
最終,上述策略能夠收斂到經(jīng)過80萬個訓(xùn)練步后大約結(jié)果為10的情節(jié)獎勵。通過增加更多的訓(xùn)練步驟的話,應(yīng)該能夠獲得更好的訓(xùn)練結(jié)果,即使本例中使用的專家方案不是最佳的。
歸納
當(dāng)回顧我們上面做過的所有實(shí)驗(yàn)時,結(jié)論很明顯,所有模仿學(xué)習(xí)方法在情景獎勵標(biāo)準(zhǔn)方面都表現(xiàn)良好。下表總結(jié)了它們各自的表現(xiàn)成績:
因?yàn)閷<已菔臼腔诙嗄B(tài)專家的,所以InfoGAIL的結(jié)果不具有可比性
該表顯示,GAIL在我們給定的問題上表現(xiàn)最佳,而AIRL由于其引入了新的獎勵公式而表現(xiàn)得速度較慢,導(dǎo)致回報率較低。另外,InfoGAIL也學(xué)得很好,但很難識別所有三種專家模式。
結(jié)論
總之,模仿學(xué)習(xí)成為當(dāng)下一個具有挑戰(zhàn)性和吸引力的領(lǐng)域。我們在本文中探索的方法適用于網(wǎng)格模擬環(huán)境,但可能無法直接轉(zhuǎn)化為現(xiàn)實(shí)世界的應(yīng)用程序。除了一些行為克隆方法外,模仿學(xué)習(xí)的實(shí)際應(yīng)用仍處于起步階段。將模擬與現(xiàn)實(shí)聯(lián)系起來會因其性質(zhì)的差異而引入新的錯誤。
模仿學(xué)習(xí)的另一個公開挑戰(zhàn)是多智能體模仿學(xué)習(xí)。MAIRL(參考文獻(xiàn)9)和MAGAIL(參考文獻(xiàn)10)等人已經(jīng)對多智能體環(huán)境進(jìn)行了研究實(shí)驗(yàn),但從多個專家軌跡中學(xué)習(xí)的一般理論目前仍然是一個懸而未決的問題。
最后,我在GitHub上提供的存儲庫(http://github.com/engyasin/ilsurvey)提供了實(shí)現(xiàn)本文中介紹的所有方法的基本代碼實(shí)現(xiàn),可以進(jìn)行輕松擴(kuò)展。該代碼將會在未來進(jìn)行更新。如果您有興趣做出相關(guān)貢獻(xiàn)的話,您可以提交一個問題或拉取請求,并附上您的修改結(jié)果。
【注】除非另有說明;否則,本文中所有圖片均由作者本人自己提供。
參考文獻(xiàn)
[1] Mnih, V. (2013). Playing atari with deep reinforcement learning. arXiv preprint arXiv:1312.5602.
[2] Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347.
[3] Ziebart, B. D., Maas, A. L., Bagnell, J. A., & Dey, A. K. (2008, July). Maximum entropy inverse reinforcement learning. In Aaai (Vol. 8, pp. 1433–1438).
[4] Bain, M., & Sammut, C. (1995, July). A Framework for Behavioural Cloning. In Machine Intelligence 15 (pp. 103–129).
[5] Ho, J., & Ermon, S. (2016). Generative adversarial imitation learning. Advances in neural information processing systems, 29.
[6] Fu, J., Luo, K., & Levine, S. (2017). Learning robust rewards with adversarial inverse reinforcement learning. arXiv preprint arXiv:1710.11248.
[7] Li, Y., Song, J., & Ermon, S. (2017). Infogail: Interpretable imitation learning from visual demonstrations. Advances in neural information processing systems, 30.
[8] Osa, T., Pajarinen, J., Neumann, G., Bagnell, J. A., Abbeel, P., & Peters, J. (2018). An algorithmic perspective on imitation learning. Foundations and Trends? in Robotics, 7(1–2), 1–179.
[9] Yu, L., Song, J., & Ermon, S. (2019, May). Multi-agent adversarial inverse reinforcement learning. In International Conference on Machine Learning (pp. 7194–7201). PMLR.
[10] Song, J., Ren, H., Sadigh, D., & Ermon, S. (2018). Multi-agent generative adversarial imitation learning. Advances in neural information processing systems, 31.
[11] Chen, X., Duan, Y., Houthooft, R., Schulman, J., Sutskever, I., & Abbeel, P. (2016). Infogan: Interpretable representation learning by information maximizing generative adversarial nets. Advances in neural information processing systems, 29.
[12] Huang, S., Dossa, R. F. J., Ye, C., Braga, J., Chakraborty, D., Mehta, K., & Ara??jo, J. G. (2022). Cleanrl: High-quality single-file implementations of deep reinforcement learning algorithms. Journal of Machine Learning Research, 23(274), 1–18.
譯者介紹
朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計算機(jī)教師,自由編程界老兵一枚。
原文標(biāo)題:??Hands-On Imitation Learning: From Behavior Cloning to Multi-Modal Imitation Learning??,作者:Yasin Yousif
