通過觀察另一個人的做法來學習一項新技能,即模仿的能力,是人類和動物智力的關鍵部分。我們能讓機器人做同樣的事情嗎?
伯克利研究中心近日po出的一個新的研究成果中,機器人也可以通過一次性觀察,模仿人類的某個動作了。
觀察人類之後,即使調整了順序,機器人依然學會了把桃子放進紅碗裡?
讓機器人具備這種“模仿”能力有什麼意義呢?
伯克利稱,這或許將成為我們與機器人溝通的一種新的方式。
之前,人類與機器人的溝通多基於要遠端操作機器人或設計獎勵函式。這種方法依賴一個成熟的感知系統,因此比較困難。而在模仿系統下,想要讓機器人完成一個任務,我們只需簡單地向機器人展示我們想讓它們做什麼就可以了。
其實,這一領域已有很多精彩的研究,比如模仿學習——機器人如何從自己的同類專家(即通過遠端操作或動覺教學)中學習。
然而,基於視覺技能的模仿學習通常需要專家多次演示一項技能。
例如,使用原始畫素輸入訪問單個固定物件,這樣的任務需要多達200次演示,才能獲得良好的效能。
如果演示次數太少,機器人一般很難學會。
此外,當機器人需要模仿表現出某種操作技能的人類時,這個問題變得更加具有挑戰性。
首先,機器人的手臂看起來和人類的手臂有很大的不同;
第二,在人類演示和機器人演示之間建立正確的對應關係是非常難的。
只是跟蹤和重新繪製運動圖還不夠簡單:這項任務更關鍵地取決於這個運動如何影響世界中的物體,需要建立起一個基於互動的通訊。
為了讓機器人能夠從一個人類的視訊中模仿技能,伯克利這一研究的創新之處在於,讓機器人融合以前的經驗,而不是從頭開始學習每一項技能。
通過結合以前的經驗,機器人還應該能夠快速地學習操作新物件,同時不改變域的改變,這種改變包括:提供演示的人、變化的背景場景或不同的視角。
伯克利希望通過學習從示範數據中學習來實現這兩種能力:小樣本模仿(few-shot imitation)和域不變性。這項技術,也被稱為元學習,是我們如何讓機器人具備通過觀察並模仿人類的能力的關鍵。
點選檢視元學習相關資料?:
http://bair.berkeley.edu/blog/2017/07/18/learning-to-learn/
一次性模仿學習(One-Shot Imitation Learning)
那麼,如何利用元學習讓機器人快速適應不同的物件呢?
伯克利的方法是將元學習和模仿學習結合起來,使一次性模仿學習成為可能。其核心思想是提供一個特定任務的單一演示,即操縱一個特定物件,機器人可以快速識別任務是什麼,並在不同的環境下成功地解決它。
伯克利之前一項關於一次性模仿學習的研究通過學習成千上萬的演示,獲得了卓越的結果,比如在塊堆疊等模擬任務上。
如果想要一個物理機器人能夠模仿人類並操縱各種各樣的新事物,我們需要開發一個新的系統,它可以學習如何從視訊演示中學習,用一個可以在現實世界中實際收集的資料集。首先,討論通過遠端操作收集的單個演示的視覺模擬方法。然後,展示如何將它擴充套件到從人類的視訊中學習。
一次性視覺模擬學習(One-Shot Visual Imitation Learning)
為了使機器人能夠從觀看視訊中學習,伯克利的本次研究結合了模擬學習和有效的元學習演算法,也即model-agnostic meta learning(MAML)。
點選檢視元學習演算法?
http://bair.berkeley.edu/blog/2017/07/18/learning-to-learn/
在這個方法中,伯克利用帶有引數θ的卷積神經網路作為策略表示。從機器人相機和機器人結構(如關節角度和關節速度)的影像對映到機器人在t時刻的動作(如抓手的線速度和角速度)。
以下是伯克利演算法的三個主要步驟:
伯克利元學習演算法的三個步驟?
首先,收集一個巨大的資料集,其中包含遠端操作機器人執行許多不同任務的演示,在伯克利提供的例子中,這些任務對應於操作不同的物件。在第二步中,運用MAML學習一組初始的策略引數θ,這樣,在被提供了某個物件的一個演示之後,可以對那個物件執行梯度下降法找到可概括的策略引數。當使用遠端操作演示時,可以通過比較策略的預測動作來計算策略更新:
然後,通過驅動更新策略匹配來自同一物件的另一個演示的操作來優化初始引數θ。在元訓練之後,可以要求機器人通過使用該任務的一個演示來計算梯度步驟來操作完全不可見的物件。這一步叫做元測試。
由於該方法沒有為元學習和優化引入任何額外的引數,結果證明它是非常資料有效的。因此,只需觀看遠端的機器人演示,就可以完成推放等多種控制任務:
使用單個演示將物體放置到新容器中。左:演示。右:學會策略。?
通過域自適應元學習觀察人類的一次性模仿
上述方法仍然依賴於遠端操作機器人的演示而非人類的演示。為此,伯克利還在上述演算法的基礎上,設計了一種域自適應一次性模擬方法。
伯克利收集了遠端操作機器人和人類完成的許多不同任務的演示。然後,提供人工演示來計算策略更新,並使用執行相同任務的機器人演示來評估更新的策略。該演算法的圖示如下:
圖:域自適應元學習概覽
遺憾的是,由於人工演示只是一個人執行任務的視訊,它不包含專家操作,所以伯克利也提出,無法計算上面定義的策略更新。因此,其建議學習一個更新策略的損失函式,一個不需要動作標籤的損失函式。
學習損失函式背後的直覺是,可以獲得一個函式,該函式只使用可獲得的輸入、未標記的視訊,但仍然可以生成用於更新策略引數的梯度,從而產生一個成功的策略。
雖然這似乎是一項不可能完成的任務,但重要的是要記住,在梯度步之後,元訓練過程仍然用真正的機器人動作來管理策略。因此,學習損失的作用可能被解釋為簡單地指導引數更新,以修改策略,以在場景中獲取正確的視覺線索,以便元訓練的動作輸出將產生正確的動作。用時間卷積表示學習的損失函式,它可以在視訊演示中提取時間資訊:
伯克利將這種方法稱為域自適應元學習演算法,因為它是從來自不同域的資料中學習(在這裡指人類視訊),機器人的策略在這個域中執行。伯克利通過這種方法,使PR2機器人能夠有效地學習如何將在元訓練中看不到的許多不同的物體推向目標位置:
學會通過觀察人的動作推送一個新物體?
通過觀察一個人對每個物體的操作,把很多物體放到目標容器中:
學會抓起一個新物體並把它放到之前沒見過的碗中?
伯克利還使用在不同房間用不同的攝像機收集的人類演示來評估這種方法。機器人仍然能很好地完成這些任務:
通過觀察不同的角度不同環境下的人來學習推一個新的物體?
下一步是什麼?
下一步是什麼?
伯克利稱,既然其已經教機器人通過觀看一個視訊學會操縱新物件,下一步自然是進一步擴充套件這些方法,設定不同的任務對應於完全不同的運動和目標,比如使用各種各樣的工具或玩各種各樣的運動。
通過在任務的底層分配中考慮更多的多樣性,我們希望這些模型能夠實現泛化,允許機器人快速地為新情況制定策略。此外,在這裡開發的技術並不是侷限於機器人操縱甚至控制的。例如,模仿學習和元學習都被用於語言環境中,在語言和其他順序決策環境中,學會模仿一些演示是未來工作的一個有趣的方向。