結合深度學習與強化學習,Google 訓練機器手臂的長期推理能力

作者 | 發布日期 2018 年 08 月 02 日 8:30 | 分類 AI 人工智慧 , Google , 機器人 line share follow us in feedly line share
結合深度學習與強化學習,Google 訓練機器手臂的長期推理能力


機器人如何學到在多樣且複雜的真實世界物體和環境中廣泛使用的技能?如果機器人設計用來在可控環境執行重複工作,那麼這工作相對來說應更簡單,如設計在管線組裝產品的機器人。但要是想設計成會觀察周圍環境,根據環境決定最佳行動,同時還能回應不可預知環境的機器人,那難度就等比級數的增長。

目前,有兩個有力的工具能幫助機器人從試驗中學習技能,一是深度學習,一是強化學習。深度學習非常適合解決非架構化的真實世界場景,而強化學習能達成較長期的推理(longer-term reasoning),同時能在一系列決策時做出更好的決策。將這兩個工具結合,就可能讓機器人從自身經驗不斷學習,使機器人透過資料,而不是人工手動定義來掌握運動感知技能。

為機器人設計強化學習演算法主要有幾個挑戰:首先真實世界物體通常有多樣視覺和物理特徵,接觸力(觸覺)的細微差異可能難以預測物體運動。同時機械臂可能會遮住視線導致難以透過視覺辨識預測物體運動。此外,機器人感測器本身充滿聲音雜訊,這也增加了演算法的複雜性。所有這些因素結合,讓設計學習通用解決方案的演算法變得異常困難,除非訓練資料夠豐富,有夠多不同種類的資料,但這使構建資料庫的時間成本變得很高。

這些難點激勵著研究者探索能重複使用以往經驗的學習演算法,比如之前 Google 設計的抓取學習演算法,就能從大型資料庫獲益。但該工作有個問題,就是機器無法推斷行動的長期後果,而長期推理對學習如何抓取物體非常重要。比如,如果多物體聚在一起,先將一個分離出來(稱作「單一化」),在抓取時會更容易,但「單一化」步驟無法直接導致抓取成功,而是有較長期的成功率提升。

▲「單一化」的例子。

為了提高效率,使用離線策略強化學習(off-policy reinforcement learning)是必須的,即能從之前幾小時、幾天或幾週的資料學習。為了設計這種從之前互動獲得大量不同經驗的離線策略強化學習演算法,Google 研究人員將大規模分散式最佳化與一個新型擬合深度 學習(new fitted deep Q-learning algorithm)演算法結合,名為 QT-Opt 。該論文目前可在 arXiv 檢視。

QT-Opt 是一種分散式 Q 學習演算法,支援連續行動空間,非常適合機器人問題。為了使用 QT-Opt,研究人員首先使用之前收集的資料完全離線訓練一個模型。這個過程並不需要執行實際的機器人,這點使該演算法更容易分散式訓練。之後,將該模型部署到真正機器人進行 finetune,這個階段使用全新資料訓練。執行 QT-Opt 算法時,同時也積累更多離線資料,使模型訓練得更好,也能得到更好的資料,這樣就形成正回饋迴圈。

為了將此方法應用到機器人抓取工作,Google 研究人員使用 7 個真實的機器人,在 4 個月裡,執行了超過 800 個機器人小時。為了啟動資料收集過程,研究人員開始時手動設計一個抓取策略,大概有 15%~30% 機率能成功完成抓取工作。當演算法學到的模型效能比手動設計的策略更好時,就將機器人的抓取策略換成學到的模型。該策略使用相機拍攝影像,之後傳回機械手臂和抓取器應如何運動的資料。整個離線訓練資料含超過 1 千種不同物體的抓取資料。

▲ 一些用來訓練抓取的物體。

過去的研究表明,跨機器人的經驗分享能加速學習過程。研究人員將訓練和資料收集的過程延伸到十塊 GPU、七個機器人和許多 CPU,最終收集並處理了一個超過 58 萬次抓取嘗試的大型資料庫。最後,研究人員成功訓練了一個能在真實機器人執行的抓取策略,能泛用化到不同種類的物體抓取,即使這些物體沒有在訓練時遇到。

▲ 七個正在採集資料的機器人。

從定量角度分析,QT-Opt 方法在訓練集沒有遇過的物體 700 次抓取嘗試中,有 96% 成功率。與之前基於監督學習的抓取方法(成功率 78%)相比,該方法將錯誤率降低了 5 倍以上。

值得注意的是,該抓取策略具標準機器人抓取系統不常見的各種封閉反應行為:

  • 面對一組互鎖無法一起拾取的物體時,策略會在拾取之前將其中一塊與其他塊分開。
  • 當抓住互相纏繞的雜亂物體時,策略會先探測不同的物體,直到手指牢牢握住其中一個,然後才抬起手臂。
  • 機器人抓到一個物體後,如果人故意將物體拍打開來以擾亂機器人(訓練時沒有這種場景),它會自動重新定位夾具,並進行另一次嘗試。

最重要的是,這些行為都不是手動設計的,都是透過 QT-Opt 自監督訓練而自動學習到的,因為這些行為能從長期角度提高模型抓取的成功率。


此外,研究人員還發現 QT-Opt 使用較少資料就達到更高成功率,儘管可能需要更長時間才能收斂。這點對機器人來說尤其令人興奮,因為訓練的瓶頸通常是如何收集到眾多真實的機器人資料,而不是訓練時間。將該方法與其他提高資料效率的技術相結合,可能會對機器人技術開闢一些新的有趣方向。Google 研究人員也正將 QT-Opt 與最近學習如何自我校準(self-calibra)工作結合,想進一步提高模型的泛用化能力。

總體而言,QT-Opt 算法是一種通用的強化學習方法,可為真實世界的機器人提供良好的效能。除了獎勵函數定義,QT-Opt 任何內容都沒有針對機器人抓取做任何設計。這是邁向更通用的機器人學習演算法的重要一步,也更期待演算法能應用到其他任何機器人工作。

(本文由 雷鋒網 授權轉載;首圖來源:shutterstock)