乒乓球AI機器人贏了人類!正反手靈活轉換,擦網球高球都能接,專業教練:達到中級選手水平

白交 西風 發自 凹非寺

量子位 | 公眾號 QbitAI

巴黎奧運會乒乓球團體賽如火如荼,Google機器人申請出戰——

首個達到人類競技水平的機器人Agent發佈!

你看一個沒留神,就贏了專業教練一球!

正反手快速轉換,連續進攻也是不在話下~

面對一些突發戰術,比如長球高球擦網球,也能沉穩應對。

實際測試中,機器人實時適應不同選手風格,最終贏下了與初學者的所有比賽,同中級玩家對打也有55%的勝率。

小小乒乓球,拿下!

與它對陣的美國乒乓球明星Barney J. Reed給予了高度評價:超出預期,這個機器人已經達到中級水平

看完它的表現,網民們紛紛表示:可以買嗎?想要。

遭遇戰也能從容應對

乒乓球是一項對體力和戰略、技巧等各方面綜合要求很高的運動,人類也往往要經過多年訓練才能掌握。

因此,不同於像象棋、圍棋這種純戰略遊戲,對於機器人而言,乒乓球成為考驗其綜合能力的重要基準,比如高速運動、實時的精準控制、戰略決策、系統設計等等。

舉個例子,面對球的不同落點,機器人需要快速移動位置;面對明顯的出界球,機器人應該選擇不接。

團隊找到了29個不同技能水平的乒乓球運動員進行了比賽,包括初學者、中級、高級和高級以上。

人類與機器人進行了3場比賽,比賽遵循標準乒乓球規則。(不過由於機器人無法發球,整場由人類來發球)

在此之前,其實也有相應的乒乓球機器人研究,此次Google機器人的特別之處在於,它能夠同從未見過的人類進行全面的競技對決。

人類的各種打球風格,它都能快速適應。

比如看這位選手,比賽剛開局機器人明顯還在適應過程中,人類以9比2的大比數擊敗機器人。

但就在下一局之後,機器人明顯熟悉了對手風格,始終在緊緊追著比數。雙方打得也是有來有往。

最終在所有對手中,機器人贏得了所有初學者比賽,在與中級選手的比賽中勝率為55%。

雖然目前機器人還沒有辦法戰勝高級選手,但在人類的各種反饋中,可以看到,大家都很樂意同這個機器人玩耍。

小小乒乓球,如何拿下?

在介紹方法前,先來看一眼乒乓球機器人的硬件配置。

主體採用的是6自由度的瑞士公司ABB 1100機械臂,裝置在兩個Festo直線導軌上,使其能夠在平面內移動。橫向移動導軌長4米,縱向移動導軌長2米。

機械臂上裝配了一個3D打印的球拍手柄和一個覆蓋短顆粒膠皮的球拍。

就是這麼個小登西,是如何學會打乒乓球的?

總結來說,使用了結合強化學習模仿學習的混合訓練方法。

團隊設計了分層和模塊化的策略架構,Agent包括一個低級技能庫(LLC)和一個高級控製器(HLC)

LLC是一組專門的策略,每個策略都經過訓練來執行特定的乒乓球技能,如正手擊球、反手擊球、發球等。這些LLC使用CNN架構,通過仿真環境中的進化策略算法進行訓練。

訓練過程採用了從真實世界收集的球狀態數據集,以確保模擬環境與真實環境的一致性。

而HLC負責在每次來球時選擇最合適的LLC

包含多個組件:風葛斯略,用於選擇正手或反手;旋轉分類器,用於識別來球的旋轉類型;LLC技能描述符,描述每個LLC的能力;一組啟髮式策略,用於根據當前情況shortlist候選LLC。

HLC還使用在線學習的LLC偏好來適應對手的特點和彌補仿真到現實的差距。

具體來說,團隊先是收集了少量人類比賽數據,設置初始化任務條件,然後用強化學習在模擬環境中訓練一個Agent,再將策略零樣本部署到真實世界中。

其中使用MuJoCo物理引擎精確模擬球和機器人動力學,包括空氣阻力、Magnus效應等,還設計處理了上旋球「校正」,通過在仿真中切換不同的球拍參數來模擬真實世界中的上旋和下旋效果。

在Agent和人類不斷對打的過程中,可以生成更多的訓練任務條件,並重覆訓練-部署。

機器人技能逐漸提升,比賽也逐漸變得複雜,但仍基於現實世界的任務條件。機器人收集完數據,還能發現其能力的不足,隨後通過在模擬環境中持續訓練來彌補這些缺陷。

通過這種方法,機器人的技能可以在模擬與現實相結合的循環過程,自動迭代改進。

此外,這個機器人還能追蹤對手的行為和打法來適應不同的對手,比如對手傾向於將球打回桌子的哪一。

由此能夠嘗試不同的技巧,監控自己的成功率,並實時調整策略。

在和人類對打實驗中,團隊也發現這個機器人有個弱點:不擅長處理下旋球。

按照對球旋轉的估計,繪製機器人的上台率圖,結果當面對更多下旋球時,其上台率顯著下降。

研究人員表示,機器人在處理弧線低且接近球桌的球時,為避免撞擊到球桌,很難處理好,而且在實時確定球的旋轉類型上也存在局限。

搞乒乓球機器人,Google不是第一次

研究機器人打乒乓球,Google很久前就開始了。團隊相關研究還有一籮筐:

比如Google之前的i-Sim2Real研究中,訓練的機器人與人類打球,最多可連續打340次不落地,相當於連續打了4分鐘+。

其他團隊也有過乒乓球機器人,比如這樣嬸兒的,還能發球:

以及像日本國家隊和中國台灣的隊伍,也都有拿機器人來陪練自家奧運選手。

那麼有小夥伴就疑惑了,跟Google此次發佈的機器人有什麼區別?

有網民給出瞭解釋:

Google這次是關於AI Agent,通過影片輸入來工作,而非預編程算法。

所以,什麼時候能看到跟咱們國家隊對打?(Doge)

項目主頁:https://sites.google.com/view/competitive-robot-table-tennis/home?utm_source&utm_medium&utm_campaign&utm_content&pli=1

參考鏈接:

[1]https://x.com/GoogleDeepMind/status/1821562365931855970

[2]https://x.com/arankomatsuzaki/status/1821360354653344190

[3]https://x.com/lgraesser3/status/1547942995139301376

[4]https://www.reddit.com/r/singularity/comments/1en8vrg/google_deepminds_aipowered_robot_plays_table/

[5]https://www.youtube.com/watch?v=u3L8vGMDYD8