機器之心專欄作者:MIT CSAIL「PlasticineLab」的提出,或為軟體動力學領域的眾多研究提供了新思路。虛擬環境(ALE、MuJoCo、OpenAI Gym)極大地促進了在智慧體控制和規劃方面學習
2021-06-21 14:45:57
機器之心專欄
作者:MIT CSAIL
「PlasticineLab」的提出,或為軟體動力學領域的眾多研究提供了新思路。
虛擬環境(ALE、MuJoCo、OpenAI Gym)極大地促進了在智慧體控制和規劃方面學習演算法的發展和評估,然而現有的虛擬環境通常只涉及剛體動力學。儘管軟體動力學在多個研究領域有著廣泛的應用(例如,醫療護理中模擬虛擬手術、計算機圖形學中模擬人形角色、機器人技術中開發仿生制動器、材料科學中分析斷裂和撕裂),關於構建標準軟體環境和基準的研究卻很少。
與剛體動力學相比,軟體動力學的模擬、控制和分析更加錯綜複雜。最大的挑戰之一來自其無限的自由度(DoFs)和對應的高維控制方程。軟體動力學的內在複雜性使許多為剛體設計的機器人演算法無法直接應用,並抑制了用於評估軟體任務演算法的模擬基準的發展。
在一項近期研究中,MIT 沃森人工智慧實驗室首席科學家淦創團隊與來自MIT, USCD等機構的研究者共同提出了一個支援梯度可導的機器人軟體操作平臺(PlasticineLab) 來解決這個問題。這篇論文內容在 ICLR 2021 大會上被選為spotlight。
論文地址:https://arxiv.org/pdf/2104.03311.pdf項目連結:http://plasticinelab.csail.mit.edu/Code 下載:https://github.com/hzaskywalker/PlasticineLab
該基準可用於運行和評估總共 10 種軟體操作任務,這些任務包含 50 種配置,必須通過複雜的操作來執行,包括捏、滾、切、成型和雕刻。其特點在於模擬環境採用可微物理,並且首次為軟體分析提供梯度資訊,從而可以通過基於梯度的優化進行監督學習。在軟體模型方面,我們選擇了研究橡皮泥(圖 1 左),這是一種用於雕刻的多功能彈塑性材料,在小變形下表現為彈性形變,在大變形下表現為塑性形變。與常規彈性軟體相比,橡皮泥具有更加多樣和真實的行為,並帶來了先前研究中未探索的挑戰,使其成為測試軟體操作演算法的代表性媒介(圖 1 右)。
圖 1 左:一個孩子用擀麵杖將一塊橡皮泥變形成薄餅。右:PlasticineLab 中具有挑戰性的 RollingPin 場景。智慧體需要通過來回滾動擀麵杖,使橡皮泥變形為目標形狀。
我們通過 Taichi 實現 PlasticineLab 的梯度支援和彈塑性材料模型,其 CUDA 後端採用 GPU 大規模並行來實時模擬各種 3D 軟體。隨後通過移動最小二乘材料點法和 von Mises 屈服準則對彈塑性材料進行建模,並利用 Taichi 的雙尺度反向模式微分系統來自動計算梯度,包括塑性材料模型帶來的具有數值挑戰性的 SVD 梯度。具備完整的梯度後,我們在 PlasticineLab 中所有軟體操作任務上評估了基於梯度的規劃演算法,並將其效率與基於強化學習的方法進行了比較。
實驗表明,基於梯度的規劃演算法可以利用物理模型的額外知識在數十次迭代中找到更有價值的解決方案,而基於強化學習的方法即使在 1 萬次迭代之後仍可能會失敗。但是基於梯度的方法缺乏足夠的動力來解決長期規劃問題,尤其是在多階段任務上。
這些發現加深了對基於強化學習和基於梯度的規劃演算法的理解。此外,它還提供了一個可能的研究方向,即融合這兩種方法的優點來推進軟體動力學複雜規劃任務的發展。這項工作主要有以下幾點貢獻:
提出了首個涉及彈性和塑性軟體的技能學習基準。開發了一個功能齊全的可微物理引擎,它支援彈性和塑性變形、軟剛性材料相互作用,以及可微的定製接觸模型。基準中廣泛的任務覆蓋範圍能夠對代表性基於強化學習和基於梯度的規劃演算法進行系統的評估和分析。我們希望該基準可以激發未來的研究,將可微物理和強化學習相結合。
我們還計劃通過更多的關節系統來擴展基準測試,例如虛擬影子手。作為一種起源於計算物理界的原理性模擬方法,MPM 在細化下可收斂,並且具有自身的精度優勢。建模錯誤在虛擬環境中不可避免,不過,模擬梯度資訊除了作為規劃的強大監督訊號外,還可以指導系統識別。這可能使機器人學研究人員能夠自己「優化」任務,與控制器優化同時進行,從而自動最小化模擬與真實之間的差距。PlasticineLab 可以顯著降低未來軟體操縱技能學習研究的障礙,併為機器學習社群做出獨特貢獻。
PLASTICINELAB 學習環境
PlasticineLab 包含由可微物理模擬器支援的具有挑戰性的軟體操作任務,其中的所有任務都需要智慧體使用剛體操縱器將一塊或多塊 3D 橡皮泥變形。底層模擬器允許使用者對軟體執行復雜的操作,包括捏、滾、切、成型和雕刻。
任務描述
PlasticineLab 具有 10 種側重於軟體操作的任務。每個任務都包含一個或多個軟體和一個操縱器,最終目標是通過規劃操縱器的運動將軟體變形為目標形狀。智慧體的設計遵循標準的強化學習框架,通過馬爾可夫決策過程進行建模。每個任務的設計由其狀態和觀察、動作表徵、目標定義以及獎勵函數來定義。
馬爾可夫決策過程
一般來說,馬爾可夫決策過程包含狀態空間
、動作空間
、獎勵函數
和轉換函數
。在 PlasticineLab 中,物理模擬器決定了狀態之間的轉換。智慧體的目標是找到一個隨機策略
,根據給定狀態
對動作
進行取樣,從而最大化預期累積未來回報
,其中
為折扣因子。
狀態
任務的狀態包括軟體的正確表徵和操縱器的末端執行器。我們遵循先前工作中廣泛使用的基於粒子的模擬方法,將軟體物體表示為一個粒子系統,其狀態包括粒子的位置、速度以及應變和應力資訊。具體來說,粒子狀態被編碼為大小為
的矩陣,其中
是粒子的數量。矩陣中的每一行都包含來自單個粒子的資訊:兩個表示位置和速度的 3D 向量,兩個表示形變梯度和仿射速度場的 3D 矩陣,所有資訊堆疊並壓平為一個
維向量。
作為運動學剛體,操縱器的末端執行器由 7D 向量表示,由 3D 位置和 4D 四元數方向組成,儘管在某些場景中可能會禁用某些自由度。對於每個任務,該表徵會產生一個
矩陣來編碼操縱器的完整狀態,其中
為任務中所需的操縱器數量,
為3或7,取決於操縱器是否需要旋轉。關於軟體和操縱器之間的互動,我們實現了剛體和軟體之間的單向耦合,並固定了所有其他物理參數,例如粒子質量和操縱器摩擦力。
觀察
雖然粒子狀態完全表徵了軟體動力學,但其高自由度對於任何直接使用的規劃和控制演算法都難以處理。因此,我們下采樣
個粒子作為標識,並將它們的位置和速度(每個標識為 6D)疊加到大小為
的矩陣中,用作粒子系統的觀察。值得注意的是,同一任務中的標識在橡皮泥的初始配置中具有固定的相對位置,從而在任務的不同配置中實現一致的粒子觀察。結合粒子觀察和操縱器狀態,我們最終得到的觀察向量具有
個元素。
動作
在每個時間步長,智慧體以運動學的方式更新操縱器的線速度(必要時也包括角速度),得到大小為
的動作,其中
為3或6,取決於操縱器是否能否旋轉。對於每個任務,我們提供全局
,動作的下限和上限以穩定物理模擬。
目標和獎勵
每個任務都具備一個由質量張量表示的目標形狀,它本質上是將其密度場離散為大小為
的規則網格。在每個時間步長t,我們計算當前軟體
的質量張量。將目標和當前形狀離散為網格表示,便於我們通過比較相同位置的密度來定義它們的相似性,避免匹配粒子系統或點雲的挑戰性問題。獎勵函數的完整定義包括一個相似性度量以及兩個關於操縱器高層次運動的正則化器:
其中,
為兩個形狀的質量張量之間的
距離,
為兩個形狀質量張量的帶符號距離場的點積,
鼓勵操縱器靠近軟體。對於所有任務,正權重
都是常數。偏差
確保每個環境最初的獎勵為非負值。
評估元件
PlasticineLab 共包含 10 種不同的任務(圖 2)。我們在這裡描述了 4 個具有代表性的任務,其餘 6 個任務在附錄 B 中有詳細說明。
這些任務及其不同配置下的變體形成了一套評估元件,用於對軟體操作演算法的效能進行基準測試。每個任務有 5 種變體(總共 50 種配置),通過擾動初始和目標形狀以及操縱器的初始位置生成。
圖 2 PlasticineLab 的任務和參考解決方案,其中某些任務需要多階段規劃。
Rope 智慧體需要通過兩個球形操縱器將一根長繩狀橡皮泥纏繞在一根剛性柱子上。支柱的位置在不同的配置中有所不同。
Writer 智慧體需要操縱一支「筆」(通過一個垂直膠囊表示),在立方橡皮泥上繪製目標塗鴉。對於每種配置,我們通過在橡皮泥表面上繪製隨機 2D 線條來生成塗鴉。筆尖通過三維動作進行控制。
Chopsticks 智慧體需要使用一雙筷子(通過兩個平行膠囊表示),拿起地上的長繩狀橡皮泥並將其旋轉到目標位置。操縱器具有 7 個自由度:6 個自由度用於移動和旋轉筷子,1 個自由度用於控制每根筷子之間的距離。
RollingPin 智慧體需要學習用剛性擀麵杖壓平「比薩麵糰」(通過立方橡皮泥表示)。我們通過具有 3 個自由度的膠囊模擬擀麵杖:1)擀麵杖可以垂直下降以按壓麵糰;2)擀麵杖可沿垂直軸旋轉以改變其方向;3)智慧體也可以將擀麵杖在橡皮泥上滾動以將其壓平。
可微彈塑性模擬
該模擬器通過 Taichi 實現並在 CUDA 上運行。連續介質力學通過移動最小二乘材料點法進行離散化,這是一種計算機圖形學中相比 B 樣條材料點法更簡單、更有效的變體。模擬器中同時使用了拉格朗日粒子和尤拉背景網格。材料的屬性包括位置、速度、質量、密度和形變梯度。這些屬性儲存在與材料一起移動的拉格朗日粒子上,而粒子與剛體的相互作用和碰撞在背景尤拉網格上處理。
在這裡我們專注於材料模型的(可微分)可塑性擴展,作為橡皮泥的一個定義特徵,利用 Taichi 的反向模式自動微分系統進行大多數梯度評估。
von Mises 屈服準則
遵循 Gao 等人的工作,我們使用簡單的 von Mises 屈服準則來模擬塑性。根據 von Mises 屈服準則,橡皮泥粒子在其偏應力第二個不變數超過某個閾值時屈服(即塑性變形),並且由於材料「忘記「了其靜止狀態,因此需要對形變梯度進行投影。此過程在 MPM 文獻中通常稱為返回對映。
返回對映及其梯度
遵循 Klar 等人和 Gao 等人的工作,我們將返回對映實現為每個粒子形變梯度奇異值的 3D 投影過程。這意味著我們需要對粒子的形變梯度進行奇異值分解(SVD)過程,研究者在附錄 A 中提供了該過程的虛擬碼。對於反向傳播,需要評估 SVD 的梯度。Taichi 內部的 SVD 演算法具有迭代性,當用蠻力的方式自動微分時,它的數值並不穩定。我們使用 Townsend 等人提出的方法來區分 SVD。對於奇異值不明顯時分母為零的問題,遵循 Jiang 等人的方法促使分母的絕對值大於
。
可微接觸模型及其軟體版本
遵循標準的 MPM 實現,使用庫侖摩擦基於網格的接觸處理來解決軟體與地板和剛體障礙物 / 操縱者的碰撞。剛體表示為隨時間變化的 SDFs。在經典的 MPM 中,接觸處理會導致沿剛軟邊界的速度發生劇烈的非平滑變化。為了提高獎勵平滑度和梯度質量,我們在反向傳播過程中使用了軟化接觸模型。對於任何網格點,模擬器計算其到剛體的有符號距離。然後我們計算一個平滑碰撞強度因子
,當逐步衰減到 0 時,該因子呈指數增加。直觀來說,當剛體靠近網格點時,碰撞效果會變得更強。正參數
決定了軟化接觸模型的銳度。我們使用因子線性混合碰撞投影前後的網格點速度,帶來邊界周圍的平滑過渡區以及更好的接觸梯度。
實驗
評估指標
首先為每個任務生成 5 個配置,從而生成 50 個不同的強化學習配置。我們計算歸一化增量 IoU 分數來衡量狀態是否達到目標,並使用軟 IoU 來評估當前狀態和目標之間的距離。首先提取網格質量張量,即所有網格的質量。每個非負值
表示儲存於網格點
中的材料數量。令兩個狀態的 3D 質量張量分別為
和
。我們首先將每個張量除以它們的最大幅度以將其值歸一化為:
然後,兩種狀態的軟化 IoU 通過
進行計算。歸一化增量 IoU 分數用於衡量在結束時 IoU 比初始狀態時增加了多少。對於初始狀態
,結束時最後狀態
以及目標狀態
,歸一化增量 IoU 分數定義為
。對於每項任務,我們在 5 種配置上評估演算法並計算代數平均分數。
評估強化學習
隨後是在本文提出的任務上評估現有強化學習演算法的效能。我們使用三種 SOTA 無模型強化學習演算法:Soft Actor-Critic(SAC),Twin Delayed DDPG(TD3)和 Policy Proximal Optimization(PPO)。在每個配置上訓練每個演算法 10000 輪,每輪包含 50 個環境步驟。
圖 3 展示了在每個場景上各種強化學習演算法的歸一化增量 IoU 分數。大多數強化學習演算法可以在 Move 任務上學習到合理的策略。然而強化學習演算法很難準確匹配目標形狀,這會導致最終形狀匹配中的一個小缺陷。我們注意到智慧體在探索過程中經常釋放物體,使得橡皮泥在重力作用下自由落體。然後智慧體重新抓取橡皮泥變得具有挑戰性,導致訓練不穩定和令人不滿意的結果。在 Rope 任務中,智慧體可以將繩子推向柱子並獲得部分獎勵,但最終無法將繩子成功繞在柱子上。TripleMove 任務增加了操縱器和立體橡皮泥的數量,對強化學習演算法帶來了更大的困難,揭示了演算法在擴展到高維任務方面的不足。在 Torus 任務中,演算法效能似乎取決於初始策略。它們有時可以找到一個合適的方向按壓操縱器,但有時因為操縱器從不接觸橡皮泥而失敗,從而導致顯著的最終得分差異。PPO 的效能優於其他兩個,在 RollingPin 任務中,SAC 和 PPO 智慧體都能找到來回壓平面團的策略,但 PPO 生成了更準確的形狀,從而具有更高的歸一化增量 IoU 分數。我們猜測此處的環境更傾向於 PPO 演算法,而不依賴於 MLP 評價網路。這可能是因為 PPO 受益於 on-policy 樣本,而 MPL 評價網路可能無法很好地捕捉詳細的形狀變化。
圖 3 強化學習方法在 104 個 epoch 內獲得的最終歸一化增量 IoU 分數,低於 0 的分數被限制。橙色虛線表示理論上限。
在一些更難的任務中,例如需要智慧體仔細處理 3D 旋轉的 Chopsticks 任務,以及需要智慧體規劃複雜軌跡以繪製痕跡的 Writer 任務,被測試的演算法很少能夠在有限的時間內找到合理的解決方案。在 Assembly 任務中,所有智慧體很容易陷入局部最小值。它們通常將球形橡皮泥移動到目的地附近,但未能將其擡起以得到理想的 IoU。我們期望精心設計的獎勵塑造,更好的網路架構和細粒度的參數調整可能對環境有益。總而言之,可塑性以及軟體的高自由度對強化學習演算法提出了新的挑戰。
評估軌跡優化
由於 PlasticineLab 內建可微物理引擎,我們可以使用基於梯度的優化為任務規劃開環動作序列。在基於梯度的優化中,對於從狀態開始的某個配置,初始化一個隨機動作序列
。模擬器將模擬整個軌跡,在每個時間步長累積獎勵,並進行反向傳播以計算所有動作的梯度。然後我們使用基於梯度的優化方法來最大化獎勵總和。假設環境的所有資訊已知。這種方法的目標不是找到可以在現實世界中執行的控制器。相反,我們希望可微物理可以有助於有效找到解決方案,併為其他控制或強化 / 模仿學習演算法鋪墊基礎。
在圖 4 中,我們通過繪製獎勵曲線來證明可微物理的優化效率,並比較不同梯度下降變體的效能。我們測試 Adam 優化器(Adam)和帶動量梯度下降(GD),使用軟接觸模型來計算梯度,將 Adam 優化器與硬接觸模型(Adam-H)進行比較。對於每個優化器,我們適度為每個任務選擇 0.1 或 0.01 的學習率來處理不同任務的不同獎勵程度。值得注意的是,此處僅使用軟接觸模型來計算梯度並搜尋解決方案。
我們在硬接觸環境中評估所有解決方案。在圖 4 中,額外繪製了強化學習演算法的訓練曲線,以證明基於梯度的優化的效率。結果表明,基於優化的方法可以在數十次迭代內找到具有挑戰性任務的解決方案。Adam 在大多數任務中都優於 GD。這可能歸因於 Adam 的自適應學習率縮放特性,它更適合高維物理過程的複雜損失面。在大多數任務中,硬接觸模型(Adam-H)的表現不如軟模型(Adam),這驗證了軟模型通常更容易優化的直覺。
圖 4 在每個任務中獎勵及其方差隨訓練 episode 數量的變化。將獎勵限制為大於 0 以便更好的說明。
表 1 列出了所有方法的歸一化增量 IoU 分數以及標準方差。模型的全部知識為可微物理提供了獲得更有價值結果的機會。用 Adam 梯度下降可以在 Rope 任務中找到移動繩子並繞上柱子的方法,在 Assembly 任務中跳過次優解,將球體放在盒子上方,並且在 Chopsticks 任務中能夠用筷子夾起繩子。即使對於 Move 任務也能夠更好地與目標形狀對齊和更穩定的優化過程,獲得更好的效能。
對於基於梯度的方法,某些任務仍然具有挑戰性。在 TripleMove 任務中,優化器將粒子與最近目標形狀的距離最小化,這通常會導致兩個或三個橡皮泥聚集到同一個目標位置。對於沒有探索能力的基於梯度的方法來說,跳出這種局部最小值並不容易。優化器在需要多階段策略的任務上也會失敗,例如 Pinch 和 Writer 任務。在 Pinch 任務中操縱器需要按下物體,鬆開它們,然後再次按下。然而在操縱器和橡皮泥第一次接觸後,球形操縱器任何局部擾動都不會立即增加獎勵,優化器最終停滯。我們還注意到基於梯度的方法對初始化非常敏感。實驗將動作序列初始化為 0 左右,這在大多數環境中都具有良好的效能。
表 1 每種方法的平均歸一化增量 IoU 分數和標準方差。Adam-H 表示使用 Adam 優化器對硬接觸模型進行優化。基於強化學習的方法使用 10000 個 episode 進行訓練,基於梯度的方法使用 200 個 episode 進行優化。
潛在研究問題
該環境為基於學習的軟體操作提供了豐富的研究機遇。實驗表明,微分物理學能夠使基於梯度的軌跡優化演算法以極快的速度解決簡單的規劃任務,因為梯度為改進策略提供了強大而清晰的指導。但是,如果任務涉及操縱器和橡皮泥之間的分離和重新連線,則梯度會消失。當無法使用基於局部擾動分析的基於梯度的優化時,我們可能會考慮那些允許多步探索並累積獎勵的方法,例如隨機搜尋和強化學習。
因此,如何將可微物理與基於取樣的方法相結合來解決軟體操作規劃問題,會非常有趣。除了規劃問題之外,研究如何在這種環境中設計和學習有效的軟體操縱控制器也非常有趣。實驗結果表明控制器設計和優化仍有足夠的改進空間,可能的方向包括為強化學習設計更好的獎勵函數和研究合適的 3D 深度神經網路結構以捕獲軟體動力學。
第三個有趣的方向是將 PlasticineLab 中訓練有素的策略轉移到現實世界中。雖然這個問題在很大程度上未被探索,但我們相信我們的模擬器可以在各種方面提供幫助:
1. 如 Gaume 等人所示,MPM 模擬結果可以準確匹配現實世界。在未來的工作中,我們可能會使用模擬器為複雜任務規劃一個高階軌跡,然後結合低階控制器來執行規劃;
2. 該微分模擬器可以計算物理參數的梯度並優化參數以擬合數據,這可能有助於縮小 sim2real 差距;
3.PlasticineLab 還可以結合域隨機化和其他 sim2real 方法。可以在該模擬器中自定義物理參數和影象渲染器以實現域隨機化。我們希望該模擬器可以作為一個很好的工具來研究現實世界的軟體操作問題。
最後,泛化性是一個重要的探索方向。該研究的平臺支援過程生成,可以生成和模擬不同物體的各種配置,評估不同演算法的通用性。PlasticineLab 也為設計豐富的目標條件任務提供了良好的平臺。
相關文章
機器之心專欄作者:MIT CSAIL「PlasticineLab」的提出,或為軟體動力學領域的眾多研究提供了新思路。虛擬環境(ALE、MuJoCo、OpenAI Gym)極大地促進了在智慧體控制和規劃方面學習
2021-06-21 14:45:57
臺積電(TSMC)作為目前全球最大的晶圓代工廠,一直在按部就班推進新工藝的研發。據Digitime報道,半導體產業鏈的訊息指出,臺積電有望在第三季度開始使用N4工藝生產。N4屬於N5系列,該
2021-06-21 14:45:27
果粉之家,專業蘋果手機技術研究十年!您身邊的蘋果專家~說到iOS系統的bug,相信不少小夥伴都能列舉幾個出來!近日,推特上一名暱稱為Carl Schou的安全人員分享了一個在iPhone上出現
2021-06-21 14:45:21
如果要說INNO3D映眾旗下的顯示卡系列中哪一個在使用者群體中知名度最高的,那非ICHILL冰龍系列莫屬了。其實映眾除了冰龍系列之外,作為後起之秀的黑金至尊系列也同樣有著自己獨
2021-06-21 14:44:40
在6月2日的HarmonyOS全場景釋出會上,華為消費者業務CEO餘承東,還給我們帶來了一顆彩蛋:公佈了華為新一代旗艦P50系列的外觀設計。餘承東同時也表示,P50系列釋出日期待定,而這款產
2021-06-21 14:44:22
對於多數公司來說,辦公室裡通常會只採用一些簡裝的轉椅,先不說外觀、功能如何,單就舒適度而言,就沒太沾邊。畢竟公司採購辦公用品,最大程度的還是考慮預算。就拿筆者來說,受工作性
2021-06-21 14:25:40