Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

機器學習 人工智能 機器人 科技 新智元 2017-04-06
Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

新智元編譯

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

模仿學習通常用於解決孤立的不同任務,這通常需要細緻的特徵工程或大量樣本。但這遠不是我們所期望的:理想情況下,機器人應該能夠從任何給定任務的少量範例中學習,並且可以立即泛化到相同任務的新情況中,而不需要任務特定化的工作。這篇論文提出了一種實現這種能力的元學習框架,研究者將其稱為小數據模仿學習(one-shot imitation learning)。

具體來說,任務集很大(可能是無限的),每個任務都有許多實例。例如,一個任務可能是將桌子上所有的塊堆疊成一個塔,另一個任務可能是將桌子上的所有塊堆成兩個塔,等等。在這種情況下,任務的不同實例包括了具有不同初始狀態的不同塊組。在訓練時,研究者為算法提供了一組所有任務子集的範例。訓練一個神經網絡時,將一個範例和其現有狀態作為輸入,並輸出動作,以求所得到的狀態和動作序列儘可能地與第二次示範相匹配。在測試時,研究者向神經網絡提供了新任務的單個實例的示範,希望神經網絡在新任務的新實例上有良好表現。實驗表明,軟注意力(soft attention)的使用使得模型能夠泛化到訓練數據中未出現的條件和任務上去。研究者預計,通過在更多種類的任務和設置上訓練這一模式,可以獲得一個通用系統,將任何範例轉變成可以實現多種任務的具有魯棒性的策略。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

小數據學習策略。一個可訓練用於解決多種任務的單一策略。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

左側:特定任務策略。策略被訓練用於將塊堆疊成兩個塔,每個高度為3; 右側:分離特定任務策略。策略被訓練用於將塊堆疊成三個塔,每個高度為2。

圖1.傳統上,策略是特定於任務來說的。例如,通過模仿或增強學習,一個策略被訓練出來,可以將塊堆疊成高度為 3 的塔,然後另一種策略被訓練出來,可以將塊堆疊成高度為 2 的塔,等等。而這篇論文對不是針對於某一個特定任務的策略感興趣,本文理想的策略是,可以通過一個範例瞭解當前的新任務是什麼,並在這個新任務中取得成功。作為說明性的樣本,我們希望能夠為每個任務提供一個單一的範例,從中得到的小數據策略可以知道如何應對該任務的新情況(比如塊被重新隨機擺放)。

研究介紹

研究者對能夠執行各種複雜且有用的任務的機器人系統感興趣,例如收拾屋子或準備一頓飯。機器人應該能夠快速學習新任務,而不需要長時間的系統交互。要做到這一點,必須解決兩個問題:

•第一個問題是靈活性:機器人應該學習如何接近、抓住和拾取複雜的未激活對象,以及如何將它們放置或擺放成所需的樣子;

•第二個問題是溝通:如何傳達當前任務的意圖,以便機器人可以在更廣泛的初始條件下複製。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

示範是一種非常方便的信息形式,我們可以用它來教導機器人應對這兩個挑戰。使用示範,我們可以明確地傳達任何操作任務,同時提供執行任務所需的具體運動技能的線索。我們可以將其與溝通方式進行比較,即自然語言。雖然語言具有高度通用性,又有效又高效,但是自然語言處理系統尚未達到我們可以輕鬆地使用語言來精確描述機器人複雜任務的水平。與語言相比,示範有兩個根本的優點:第一,它不需要語言知識,因為將複雜的任務傳達給沒有掌握某種語言的人是可能的;第二,即使系統具有完美的語言能力,有很多任務非常難以用語言解釋,比如解釋如何游泳,如果沒有示範和經驗,似乎很具有挑戰性。

然而,到目前為止,模仿學習並沒有成為人們寄予厚望的新技術。模仿學習的實際應用需要細緻的特徵工程,或大量的系統交互時間。這遠不是我們想要的:理想情況下,我們希望僅對機器人展示一次或幾次特定任務,而它可以立即泛化到相同任務的新情況上,而無需長時間的系統交互或關於具體任務的背景知識。

