在機器人模仿學習領域,過去一年要說最大的幾個突破的話,Diffusion Policy一定可以排到前列,我也非常有幸在半年前,採訪了Diffusion Policy的作者遲宬博士Diffusion Policy—基於擴散模型的機器人動作生成策略。在當時的採訪中,遲宬博士就提到,資料越多Diffusion Policy的效果越好,為了更便捷的採集更多的資料,他們已經在做一套硬體裝置,可以滿足隨時隨地便捷採取操作資料的需求。Diffusion Policy的採訪結束沒過多久,UMI(Universal Manipulation Interface:In-The-Wild Robot Teaching Without In-The-Wild Robots)論文公開,並被機器人頂會RSS 2024接收。
今年3月,Yihao邀請我一起和UMI的兩位一作遲宬博士和許臻佳博士做了個採訪,趁著最近上線機器人訓練資料連載,也把這個訪談重新整理,作為連載第二篇,分享給感興趣的讀者。
遲宬和許臻佳兩位博士都博士畢業於哥倫比亞大學,在宋舒然組裡做機器人操縱和感知相關的研究。接下來,讓我們一起來瞭解下他們如何做到在不借助機器人的情況下,直接讓人類採集機器人訓練需要的末端執行器動作資料。
-
UMI介紹UMI硬體結構介紹UMI解決了什麼問題UMI是遙操作裝置嗎?UMI如何使用基於UMI採集的資料訓練的模型效果如何?UMI如何應對涉及移動的操作問題?用UMI收集的資料在訓練過程中的魯棒性如何?UMI有哪些需要改進?和UMI類似的工作有哪些?
-
一些補充問題
-
一些想法
1. UMI介紹
UMI硬體結構介紹
UMI的資料收集硬體是裝有GoPro相機的手持並平行爪夾具①。為了收集可部署策略的觀察資料,UMI需要捕捉足夠的視覺資訊以推斷動作②(廣角魚眼相機)和深度等資訊③(用於隱式立體的側面鏡片)。為了獲得可部署策略的動作資料,UMI需要在快速的人體動作下捕捉精確的機器人動作④(IMU)、抓握寬度的微調⑤(連續的夾爪調節),並自動檢查每個演示在特定機器人運動學約束下是否有效⑥(基於運動學的資料過濾)。

