只需不到10小時訓練FB的AI就能教會機器人如何開瓶
擁有雙臂的機器人如何去完成像打開瓶蓋這樣的任務呢?按理說,應該與人類動作流程差不多:它需要先用一隻手握住瓶子的底部,然後用另一隻手抓住瓶蓋並將其擰下來。這種高層次的步驟序列就是我們所熟知的模式,而且它不受操控對象的幾何和空間狀態影響。
另外一個好處是,與旨在通過學習策略來解決任務的強化學習技術不同,模式不需要在數小時、數週甚至數月的學習過程中攝取數以百萬計的示例進行訓練。
最近,Facebook AI研究院(FAIR)的一個團隊試圖向兩個機器人Sawyer手臂灌輸從庫中選擇適當技能步驟以完成目標的能力。在每個時間步驟裡,這兩個機器手臂必須決定使用哪種技能以及使用哪些參數(例如施加力的位置、用力程度或移動這些目標的姿勢)。儘管涉及到許多複雜的問題,但該團隊表示,他們的方法提高了學習效率,使得機器人在經過短短幾個小時的培訓後就可以獲得操縱對象的技能。
Facebook研究團隊獲得的關鍵經驗是,對於許多任務,學習過程可以分為兩個部分:1)學習任務模式;2)學習為不同技能選擇適當參數化的策略。他們斷言,這種方法會促使機器人獲得更快的學習效率,部分原因是來自給定任務的不同版本數據可以用於提高共享技能。此外,這種方法允許在相關任務之間轉移學習模式。
圖2:Facebook AI研究院的機器人手臂
詳細介紹這項研究的論文的合著者解釋稱:“舉例來說,假設我們已經學會了一個很好的模式,可以在模擬過程中拾取一個長條。在那裡我們可以了解操作對象的姿勢、幾何形狀以及更多信息。然後,我們可以在相關任務中重複使用該模式,例如在現實世界中僅從原始圖片觀察中拾取托盤,即使狀態空間和最佳參數化(例如抓取姿勢)都有很大不同。由於模式是固定的,因此托盤拾取任務的策略學習將非常有效,因為它只需要學習每項技能的參數。”
研究人員為上述兩個機器臂提供了一個通用的技能庫,如扭轉、舉起和伸手,它們必須將這些技能應用於幾個涉及不同對象、幾何形狀和初始姿勢的橫向提升、拾取、打開和旋轉任務中。通過使用低維輸入數據,如幾何和本體感受特徵(關節位置、關節速度、末端效應器姿勢)進行訓練,在MuJoCo(模擬環境)中學習模式,然後在模擬和現實世界中將其轉換為視覺輸入操作。
在實驗過程中,Sawyer手臂配備了攝像頭,並由Facebook的PyRobot開源機器人平台控制,其任務是操縱9個家庭物品(如滾針、足球、玻璃罐和T形扳手),這些物品需要兩個平行的下顎夾鉗才能與之交互。儘管不得不從原始的視覺圖像中學習,但他們表示,其AI系統使用2000種技能學習操作大多數對象,在大約4到10個小時的培訓中,成功率超過90%。
研究人員寫道:“我們已經研究瞭如何利用與狀態無關的技能序列來極大地提高無模型強化學習的樣本效率。此外,我們已經在實驗中證明,將在模擬中學到的技能序列轉移到現實世界的任務中,使我們能夠非常有效地解決圖像中的稀疏獎勵問題,從而使訓練真正的機器人執行複雜技能成為可能。”