來源:IT之家
想打乒乓球,可以找機器人陪練了。
讓一位乒乓球愛好者和機器人對打,按照機器人的發展趨勢來看,誰輸誰贏還真說不準。
機器人擁有靈巧的可操作性、腿部運動靈活、抓握能力出色 …… 已被廣泛應用于各種挑戰任務。但在與人類互動緊密的任務中,機器人的表現又如何呢?就拿乒乓球來說,這需要雙方高度配合,并且球的運動非常快速,這對算法提出了重大挑戰。
在乒乓球比賽中,首要的就是速度和精度,這對學習算法提出了很高的要求。同時,這項運動具有高度結構化(具有固定的、可預測的環境)和多智能體協作(機器人可以與人類或其他機器人一起對打)兩大特點,使其成為研究人機交互和強化學習問題的理想實驗平臺。
來自谷歌的機器人研究團隊已經建立了這樣一個平臺來研究機器人在多人、動態和交互環境中學習所面臨的問題。谷歌為此還專門寫了一篇博客,來介紹他們一直在研究的兩個項目 Iterative-Sim2Real(i-S2R) 和 GoalsEye。i-S2R 讓機器人能夠與人類玩家進行超過 300 次的對打,而 GoalsEye 則使機器人能夠從業余愛好者那里學習到一些有用的策略(目標條件策略)。
i-S2R 策略讓機器人和人類對打,雖然機器人的握拍姿勢看起來不太專業,但也不會漏掉一個球:
你來我往,還挺像那么回事,妥妥打出了高質量球的感覺。
而 GoalsEye 策略則能將球返回到桌面指定位置,就和指哪打哪差不多:
i-S2R:利用模擬器與人類合作進行游戲
在這個項目中,機器人旨在學會與人類合作,即盡可能長時間地與人類進行對打。由于直接針對人類玩家進行訓練既乏味又耗時,因此谷歌采用了基于模擬的方法。然而,這又面臨一個新的問題,基于模擬的方法很難準確地模擬人類行為、閉環交互任務等。
在 i-S2R 中,谷歌提出了一種在人機交互任務中可以學習人類行為的模型,并在機器人乒乓球平臺上對其進行實例化。谷歌已經建立了一個系統,該系統可以與業余人類玩家一起實現高達 340 次擊球對打(如下所示)。
人與機器人對打 4 分鐘,來回多達 340 次
學習人類行為模型
讓機器人準確的學習人類行為還面臨以下問題:如果一開始就沒有足夠好的機器人策略,就無法收集關于人類如何與機器人交互的高質量數據。但是如果沒有人類行為模型,從一開始就無法獲得機器人策略,這個問題有點繞,就像先有雞還是先有蛋的問題。一種方法是直接在現實世界中訓練機器人策略,但這通常很慢,成本高昂,并且會帶來與安全相關的挑戰,當人參與其中時,這些挑戰會進一步加劇。
如下圖所示,i-S2R 使用一個簡單的人類行為模型作為近似起點,并在模擬訓練和現實世界部署之間交替進行。每次迭代中,人類行為模型和策略都會被調整。
i-S2R 方法
谷歌根據玩家類型對實驗結果進行了細分:初學者(占 40% 的玩家)、中級(占 40% 的玩家)和高級(占 20% 的玩家)。由實驗結果可得,對于初學者和中級玩家(占 80% 的玩家),i-S2R 的表現都明顯優于 S2R+FT(sim-to-real plus fine-tuning)。
按玩家類型劃分的 i-S2R 結果。
GoalsEye:可精確擊中指定位置
在 GoalsEye 中,谷歌還展示了一種方法,該方法結合了行為克隆技術(behavior cloning techniques)來學習精確的目標定位策略。
這里谷歌重點關注乒乓球的精度,他們希望機器人可以將小球精確返回到球臺上的任意指定位置,就如下圖所展示的指哪打哪。為實現如下效果,他們還采用了 LFP(Learning from Play)、GCSL(Goal-Conditioned Supervised Learning)。
GoalsEye 策略瞄準直徑為 20cm 的圓圈(左)。人類玩家可以瞄準同樣的目標(右)。
在最初的 2480 次演示中,谷歌的訓練策略僅在 9% 的時間內準確地擊中半徑為 30 厘米的圓形目標。在經過了大約 13500 次演示后,小球達到目標的準確率上升到 43%(右下圖)。