劉浚嘉,付 莊,謝榮理,張 俊,費 健
(1.上海交通大學(xué)機械系統(tǒng)與振動國家重點實驗室,上海200240;2.上海交通大學(xué)醫(yī)學(xué)院附屬瑞金醫(yī)院,上海 200025)
經(jīng)過機械、電子、控制、計算機等領(lǐng)域長達數(shù)十年的發(fā)展,機器人在服務(wù)行業(yè)的應(yīng)用逐漸興起。與工業(yè)界中的情況類似,日漸高昂的人工成本以及老齡化等社會問題,極大地增加了人們研究與開發(fā)服務(wù)機器人的熱情。服務(wù)機器人相較于較成熟的工業(yè)機器人,具有多任務(wù)、非結(jié)構(gòu)環(huán)境和安全可靠等復(fù)雜要求[1]。盡管基于現(xiàn)有技術(shù)設(shè)計的服務(wù)機器人還遠(yuǎn)不能滿足人們對美好生活的向往,但已經(jīng)引領(lǐng)了社會與人類生活的新潮流。
要想使服務(wù)機器人走進家庭,就要使其具備主動完成人類指定任務(wù)的能力。在現(xiàn)有技術(shù)支撐的前提下,一個可行的任務(wù)就是在復(fù)雜房屋中高效地到達人類指定的目標(biāo)位置。高效準(zhǔn)確的主動目標(biāo)導(dǎo)航是一切服務(wù)的基礎(chǔ),因此,人們對移動服務(wù)機器人的自主導(dǎo)航能力有更高的要求。移動服務(wù)機器人需要能夠根據(jù)周圍環(huán)境的變化采取相應(yīng)的措施來提高移動機器人的避障、導(dǎo)航能力。此外,考慮到成本因素,應(yīng)僅使用RGB-D傳感器完成上述要求[2]。因此,研究者們逐漸對將強化學(xué)習(xí)算法與機器人導(dǎo)航方法相結(jié)合產(chǎn)生興趣,旨在以學(xué)習(xí)的方式使機器人能夠通過與真實環(huán)境交互,自主探索并學(xué)習(xí)得到完成任務(wù)的最佳策略。
深度強化學(xué)習(xí)(deep reinforcement learning,DRL)在游戲與棋類任務(wù)中的成功,是建立在使用大量數(shù)據(jù)對大型神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練之上的,也就是使Model-based RL(MBRL)算法也具有這一特性。目前,先進的智能體通常都具有很高的樣本復(fù)雜度,以近期在游戲中性能最強的幾種算法為例,MuZero[3]和Agent57[4]在每場Atari游戲中,均需要借助10~50年的經(jīng)驗,OpenAI Five[5]更是利用了相當(dāng)于人類45 000年的經(jīng)驗來實現(xiàn)其卓越的性能。這些都是在模擬環(huán)境中通過大規(guī)模顯卡(GPU)與CPU集群的并行訓(xùn)練才實現(xiàn)的。在現(xiàn)實中,這顯然是不切實際的,與虛擬環(huán)境中的游戲不同,許多顯示任務(wù)收集交互數(shù)據(jù)的成本很高,高頻、高強度的交互甚至?xí)?dǎo)致系統(tǒng)的損壞,這在機器人領(lǐng)域是格外值得關(guān)注的。此外,從仿生學(xué)角度來講,這種利用大規(guī)模數(shù)據(jù)進行并行學(xué)習(xí)的方式也不符合人類學(xué)習(xí)的直覺,相比之下,人類近乎單線程的學(xué)習(xí)是十分高效的,通常可以僅通過很少的例子就掌握相關(guān)知識。要想DRL算法能夠大規(guī)模應(yīng)用到機器人的智能控制中,提高數(shù)據(jù)效率成為不可避免的技術(shù)路線[6]。
導(dǎo)致DRL算法數(shù)據(jù)利用效率低的原因有很多,Yu[7]列舉了影響數(shù)據(jù)效率的5個方面:探索策略、優(yōu)化方法、環(huán)境模型學(xué)習(xí)、經(jīng)驗遷移與抽象化。本文結(jié)合這篇文章的觀點,將影響因素總結(jié)為以下幾點:
a.探索策略。常用的ε-greedy和Gibbs采樣等基礎(chǔ)探索策略是比較盲目且低效的。
b.環(huán)境模型學(xué)習(xí)。MBRL相較于Model-free RL(MFRL)在策略學(xué)習(xí)的同時,利用同一組數(shù)據(jù)學(xué)習(xí)一個環(huán)境模型,會在數(shù)據(jù)的利用效率上有所提升。
c.狀態(tài)與動作空間維度。DRL算法是將深度學(xué)習(xí)技術(shù)應(yīng)用于傳統(tǒng)強化學(xué)習(xí)的函數(shù)擬合與優(yōu)化中,而神經(jīng)網(wǎng)絡(luò)的參數(shù)量和擬合能力與輸入輸出維度成指數(shù)級相關(guān)性,維度越高,神經(jīng)網(wǎng)絡(luò)所需的參數(shù)量越多,擬合難度越大。
目前對高效強化學(xué)習(xí)的研究主要從2個方面入手:引入概率神經(jīng)網(wǎng)絡(luò)或?qū)<蚁闰灥能浖s束。MBPO[8]是一種以貝葉斯神經(jīng)網(wǎng)絡(luò)為擬合工具的MBRL算法,將模型的誤差以概率的形式考慮到策略的學(xué)習(xí)中,使其不完全依賴模型對未來狀態(tài)預(yù)測,從而實現(xiàn)策略在可信區(qū)間內(nèi)的魯棒預(yù)測學(xué)習(xí);此外,也可以通過引入專家示范作為軟約束,從不完美的示范數(shù)據(jù)中得到大致的探索方向[9],從而對強化學(xué)習(xí)的策略學(xué)習(xí)起到引導(dǎo)作用。二者均能夠提高訓(xùn)練數(shù)據(jù)的利用效率,從而加速學(xué)習(xí)進程。
(1)
MBPO采用Soft Actor Critic (SAC)[10]作為其策略優(yōu)化算法,SAC在每一次策略估計時,估算值函數(shù)為
(2)
作為動作的評價指標(biāo),并在策略提升環(huán)節(jié)通過最小化期望KL散度Jπ(φ,D)=Est~D[DKL(π|exp{Qπ-Vπ})]來訓(xùn)練策略。本文在其基礎(chǔ)上,結(jié)合先驗知識,提出了能夠有效避免無意義探索的融合控制器,如圖1所示。
圖1 模糊先驗引導(dǎo)融合控制框架
(3)
(4)
IPK的動作可以確保機器人以很大概率避開障礙物,并且避免在訓(xùn)練的初期在與目標(biāo)方位完全相反的方向進行無意義的探索,而MBPO子系統(tǒng)仍可以在IPK的先驗安全約束下,以一定程度的精度改進整體的融合策略。因此,上述融合控制器就實現(xiàn)了學(xué)習(xí)過程中的安全探索。此外,它實現(xiàn)僅通過1次交互,而獲得2種不同的經(jīng)驗,這顯然會比單純的MBPO更加高效。
在初始化探索過程之后,MBPO將以高斯策略作為主要學(xué)習(xí)策略,該策略輸出符合高斯分布的動作分布均值和方差。相應(yīng)地,IPK子系統(tǒng)也進入了新的階段:融合控制器。盡管MBPO通過僅查詢短期推出的模型來解耦任務(wù)范圍和模型范圍,但是它仍然受到達到目標(biāo)的可能性的限制,尤其是在稀疏獎勵問題中。由于IPK的基礎(chǔ)控制器是基于規(guī)則的,因此,可以很方便地為其評估性能,從而形成了解決稀疏獎勵問題所提倡的內(nèi)在激勵。從初始Replay Buffer及其任務(wù)長度的記錄中,可以將數(shù)據(jù)還原為完整格式。在每個時間步上,都可以得到動作前后的目標(biāo)向量,然后可以容易地估計出每個動作與預(yù)期方向的偏差。這些偏差可以描述為高斯分布。此外,SAC的原始行為也是高斯分布。因此,需要提出一種可行的方法,能夠?qū)⑦@2種有用的信息同時應(yīng)用起來。
一個非常樸素的想法就是將基本控制器輸出的高斯分布與SAC動作分布融合在一起。卡爾曼濾波器是一種融合多個傳感器的測量信息,且比任何一個傳感器都更準(zhǔn)確的常用方法。如圖2所示,本文使用卡爾曼濾波器對2個控制器的輸出進行融合,并獲得新的融合分布。此過程在SAC的重參數(shù)化技巧之前進行。
圖2 模糊先驗引導(dǎo)融合控制器的動作分布融合原理與原生SAC的比較
(5)
(6)
針對強化學(xué)習(xí)以及所提出的數(shù)據(jù)高效強化學(xué)習(xí)控制器的仿真性能驗證,本節(jié)采用Matterport3D[11]以及AI Habitat2020挑戰(zhàn)賽中的PointNav[12]任務(wù)作為控制器算法的評價標(biāo)準(zhǔn),并在Habitat[13]模擬器中繼續(xù)實驗。PointNav任務(wù)使用了成功率、sPL和DTS(distance to goal)的評價指標(biāo)。sr表示在多次實驗中找到目標(biāo)的概率,定義為
(7)
N為總實驗次數(shù);Sui為一個二進制值,表示第次實驗的成功或失敗。sPL同時包含了對成功率和路徑長度的考量,定義為
(8)
在第i次實驗中,本文使用模擬器提供的最短路徑長度作為Li,而機器人的路徑長度為Pi。DTS是每次實驗結(jié)束時,智能體到目標(biāo)物體邊界的距離,也是機器人離任務(wù)成功的距離。
本節(jié)復(fù)現(xiàn)了Habitat挑戰(zhàn)賽官方給出的基線算法——DD-PPO[14]。該算法以PPO(proximal policy optimization)[15]為核心,對其訓(xùn)練方式進行了更改,以實現(xiàn)去中心化的分布式PPO(decentralized distributed,PPO)。DD-PPO利用分布式數(shù)據(jù)并行地將PPO無縫擴展到數(shù)百個GPU組成的服務(wù)器集群。這些GPU集群是完全去中心化的,不含有中央服務(wù)器,這種做法可以使分布式算法不受集群規(guī)模限制。去中心化分布式的具體實現(xiàn)方式是將每一個Worker的參數(shù)使用PPO計算策略梯度,并將這些梯度分享給其他Workers,即
(9)
由于該算法的官網(wǎng)沒有給出專門針對Matterport3D數(shù)據(jù)集的預(yù)訓(xùn)練模型參數(shù),本文只能依靠現(xiàn)有設(shè)備進行復(fù)現(xiàn)。通過使用2塊Nvidia GTX 2080Ti顯卡,分布式運行6天、共計超過70 M(百萬)步。經(jīng)過長時間的訓(xùn)練,即使僅使用2塊顯卡也可以得到不錯的效果。其中,DTS最后達到1.2 m左右,即機器人在任務(wù)終止時到目標(biāo)點的平均距離是1.2 m;sr和sPL分別達到了約83.7%和0.68。很明顯,該結(jié)果還并未完全達到收斂,但考慮到時間成本與算力限制,本文只能將這個結(jié)果作為數(shù)據(jù)高效強化學(xué)習(xí)的對比。由于對比更加關(guān)注訓(xùn)練效率、速度,因此并不影響本文得到正確且合理的結(jié)論。
本節(jié)使用與DD-PPO相同測試環(huán)境與作圖方式,旨在展示本文所提出的數(shù)據(jù)高效強化學(xué)習(xí)算法的高效性。圖3展示了引入模糊先驗引導(dǎo)的Model-based算法、原生的MBPO算法以及分布式DD-PPO算法對比。表1整理了3種算法對應(yīng)的收斂位置時的累積回報與訓(xùn)練時長。本文所使用的模糊先驗,或稱作基礎(chǔ)控制器,正是上一節(jié)訓(xùn)練得到的DD-PPO模型。然而,與現(xiàn)有的遷移學(xué)習(xí)方法不同,本文以融合的方式使新的強化學(xué)習(xí)控制器能夠在具備一定性能的基礎(chǔ)控制器引導(dǎo)下,加速學(xué)習(xí)進程。值得強調(diào)的是,該基礎(chǔ)控制器還可以使用調(diào)參后的TEB等傳統(tǒng)無圖點導(dǎo)航方法,甚至可以僅給出一些顯而易見的避障規(guī)則。
圖3 模糊先驗引導(dǎo)的數(shù)據(jù)高效強化學(xué)習(xí)的性能對比
表1 3種算法收斂位置時的累積回報與訓(xùn)練輪數(shù)
由圖3的對比結(jié)果可知,Model-based的強化學(xué)習(xí)方法相較于普通的Model-free方法確實有數(shù)據(jù)高效的優(yōu)勢,符合理論預(yù)期。而本文提出的模糊先驗引導(dǎo)的IPK算法,能夠較另2種方法大幅提升訓(xùn)練速度,相當(dāng)于在一名知識水平尚可的教師指導(dǎo)下學(xué)習(xí)。IPK是DD-PPO先驗與Model-based的MBPO算法的融合,其出色的訓(xùn)練速度是建立在二者基礎(chǔ)上的,因此能得到這樣的效果并不意外。當(dāng)然,這其中也有本文所提出的融合方式的貢獻。在具體的實驗中,作為模糊先驗基礎(chǔ)控制器的DD-PPO首先進行初始化探索,通過模擬器的反饋,對自身性能以及動作誤差有大致的了解。將這種誤差考慮到后續(xù)的動作輸出中,使其以高斯分布的形式輸出動作的概率分布。再將MBPO的高斯概率輸出,與該基礎(chǔ)控制器輸出分布進行動態(tài)Kalman融合,即得到融合動作分布。對該分布進行采樣,其結(jié)果即為融合動作。顯然,該融合動作收到模糊先驗基礎(chǔ)控制器的軟約束,同時也保證了MBPO學(xué)習(xí)控制器能夠在這個安全限制下進行充分的探索。
本文所提出的數(shù)據(jù)高效強化學(xué)習(xí)控制器具有以下特點:
a.能夠以概率的形式融合先驗,使強化學(xué)習(xí)的策略學(xué)習(xí)建立在一定先驗知識的及基礎(chǔ)上,實現(xiàn)高效訓(xùn)練。
b.強化學(xué)習(xí)的自主探索受到先驗控制器的軟約束,確保了機器人在自主探索時的安全性。
c.實際的動作是由融合控制器輸出的,提升了控制系統(tǒng)的魯棒性。