在《我的世界》裡挖鑽石把AI難哭了,DeepMind最新演算法終於扳回顏面

魚羊 Alex 發自 凹非寺

又一個AI老大難問題,被DeepMind攻克了:

一隻名叫DreamerV3的AI,在什麼也不知道的情況下被丟進《我的世界》(MineCraft)裡,摸爬滾打17天,還真就學會了如何從0開始挖鑽石。

就是從擼樹開始的那種

要知道,之前為了攻克這個問題,CMU、微軟、DeepMind和OpenAI還聯手在NeurIPS上拉了個比賽,叫MineRL。

結果搞了三四年,AI們也沒能在不參考人類經驗的情況下,完成挖鑽石任務。

此前表現最好的VPT選手,為了達成這一成就,可是狂看了70000+小時《我的世界》遊戲視訊,並且用上了720個V100……

這不DeepMind的最新結果一出,研究人員都開心壞了。

MineRL的發起人之一、前OpenAI研究科學家William Guss就第一時間跑來發表賀電:

4年了,「鑽石挑戰」終於被攻克了!

4年了,「鑽石挑戰」終於被攻克了!

今年剛拿到了NeurIPS傑出資料集和基準論文獎的MineDojo作者、英偉達AI科學家範麟熙則表示:

AI玩轉MineCraft背後,有個莫拉維克悖論:一些任務對於人類而言很困難(比如圍棋),但對AI來說很簡單。但像MineCraft這樣人類高玩無數的遊戲,情況卻相反。

DreamerV3能在沒有任何人工資料輔助的情況下收集鑽石,這讓我感到非常興奮。

如何做到

所以,這個0基礎挖鑽石任務,到底有什麼難點?

首先,在《我的世界》裡,初始世界是完全隨機生成的。

即使是人類玩家,想要快速挖到鑽石,也得有相當豐富的經驗。比如,知道怎麼推算鑽石的位置、掌握一些挖掘竅門(如魚骨挖礦法)等。

排除掉經驗的因素,對於AI來說,這個挖鑽石的過程也挺複雜,至少得要7個步驟

第一步,玩家在空手進入《我的世界》中時,需要先擼樹來獲取木塊:

第二步,得用木塊用來合成工作臺:

第二步,得用木塊用來合成工作臺

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

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

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

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

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

第七步,尋找鑽石,然後用鐵鎬挖出鑽石

第七步,尋找鑽石,然後用鐵鎬挖出鑽石:

第七步,尋找鑽石,然後用鐵鎬挖出鑽石

p.s. 有玩家測試過,在AI知道鑽石等各種資源座標的情況下(開外掛),也需要2-3分鐘才能搞定。

這也就意味著,AI必須在有限時間裡,做出大量決策。

那麼既然不能參考人類高手的經驗,自然就需要強化學習(Reinforcement Learning)出馬。

具體而言,DeepMind的研究人員提出了一種基於世界模型的通用演算法

在整體架構上,DreamerV3由3個神經網路組成:世界模型、評委(critic)和演員(actor)。

世界模型要做的,是把環境輸入編碼為離散的表徵,並通過預測來指導下一步要執行的操作。

而評委和演員則會根據抽象出來的表徵進行學習。其中,評委網路會輸出一個標量值來代表行動價值,從而幫助演員網路選擇最優的行動。

這裡面的一個核心點在於,DeepMind的研究人員希望DreamerV3不僅僅能處理同類型的問題,還可以用固定超參數,掌握跨領域任務

因此,研究人員需要系統地解決世界模型、評委和演員等各個元件中信號大小不同,以及穩定平衡目標的問題。

研究人員發現:

以前的世界模型,需要根據複雜3D環境的視覺輸入,對錶徵損失進行不同的縮放,在訓練過程中還得調整不少超參數,但這裡面其實有許多沒必要的細節。

而如果把自由比特(free bits)和KL平衡(KL balancing)結合起來,就可以在不調整超參數的情況下讓DreamerV3在不同領域中學習。

KL平衡是上一代DreamerV2中提出的一項新技術。能夠使預測向表徵移動的速度比表徵向預測移動的速度更快,帶來更精確的預測。

自由比特避免了簡單環境下的過度擬合。

自由比特避免了簡單環境下的過度擬合

DreamerV3的三大塊都用上了固定超參數,具體如下:

實驗結果

也就是說,DreamerV3如今成了世界上第一個純靠自己摸索,就能在《我的世界》裡速挖鑽石的AI。

並且DreamerV3的本事可不只是玩MC。

在另外7項基準測試中,DreamerV3都取得了成功,並且在BSuite、Crafter上達到了SOTA。

值得一提的是,在這些任務中,訓練智慧體所用到的GPU資源都僅為1塊V100。研究人員表示,這意味著有更多的實驗室能跑得動這一模型。

另外,在需要時空推理的三維空間中,DreamerV3也能快速進行學習。

在DeepMind為強化學習專門打造的3D平臺DMLab上,DreamerV3在任務中使用的互動次數僅為IMPALA的1/130。

目前,DreamerV3的程式碼是coming soon的狀態。

感興趣的小夥伴可以蹲一波~

參考連結:

[1]https://danijar.com/project/dreamerv3/

[2]https://twitter.com/DeepMind/status/1613159943040811010

相關文章