DeepMind推出乒乓機器人:媲美中級選手,全面應對各類球路

乒乓球賽事迎來人工智能選手。

如何讓機器人打乒乓球賽?

目前,乒乓球賽是巴黎奧運會的一大看點,乒乓球選手在比賽中展現出極高的體能水平、高速移動能力、對各式球的精準控制和超人的靈敏度。

也正因如此,從20世紀80年代開始,研究人員就一直將乒乓球作為機器人的基準,開發了許多乒乓球機器人,並在將球擊回對手半場、擊中目標位置、扣殺、合作對打以及乒乓球的其他許多關鍵方面取得了進展。然而,目前還沒有機器人與未見過的人類對手進行完整乒乓球比賽。

在這項研究中,通過分層和模組化策略架構、迭代定義任務分佈、模擬到模擬適配層、域隨機化、即時適應未知對手和硬體部署等技巧,Google DeepMind團隊實現了機器人與人類選手在競技乒乓球比賽中達到業餘人類水平的性能。

1. 基於技能庫的分層和模組化策略架構

低級控制器(LLC):該庫包含了各種乒乓球技能,例如正手攻球、反手定位、正手發球等。每個LLC都是一個獨立的策略,專注於特定技能的訓練。這些LLC通過神經網絡學習,並使用MuJoCo物理引擎進行模擬訓練。

高級控制器(HLC):HLC負責根據當前比賽情況和對手能力選擇最合適的LLC。它由以下幾個模組組成:

風格選擇策略:該策略根據來球的類型(發球或攻球)選擇使用正手還是反手。

旋轉分類器:該分類器判斷來球是上旋還是下旋。

LLC技能描述符:這些描述符記錄了每個LLC在不同來球條件下的性能指標,例如命中率和球落點等。

策略選擇模組:該模組根據LLC技能描述符、比賽統計數據和對手能力,生成LLC的候選列表。

LLC偏好(H-value):該模組使用梯度bandit演算法線上學習每個LLC的偏好值,並根據偏好值選擇最終的LLC。

2. 實現零樣本模擬到現實的技巧

迭代定義任務分佈:該方法從人類-人類比賽數據中收集初始球狀態數據,並在模擬環境中訓練LLC和HLC。然後將模擬訓練生成的數據添加到真實世界數據集中,並重複這個過程,逐步完善訓練任務分佈。

模擬到模擬適配層:為了解決模擬環境中上下旋球模型參數差異導致的問題,論文提出了兩種解決方案:旋轉讓正和模擬到模擬適配層。旋轉讓正通過調整LLC的訓練數據集來解決,而模擬到模擬適配層則使用FiLM層學習上下旋球之間的映射關係。

域隨機化:在訓練過程中,論文對模擬環境中的觀察噪聲、延遲、球台和球拍阻尼、摩擦等參數進行隨機化,以模擬真實世界中的不確定性。

3. 即時適應未知對手

即時追蹤比賽統計數據:HLC會即時追蹤比賽統計數據,例如機器人對手和對手的得分和失誤,並根據這些數據調整LLC的偏好值,從而適應對手的變化。

線上學習LLC偏好:通過梯度bandit演算法,HLC可以線上學習每個LLC的偏好值,並根據對手的弱點選擇更合適的LLC。

研究團隊收集少量的人與人對打數據來初始化任務條件。然後,使用強化學習(RL)在模擬中訓練智能體,並採用多種技術將策略零樣本部署到真實硬體上。這個智能體與人類玩家對打,以生成更多的訓練任務條件,然後重複訓練-部署週期。隨著機器人的進步,比賽的標準變得越來越複雜,同時仍然基於現實世界的任務條件。這種混合模擬-現實週期創建了一個自動化的任務課程,使機器人的技能隨著時間的推移而提高。

打得怎麼樣?

為了評估智能體的技能水平,機器人與29名不同技能水平的乒乓球運動員進行了競技比賽——初學者、中級、高級和高級+,這些水平是由專業乒乓球教練確定的。

面對所有對手,機器人贏得了45%的比賽和46%的單局勝利。按技能水平細分,可以看到機器人在對抗初學者時贏得了所有比賽,輸掉了所有對抗高級和高級+選手的比賽,並在對抗中級選手時贏得了55%的比賽。這強烈表明該智能體在回合中達到了中級人類玩家的水平。

研究參與者喜歡與機器人打球,在"有趣"和"吸引人"方面給它打了很高的評分。這種評分在不同技能水平上都是一致的,無論參與者是贏是輸。他們還壓倒性地回答"肯定願意"再次與機器人打球。當給與他們自由與機器人打球的時間時,他們平均玩了4分06秒,總共5分鐘。

高級選手能夠利用機器人策略中的弱點,但他們仍然喜歡與之打球。在賽後採訪中,他們認為它是一個比發球機更有活力的練習夥伴。

不足與展望

研究團隊表示,這一機器人學習系統仍存在一些### 局限性,例如對快速球和低球的反應能力有限、旋轉檢測精度低、缺乏多球策略戰術等。

未來的研究方向包括提高機器人對各種球的處理能力、學習更複雜的策略、改進運動捕捉技術等。

研究團隊還表示,該研究提出的層次化策略架構和零樣本模擬到真實的轉換方法可以應用於其他機器人學習任務。並且,即時適應技術可以幫助機器人更好地適應不斷變化的環境和任務。此外,系統設計原則對於開發高性能和魯棒的機器人學習系統也至關重要。