本文探討了小數據模仿學習的設定,其目標是在面臨新的、未曾見過的任務時,且在只收到該任務一次範例輸入的條件下,最大限度提高策略的性能。一旦接收到任務範例,該策略不需要任何額外的系統交互,就能實現良好的性能。

研究者在廣泛分佈的任務集上訓練策略,任務的潛在數量是無限的。對於每個訓練任務,都假設存在一系列成功的範例。訓練策略的輸入是:(i)目前的觀察結果;(ii)成功解決了同一個任務的不同實例的範例。該策略的輸出是當前的控件。值得注意的是,同一任務的任何一對範例都為神經網絡策略提供了一個有監督的訓練樣本,其中一個範例被視為輸入,另一個作為輸出。

為了使這個模型正常工作,研究者使用了軟注意力來處理範例相應的狀態和行動序列,以及處理具化了環境中各種塊位置的矢量組件。對這兩種類型的輸入,軟注意力的使用都使得泛化成為可能。特別地,在圖1所示的塊堆疊系列任務中。論文提出的神經網絡策略在創新的塊堆疊任務上表現良好,這些不存在於任何訓練數據中。

如果能夠在各種各樣的任務和示範中進行訓練,得到適當擴展,這種方法很有可能成功地學習一個模型,可以將複雜任務傳達給機器人,使其在許多真實環境中表現良好。

兩個任務:目標點到達和塊堆疊

為了說明樣本設置問題,我們將描述兩個具體案例:一個是目標點到達任務,另一個是塊堆疊任務。

  • 目標點到達任務

目標點到達是一項非常簡單的任務。在每一任務中,我們控制一個機器人到達一個特定的地標,不同的任務由不同的標識來標識,如圖2所示。一項任務是達到橙色區域,而另一項任務是到達綠色三角形區域。智能體可以接收自己的二維位置和每個標識的二維位置。在每個任務中,智能體的初始位置以及所有地標的位置,可以在不同的任務中發生變化。

若沒有示範,機器人不知道應該到達哪個地標,也不能完成任務。因此,這一設置是小數據模仿的本質,即通過示範來傳達任務。在學習之後,智能體應該能從演示中識別目的地標識,並在新的任務中到達同樣的地標。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

圖2.機器人是一個用二維力量控制的點。這一系列任務是到達目標地標。每一個任務的地標特徵均有所不同,模型必須根據示範找到所要追尋的目標。(左)圖示機器人;(中)任務是到達橙色的盒子;(右)任務是到達綠色三角形。

  • 塊堆疊任務

我們現在考慮一系列更具挑戰性的任務,需要更高級的操作技能使得不同任務可以共享一個組合結構,這使得我們能夠研究重要的未見任務的泛化問題。在塊堆疊系列任務中,目標是控制一個 7-DOF Fetch 的機器人臂,將各種數量的立方體塊堆疊成為用戶指定的結構。每個結構由排列成不同高度的塔的塊狀物體組成,並可以由諸如 ghij 或 ab cd ef gh 的字符串標識,如圖3所示。每一個結構對應不同的任務。在一個典型任務中,觀察相對於夾具的一系列對象位置(x,y,z),以及夾具打開或關閉的信息。對象的數量可以在不同任務中不斷變化。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

初始狀態。塊被隨意擺放在桌子上。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

堆疊成 4 個塔的過程,每個高度為 2。其中 A 塊置於 B 塊上,C 塊置於 D 塊上,E 塊置於 F 塊上,G 塊置於 H塊上。任務被標識為ab cd ef gh。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

堆疊成 1 個塔的過程,高度為 4。其中 G 塊置於 H 塊上,H 塊置於 I 塊上,I 塊置於 J 塊上。任務被標識為 ghij。

圖3.任務是控制一個 Fetch 機器人臂將塊狀物堆疊成不同的佈局。整個過程需要數千個時間步長。我們將一個階段定義為將一個塊狀物堆疊到另一個塊狀物上的單次操作。上面顯示的第一項任務有4個階段,而第二項任務有3個階段。

算法

