近日,谷歌官方部落格上發變了一篇題為《Teaching Robots to Understand Semantic Concepts》的文章,探討了在機器人學習(robotic learning)方面的一些最新進展。機器人學習是指通過機器人自動收集的資料(量很大,但是缺乏標籤)與人類的標註資料結合起來從而允許其理解語義概念。通過深度視覺特徵(deep visual features),機器人在人類演示中藉助其資料理解顯性事件,模仿人類的行動,理解語義概念比如「玩具」和「鋼筆」從而根據使用者指令撿起物體。這次的實驗可能為未來在自動機器人系統中結合自監督資料和人類標註資料的工作指出了一條新的道路。
機器學習可以使機器人具備複雜技能,比如抓取和開門。但是,學習這些技能需手動程式設計機器人試圖優化的獎勵函式。與之相反,人類可以通過觀察別人理解任務目標,或者被簡單地告知目標是什麼。人類能夠做到這點是因為有這個世界的背景知識:當我們看到一個人切蘋果時,我們明白目標是切成兩半,而不管蘋果是什麼種類的,或者切蘋果的工具是什麼樣的。相似地,如果我們被告知撿起蘋果,我們可以通過語境確定哪個物體是蘋果,因為我們知道蘋果的意義是什麼。
這就是語義概念:切成兩半這種顯性事件(salient event)和單詞所指稱的物體概念比如蘋果。我們可以教會機器人理解語義概念、並使其遵循通過類別標籤或使用者提供的例項指定的簡單命令嗎? 在本文中,我們探討了在機器人學習(robotic learning)方面的一些最新進展,機器人學習把機器人自動收集的資料(量很大,但是缺乏標籤)與人類的標註資料結合起來從而允許其理解語義概念。我們將會描述機器人如何在人類提供的演示中通過其資料理解顯性事件,模仿人類的行動,理解語義概念比如「玩具」和「鋼筆」以根據使用者指令撿起物體。
通過深度視覺特徵理解人類的演示
在第一組實驗中,我們的目標是幫助機器人通過僅僅觀看若干個無標註的人類演示來理解一個任務,比如開門。通過分析這些演示,機器人必須先從語義上理解顯性事件,這對任務的成功很重要,接著運用強化學習來執行任務。
人類演示(左)與機器人模仿(右)
小資料集上的無監督學習是機器學習中最具挑戰性的場景之一。為了使之可行,我們使用了深度視覺特徵(deep visual feature),它來自一個被訓練用來參加 ImageNet 影象識別競賽的大型網路。深度視覺特徵對語義概念非常敏感,同時保持對諸如外觀和光線的滋擾變數(nuisance variables)的不變性。我們使用這些特徵闡釋使用者提供的演示,結果證明以非監督的形式從少許演示中學習獎勵函式確實是可能的,並且無需再訓練。
僅僅通過觀察開門任務來學習獎勵函式的例項。隨著任務的完成,獎勵函式從零增加到最大值。
在僅通過觀察學習了獎勵函式之後,我們使用它去指導機器人學習開門任務(僅通過影象評估獎勵函式)。藉助於大約 10% 時間的初始動作演示,機器人通過已學習的獎勵函式把精度提升到了 100%。
學習的程式。
通過自監督和模擬來趕超人類動作
在《時間對比網路:多視角觀察的自監督學習》(Time-Contrastive Networks: Self-Supervised Learning from Multi-View Observation)(https://sermanet.github.io/tcn/)中,我們提出了一種通過觀察理解世界的全新方法,並藉助自監督姿態模仿對其進行了演示。我們的方法主要依賴於監督的時空同現:通過訓練來區分來自視訊不同時段的幀,從而學習解開現實並將其組織為有用的抽象表徵。
以姿態模仿任務為例,表徵的不同維度也許編碼一個人類或機器人身體的不同關節。我們沒有手動定義人與機器人關節之間的對映(由於生理差異這首先是含糊不清的),而是讓機器人以端到端的形式學習模仿。當我們的模型同時在人與機器人的觀察中被訓練,即使沒有提供對應關係,它也自然地會發現兩者的這種關係。因此我們無須給出人與機器人之間的對應就獲得了模仿人類姿態的機器人。
機器人的自監督式人類姿態模擬。
端到端學習的好處的一個有力證據是上述的多對一和高度非線性節點對映。在這個例項中,上下的動作需動用人類的很多關節,而機器人只需動用一個就夠了。我們表明機器人已經自己發現了高度複雜的對映,而無須任何明確的人類姿態資訊。
利用物體的語義類別進行抓取
上述實驗說明人如何通過例項演示使機器人理解任務的語義——顯性事件及動作的相關特徵,進而給機器人設定具體目標。如果人類不向機器人演示任務,僅僅告訴它怎麼做,又會怎麼樣呢?這仍然需要機器人理解語義,以識別使用者指定的語義類別所對應的實物。在《語義抓取的端到端學習》(End-to-End Learning of Semantic Grasping)一文中,我們研究瞭如何使用人工標註資料和自動收集資料來執行語義抓取任務,該任務中機器人必須從一個塞滿的箱子裡抓取使用者指定類別標籤的物體,如「橡皮」或「玩具」。
在我們的語義抓取實驗設定中,機器臂的任務是抓取使用者指定語義類別的物體(如樂高玩具)。
為了學習如何執行語義抓取任務,機器人首先通過自動抓取多種物體來收集抓取資料集。這些資料可以使機器人抓取物體,但無法讓它理解如何將物體與語義標籤對應起來。為了使機器人理解語義,我們又進行了少量的人類監督。機器人每成功抓取到一個物體,都會以一個固定姿勢將物體放到攝像機前面,如下圖所示。
機器人在抓取成功後,將物體放置在攝像機前面。這些影象可用於標註抓取物體的類別。
人類將這些影象的子集進行標註。由於這些影象中機器人使用同一個姿勢呈現物體,因此在標註樣本上訓練分類器,進而在剩餘影象上標註標籤就比較容易了。影象標註後,機器人可以從中瞭解實際抓取的物體,並將標籤與物體抓取成功後觀察到的影象聯絡起來。
使用這個標註後的資料集,我們可以訓練一個雙流模型,該模型基於當前影象和機器人可能的行動,可以預測即將抓取到的物體。該模型受到人類視覺皮質中的背腹側流分解的啟發,人類視覺皮質中腹側流負責對物體的語義類別進行推理,背側流負責對抓取物的幾何形狀進行推理。最重要的是,腹側流可以吸納包括標註物體影象在內的輔助資料(未必來自機器人),背側流可以吸納包含不帶有語義標籤的抓取物的輔助資料,這使得整個系統可通過大量複雜標註資料進行更高效的訓練。通過這種方式,我們可以將有限的人類標註資料和機器人自動收集的資料結合起來,基於想要的語義類別抓取物體,如視訊中所示:
展望
我們的實驗展示瞭如何將語義標註資料和機器人自動收集、自動標註的資料結合起來,進而使機器人理解事件、物體類別以及使用者演示。未來,我們或許可以想象使用使用者標註資料和不斷增加的自動收集資料集來訓練機器人系統,以提高機器人的能力、減輕設計自動機器人的工程負擔。另外,隨著機器人系統從真實世界中自動標註的資料不斷增加,這些資料不僅可用於改善機器人系統,還可用於訓練計算機視覺、語音識別和自然語言處理。
當然,我們不是第一個思考將機器人和語義結合起來的人。自然語言理解、機器感知、抓取、模仿學習領域的大量研究已經考慮如何在機器人系統中結合語義和機器人行為。但是,我們的實驗可能為未來在自動機器人系統中結合自監督資料和人類標註資料的工作指出了一條新的道路。
原文連結:https://research.googleblog.com/2017/07/teaching-robots-to-understand-semantic.html