1. 程式人生 > 資訊 >《我的世界》中挖鑽石有多難:NeurIPS 挑戰賽沒有一個 AI 能在 15 分鐘內完成

《我的世界》中挖鑽石有多難:NeurIPS 挑戰賽沒有一個 AI 能在 15 分鐘內完成

從 0 開始在《我的世界》(MineCraft)中挖出一塊鑽石,需要多長時間?對於熟悉遊戲的玩家來說,可能只需要幾分鐘的時間:

▲圖源 [email protected]

然而對於 AI 來說,15 分鐘內可能都挖不出 1 塊鑽石!

為了發掘 AI 的潛力,CMU、微軟、DeepMind 和 OpenAI 聯手在頂會 NeurIPS 上舉辦了一個名叫 MineRL 的競賽,要求參賽隊伍在 4 天時間內,訓練出一個能在 15 分鐘內挖出鑽石的 AI“礦工”。

從往屆表現來看,冠軍連 40 分都拿不到,甚至舉辦方給出的 AI Baselines 只能達到 2 分左右的水準(滿分 100 分)。

今年,騰訊的絕悟 AI 卻以 76.97 分的絕對優勢一舉奪魁,成功成為挑戰賽歷史上“挖礦最迅速”的 AI。(不過,這幾屆的所有 AI,都沒能達成 15min 內挖出鑽石這一挑戰)

▲紅色為絕悟 AI 分數

騰訊 AI Lab 是怎麼拿到冠軍的?

“AI 礦工”為何難以挖出鑽石?

之所以 AI 難以在競賽中迅速挖出鑽石,主要有兩方面的原因。一方面,《我的世界》遊戲本身對 AI 有難度。

作為開放世界遊戲,它的初始世界完全隨機生成,而迅速合成鑽石又需要比較複雜的步驟:既不能只用一種工具,也不能“一挖到底”。

通常來說,從 0 開始挖鑽石最快的方法,分為 7 個步驟。第一步,玩家在空手進入《我的世界》中時,需要先找到樹上的木頭,用來獲取木塊:

第二步,將這些木塊用來合成工作臺:

第三步,在工作臺上合成木鎬,用來挖原石:

第四步,獲得原石之後,需要合成一個石鎬,用來快速挖鐵礦:

第五步,為了將鐵礦合成鐵錠,還需要做一個熔爐來燒鐵:

第六步,合成鐵鎬,用來挖出鑽石:

第七步,尋找鑽石,並用鐵鎬來挖出最終的鑽石:

看到這裡,就知道挖礦對於 AI 來說,已經很複雜了,不僅面臨大量決策,還需要考慮時間問題。

另一方面,為了增加難度,舉辦方還特意給“AI 礦工”們增加了不少限制。

禁止參賽者編寫規則、遊戲環境將揹包資訊與動作空間加密、不允許使用預訓練模型、AI 與環境互動不超過 800 萬次、只能使用 6 核 CPU + 半張 NVIDIA K80 顯示卡訓練 4 天……

當然,這樣做是為了讓各大高校的學生也有能力參與這次挑戰賽,不至於出現硬體上“軍備競賽”的問題。

面對來自遊戲和舉辦方的“挑戰”,騰訊的絕悟 AI 是如何成為一名優秀礦工的?

如何讓 AI 更快地挖礦?

首先,是整體訓練策略的問題

要想讓 AI 在短時間、少算力的情況下變得會挖礦,首先就要改變訓練策略。

這種情況下,不可能再用強化學習對 AI 進行整體訓練。

因此,騰訊 AI Lab 將強化學習進行了“升級”,提出了一種基於分層強化學習(Hierarchical Reinforcement Learning)的方法。

簡單來說,就是將挖出鑽石的過程像人一樣分成幾個具體的步驟,每個步驟都有一個“小目標”,讓 AI 在完成一個目標後,能迅速地實施下一個目標。

然後,就是三個細節上的問題了。

其一,開放地圖的理解問題。由於表示學習在《我的世界》這樣的 3D 場景中效果很差,騰訊 AI Lab 設計了一種基於動作感知的演算法,來捕捉每個動作對環境的影響。

這種方法快速地提升了 AI 在開放世界中獲取資源的速度。

其二,策略選擇問題。在遊戲進行到一定階段後,AI 與人的思路會發生一些差異,僅憑人類資料訓練,對 AI 的提升作用有限。為此,騰訊 AI Lab 採用了自模仿學習的演算法,從自己的實踐中獲得教訓和經驗,來降低進入危險區域、做出錯誤決策的概率。

其三,合成物品問題。合成物品對於人類來說非常簡單,然而 AI 卻總是不容易合成它,成功率一開始甚至只有 35% 左右。為此,騰訊 AI Lab 採用了動作序列一致性過濾(Consistency Filtering)+ 基於投票的整合學習(Ensemble Learning)方法,最終將合成物品的成功率提升到 96%。

最終在評分中,絕悟 AI 的分數達到了 76.97 分

事實上,在遊戲 AI 上一路向前的“絕悟”,已經歷了數次進化。從最初攻克 Atari 遊戲開始,到後來的棋牌遊戲 AI“絕藝”,掌握一手圍棋、象棋、麻將的絕活。再到現在的策略協作型 AI“絕悟”,從 MOBA、FPS 再到開放世界遊戲《我的世界》,這個基於強化學習訓練的智慧體正在變得愈發複雜。

這次的《我的世界》版絕悟 AI 論文也已經放出,感興趣的小夥伴可以衝了~

《我的世界》版絕悟 AI 論文地址:

https://arxiv.org/abs/2112.04907

參考連結:

[1]https://www.youtube.com/watch?v=CnKJgA93hyY

[2]https://www.aicrowd.com/challenges/neurips-2021-minerl-diamond-competition#team

[3]https://www.aicrowd.com/challenges/neurips-2021-minerl-diamond-competition/leaderboards?challenge_round_id=956