為了訓練神經網絡策略,我們可以在序列決策問題中使用任何算法進行策略學習。例如,如果在訓練任務中,可以獲得獎勵,我們可以使用強化學習來優化策略。唯一需要修改的是在每一階段開始之前,對隨機選擇的示範限定策略。在本文中,我們將重點放在模仿學習算法,諸如行為克隆和 DAGGER(Ross 等,2011),這些算法只需要示範而非指定獎勵函數。這具有更大的可擴展潛力,因為示範一項任務比指定一個精心設計的獎勵函數更容易(Ng 等,1999)。

我們首先為每個任務收集一組示範,在行動中添加噪音以便在軌跡空間中有更廣泛的覆蓋。在每個訓練迭代中,我們對任務列表進行抽樣(帶替換)。對於每個抽樣任務,我們對示範以及一小批觀察行為進行抽樣。根據當前的觀察和示範情況,通過根據行為是連續還是離散的最小化 l2 或交叉熵損失來對策略進行訓練,以復原到所期望的行為。在所有實驗中,我們使用Adamax(Kingma&Ba,2014)進行優化,學習率為0.001。

架構

雖然原則上通過神經網絡可以從示範和現場觀察來調節行為,學習映射,但我們發現使用適當的架構很重要。我們學習塊狀物體堆疊的架構是本文的主要貢獻之一,我們相信它代表了未來更具複雜性的小數據模擬學習。雖然,目標點到達任務更簡單,但我們發現結構的抉擇也至關重要,我們考慮以下的幾個選擇。

  • 目標點到達任務架構

對於這一問題,我們考慮三個架構

a. 普通 LSTM:第一個架構是一個簡單的LSTM(Hochreiter & Schmidhuber, 1997),有512個隱藏單元。它讀取示範軌跡,然後其輸出與當前狀態連接,並饋送至多層感知器(MLP) 來產生動作。

b. 帶注意力的 LSTM:在本結構中,LSTM 從示範序列中輸出不同地標的權重。然後,它在測試場景中應用該權重,並且在當前給定狀態下,對於地標位置產生加權組合。然後,將此做二維輸出,與當前智能體的位置相連接,以饋送至 MLP 以產生該動作。

c. 帶注意力的最後狀態:這一架構不是看整個示範軌跡,只是看示範的最終狀態(已經足以交流任務),並且產生了對於地標的權重。接下來就像以前的架構一樣運行。

請注意,這三種架構越來越專門針對特定的目標點到達設置,這表明在表達能力與泛化能力中存在潛在的權衡。我們會嘗試將這一權衡量化。

  • 塊堆疊任務架構

對於塊堆疊任務,策略結構應具有以下屬性:

• 應用於具有不同塊數的任務實例應該很容易。

• 應該可以自然地泛化到相同任務的不同排列種。例如,該策略應該在任務 dcba 上運行良好,即使它只接受任務 abcd 的訓練。

• 它應該可以適應不同長度的示範。

我們提出的架構包括三個模塊:示範網絡、上下文網絡和操縱網絡。

a. 示範網絡

如圖4所示,示範網絡接收示範軌跡作為輸入,並生成示範嵌入以供策略使用。該嵌入的大小隨著示範的長度以及環境中塊的數量而線性增長。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

圖4 示範網絡

b. 上下文網絡

上下文網絡是我們模型的核心。如圖5所示,它處理由示範網絡產生的當前狀態和嵌入,並輸出上下文嵌入,其維度不依賴於示範的長度,或環境中的塊數。因此,它被強制要求僅捕捉有相關性的信息,該信息將由操縱網絡使用。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

圖5 上下文網絡

c. 操縱網絡

操縱網絡是最簡單的組件。如圖6所示,在提取源信息和目標塊的信息之後,使用簡單的MLP 網絡計算完成當前階段中堆疊塊所需的動作。這種分工開闢了模塊化訓練的可能性:可以訓練操縱網絡來完成這一簡單的過程,而無需獲知示範或多於兩個塊的相關信息。這一可能性我們將在未來的工作中探究。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

圖6 操縱網絡

實驗

  • 目標點到達任務

