李飛飛團隊最新跨界研究:神經任務程式設計 NTP,讓機器人有強大泛化能力

作者 | 發布日期 2017 年 10 月 12 日 15:16 | 分類 AI 人工智慧 , 機器人 , 軟體、系統 follow us in feedly

9 月 26 日溫哥華舉行的 IROS 大會,電腦視覺專家、史丹佛 AI Lab & Vision Lab 主任李飛飛發表「A Quest for Visual Intelligence」演講,這也是李飛飛首次參加 IROS 機器人為主題的大會。值得注意的是,近日雷鋒網在 Arxiv 發現了一篇講述新型機器人學習框架的論文《Neural Task Programming: Learning to Generalize Across Hierarchical Tasks》,主要作者來自史丹佛,指導教授正是李飛飛及丈夫 Silvio Savarese。這也代表人工智慧和機器人兩個社群在視覺與感知方面的重疊度越來越大,之後的合作也會越來越緊密。



以下一起來看看這篇論文。

摘要:本論文提出一種名為神經任務程式設計(NTP)的新型機器人學習框架,可透過較少的示範和神經程式啟動學習。NTP 可將匯入的規則性任務(例如任務的示範影片)遞迴地分解成更精細的子任務規則,這些規則傳遞到分級神經程式,透過可呼叫的底層子程式與環境互動。同時,我們從 3 個機器人操縱任務驗證了我們的方法,試驗中,NTP 展示了在顯示分層架構和組合架構的順序任務的強泛化能力。實驗結果表明,NTP 在學習長度不定、可變拓墣和不斷變化的學習和拓展未知任務有較好效果。

背景

越來越強調「人機協作」的今天,機器人通常在某些特定環境與人進行長時間互動,如物體分類、裝配和清理等。但是以往機器人通常需要在固定場域才能與人互動,如何讓機器人適應複雜的作業、新任務目標和周圍環境,是機器人技術的重大挑戰。

設想一個倉儲中的物體分類任務,通常包括分類、檢索、打包等具體任務,每個任務又可分解為若干個動作,如抓取、移動、放下等,這些動作構成了如抓取和放置等子任務。如果考慮到不同對象、排序、子任務的排列組合,變化會非常複雜。例如,將四類物品分類放到 4 個容器,組合會有 256 種之多。本文希望解決複雜任務規劃的兩個主要挑戰,即(a)從新的概念化到新的任務目標學習策略,以及(b)與長期環境互動的基本原生程式碼模組的組合。

神經任務程式設計(NTP)原理

NTP 的關鍵基本思想在是跨任務學習和共享領域的可重用表示。NTP 解釋一個說明任務過程和最終目標時間序列的任務規則,並將分層策略實例轉化為一個神經程式。NTP 從匯入規則中解碼生成任務目標,並分解為子任務並與周邊環境互動和回饋直至達成目標,每個程式呼叫環境觀察和任務規格(匯入),並匯出下一個子程式和相應的子任務規則。

如上圖所示,在給定匯入、任務規則和目前環境的情況下,NTP 模型預測需要執行什麼樣的子程式,並作為下一級子任務的匯入,並判斷目前程式是否結束,否則將繼續迴圈執行工作 。

測試

該研究團隊透過模擬和實際機器人實驗的單臂作業任務來評估 NTP。工作包括:堆疊方塊,目標分類和清理桌子。

該研究的兩個目標:1. 在同一個領域學習多項工作;2. 透過單一例子形成測試中的泛化能力。

如圖所示,機器手可從模擬的 Demo 環境(包括圖像、影片、VR 匯入)學習並完成堆疊積木;

NTP 程式設計:透過分級工作條件匯出策略歸納程式,呼叫 Robot API 作業。

上圖展示了堆疊方塊任務時 NTP 的樣本執行軌跡圖。任務是按指定要求堆疊字母方塊,頂層程式作為匯入參與整個示範,預測下一個執行的子程式,並為特定匯入作為指定任務的一部分,底層 API 呼叫機器人做出相應的動作(如 Move_to (Blue)、Grasp (Blue) 等)。當程式結束符(EOP)為 True,目前程式停止並返回其呼叫程式。

如果環境發生變化(如人為破壞已完成的任務),機器人會探測環境的變化並重複任務。

任務架構的變化包括:改變完成條件(任務語義),可變子任務排列(任務拓墣)和更大的任務量(任務長度)。隨著任務數量增加,NTP 可為新的任務示範及目標生成更好的結果。

完整影片:

類似的研究還有之前介紹過的 BAIR《One-Shot Visual Imitation Learning via Meta-Learning》論文,都是透過一次性學習形成的泛化能力讓機器人快速掌握新技能。相比之下,BAIR 的論文更偏向演算法的更新,而 Visual Lab 的研究則從任務架構出發,提出一種新的學習框架。雖然李飛飛團隊之前的研究多在電腦視覺領域,但正是如此,才有可能從機器人領域研究者習慣的視角外思考問題,這篇論文提出的新思路也值得機器人研究者注意。

(本文由 雷鋒網 授權轉載;首圖來源:影片截圖)