在溫哥華舉行的IROS大會上,計算機視覺專家、斯坦福AI Lab&Vision Lab主任李飛飛做了“A Quest for Visual Intelligence”的演講,這也是李飛飛首次參加IROS這一機器人為主題的大會。值得注意的是,近日在Arxiv發(fā)現(xiàn)了一篇講述新型機器人學習框架的論文《Neural Task Programming: Learning to Generalize Across Hierarchical Tasks》,該論文的主要作者來自于斯坦福,其指導教師正是李飛飛及其丈夫Silvio Savarese。這也標志著人工智能和機器人兩個社區(qū)在視覺與感知方面的重合度越來越大,之后的合作也會越來越緊密。
我們提出了一種名為神經任務編程(NTP)的新型機器人學習框架,該方法可以通過較少的示范和神經程序引導進行學習。NTP可將輸入的規(guī)范性任務(例如任務的視頻演示)遞歸地將其分解成更精細的子任務規(guī)范, 這些規(guī)范被傳遞到分級神經程序,通過可調用的底層子程序是與環(huán)境進行交互。同時,我們在三個機器人操縱任務中驗證了我們的方法,在試驗中,NTP展示了在顯示分層結構和組合結構的順序任務的強泛化能力化。 實驗結果表明,NTP在學習長度不定、可變拓撲和不斷變化的未知任務的學習和拓展有較好的效果。
背景自越來越強調“人機協(xié)作”的今天,機器人通常在某些特定環(huán)境中與人進行長時間的交互,如物體分類、裝配、和清理等。但是以往的機器人通常需要在固定的場景下才能與人交互,如何讓機器人能適應復雜的操作任務、新的任務目標和周圍環(huán)境,則是機器人技術中的一個重大挑戰(zhàn)。
設想一個倉庫中的物體分類任務,這通常包括分類、檢索、打包等具體任務,每個任務又可以分解為若干個動作,如抓取、移動、放下等,這些動作構成了如抓取和放置等子任務,如果在考慮到不同的對象、排序、子任務的排列組合,當中的變化將會非常復雜,例如,將四類物品分類放到四個容器中,這當中的組合會有256中之多。本文中,我們希望解決復雜任務規(guī)劃的兩個主要挑戰(zhàn),即a)從新的概念化到新的任務目標的學習策略,以及b)與長期環(huán)境交互的基本原生代碼模塊的組合。
神經任務編程(NTP)原理NTP的關鍵基本思想在是跨任務學習和與共享域中的可重用表示。NTP對一個描述任務過程和最終目標時間序列的任務規(guī)范進行解釋,并將其分層策略實例轉化為一個神經程序。NTP從輸入規(guī)范中解碼生成任務目標,并將其分解為子任務并與周邊環(huán)境進行交互和反饋直至搭成目標,每個程序調用環(huán)境觀察和任務規(guī)范(輸入),并輸出下一個子程序和相應的子任務規(guī)范。
如上圖所示,在給定輸入、任務規(guī)范和當前環(huán)境的情況下,NTP模型預測需要運行什么樣的子程序,并作為下一級子任務的輸入,并判斷當前程序是否結束,否則將繼續(xù)循環(huán)執(zhí)行任務 。
測試
該研究團隊通過對模擬和實際機器人實驗中的單臂操作任務模擬對NTP進行評估。任務包括:堆疊方塊,目標分類和清理桌子。
該研究的兩個目標:I. 在同一個域中學習多項任務;以及 II. 通過單一例子形成在測試中的泛化能力。
如圖所示,機器手可從模擬的Demo環(huán)境(包括圖像、視頻、VR輸入)中進行學習并完成積木的堆疊;
NTP編程:通過分級的任務條件輸出策略歸納程序,調用Robot API進行操作。
上圖展示了在堆疊方塊任務中 NTP 的樣本執(zhí)行軌跡圖。任務是按指定要求堆疊字母塊,頂層程序作為輸入?yún)⑴c整個演示,預測下一個運行的子程序,并為特定輸入作為指定任務的一部分,底層 API 調用機器人作出相應的動作(如Move_to(Blue)、Grasp(Blue)等)。當程序結束符(EOP)為 True,當前程序停止并返回其調用程序。
如果環(huán)境發(fā)生變化(如人為破壞已完成的任務),機器人會探測到環(huán)境的變化并重復任務。
任務結構的變化包括:改變完成條件(任務語義),可變子任務排列(任務拓撲)和更大的任務量(任務的長度)。隨著任務數(shù)量的增加,NTP可以為新的任務師范及目標生成更好的結果。