BAIR展示新型模仿學習,學會「像人」那樣執行任務

機器之心發表於2018-07-11

很多機器人都是通過物理控制以及大量演示才能學習一個任務,而最近 UC 伯克利的 BAIR 實驗室發表文章介紹了一種單例模仿學習的方法。這種方法結合了模仿學習元學習,並可以在觀察人類的動作後學習像人那樣操作物體。

通過觀察另一個人來學習新技能的模仿能力,是體現人類和動物智慧的關鍵部分。我們是否可以讓一個機器人做同樣的事情?通過觀察人類操作物體進而學會操作一個新的物體,就像下面視訊中一樣。

BAIR展示新型模仿學習,學會「像人」那樣執行任務 BAIR展示新型模仿學習,學會「像人」那樣執行任務

機器人在觀摩人類動作後學會將桃放入紅碗中。

這種能力會使我們更容易將新目標與知識傳達給機器人,我們可以簡單地向機器人展示我們希望它們做什麼,而不是遙控操作機器人或設計激勵函式(這是一種困難的方法,因為它需要一個完整的感知系統)。

以前許多的工作已經研究了機器人如何從人類專家那裡學習(即通過遙控操作或運動知覺教學),這通常被稱為模仿學習。然而,基於視覺技能的模仿學習通常需要大量的專家級技巧演示。例如,根據此前的研究,根據原始畫素輸入實現抓取單個固定物件的任務,大概需要 200 次演示才能實現良好的效能。因此,如果只給出一個演示,機器人將會很難學習。

而且,當機器人需要模仿人類展示的特定操作技能時,問題會變得更具挑戰性。首先,機械臂看起來與人體手臂明顯不同。其次,不幸的是,設計一套人類演示和機器人演示之間正確的通訊系統十分困難。這不僅僅是追蹤和重新對映動作:該任務更依賴於這個動作如何影響現實存在的物體,而且我們需要一個以互動為中心的通訊系統。

為了讓機器人能夠模仿人類視訊中的技巧,我們可以讓它結合先驗知識,而不是從頭開始學習每項技能。通過結合先驗知識機器人還應該能夠快速學習在領域間遷移不變地操作新物體,比如不同的示範者、不同的背景場景或不同的視角。

我們的目標是通過從演示資料中學習來實現這兩種能力,少量樣例模仿和領域不變性。該技術也被稱為元學習,並在之前的部落格中討論過,這是使機器人通過觀察人類來學習模仿能力的關鍵。

單例模仿學習

所以我們如何使用元學習來使機器人快速適應許多不同的物體?我們的方法是將元學習模仿學習結合起來,實現單例(one-shot)模仿學習。其核心思想是提供一個特定任務的單個演示,即操縱某個特定物件,機器人可以快速識別該任務並在不同環境下成功解決它。

之前的一項關於單例模仿學習的研究在模擬任務上取得了令人印象深刻的結果,例如通過學習成千上萬個演示來進行塊堆疊。如果我們希望機器人能夠模仿人類並操作不同的新物體,我們需要開發一個新的系統,它通過使用現實世界中實際收集的資料集,並從視訊演示中學習。首先,我們將討論如何對遙控操作收集的單個演示進行視覺模仿。然後,我們將展示如何將它擴充套件到從人類視訊中學習。

單例視覺模仿學習

為了使機器人能夠從視訊中學習,我們將模仿學習、高效的元學習演算法與未知模型元學習(MAML)相結合。在這種方法中,我們使用標準卷積神經網路引數 θ 是我們的策略表示,它將時間步 t 從機器人捕獲的影象 o_t 和機器人配置 x_t(例如關節角度和關節速度)對映機器人動作(例如,機械手的線速度和角速度)。

該演算法主要包含三步。

BAIR展示新型模仿學習,學會「像人」那樣執行任務

我們元學習演算法的三大步驟。

首先,我們收集了一個包含大量遙控機器人執行不同任務的演示資料集,在我們的例子中,這對應於操縱不同的物件。然後,我們運用 MAML 來學習一組初始策略引數 θ,以便在為某個物件提供演示之後,我們可以對演示進行梯度下降,以找到一個針對該物件引數 θ' 的可泛化策略。在使用遙控演示時,可以通過比較策略的預測行動 π_θ(o_t)和演示行動 a*_t 來計算更新策略:

BAIR展示新型模仿學習,學會「像人」那樣執行任務

然後,我們通過迫使更新的策略 π_θ' 與另一演示中同一物件的動作相匹配來優化初始引數 θ。在元訓練之後,我們可以讓機器人通過使用該任務的單個演示計算梯度步來操作完全不可見的物體。這一步被稱為元測試。

由於該方法不會為元學習和優化引入額外的引數,因此資料效率非常高。因此它可以僅通過觀看遙控操作的機器人演示來執行各種控制任務,例如推動和放置:

BAIR展示新型模仿學習,學會「像人」那樣執行任務 BAIR展示新型模仿學習,學會「像人」那樣執行任務

通過單個演示將物品放入新的容器中。左:演示。右:學習到的策略。

通過領域自適應元學習觀察人類的單例模仿

上述方法仍然依靠遙控機器人而非人類的示範。為此,我們設計了一個基於上述演算法的領域自適應單例模仿演算法。我們收集了許多不同任務的遙控操作機器人和人類操作演示視訊。

然後,我們為計算策略更新提供人類演示,並使用執行相同任務的機器人演示評估更新後的策略。該演算法的說明圖如下:

BAIR展示新型模仿學習,學會「像人」那樣執行任務

領域適應性元學習概述

不幸的是,由於人類演示僅僅是人類執行任務的視訊,其中不包含專家動作 a*_t,我們無法計算上面定義的策略更新。相反,我們建議學習一個不需要動作標籤的損失函式以更新策略。學習損失函式的直覺在於,我們可以構建一個僅使用已有輸入、且未標記的視訊函式,同時仍然產生梯度以適合更新策略引數

雖然這看起來像是一個不可能完成的任務,但請記住,元訓練過程在梯度步之後仍然通過真正的機器人動作來監督策略。因此學習損失的作用可能被解釋為簡單地引導引數更新來修改策略以拾取場景中正確的視覺線索,使得元訓練的輸出為正確的動作。我們使用時間卷積來學習損失函式,它可以在視訊演示中提取時間資訊:

BAIR展示新型模仿學習,學會「像人」那樣執行任務

我們將這種方法稱為領域自適應元學習演算法,因為它從不同領域的資料(例如人類演示視訊)中學習,並將這些領域作為機器人執行策略的領域。我們的方法使得 PR2 機器人能夠有效地學習將很多訓練期間未觀察的不同的物體推向目標位置:

BAIR展示新型模仿學習,學會「像人」那樣執行任務 BAIR展示新型模仿學習,學會「像人」那樣執行任務

通過觀看人類演示來學習推動新的物體。

通過觀察人類操作每個物體的演示來拿起物體並將它們放置在目標容器上:

BAIR展示新型模仿學習,學會「像人」那樣執行任務 BAIR展示新型模仿學習,學會「像人」那樣執行任務

學習拿起一個新物體並將其放入以前沒觀察過的碗中。

我們還評估了使用不同視角在不同房間收集人類演示視訊的方法。機器人仍可以很好地完成這些任務:

BAIR展示新型模仿學習,學會「像人」那樣執行任務 BAIR展示新型模仿學習,學會「像人」那樣執行任務

學習通過在不同視角環境中觀看人類演示來推動新物體。

接下來是什麼?

既然我們已經教會機器人通過觀看單個視訊(我們在 NIPS 2017 演示過)來學習操作新物體,下一步自然是進一步將這些方法擴充套件到對應於完全不同動作和目標的任務設定中,例如使用各種各樣的工具或做各種各樣的運動。通過考慮潛在任務分佈的多樣性,我們希望這些模型能夠實現更好的泛化,使機器人能夠快速制定適用於新環境的策略。

此外,我們在這裡開發的技術並不侷限於機器人操作甚至控制。例如,模仿學習元學習都被用在自然語言處理中。在語言和其它序列決策環境中,通過少數演示來學習模仿是未來研究的一個有趣的方向。

我們十分感謝 Sergey Levine 和 Pieter Abbeel 對發表本篇博文提供的寶貴的反饋意見。這篇文章基於以下論文:

  • One-Shot Visual Imitation Learning via Meta-Learning

  • One-Shot Imitation from Observing Humans via Domain-Adaptive Meta-Learning

原文連結:http://bair.berkeley.edu/blog/2018/06/28/daml/ 

相關文章