對于人類來說,處理可變形物體并不比處理剛性物體困難多少。人們很自然地學會塑造它們,折疊它們,并以不同的方式操縱它們,并且仍然能夠識別它們。
但是對于機器人和人工智能系統來說,操縱可變形物體是一個巨大的挑戰。例如機器人必須采取一系列步驟將面團做成比薩餅皮。當面團改變形狀時必須進行記錄和跟蹤,與此同時,它必須為每一步的工作選擇正確的工具。對于當前的人工智能系統來說,這些都是具有挑戰性的任務,它們在處理具有更可預測狀態的剛體物體時更加穩定。
現在,麻省理工學院、卡內基梅隆大學和加州大學圣地亞哥分校的研究人員開發的一種新的深度學習技術,有望使機器人系統在處理可變形物體時更加穩定。這項名為DiffSkill的技術使用深度神經網絡來學習簡單的技能,并使用一個規劃模塊來結合這些技能,以解決需要多個步驟和工具的任務。
通過強化學習和深度學習處理可變形物體
如果人工智能系統想要處理一個物體,它必須能夠檢測和定義它的狀態,并預測它未來的樣子。對于剛性物體來說,這是一個基本上已經解決的問題。通過一組良好的訓練示例,深度神經網絡將能夠從不同角度檢測剛性物體。當涉及到可變形物體時,其多種狀態空間變得更加復雜。
卡內基梅隆大學博士生、DiffSkill論文的主要作者林星宇說,“對于剛性物體,我們可以用六個數字來描述它的狀態:三個數字表示它的XYZ坐標,另外三個數字表示它的方向。
然而,諸如面團或織物之類的可變形物體具有無限的自由度,因此更難精確地描述它們的狀態。此外,與剛性物體相比,它們的變形方式也更難用數學方法建模。”
可微物理模擬器的發展使基于梯度的方法能夠應用于解決可變形物體操作任務。這與傳統的強化學習方法不同,傳統的強化學習方法試圖通過純粹的試錯交互來學習環境和物體的動態。
DiffSkill的靈感來自PlasticineLab,這是一種可微分的物理模擬器,并在2021的ICLR會議上展出。PlasticineLab表明,可微模擬器可以幫助完成短期任務。
PlasticineLab是一個基于可微分物理的可變形物體模擬器。它適用于訓練基于梯度的模型
但是可微分模擬器仍然在處理需要多個步驟和使用不同工具的長期問題。基于可微分模擬器的人工智能系統還要求了解環境的完整模擬狀態和相關物理參數。這對于現實世界的應用程序尤其有限制,在這些應用程序中,代理通常通過視覺和深度感覺數據(RGB-D)感知世界。
林星宇說,“我們開始詢問是否可以將完成任務所需的步驟提取為技能,并學習有關技能的抽象概念,以便我們可以將它們鏈接起來以解決更復雜的任務。”
DiffSkill是一個框架,其中人工智能代理使用可微物理模型學習技能抽象,并將它們組合起來以完成復雜的操作任務。
他在過去的工作重點是使用強化學習來操縱可變形的物體,例如布料、繩索和液體。對于DiffSkill,他選擇面團操作是因為它帶來的挑戰。
他說,“面團操作特別有趣,因為它不容易用機器人抓取器完成,而是需要依次使用不同的工具,這是人類擅長但機器人不太常見的事情。”
經過訓練,DiffSkill可以僅使用RGB-D輸入成功完成一組面團操作任務。
采用神經網絡學習抽象技能
DiffSkill訓練神經網絡從可微物理模擬器獲得的初始狀態和參數預測目標狀態的可行性
DiffSkill由兩個關鍵組件組成:一個是使用神經網絡學習個人技能的“神經技能抽象器”,另一個是用于解決長期任務的“規劃器”。
DiffSkill使用可微分物理模擬器為技能抽象器生成訓練示例。這些示例展示了如何使用單一工具實現短期目標,例如使用搟面杖攤開面團或使用抹刀移動面團。
這些示例以RGB-D視頻的形式呈現給技能抽象者。給定圖像觀察,技能抽象器必須預測期望的目標是否可行。該模型通過將其預測與物理模擬器的實際結果進行比較來學習和調整其參數。
對面團等可變形物體的機器人操作需要對不同工具的使用進行長期推理。DiffSkill方法利用可微分的模擬器來學習和組合這些具有挑戰性的任務的技能。
與此同時,DiffSkill訓練變分自編碼器(VAE)以學習物理模擬器生成的示例的潛在空間表示。變分自編碼器(VAE)在保留重要特征,并丟棄與任務無關的信息。通過將高維圖像空間轉換為潛在空間,變分自編碼器(VAE)在使DiffSkill能夠在較長的視野內進行規劃和通過觀察感官數據預測結果方面發揮了重要作用。
訓練變分自編碼器(VAE)的重要挑戰之一是確保它學習正確的特征并推廣到現實世界。在真實世界中,視覺數據的組成不同于物理模擬器生成的數據。例如,搟面杖或砧板的顏色與任務無關,但搟面杖的位置和角度以及面團的位置與任務有關。
目前,研究人員正在使用一種稱為“域隨機化”的技術,該技術將訓練環境的不相關屬性(如背景和照明)隨機化,并保留工具的位置和方向等重要特征。這使得訓練變分自編碼器(VAE)在應用于現實世界時更加穩定。
林星宇說,“做到這一點并不容易,因為我們需要涵蓋模擬和現實世界(稱為sim2real gap)之間所有可能的差異,更好的方法是使用3D點云作為場景的表示,這更容易從模擬轉移到現實世界。事實上,我們正在開發一個使用點云作為輸入的后續項目。”
規劃可變形物體的長期任務
DiffSkill使用規劃模塊來評估可以實現目標的不同技能組合和序列
一旦技能抽象器被訓練,DiffSkill使用規劃器模塊來解決長期任務。規劃者必須確定從初始狀態到目的地所需的技能數量和順序。
這個規劃器會迭代可能的技能組合以及它們產生的中間結果。變分自動編碼器在這里派上用場。DiffSkill不是預測完整的圖像結果,而是使用VAE來預測實現最終目標的中間步驟的潛在空間結果。
抽象技能和潛在空間表示的結合使得繪制從初始狀態到目標的軌跡的計算效率更高。事實上,研究人員不需要優化搜索功能,而是對所有組合進行了詳盡的搜索。
林星宇說,“由于我們正在規劃技能,計算工作也不會太多,而且時間也不長。這種詳盡的搜索消除了為規劃師設計草圖的需要,可能會導致設計師沒有以更一般的方式考慮新穎的解決方案,盡管我們在嘗試的有限任務中沒有觀察到這一點。此外,還可以應用更復雜的搜索技術。”
DiffSkill論文指出,“在單個NVIDIA 2080Ti GPU上,每種技能組合的優化都可以在大約10秒鐘內高效完成。”
使用DiffSkill準備比薩面團
研究人員對DiffSkill的性能進行了測試,對比了幾種已應用于可變形物體的基線方法,包括兩種無模型強化學習算法和一種僅使用物理模擬器的軌跡優化器
這些模型在需要多個步驟和工具的多個任務上進行了測試。例如在其中一項任務中,人工智能代理必須用抹刀將面團提起,將其放在砧板上,然后用搟面杖將其攤開。
研究結果表明,DiffSkill在僅使用感官信息解決長期、多工具任務方面明顯優于其他技術。實驗表明,在經過良好訓練后,DiffSkill的規劃器可以在初始狀態和目標狀態之間找到良好的中間狀態,并找到合適的技能序列來解決任務。
DiffSkill的規劃器可以非常準確地預測中間步驟
林星宇說,“其中一個要點是,一組技能可以提供非常重要的時間抽象,使我們能夠進行長期推理。這也類似于人類處理不同任務的方式:在不同的時間抽象中思考,而不是思考下一秒該做什么。”
但是,DiffSkill的容量也有限制。例如,當執行需要三階段規劃的任務之一時,DiffSkill的性能會顯著下降(盡管它仍然優于其他技術)。林星宇還提到,在某些情況下,可行性預測器會產生誤報。研究人員認為,學習更好的潛在空間可以幫助解決這個問題。
研究人員還在探索改進DiffSkill的其他方向,包括一種更有效的規劃算法,可以用于更長時間的任務。
林星宇表示,希望有一天,他可以在真正的披薩制作機器人上使用DiffSkill。他說,“我們還遠遠沒有做到這一點。控制、sim2real轉移和安全方面出現了各種挑戰。但我們現在更有信心嘗試開展一些長期任務。”
原文標題:This deep learning technique solves one of the tough challenges of robotics,作者:Ben Dickson