UMI解決了什麼問題?
首先,在使用人類遙控機器人或human in the loop data collection的資料收集這條路線上,有兩個極端,一個極端是使用YouTube影片,這不需要任何與機器人相關的資料,這類資料理論上是大量存在的,因為網上有大量的YouTube影片。問題在於,機器人本身的硬體還不夠成熟,現有的研究環境中的機器人與人類的物理形態非常不同。因此,即使能夠從影片中準確提取人類動作,將其對映到機器人身上是一個非常難的研究問題,目前還沒有特別好的解決方法。另一方面,從影片中提取準確的人類動作也是一個非常難的問題。我們可以提取一些看起來合理的動作,但真正的操控精度往往需要達到毫米級別。在網際網路上的影片,我們有很多未知的情況,因此如何獲取毫米級別精確的機器人動作是一個未解決的問題。
上面這個極端是與機器人物理形態無關,那另一個極端是使用與最終想要的機器人完全相同的機器人進行資料收集。這個方法的好處是沒有物理形態的差異,也就是說收集到的資料和測試時的輸入輸出是一模一樣的。這種方法的最大問題是機器人的成本很高,形成了一個所謂的“雞與蛋”問題。我們沒有一個好的資料集,就很難做出好的機器人產品來部署在實際環境中;沒有機器人部署在實際環境中,就很難獲得好的資料集。我認為這個問題已經存在很多年了。
UMI希望能在這兩個極端之間找到一個好的平衡點。UMI的核心是一個物理API,我們找到了一個物理介面,使它既包含了與機器人足夠相似的物理形態,同時又不限制於具體的機器人形態,成本也比機器人低很多。我可以從三個方面具體說明。
首先是可移植性(portability)問題。我們假設即使機器人本身成本很低,例如每個機器人只有1000到2000元,按照目前機器人的重量,如果我想去餐廳採集資料,需要把機器人運到卡車上,再開到餐廳,然後卸下來安裝除錯,基本上半天時間就過去了。每次進入一個新環境都要有這個前期設定成本,這使得獲取多樣化環境資料的成本非常高。UMI透過其手持裝置很好地解決了這個問題。雖然UMI的夾子現在有點重,有800克,但可以放在包裡隨身攜帶。因此,我們只要人到了一個環境,比如我們去餐廳吃飯,坐下就可以開始收集資料,兩分鐘內就能開始工作,大大簡化了獲取多樣化真實世界資料的過程。
其次是物理形態的相似性。在學術界中使用的研究機器人往往是一個工業機器人,加上一個平行夾爪,UMI設計時考慮到了這種常見的機器人形態。因此,UMI記錄的是夾爪在空間中的六維運動軌跡,只要機器人能到達任何一個位置,具體的關節角度並不重要,甚至可以用無人機達到所需位置。因此,它在一定程度上實現了對機器人形態的無關性,無論實驗室使用的是什麼牌子的機器人,只要有六個自由度都可以使用。
最後是資料收集的直觀性。例如,我們嘗試了一個任務是投擲方塊,有兩類物體,圓的和方的,機器人前面有兩個盆,一個是圓的,一個是方的,任務是將方塊投到方的盆裡,圓塊投到圓的盆裡。這是一個高速的動態動作,用遙控機器人來完成是非常困難的。我們之前做實驗,15分鐘內遙控機器人沒有成功投進一個方塊。如果用UMI,因為人類用這種夾子的直覺非常強,因此用UMI收集同樣任務的資料速度是人類用手的一半,雖然聽起來慢,但相比遙控操作任務收集速度為零已經是很大的提升。在另一個任務——轉動杯子上,我們發現UMI收集資料的速度是人手的一半,而遙控操作機器人收集資料的速度比UMI慢三倍。這使得UMI在資料收集方面具有顯著的優勢。
UMI是遙操作裝置嗎?
UMI不是遙操作裝置。遙操作裝置需要人來遙控機器人執行任務,UMI不是機器人,它沒有電機,它是一個完全被動的硬體。我覺得可以理解成它是個手套,或者手持資料收集裝置。
UMI如何使用
安裝好的UMI使用非常簡單,只要在日常生活中用手拿著UMI進行操作即可,關於UMI的硬體,遲博士在YouTube上也有相關影片介紹,可以參考文末reference部分。
UMI和遙操作資料採集效率對比
基於UMI採集的資料進行模型訓練的效果如何?
首先,讓我解釋一下UMI專案的工作流程。在我們的專案中,所有的影片演示都是由模型直接驅動的,完全自動化。在這個過程中,人類操作者沒有進行任何干預或指導。對於每個特定任務,我們訓練一個獨立的模型。例如,如果是洗盤子的任務,那麼該模型就專門用於洗盤子,它只知道如何執行這個特定的任務,而不會執行其他操作。可以透過以下影片檢視基於UMI採集的資料訓練出來的模型部署到機器人的表現情況。
與我們工作平行的是其他專案,他們在進行多工學習。比如,他們可能透過語音標籤來收集多個任務的資料,然後使用語言指令或者影像作為標籤來指導機器人執行任務。因此,我們可以將我們當前的工作分為兩個階段:第一階段是訓練階段,第二階段是測試或推理階段。
在訓練過程中,我們需要一個數據集,這個資料集包含人類操作者收集的資料,用來訓練模型。通常我們會進行數百次的資料收集,然後將這些資料用於訓練模型。在推理階段,也就是機器人執行任務時,它完全由訓練好的模型控制。我們人類操作者會將機器人設定好,放置在合適的位置,然後啟動任務。之後,操作者不再幹預,直到任務完成或者需要停止時,才會再次介入停止機器人的操作。
單任務訓練是我們當前專案的工作方式,但這並不意味著我們面臨基本限制。理論上,我們的框架可以支援多工執行。然而,在學術界資源有限的情況下,同時處理多個任務的成本非常高昂,因此我們選擇了專注於單一任務。與我們合作的工業界機構,例如豐田研究院(Toyota Research Institute),正在開發能夠同時訓練多個任務的模型,並且他們的效果還是相當可觀的。工業界通常擁有更多的資金和資源,可以僱傭大量人員來收集資料,這使得他們能夠在多工學習方面取得進展。
UMI如何應對涉及移動的操作問題?
在我看來,如果我們的目標是為了完成一個操作任務,只是想讓機器人底盤移動的話,其實這些資料是足夠的。因為我的目的只是讓我的兩個手在空間中保持某個位置,這樣我就可以反推出來這個機器人底盤需要在哪個位置。我只需要知道周圍的環境是什麼,然後把機器人底盤移到一個能讓兩個手都能夠到達的位置,再避免碰撞就可以了。我認為這個過程可以使用經典的方法來反推出底盤的位置,這個方法叫做逆運動學(inverse kinematics)。
用UMI收集的資料在訓練過程中的魯棒性如何?
首先,我們在訓練時使用了顏色增強(color augmentation)。例如,對於相同的資料,我們在訓練過程中會隨機調整亮度、色溫和飽和度。因此,訓練出的模型對光照變化具備一定的魯棒性。
其次,我們發現一個有趣的現象。我們的觀測資料完全是手腕上的相機輸入的影像,這些影像幾乎不會靜止,只要手在動,影像就會不斷變化。我們發現這樣訓練出來的模型對這些干擾因素反而更魯棒。它只會關注重要的部分,比如杯子的位置,而忽略其他不相關的資訊。我認為這是因為在資料收集過程中,相機一直在動,每一幀的背景都不一樣。這種運動過程本身也相當於是一種自然的增強(natural augmentation)。
總結一下,我們的視覺魯棒性主要來自兩個方面:第一,在訓練過程中加入了手動的顏色增強;第二,在資料收集過程中,透過自然的背景變化實現了增強。
UMI有哪些需要改進?
第一個是讓這個裝置變得更易用一些。現階段UMI這個裝置還是比較重的,重心也不太穩,所以人在拿它收資料的時候會比較累。比如說,用兩個小時後就會覺得很累,所以很難長時間使用。因此,裝置在設計上可以更符合人體工程學。
第二個是tracking這部分,現在有一些缺陷。你現在用的是拿GoPro的影片資料加上IMU的資料,配合上SLAM的tracking。其實在有些場景下,準確率並不是很高。這個對資料採集者可能會有一些要求,比如你得知道怎樣的行為會讓tracking準確率更高。可能隨便找一個人拿著它在家裡做任何事情,有時候tracking的準確度會不高。
這個有幾個可以做的方向,一個是整體提升SLAM的準確度。SLAM是一個相對比較成熟的領域,因為我們不是這個方向的專家,不能很好地最佳化SLAM。如果相關領域有更懂的同學或者專家可以幫忙解決,那當然是最好的。另外還有一些比較簡單的辦法,比如可以直接換成iPhone。iPhone有三個攝像頭,甚至還有LiDAR,它的AR Kit tracking非常robust,那也是一個可以探索的方向。
再往上大改動的話,可能是相容不同的末端執行器。畢竟現在只能是兩個手指的平行夾爪。很多人會問,如果給你一個靈巧手怎麼辦?有五個手指,或者給你三個手指怎麼辦?目前的裝置是不能相容的。怎麼把這個想法運用到其他種類的末端執行器上,也是一個很有意義的點,但也會更加困難。
再往後可能就是收集多工的資料集。畢竟我們現在一個任務收一類資料,然後訓練一個模型。如果真的想訓練出一個通用的機器人策略,肯定需要多工的資料集。無論從資料質量還是多樣性程度都要提高。很多時候這不是學術界能夠有資源做的。
2. 一些補充問題
機器人資料收集的路徑有哪些?
整體來看,機器人收集資料有三條路徑。第一條路徑是在模擬環境中收集資料,第二條路徑是在現實世界中機器人自己收集資料,第三條路徑是人遙控機器人或者手動收集資料。
第一條路徑模擬環境中收集資料,有一個非常大的隱藏成本,即構建模擬環境本身成本非常高。我們在早期的工作中大部分時間都花在構建模擬環境上,基本上這樣的專案80%的時間花在構建模擬環境上,只有20%的時間用於研究演算法。可想而知,模擬環境本身的成本很高,其中一個非常大的問題是模擬的物理精確性,以及資產建立的成本。因為模擬環境中並沒有一個統一的物理模型,也沒有一套固定的引數可以精確描述物體的物理性質,因此在這方面需要大量的手工除錯,成本很高。
第二條路徑是機器人自己在現實世界中收集資料。這其中有兩個思路,一個叫做自我監督學習(self-supervised learning),另一個叫做強化學習(reinforcement learning)。它們的核心思想都是機器人透過探索環境,自己學習技能。然而,這兩個方向都有一個非常大的隱藏成本。比如說,很多時候我們希望機器人自己學習,但這需要一個自動重置系統(autonomous reset)。想象一下,如果讓機器人轉動杯子或洗盤子,如果它不小心把盤子摔碎了,系統需要能夠自動恢復到任務開始的狀態。實現這樣的自動重置系統成本很高,甚至比你想要學習的任務還要難,同時它還需要非常可靠。第二個隱藏成本是獎勵工程(reward engineering)。也就是說,我需要用數學公式告訴機器人什麼樣的狀態是好的,什麼樣的狀態是不好的。真正將數學獎勵與人的偏好對齊是一個非常困難的問題,同時這也是一個非常耗時的過程。因此,自動重置和獎勵工程在現實世界中讓機器人自己收集資料是一個非常大的障礙。
與這兩條路徑相比,大家原本認為用人來遙控機器人或者手動收集資料成本很高,但如果考慮到另外兩條路徑的隱藏成本,人工收集資料的成本看起來就不是那麼高了。
關於複雜任務
關於任務複雜度,我認為當前的系統無法解決所有任務。因為它受限於兩個平行夾爪,這對於一些任務的限制還是很大的。人類有五個手指,可以更好地握持一些工具,比如拿螺絲刀時,人類的五個手指能夠實現更好的抓握。但即使僅有兩個平行夾爪,我覺得已經可以完成至少70%到80%的任務了。因此,在短期內,任務複雜度不會成為太大的瓶頸。目前,我們可能連任務的5%都還沒做到,所以僅憑現有的平行夾爪技術,還可以在之後很長一段時間內滿足需求。
關於可泛化性
關於是否可以泛化到其他物體和場景,很大程度上取決於資料的收集方式。如果資料收集僅限於一個場景和一個物體,那麼泛化能力會很有限。但如果資料收集非常多樣化,比如在不同的地方收集同一類物體的不同例項,如紅色杯子、藍色杯子、大杯子、小杯子等,我們的實驗發現還是可以有較強的泛化性。不過,這前提是能收集到足夠多樣化的資料。
關於成功率
關於成功率,目前來說,做到80%-90%的成功率問題不大。只要資料量足夠,比如單一場景和單一物體的資料量有兩三百條,成功率可以達到80%-90%。如果是多工、多場景,並希望泛化到其他物體,資料量需要更大,比如我們在轉杯子任務上收集了1000多條資料,成功率也可以達到80%以上。但如果資料不夠,成功率肯定會下降。
即機器人領域是否存在類似於“Scaling Law”的概念?在自然語言處理的大模型領域,已經有很好的Scaling Law建立了。也就是說,如果已知模型的大小和資料量,我們可以在不訓練模型的情況下,預測出模型的能力。或者反過來,如果想達到某種能力,我們可以推算出所需的計算量、資料量和模型大小。
然而,在機器人領域,學術界目前還沒有建立這樣一個Scaling Law。因此,對於具體任務的成功率,我們只能透過實際操作來測量。換句話說,我們目前無法在沒有實際實驗的情況下預測某個任務的成功率或所需的資料量。這是機器人研究領域需要進一步探索的一個方向。
在我們現在看來,研究機器人的Scaling Law所需的資源、資本和資料量可能超出了學術研究的範圍。這意味著,建立一個類似於自然語言處理領域的Scaling Law,需要大量的資源和資料,這在當前的學術環境中可能難以實現。
關於遙操作
我想講一下遙操作這個概念。其實有兩個不同的應用場景。一個是用遙操作來收集資料,另一個是用遙操作來展示演示效果。這兩者是非常不一樣的。我們之前討論的遙操作,主要是指用遙操作的方法來收集資料,再訓練一個模型。真正展示演示效果時,機器人是自動執行的,這體現了模型的能力。
然而,還有一種情況是,演示過程中直接用遙操作來控制機器人,這主要是受限於硬體的能力,而不是模型本身的能力。在這種情況下,就沒有模型的概念了。
至於我們能不能判斷一個影片中的操作是遙操作還是由模型生成的,說實話,如果模型是用模仿學習或類似的方法訓練的,並且訓練得很好,僅僅透過觀看影片是很難判斷的。這時候就需要依賴釋出演示影片的人是否誠實,他們是否承認這個操作是遙操作還是模型生成的。
關於模仿學習
模仿學習實際上是一種廣義的概念,其中行為克隆是其子集之一。行為克隆是最簡單的模仿學習方法之一。舉個例子,輸入是一個包含觀測和動作配對的資料集。透過這些資料訓練出一個模型,該模型直接學習從觀測到動作的條件分佈,最大化基於觀測的動作的條件機率。這種方法被稱為模仿學習的一種。
在模仿學習領域,除了行為克隆外,還存在許多其他方法。例如,Dagger(資料聚合,透過專家增強)是另一種廣為使用的模仿學習方法。在Dagger中,學習過程不是靜態的,意味著不僅僅是收集一些資料來訓練模型,然後部署。相反,它是一個線上學習過程,機器人在執行任務的同時,人類專家為模型提供額外的指導和資料。這種方法可能會帶來更好的學習效能和適應性。因此,模仿學習涵蓋了多種不同的方法,行為克隆只是其中的一種典型示例。
上層規劃和diffusion policy如何搭配?
第一個方法是訓練一個language-conditioned diffusion policy。這意味著什麼?舉個例子,比如說我現在用UMI夾爪在收集資料時,我使用GoPro記錄聲音。那麼我可以一邊說話,描述我現在正在做什麼,同時收集影像和動作資料。這時,資料不僅包括影像和動作,還有一個語言描述。然後我們可以訓練一個模型,它的輸入是當前影像加上我所描述的語言,即我想做什麼,然後模型輸出相應的動作。這樣一來,我們可以在更高層次上結合大語言模型。比如說,我想做雞蛋炒西紅柿,大語言模型可以將人說的話分解成一個個子任務,比如我要先從冰箱裡拿出雞蛋,然後打碎雞蛋,最後攪拌雞蛋。大語言模型可以再把這樣一個個子任務的描述,輸入到language-conditioned diffusion policy來執行。
其二,我認為還有一個思路,做behavior library,即建立一個行為庫。也就是說,為每個任務建立一個單獨的模型,比如第一步是開啟冰箱門,第二步是取出雞蛋,第三步是打碎雞蛋,第四步是攪勻雞蛋。我們可以為每個步驟訓練一個單獨的模型,然後使用一個語言模型或其他模型進行排程,選擇執行這些動作的模型。總之,我認為這兩種思路都是可行的。
和UMI類似的工作有哪些?
之前有一些手持的資料收集裝置,但並不是特別多。主要問題在於它們的動作控制不夠精確。以前使用的結構光成像技術只能告訴你當前運動的方向,但無法得知絕對的三維座標,即位置和旋轉。這涉及到六個自由度,即三個位置和三個旋轉。以前的方法無法準確獲取這些六個引數。相比之下,我們現在主要使用GoPro相機結合SLAM技術,可以更精確地進行六自由度的跟蹤。這是相對於以前工作的優勢之一。
然而,劣勢在於,例如交大盧策吾老師團隊使用外骨骼進行資料收集。相比之下,我們的方法不能考慮機器人本身結構的影響,這一點可以視為優勢也可以視為劣勢。如果將其視為優勢,那麼我們的資料可以應用於許多不同型別的機械臂上,不侷限於特定的機械臂型別。然而,也可以將其視為劣勢,因為對於某些特定的應用場景,這種資料可能並不總是適用。例如,在涉及到肘關節和桌子碰撞等情況下,單憑姿態資訊可能無法準確預測肘關節是否會碰撞。如果我們使用類似於真實機械臂結構的資料收集裝置,就可以避免這種問題。
3. 一些想法
我個人從23年6月開始關注具身智慧賽道,至今正好一年。一年前,因為摸不到頭緒,特別想知道到底誰在搞具身智慧,於是整理了那篇廣為流傳的AI+Robotics華人圖譜,進而沿著這個圖譜一直看各個組的工作,逐步增進對各個組方向和路徑的認知。這一年持續寫偏學術的內容,一方面是我自己也確實好奇這個領域最新的進展到了什麼程度;另一方面可以透過這種通俗科普的形式讓更多人瞭解這個領域最前沿最新的工作,為拉齊產業界、投資界和學術界的期望和認知做一點點小貢獻。
但說實話,學術前沿的東西看的越多越深入,越不知道怎麼投了,不知道有沒有同樣症狀的同行!

References:
https://umi-gripper.github.io/
https://www.youtube.com/watch?v=EJmAg1Bnp-k&t=179s
https://www.youtube.com/watch?v=x3ko0v_xwpg
原創不易,歡迎“點贊”“打賞”“在看”三連!
也歡迎加我微信交流!
