AI智能超越人類終破解!李飛飛高徒新作破圈,5萬個合成數據碾壓人類示例,備咖啡動作超絲滑
聲明:本文來自于微信公眾號 新智元(ID:AI_era),作者:新智元,授權微新創想轉載發布。
AI巨佬Geoffrey Hinton稱,「科技公司們正在未來18個月內,要使用比現在GPT-4多100倍的算力訓練新模型」。
更大參數的模型,對算力需求巨大的同時,對數據也提出了更高的要求。
但是,更多的高質量數據該從何來?
英偉達高級科學家Jim Fan表示,「合成數據,將為我們饑渴的模型提供萬億個token」。
作為例證,英偉達與UT的研究人員在最新研究中,提出了一個MimicGen系統,能夠大量生成機器人訓練數據。
論文地址:https://arxiv.org/pdf/2310.17596.pdf
具體過程是,通過在模擬環境中,使用數字孿生技術復制真實世界中,人類的操作數據。
僅用了不到200個人類演示,MimicGen實現了在18個任務、多個模擬環境,甚至是現實世界中,自主生成5萬個訓練數據。
值得一提的是,這項研究所有數據集全部開源。
在Jim Fan看來,合成數據和模擬對AI發展非常重要,可以獲得更多訓練數據,維持學習算法的進步。它不僅適用于機器人領域,也會應用到其他AI領域。
我們正在迅速耗盡來自網絡的高質量的真實token。從人工合成數據中獲得人工智能,將是未來的發展方向。
恰恰,MimicGen展示了合成數據和模擬的力量,讓「縮放法則」(scaling law)得以延續。
準備咖啡,操作如此絲滑
MimicGen實際表現如何,一起看些演示。
在下圖的示例中,MimicGen僅從10個人類演示中,為3種不同的環境分布生成了1000個演示。
下面,將展示MimicGen在跨多個不同任務和環境分布中生成的幾個數據集,比如積木堆疊、「穿針引線」、咖啡準備、拼裝等等。
對于從未見過的杯子,MimicGen也能夠將其收納到抽屜里。
不同的機械臂,也能靈活自如地操作。
MimicGen在長期復雜的任務中的表現。
另外,MimicGen適用于需要毫米級精度的接觸式任務。
準備咖啡的過程很絲滑。
而在其他生成示例中,合成數據都能完成高性能的展示,效果驚人!
MimicGen:生成式數據無限擴展
可以看到,從人類演示中進行模仿學習,已成為訓練機器人執行各種操作行為的有效范例。
最為常見的方法是,人類通過不同的控制接口遠程操作機器臂,生成執行各種任務的示例,然后用這些數據訓練機器人自己完成這些任務。
然鵝,這種方法既費時,又費力。
另外,研究人員提出了另一個問題,在這些數據集中,實際上有多少數據包含了獨特的操作技能?
在最新研究中,作者提出了一種新型系統MimicGen,通過對人類演示進行處理,自動生成不同場景下的大規模數據集,進而用于機器人的模仿學習。
具體來說:
– 人類遠程操控機器人完成一個任務,生成非常高質量演示數據,但緩慢且昂貴。
– 在高保真的GPU加速的模擬環境中,創建機器人和場景的數字孿生。
– 在模擬環境中移動對象,替換新的物體,甚至改變機械臂,基本上是使用程序生成的方式擴充訓練數據。
– 導出成功的場景,提供給神經網絡進行訓練。這樣就獲得了一個近乎無限的訓練數據流。
總而言之,這項研究的主要貢獻在于,展示了MimicGen可以在各種新的場景配置、對象實例和機械臂上生成高質量數據,來通過模仿學習訓練出熟練的智能體,這些都是人類演示中沒有的。
MimicGen廣泛適用于需要不同操作技能的長序列任務和高精確度任務,比如抓放、組裝等。
在2個模擬環境和1個物理機械臂上,只用大約200個人類演示就生成了5萬個新的演示,涵蓋18個任務。
與收集更多人類演示相比,這一方法更加優越。
使用MimicGen生成的合成數據(例如從10個人類演示生成200個演示)與200個人類演示訓練出的智能體性能相當。
論文細節
問題設定
模仿學習
研究人員將每一個機器人操縱任務視為一個馬爾可夫決策過程(MDP),并旨在學習一個將狀態空間S映射到動作空間A的機器人操縱策略。
問題陳述和假設
研究人員的目標是使用一個源數據集D1,該數據集由在任務M上收集的一小組人類演示組成,并用它來生成一個大型的數據集D(用于相同任務或任務變體,其中初始狀態分布 D、對象或機器人臂可能發生變化)。
生成新演示的步驟如下:
(1)從研究人員想要生成數據的任務中抽樣一個起始狀態,
(2)從D1中選擇并適應一個演示以生成一個新的機器人軌跡τ',
(3)機器人在當前場景中執行軌跡τ',如果任務成功完成,則將狀態和動作的序列添加到生成的數據集D中(具體的每一步請參見方法)。接下來,研究人員概述系統利用的一些假設。
假設1:增量末端執行器位姿( delta end effector Pose)動作空間。動作空間(action space)A包括用于末端執行器控制器和夾持器開/關命令的增量位姿命令。
這使研究人員能夠將演示中的動作視為末端執行器控制器的一系列目標位姿。
假設2:任務由已知的對象中心子任務序列組成。設 O = {o?, …, o?} 為任務 M 中的對象集合。
研究人員假設任務由一系列對象中心子任務
組成,其中每個子任務
相對于單一對象的坐標系
。研究人員假設這個序列是已知的。
假設3:在數據收集期間,每個子任務開始時都可以觀察到對象的姿態。研究人員假設在每個子任務
的數據收集期間(但在策略部署期間則不是),研究人員可以觀察到相關對象 o?? 的姿態。
研究方法
研究人員展示了如何使用一個小型的人類演示源數據集來生成新的演示(下圖2)。
MimicGen首先將源數據集解析為多個段(segment) — 每個段對應于任務中的一個對象中心子任務。
然后,為了在新場景中生成一個演示,MimicGen會為每一個子任務生成并執行一個軌跡(末端執行器控制位姿的序列,sequence of end-effector control poses)。
方法是從源示例中選擇一個參考段,根據新場景中對象的位姿進行轉換,然后使用末端執行器控制器執行目標位姿的序列。
將源數據集解析為對象中心的段
每個任務都由一系列對象中心的子任務組成 — 研究人員希望將源數據集中的每個軌跡τ解析為多個段 {τ?}??=?,其中每個段τ?對應于一個子任務S?(o??)。
為新場景轉換源數據段
為了在新場景中生成一個任務演示,MimicGen會為任務中的每一個對象中心子任務生成并執行一個段。如上圖2(右)所示,這包括每個子任務的三個關鍵步驟:
(1)在源數據集中選擇一個參考子任務段,
(2)為新的上下文轉換子任務段,
(3)在場景中執行該段。
選擇一個參考段:MimicGen將源數據集解析為與每個子任務相對應的段
在每個子任務 S?(o??) 開始時,MimicGen從集合
中選擇一個相應的段。這些段可以隨機選擇或使用相關對象的位姿。
轉換源子任務段:研究人員可以將選定的源子任務段 τ? 視為末端執行器控制器的目標位姿序列。
執行新段(Executing the new segment)
最后,MimicGen通過在每個時間步取目標位姿,將其轉換為增量位姿動作,與源段中相應的抓取器打開/關閉動作配對,并執行新動作來執行新段τ′?。
以上步驟重復每個子任務,直到執行了最后一個段。
然而,這個過程可能是不完美的——由于控制和手臂運動學問題導致的小軌跡偏差可能導致任務失敗。
因此,MimicGen在執行所有段后檢查任務成功與否,并僅保留成功的演示。研究人員將成功生成軌跡的數量與總嘗試次數之間的比率稱為數據生成率。
這個流程只依賴于對象框架和機器人控制器框架——這使得數據生成可以在具有不同初始狀態分布、對象(假設它們有規范框架定義)和機器人手臂(假設它們共享末端執行器控制框架的約定)的任務之間進行。
在研究人員的實驗中,研究人員為每個機器人操作任務設計了任務變體,其中研究人員改變初始狀態分布(D)、任務中的一個對象(O)或機器人手臂(R),并表明 MimicGen 支持這些變體之間的數據收集和模仿學習。
175個人類演示,生成5萬個數據集
研究人員將MimicGen應用于多種不同的任務(見下圖3)和任務變體,以展示它如何為模仿學習在包括拾取-放置、富有接觸性的交互以及關節動作在內的多樣化的操控行為生成有用的數據。
實驗和結果
研究人員進行了實驗,目的是(1)突出顯示MimicGen能夠生成數據的多樣情境;(2)展示MimicGen與收集額外人類示范相比在努力和數據下游政策性能方面都有優勢;(3)提供系統不同方面的洞見;(4)證明MimicGen能在真實世界的機器人手臂上工作。
MimicGen的應用
研究人員概述了幾個展示MimicGen有用屬性的應用場景。
MimicGen數據大幅提升了代理在源任務上的性能。MimicGen一個直接的應用就是收集某個感興趣任務的小型數據集,然后為該任務生成更多數據。與在小型源數據集上訓練的代理相比,使用MimicGen生成的D0數據集訓練的代理表現有顯著提升。
MimicGen數據能在廣泛的初始狀態分布下生成高性能的代理。如下圖4所示,使用在廣泛的初始狀態分布(D1、D2)上生成的數據集訓練的代理具有很高的性能。
MimicGen能為不同對象生成數據。例如,在「Mug Cleanup(馬克杯收納)」任務的源數據集中只有一個馬克杯,但研究人員用MimicGen為一個未見過的馬克杯(O1)和一組12個馬克杯(O2)生成了演示。
MimicGen可以為多種機器人硬件生成數據。研究人員將MimicGen應用于使用Panda手臂的Square和Threading源數據集,并為Sawyer、IIWA和UR5e生成了跨D0和D1重置分布變體的數據集。
將MimicGen應用于移動操縱。在「Mobile Kitchen(移動廚房)」任務中,MimicGen使得成功率從2.0%提升到46.7%。
MimicGen是模擬器不可知的。研究人員證明MimicGen不僅限于一個模擬框架,通過將其應用于在Isaac Gym之上構建的Factory模擬框架中需要毫米級精度的高精度任務。
MimicGen和人類數據對比
MimicGen可以利用少量人類示例生成大規模數據集:
在18個任務中,只用175個人類示例就生成了超過5萬個示例。在Square任務中,只用10人類示例就生成了1000個示例,覆蓋不同場景配置。
而且MimicGen生成的數據集可以訓練出高性能策略,甚至比人類示例的效果好很多:
在Square任務中,從10人類示例的數據集成功率11.3%,從生成數據集成功率可達90.7%。
在復雜的Coffee Preparation任務中,成功率從12.7%提升到97.3%,在高精度裝配任務Gear Assembly中,成功率從14.7%提升到98.7%。
MimicGen生成的數據集與人類數據集性能相當:
在Square任務中,200人類示例成功率為12%,200個生成示例成功率為11.3%,在Three Piece Assembly任務中,200人類示例成功率為14%,200生成示例成功率為13.3%。
在機械臂上的表現上,MimicGen生成的數據的Stack任務從源域0%的成功率提升到了36%,Coffee任務,成功率從源域的0%成功率到目標域14%成功功率。
網友熱議
合成數據將主導大部分生成式人工智能行動!
終有一天,人類標注和演示成為過去。
有網友驚呼,這與AGI大差不差了,人類靈巧程度的機器人也會突然能力大爆發。
這正是我之前思考的AI智能超越人類智能,大概率只是時間問題:因為真實世界有限的數據并不是限制,數據可以通過AI合成,之后再投入到模型訓練中:Artificial synthetic data ? Training AI ? AI smarter ? Generating more synthetic data ? more into trianing AI model; Feedback Loop已建立。
有網友表示,「這可以用來生成自動駕駛訓練集嗎?這樣汽車公司就不必僅僅依靠真實世界的數據來訓練他們的模型了?」