為了示範小數據模仿學習框架基礎的關鍵概念,我們使用了之前描述的簡單的2D 目標點到達任務進行實驗。我們考慮採用難度漸進的多組任務,其中目的地的數量從2至10。我們從每個任務組收集10000個軌跡用於訓練,其中目的地的位置和圓點機器人的起始位置是隨機的。我們使用硬編碼的專家策略來高效生成示範。我們通過在將計算動作應用於環境之前擾亂計算的動作來增加軌跡的噪聲,我們使用簡單的行為克隆來訓練神經網絡策略。該訓練策略在新的場景下被評估,並依據訓練中未曾出現過的新的演示軌跡調試。

我們評估之前描述的三種架構的表現。對於基於LSTM 的架構,我們通過在訓練期間以0.1的概率清零激活,將停用(Srivastava et al.,2014)應用於全連接層。

結果如圖7所示。我們觀察到,隨著架構變得越來越專業化,我們實現了更好的泛化性能。對於這個簡單的任務來說,看起來,對整個示範的調節會損害泛化性能,即便沒有明確的的規範,在最終狀態進行的調節效果最好。這是不無道理的,因為最終狀態已經足以反映整個任務。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

圖7 對於目標點到達任務,不同架構的成功率。“訓練”曲線顯示了網絡“看”了示範後的成功率,訓練過程中,策略在初始狀態下運行;“測試”曲線顯示了在新情況中的成功率。所有基於注意力的架構都取得了完美的訓練成功率,曲線部分重疊。

  • 塊堆疊任務


在塊堆疊任務中,我們比較了下列架構的性能:

• DAGGER:我們使用了之前描述的架構,並使用DAGGER 對策略進行訓練。

•BC:我們使用之前描述的架構,但是使用行為克隆訓該策略。

•Final state:這種架構在最終狀態而不是整個示範軌跡上自我調節。塊堆疊任務類中的最終狀態完全體現了這一任務的性質,因而不需要額外信息。然而,包含任務解決方案中間階段信息的完整軌跡可以使訓練最佳策略變得更容易,因為它可以直接基於示範學習,而無需將中間步驟記錄到其參數中。這與在加強學習中獎勵設計顯著影響學習效果的方式有關。兩種策略之間的比較將告訴我們這個假設是否合理。我們使用DAGGER 訓練這一策略。

•Snapshot:這一架構基於軌跡的“快照“,包括示範軌跡中每個階段的最後一幀。這就假設在測試期間示範的一個組成部分的不同階段都可以獲取,相比較其他調整策略就更具優勢,因而比基於整個軌跡的調整應該表現出更好的性能。這同時也能給我們提供參考以判斷,如果示範被清晰地分為若干區域,基於整個軌跡調整的策略是否可以表現得同樣好。同樣地,我們使用 DAGGER 訓練這一策略。

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

圖 8 展現了不同架構的性能。訓練及測試任務的結果是分開列出的,其中的任務依據完成所需階段的數量分組。這是因為需要更多階段完成的任務難度更高。我們在100個不同的組合中使用貪婪策略來計算成功率,每一個組合都基於訓練中未出現過的一種不同的示範。我們記錄同一組中成功率的平均值。注意訓練任務中並無具備8個階段的任務,而測試任務中並無只有1個或3個步驟的任務,因而這些任務對應的項都被忽略了。

小結

在本文中,我們展示了一個簡單的模型,該模型將單一一個成功完成的任務的演示演繹成為一種有效的策略,用於在新的場景下完成同一任務。我們通過目標點到達和塊堆疊這兩類任務演示了這種方式的有效性。我們計劃將這一框架延伸至圖形數據的演示,這將在無需單獨的認知模塊的情況下實現更多的端到端學習。我們同時也希望實現此策略在多個演示中自我調節,以避免單一演示無法消除任務目標中的歧義的問題。此外,最重要的是,我們希望將我們的方法應用到擴大及更廣泛的任務範圍,以探索該方法在實現一個可完成大量及多種類任務的機器人模擬學習系統的潛力。

論文下載:https://arxiv.org/pdf/1703.07326.pdf

Open AI小數據模仿學習指向通用 AI,軟注意力提高神經網絡泛化能力

3月27日,新智元開源·生態AI技術峰會暨新智元2017創業大賽頒獎盛典隆重召開,包括“BAT”在內的中國主流 AI 公司、600多名行業精英齊聚,共同為2017中國人工智能的發展畫上了濃墨重彩的一筆。

相關推薦

推薦中...