[朱應(yīng)釗 李嫚 胡穎茂]
機(jī)器人產(chǎn)業(yè)迸發(fā)出巨大潛能,機(jī)器人與人類日常生活的關(guān)系越來越密切,可以被用于清潔、果園采摘、巡檢、導(dǎo)盲、骨科手術(shù)、步行康復(fù)等等。但是,這些機(jī)器人絕大部分仍存于人工編程行為的“傻瓜式”階段,僅擅長于單方面的技能,或只適用于解決特定的任務(wù),在思維方式、學(xué)習(xí)能力、推理決策、調(diào)整適應(yīng)等方面與人類還存在較大區(qū)別。目前,深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)常常被考慮用于提高機(jī)器人的智能水平。DRL是一類既能在和環(huán)境交互中學(xué)習(xí)最優(yōu)策略也能感知復(fù)雜輸入的人工智能技術(shù)??墒?,在實(shí)際的應(yīng)用中,特別是需要多步順序決策(sequential decision)時(shí),其往往會(huì)存在一個(gè)較嚴(yán)重的問題就是獎(jiǎng)勵(lì)稀疏。即智能體不能獲得足夠多的獎(jiǎng)勵(lì),容易造成智能體學(xué)習(xí)緩慢,甚至不能繼續(xù)進(jìn)行有效學(xué)習(xí)。通常人類每天得到的獎(jiǎng)勵(lì)也很少,處于這種獎(jiǎng)勵(lì)稀疏的條件下,人類依舊可以持續(xù)學(xué)習(xí),提高知識(shí)量或掌握新技能。為了讓機(jī)器人也能克服獎(jiǎng)勵(lì)稀疏的問題,提高學(xué)習(xí)效率,將模仿學(xué)習(xí)應(yīng)用到機(jī)器人領(lǐng)域是個(gè)良好的選擇。模仿學(xué)習(xí)協(xié)助機(jī)器人對(duì)專家的示范進(jìn)行觀察與模仿,以獲得最優(yōu)的策略模型,專家的示范一般是專家針對(duì)各任務(wù)的決策數(shù)據(jù)。模仿學(xué)習(xí)不再需要像深度強(qiáng)化學(xué)習(xí)那樣需要耗費(fèi)大量時(shí)間去設(shè)計(jì)一個(gè)確定的獎(jiǎng)勵(lì)函數(shù),極大地利用上專家的演示或經(jīng)驗(yàn)作為自身的先驗(yàn)知識(shí),正如牛頓所說的“站在巨人的肩膀上”,賦予機(jī)器人模仿學(xué)習(xí)的能力,使得它們能快速適應(yīng)各項(xiàng)復(fù)雜新任務(wù),提高模型的通用性。
模仿學(xué)習(xí)(Imitation Learning,IL),亦被稱作學(xué)徒學(xué)習(xí)(Apprenticeship Learning,AL),通過對(duì)專家示范進(jìn)行觀察,并模仿專家在這過程中的一系列具體操作,快速掌握新任務(wù)。為此,模仿學(xué)習(xí)最終目的是希望可以尋找出一個(gè)策略,實(shí)現(xiàn)對(duì)專家示范盡可能地重現(xiàn),其數(shù)學(xué)描述可以表示為:
圖1 行為克隆模仿學(xué)習(xí)的算法框架
行為克隆實(shí)質(zhì)上就是采用專家的示例數(shù)據(jù)進(jìn)行有監(jiān)督學(xué)習(xí)。從圖1上可以發(fā)現(xiàn),專家示例數(shù)據(jù)的形式為狀態(tài)-專家動(dòng)作對(duì),其中si表示當(dāng)前的環(huán)境狀態(tài),ai表示在si狀態(tài)下專家采取的對(duì)應(yīng)動(dòng)作。行為克隆無需構(gòu)建獎(jiǎng)勵(lì)函數(shù),用狀態(tài)-專家動(dòng)作對(duì)去訓(xùn)練神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)根據(jù)當(dāng)前的環(huán)境狀態(tài)si估計(jì)出動(dòng)作,不斷地訓(xùn)練神經(jīng)網(wǎng)絡(luò)至預(yù)測(cè)動(dòng)作與專家動(dòng)作ai之間的差值絕對(duì)值最小,使得神經(jīng)網(wǎng)絡(luò)學(xué)會(huì)在什么狀態(tài)下采用什么動(dòng)作。行為克隆將模仿學(xué)習(xí)轉(zhuǎn)化為一個(gè)監(jiān)督學(xué)習(xí)的問題,很容易受到狀態(tài)分布偏移的影響,其模型的泛化性能較差。這類算法很依賴于專家的示例數(shù)據(jù),但是專家的示范很難涵蓋所有的情況。一旦輸入是訓(xùn)練樣本中沒有的環(huán)境狀態(tài),行為克隆模型便難以輸出正確的動(dòng)作。為此,REDDY等[1]提出一種正則化行為克?。≧egularized Behavioral Cloning)的模仿學(xué)習(xí)方法,把匹配專家示范動(dòng)作的動(dòng)作獎(jiǎng)勵(lì)返回+1,其余動(dòng)作獎(jiǎng)勵(lì)返回0,還引入了軟Q學(xué)習(xí)(Soft-Q-Learning)算法,新增正則化項(xiàng),實(shí)現(xiàn)狀態(tài)對(duì)動(dòng)態(tài)信息的轉(zhuǎn)化,并納入于模仿策略里,有效克服狀態(tài)分布偏移的干擾。
逆強(qiáng)化學(xué)習(xí)是強(qiáng)化學(xué)習(xí)的逆過程。強(qiáng)化學(xué)習(xí)是根據(jù)反饋的獎(jiǎng)勵(lì)對(duì)策略不斷地進(jìn)行優(yōu)化,訓(xùn)練得到最佳策略模型,以實(shí)現(xiàn)最佳決策,如圖2所示。
圖2 強(qiáng)化學(xué)習(xí)算法框架
逆強(qiáng)化學(xué)習(xí)假定專家示范是最優(yōu)或準(zhǔn)優(yōu)的策略,則存在所有策略產(chǎn)生的累計(jì)獎(jiǎng)勵(lì)函數(shù)期望都小于等于專家策略所產(chǎn)生的累積獎(jiǎng)勵(lì)期望這么一個(gè)不等式,如下所示[2]:
在估計(jì)出獎(jiǎng)勵(lì)函數(shù)后,繼續(xù)進(jìn)行策略函數(shù)的學(xué)習(xí),其表達(dá)式為[2]:
逆強(qiáng)化學(xué)習(xí)可以有效避免在復(fù)雜場(chǎng)景下設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)難的問題。ABBEEL等[3]提出一種基于逆強(qiáng)化學(xué)習(xí)的學(xué)徒學(xué)習(xí)方法,假定獎(jiǎng)勵(lì)是特征的線性組合,不斷迭代地更新獎(jiǎng)勵(lì)的參數(shù)和策略,直至策略模型估計(jì)結(jié)果與專家示范的差值小于閾值。如圖3所示,基于逆強(qiáng)化的模仿學(xué)習(xí)避免了人為設(shè)計(jì)效果不佳的獎(jiǎng)勵(lì)函數(shù),且可以有效捕獲專家行為的動(dòng)機(jī)。
圖3 逆強(qiáng)化學(xué)習(xí)算法框架
基于生成對(duì)抗網(wǎng)絡(luò)的模仿學(xué)習(xí)方法是由基于逆強(qiáng)化學(xué)習(xí)的這類模擬學(xué)習(xí)方法發(fā)展而來的,采用兩個(gè)神經(jīng)網(wǎng)絡(luò)分別代表逆強(qiáng)化模擬學(xué)習(xí)中的獎(jiǎng)勵(lì)函數(shù)與策略,生成器根據(jù)環(huán)境當(dāng)前的輸入狀態(tài)估計(jì)出對(duì)應(yīng)的動(dòng)作,判別器判斷生成器的預(yù)測(cè)動(dòng)作與專家示范是否一致,并將誤差反饋至本身及生成器中,對(duì)這兩個(gè)神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行調(diào)整優(yōu)化,不斷地重復(fù)上述過程,以這么一種對(duì)抗的方式訓(xùn)練模型,如圖4所示。最經(jīng)典的是HO等[4]提出的生成對(duì)抗模仿學(xué)習(xí)(Generative Adversarial Imitation Learning,GAIL),讓生成器盡量生成與專家示范動(dòng)作相似的動(dòng)作,且讓判別器盡量判別出是否為專家的示范動(dòng)作。GAO等[5]提出從不完整演示中進(jìn)行模仿學(xué)習(xí)的方法,利用未標(biāo)記數(shù)據(jù)和置信數(shù)據(jù)。TORABI等[6]將GAIL擴(kuò)展到?jīng)]有行動(dòng)指導(dǎo)的情況下。
圖4 基于GAN的模仿學(xué)習(xí)算法框架
隨著經(jīng)濟(jì)的發(fā)展,人類對(duì)機(jī)器人具備學(xué)習(xí)快、運(yùn)動(dòng)靈活等能力的需求越來越大??墒?,傳統(tǒng)的方法難以實(shí)現(xiàn)這樣的能力,現(xiàn)有的機(jī)器人普遍存在思維傻瓜呆板、動(dòng)作遲鈍卡殼等問題,嚴(yán)重制約著機(jī)器人大面積推廣應(yīng)用。將模仿學(xué)習(xí)應(yīng)用于機(jī)器人領(lǐng)域可以有效優(yōu)化上述的問題,使得它們可以快速掌握新任務(wù)作業(yè)和學(xué)會(huì)靈活運(yùn)動(dòng)控制。下面將重點(diǎn)分析模仿學(xué)習(xí)在機(jī)械臂操作學(xué)習(xí)和機(jī)器人運(yùn)動(dòng)控制這兩個(gè)方面的應(yīng)用情況。
傳統(tǒng)機(jī)械臂在實(shí)際應(yīng)用的過程中,針對(duì)不同任務(wù)都需要單獨(dú)重新編程,增加了很多工作量。隨著經(jīng)濟(jì)迅猛發(fā)展,人們對(duì)智能機(jī)械臂的需求也越來越大。為了讓機(jī)械臂能更加靈活便捷地應(yīng)用于各行業(yè),需要給機(jī)械臂賦能模仿學(xué)習(xí)的能力。模仿學(xué)習(xí)極大提高機(jī)械臂的泛化性,讓其可以通過少量專家演示就能快速上手各類任務(wù)。PASTOR等[7]提出根據(jù)抓取和放置等任務(wù)對(duì)人類每次的示教完成標(biāo)記,并分別建立對(duì)應(yīng)的運(yùn)動(dòng)庫,再將學(xué)到的微分方程里起始參數(shù)及目標(biāo)參數(shù)調(diào)整至要求的運(yùn)動(dòng)位置數(shù)值,進(jìn)而就可以完成抓取和放置這些任務(wù)。ROZO等[8]對(duì)高斯混合回歸模型進(jìn)行改進(jìn)優(yōu)化,基于概率模型的隱式時(shí)間信息實(shí)現(xiàn)機(jī)械臂學(xué)習(xí)及重現(xiàn)兩種不同任務(wù)。上述的模仿學(xué)習(xí)算法在成功率與魯棒性等方面仍難以滿足人們的需求。RAHMATIZADEH等[9]提出一種多任務(wù)模仿學(xué)習(xí)算法,通過對(duì)不同任務(wù)進(jìn)行參數(shù)共享,并重建基于變分自動(dòng)編碼的對(duì)抗生成網(wǎng)絡(luò)(Variational Auto Encoder Generative Adversarial Networks,VAE-GAN)及自回歸模式動(dòng)作預(yù)測(cè),讓機(jī)械臂可以掌握多任務(wù)且保證了成功率。LI等[10]提出在模仿學(xué)習(xí)策略中添加機(jī)械臂動(dòng)力學(xué)約束,能有效降低任務(wù)執(zhí)行過程中的力矩波動(dòng)與能耗,增強(qiáng)機(jī)械臂的穩(wěn)定性。目前機(jī)械臂對(duì)環(huán)境的適應(yīng)能力還比較弱,一旦發(fā)生位置變化或新增一些障礙物阻擋時(shí),機(jī)械臂的任務(wù)執(zhí)行效果會(huì)大打折扣,甚至無法繼續(xù)完成任務(wù)了。模仿學(xué)習(xí)的應(yīng)用可以幫助機(jī)械臂快速克服復(fù)雜環(huán)境影響,避免重復(fù)開發(fā)針對(duì)各特定任務(wù)的繁瑣程序。一套程序就能讓機(jī)械臂學(xué)會(huì)分揀、裝配、焊接、切割、維修、炒菜等各類任務(wù)。
一般情況下我們?nèi)祟惗紦碛休^強(qiáng)的運(yùn)動(dòng)能力,可以靈活敏捷地活動(dòng)起來??涩F(xiàn)有機(jī)器人在活動(dòng)時(shí)動(dòng)作還是很笨拙的,一不小心可能就摔個(gè)四腳朝天。緩慢、卡頓、僵硬的動(dòng)作嚴(yán)重制約著機(jī)器人發(fā)展,將模仿學(xué)習(xí)應(yīng)用于機(jī)器人上可以有效優(yōu)化這些不足,極大提高機(jī)器人的運(yùn)動(dòng)能力。HU等[11]提出通過人體演示數(shù)據(jù)規(guī)劃零力矩點(diǎn)(Zero Moment Point,ZMP)及驅(qū)動(dòng)角,再以二次規(guī)劃的方式優(yōu)化模仿的相似性,讓機(jī)器人可以模仿人體運(yùn)動(dòng)步態(tài)。OU等[12]提出采用體感攝像機(jī)獲取演示信息,并用Levenberg-Marquardt方法實(shí)現(xiàn)對(duì)逆動(dòng)力學(xué)求解的優(yōu)化,提高機(jī)器人對(duì)人體活動(dòng)姿態(tài)模仿的穩(wěn)定性和相似性。XIE等[13]提出一種確定性行動(dòng)隨機(jī)狀態(tài)(Deterministic Action Stochastic State,DASS)的方法,以策略梯度算法去求解出馬爾可夫決策過程(Markov Decision Process,MDP)中最優(yōu)策略,以模仿學(xué)習(xí)的方式解決參數(shù)策略的問題?;诖藢?shí)現(xiàn)的雙足機(jī)器人Cassie可以靈活地走路,能類似于人類正常地往前走,倒著走,橫著走,在受到障礙物羈絆或被戳等干擾的情況下仍然能保持穩(wěn)定行走。
另外,模仿學(xué)習(xí)還在人機(jī)協(xié)作等方面有著廣泛應(yīng)用,有效融合人與機(jī)器人各自的優(yōu)勢(shì),實(shí)現(xiàn)更為高效地完成現(xiàn)場(chǎng)作業(yè)。
雖然模仿學(xué)習(xí)在機(jī)器人領(lǐng)域的應(yīng)用已經(jīng)取得很大的成就,但是目前仍然存在著一些挑戰(zhàn)。
第一,雖然模仿學(xué)習(xí)不再像深度學(xué)習(xí)那樣需要巨大數(shù)量的訓(xùn)練實(shí)例,但是對(duì)于很多的模仿學(xué)習(xí)算法來說,所需的專家示范決策數(shù)據(jù)也還是比較多。機(jī)器人可以被用于去執(zhí)行災(zāi)難救援、深??碧郊疤兆鳂I(yè)等危險(xiǎn)任務(wù),可這些領(lǐng)域上的專家演示數(shù)據(jù)可能會(huì)比較少。受限的專家演示會(huì)制約著模仿學(xué)習(xí)算法在機(jī)器人上的性能。為此,以更少的專家示范數(shù)據(jù)就能學(xué)到良好的反饋信號(hào)是一個(gè)很值得考慮的問題。
第二,基于模仿學(xué)習(xí)的機(jī)器人其執(zhí)行能力得到了提高,但它們大部分都只能操作簡(jiǎn)單動(dòng)作或處理簡(jiǎn)單任務(wù)。當(dāng)面對(duì)一些復(fù)雜的任務(wù)時(shí),性能便大幅度下降,甚至?xí)耆粫?huì)執(zhí)行了。
第三,現(xiàn)有模仿學(xué)習(xí)算法的魯棒性和通用性還比較差。模仿學(xué)習(xí)在不同機(jī)器人之間相互復(fù)用是個(gè)較困難的問題。無法實(shí)現(xiàn)同一套算法可以應(yīng)用于多種類型機(jī)器人,多次編程會(huì)浪費(fèi)很多人力物力。
第四,當(dāng)前很多模仿學(xué)習(xí)算法在訓(xùn)練的過程中都是用拍攝好存于數(shù)據(jù)庫中的圖片或視頻對(duì)模型進(jìn)行離線的訓(xùn)練,這導(dǎo)致便利性受限。能否通過遠(yuǎn)程接入連接上機(jī)器人,以線上示教的方式或者直接站機(jī)器人前面對(duì)面示教就能讓機(jī)器人快速學(xué)會(huì)模仿,直接掌握并開始執(zhí)行任務(wù)。
針對(duì)上述的挑戰(zhàn),對(duì)未來有如下展望。
為了實(shí)現(xiàn)可以通過極少的專家示范數(shù)據(jù)就能讓機(jī)器人學(xué)會(huì)任務(wù)作業(yè),一眼模仿學(xué)習(xí)(One-Shot Imitation Learning)是未來一個(gè)重要的研究方向。顧名思義就是機(jī)器人看一眼就能模仿學(xué)會(huì)了,將學(xué)習(xí)的效率提升到極致。
借鑒動(dòng)物行為可以有助于提高機(jī)器人執(zhí)行復(fù)雜動(dòng)作或任務(wù)的能力。通過力建模與全身傳感器的方式,充分利用動(dòng)物行為數(shù)據(jù),盡可能地實(shí)現(xiàn)對(duì)動(dòng)物行為的模仿重現(xiàn),使得機(jī)器人也可以做出一系列更為流暢的動(dòng)作或執(zhí)行更為復(fù)雜任務(wù)。
對(duì)于模仿學(xué)習(xí)算法的魯棒性和通用性差的挑戰(zhàn),未來可以將元學(xué)習(xí)(Meta-learning)有效結(jié)合于模仿學(xué)習(xí)中,讓機(jī)器人學(xué)會(huì)自主模仿學(xué)習(xí),對(duì)于各類新任務(wù)也能快速上手,極大提高機(jī)器人對(duì)復(fù)雜、非結(jié)構(gòu)化環(huán)境的適應(yīng)能力。
線上示教或面對(duì)面示教在很大程度上依賴于基于視覺的模仿學(xué)習(xí)研究。視覺傳感器既能捕獲示教數(shù)據(jù),也能感知環(huán)境信息。特別由于是現(xiàn)有的深度攝像頭與立體相機(jī)技術(shù)可以使用,還能結(jié)合其他傳感器的使用,加上現(xiàn)在高速發(fā)展的邊緣計(jì)算(Edge Computing)技術(shù),未來必然可以推動(dòng)線上模仿學(xué)習(xí)和面對(duì)面模仿學(xué)習(xí)成為現(xiàn)實(shí)。
模仿學(xué)習(xí)與人類的學(xué)習(xí)方式相仿,人類常常在學(xué)習(xí)新作任務(wù)或新知識(shí)時(shí),可能都先是模仿、跟著旁邊有經(jīng)驗(yàn)的人一步步操作,這對(duì)于初學(xué)者來說是一個(gè)極高效的學(xué)習(xí)方式。模仿學(xué)習(xí)在機(jī)器人領(lǐng)域的應(yīng)用已經(jīng)取得很大的成效,但仍只是處于一個(gè)初級(jí)的階段,如何提高模仿學(xué)習(xí)算法魯棒性、減少所需的專家示范決策數(shù)據(jù)及開拓更多的應(yīng)用場(chǎng)景等挑戰(zhàn)還需要科研人員在未來繼續(xù)突破。