ICML 2021 | Option-GAI: 机器人任务太长太复杂?不妨试试层次化模仿学习
簡介
俗話說,三人行必有我?guī)?。為了快速融入周邊的生活環(huán)境或?qū)W習(xí)任務(wù)技能,如手工藝、體育鍛煉和廚藝,人們總會傾向于觀察身邊人的舉動,并進行模仿與學(xué)習(xí)。古有拜師求藝,現(xiàn)有各種視頻教學(xué),人們可以通過對專業(yè)人士的觀察與模仿學(xué)習(xí)對方的行為與技能,實現(xiàn)自己的想法目標。
同樣,對于機器人智能體,我們希望它也能通過模仿專家的行為,實現(xiàn)對任務(wù)技能的理解與學(xué)習(xí)。為此,本工作提出機器人智能體行為模仿學(xué)習(xí)算法“Option-GAIL”,通過分析、利用專家給定的行為示教信息,學(xué)習(xí)其背后的行為邏輯,最終希望機器人在相似環(huán)境和任務(wù)下能完整重現(xiàn)與專家一致的行為結(jié)果。
論文標題:
Adversarial Option-Aware Hierarchical Imitation Learning
論文鏈接:
https://arxiv.org/abs/2106.05530
研究背景
在上面這種機器人模仿學(xué)習(xí)問題設(shè)定下,為了實現(xiàn)對專家行為技能的模仿,最簡單直觀的辦法是,既然我們有專家提供的行為數(shù)據(jù),不妨直接使用樣本數(shù)據(jù)對機器人行為策略進行監(jiān)督式訓(xùn)練,得到?jīng)Q策網(wǎng)絡(luò)。我們稱這類直接監(jiān)督的模仿學(xué)習(xí)方法為行為克隆(BC: Behavioral Clone)方法。
然而,所謂師傅領(lǐng)進門,修行在個人。監(jiān)督式學(xué)習(xí)這類直接拿專家數(shù)據(jù)生搬硬套的方法在遇到執(zhí)行器噪聲或稍有變化的環(huán)境時,往往會犯紙上談兵的問題,在遇到專家示教中沒有包含的情形時,機器人很容易會放飛自我,產(chǎn)生不可預(yù)測的行為,導(dǎo)致后續(xù)模仿失敗。我們稱這種現(xiàn)象為累計誤差(compounding error)。
為了實現(xiàn)對累計誤差的規(guī)避,目前較新的模仿學(xué)習(xí)方法將強化學(xué)習(xí)和環(huán)境探索引入了模仿過程中,以最大化自身完整行為和專家的整體相似度為優(yōu)化指標,通過不斷探索環(huán)境試錯,最終得到對環(huán)境變化不敏感的行為策略,即逆強化學(xué)習(xí)(IRL: Inverse Reinforcement Learning)方法。
由于自探索的引入,賦予了機器人策略應(yīng)對超出示教數(shù)據(jù)集之外情況的可能性,因此可以部分避免行為克隆方法遇到的累計誤差問題。目前較常用的機器人行為逆強化模仿學(xué)習(xí)方法,當(dāng)行為的整體相似度由對抗生成網(wǎng)絡(luò)來近似得到時,又被稱為對抗生成模仿學(xué)習(xí)(Generative Adversarial Imitation Learning,GAIL [2])類方法。
長序列操作任務(wù)的模仿學(xué)習(xí)
上面簡單介紹了模仿學(xué)習(xí)的基本概念,不難發(fā)現(xiàn),由于模仿學(xué)習(xí)需要專家提供包含任務(wù)全過程信息的示教,對專家示教樣本的數(shù)量和質(zhì)量要求都會隨著機器人任務(wù)復(fù)雜度的提升和決策序列長度的增加而增加,即任務(wù)每一環(huán)節(jié)的依賴條件數(shù)和操作的先后順序組合數(shù)會隨任務(wù)長度和復(fù)雜度的上升而飛速增長。以一個基本的懸掛衣?lián)稳蝿?wù)為例,機器人需要先后執(zhí)行接近衣?lián)巍⒆テ鹨聯(lián)巍⒁聯(lián)文玫揭聮旄浇詈髮⒁聯(lián)螔焐弦录苓@一系列操作,其中每一步都是互相依賴的。
對于人而言,在給定一個懸掛衣架的連貫示例并要求我們模仿一遍時,我們會很自然的將上述過程分開考慮:首先盡量模仿到達衣?lián)蔚穆窂?#xff0c;直到成功拿到衣?lián)?#xff0c;其后模仿移動衣?lián)蔚穆窂?#xff0c;直到成功將衣?lián)螔煸谝录苌?。期間,人能夠很自然的對任務(wù)進行階段劃分,并意識到在一個階段沒有完成的情況下不能進行下一個階段的操作。通過對任務(wù)的劃分和拆解,人們可以很大程度地簡化每個子任務(wù)的復(fù)雜度,也可以通過對已有的子任務(wù)進行重新組合實現(xiàn)新的更復(fù)雜的任務(wù)需求,而對于機器人來說,目前這種能力卻十分欠缺。
3.1 問題建模與分析:
在這個層次化逆模仿學(xué)習(xí)工作中,我們希望賦予機器人與人相似的任務(wù)劃分與拆解能力,使得機器人在模仿專家行為之外,同時具備自動地拆解劃分任務(wù)的能力。為此,我們首先對人的任務(wù)拆解方式進行形式化的描述與建模。
將時刻的狀態(tài)信息輸入記為 s ,同一時刻的機器人行為輸出記為動作 a ,回想我們小時候?qū)W習(xí)的事件三要素:起因、經(jīng)過、結(jié)果。操作任務(wù)作為一個事件,也滿足這樣的分割方式:我們用數(shù)學(xué)記號 O 代表一個事件,任務(wù)的起因稱為起始狀態(tài)集合,為一個事件可以發(fā)生的條件,如剛剛懸掛衣架任務(wù)中,移動衣架的起因可認為是爪中有衣架這個狀態(tài);任務(wù)的經(jīng)過為一個事件的內(nèi)在執(zhí)行邏輯,我們用任務(wù)策略表示,如根據(jù)傳感器輸入信息產(chǎn)生的機器人手臂的動作行為輸出;任務(wù)的結(jié)果可以認定是一個狀態(tài)的函數(shù),被稱之為終止函數(shù),當(dāng)事件在時刻結(jié)束時取值為 1,否則為 0。
以上三個元素共同構(gòu)成了對任務(wù)的描述。這種對任務(wù)的建模方式構(gòu)成了 option 模型,按這種方式得到的一個任務(wù)被稱為一個 option 。顯然地,為了實現(xiàn)一個復(fù)雜的長序列任務(wù),不同階段的子任務(wù)需要被整合組織起來。Option 模型也定義了一個頂層調(diào)度策略,當(dāng)一個任務(wù)結(jié)束后,調(diào)度策略用來選出一個合適的新任務(wù),實現(xiàn)接下來的操作。
用數(shù)學(xué)語言來描述,我們完成整個長周期任務(wù)的策略可以表示成頂層調(diào)度策略和子任務(wù)策略。
特別地,我們采用了單步(one-step)option 模型,也就是在每一步,都要決定下一步應(yīng)該做什么子任務(wù)。注意高層策略決定的下一步子任務(wù)可以和當(dāng)前所在的子任務(wù)相同,這樣一個子任務(wù)就可以持續(xù)或長或短的一段時間了。? 根據(jù)當(dāng)前所處的子任務(wù)和觀測到的狀態(tài)決定采取什么動作。畫成概率圖模型可以更直觀地看出整體的流程:藍色箭頭所指是的決策過程,紅色箭頭是? 的決策,黑色箭頭是環(huán)境的狀態(tài)轉(zhuǎn)移。
▲ 圖1:單步option模型
3.2 如何學(xué)習(xí)層次化模型
現(xiàn)在我們有了能把長周期任務(wù)表示成多個子任務(wù)分階段執(zhí)行的 option 模型,下一步就要解決如何訓(xùn)練這個模型,使得學(xué)到的策略能復(fù)刻演示數(shù)據(jù)。事實上我們要優(yōu)化的目標是拉近和。
▲ 式1
可以注意到這個目標其實和 GAIL 所解決的占用率度量(occupancy measurement)匹配問題很像。那么是不是直接套用 GAIL 的算法就結(jié)束了呢?這是不行的,因為我們的模型里多出來的 option 在演示數(shù)據(jù)里是觀測不到的 (unobservable)。為此我們提出了 Option-GAIL 算法來解決這個問題,算法的設(shè)計思路和 Expectation-Maximization 算法非常類似,分為 Expectation(E)和 Maximization(M)兩個步驟。
M 步驟:
假設(shè)專家數(shù)據(jù)中的 option 已知,即 o, o' 已知,我們通過優(yōu)化和來優(yōu)化式 1。把 f 散度寫成 Jensen-Shannon 散度以后,上述優(yōu)化目標可以表示成下面這個 min-max 問題:
內(nèi)層的 max 算子利用演示數(shù)據(jù)和策略自己和環(huán)境交互出來的數(shù)據(jù)來優(yōu)化判別器,外層的 min 算子通過學(xué)習(xí)策略來使得判別器無法區(qū)分專家和自己,優(yōu)化目標寫成
在實際操作中,外層算子的優(yōu)化問題可以由經(jīng)典的強化學(xué)習(xí)算法來解:只要把強化學(xué)習(xí)的單步獎勵函數(shù)設(shè)定為 reward = -c(s, a, o, o') 即可。
交替優(yōu)化內(nèi)層和外層算子,我們就可以得到給定專家 option 時最優(yōu)的策略。
E 步驟:根據(jù)已有的,計算可能性最大的 option
到目前為止,我們都假設(shè)專家數(shù)據(jù)的 option 已知,但在實際中這個假設(shè)不成立。因此,我們需要想辦法從已知的狀態(tài) s 和動作 a 中推斷出 option。給定一個策略時,我們假設(shè) option 的取值要使得觀測到的 s 和a 的可能性最大。于是我們可以用 Viterbi 算法 [3] 來解出所有時刻的 option:
算法流程
Option-GAIL 算法的執(zhí)行流程如下:給定演示數(shù)據(jù)和隨機初始化的策略,我們交替進行 E-step 和 M-step ,也就是不斷從當(dāng)前策略去更新此時演示數(shù)據(jù)最可能的? option 情況,再根據(jù)推斷出的 option 來優(yōu)化策略,如此迭代。我們還理論證明了該算法收斂的條件,感興趣的讀者可以查閱原文的附錄。
實驗
我們在常用的機器人移動和操作環(huán)境上測試我們的算法。測試任務(wù)包括:
1. 控制單足、雙足機器人運動,機器人需要在邁腿、彈跳等不同行為模式之間切換才能穩(wěn)健行走;
2. 螞蟻機器人走出帶障礙物的迷宮,智能體要控制螞蟻機器人先推開迷宮里的障礙物才能走到終點;
3. 控制機械臂關(guān)微波爐門,機械臂要靠近微波爐,準確抓住爐門把手,最后繞門軸旋轉(zhuǎn)到關(guān)閉。環(huán)境截圖見圖 2。
為了驗證 Option-GAIL 中引入的層次化結(jié)構(gòu)以及在演示數(shù)據(jù)以外和環(huán)境的交互是否能幫助我們的智能體更好地學(xué)習(xí)長周期任務(wù),我們選擇了如下幾個基線方法和 Option-GAIL 對比:
1. 純動作克隆 Supervised Behavior Cloning(BC):只在演示數(shù)據(jù)上做監(jiān)督學(xué)習(xí),不和環(huán)境交互,也沒有任何層次化的結(jié)構(gòu)信息;
2. GAIL:有在演示數(shù)據(jù)之外自己和環(huán)境交互,但沒有利用長周期任務(wù)的結(jié)構(gòu)信息;
3. 層次化動作克隆:hierarchical behavior cloning(H-BC):建模了層次化結(jié)構(gòu),但自己不和環(huán)境交互;
4. GAIL-HRL:我們的方法的簡化版,在占用率測度匹配的過程中不考慮 option。
我們給所有方法都提供了同樣數(shù)量和表現(xiàn)水平的演示數(shù)據(jù)。從下面的圖表可以看出,在四個任務(wù)中,Option-GAIL 相比非層次化的方法收斂速度更快,相比不和環(huán)境交互的純模仿學(xué)習(xí)算法最終的表現(xiàn)更貼近演示數(shù)據(jù),取得了最優(yōu)異的效果。
▲ 圖2:測試環(huán)境及各種算法的性能曲線
▲ 表:不同算法的表現(xiàn)對比,評價的指標是訓(xùn)練中最好的累積獎勵
為了驗證 Option-GAIL 是否成功讓策略的子任務(wù)劃分與演示數(shù)據(jù)一致,我們對比了 Option-GAIL 和 GAIL-HRL 在演示數(shù)據(jù)和在自主探索中的 option 切換情況(圖3)。明顯可以看出,我們的方法保證了子任務(wù)的切分在專家數(shù)據(jù)(demo)和自己的策略執(zhí)行過程(sample)中表現(xiàn)一致,而用 GAIL-HRL 觸發(fā)子任務(wù)的情況就和專家數(shù)據(jù)有明顯的差別。
▲ 圖3:子任務(wù)觸發(fā)情況對比
總結(jié)
本文提出了 Option-GAIL ,一種結(jié)合了層次化任務(wù)建模和 occupancy measurement 匹配的模仿學(xué)習(xí)框架。我們設(shè)計了一種 EM 算法來有效地訓(xùn)練該框架。相比其他模仿學(xué)習(xí)算法,Option-GAIL 能兼顧頂層和底層策略的模仿學(xué)習(xí),能更好地學(xué)習(xí)演示數(shù)據(jù)中任務(wù)的層次化結(jié)構(gòu),特別對于存在清晰子任務(wù)的任務(wù)表現(xiàn)優(yōu)秀。
參考文獻
[1] Ho, J. and Ermon, S. Generative adversarial imitation learning. In Proc. Advances in Neural Inf. Process. Syst., 2016.
[2]Sutton, R. S., Precup, D., and Singh, S. Between mdps and semi-mdps: A framework for temporal abstraction in reinforcement learning. Artificial intelligence, 112(1-2): 181–211, 1999.
[3] Viterbi, A. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE trans- actions on Information Theory, 13(2):260–269, 1967.
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點剖析、科研心得或競賽經(jīng)驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺已發(fā)表或待發(fā)表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯(lián)系方式(微信),以便我們在稿件選用的第一時間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的ICML 2021 | Option-GAI: 机器人任务太长太复杂?不妨试试层次化模仿学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 厂家金融贷款怎么回事
- 下一篇: 如何无监督地获得一个句子的向量表示?