又一個 AI 老大難問題,被 DeepMind 攻克了:
一隻名叫DreamerV3的 AI,在啥也不知道的情況下被丢進《我的世界》(MineCraft)裡,摸爬滾打 17 天,還真就學會了如何從 0 開始挖鑽石。
△就是從撸樹開始的那種
要知道,之前為了攻克這個問題,CMU、微軟、DeepMind 和 OpenAI 還聯手在 NeurIPS 上拉了個比賽,叫 MineRL。
結果搞了三四年,AI 們也沒能在不參考人類經驗的情況下,完成挖鑽石任務。
此前表現最好的 VPT 選手,為了達成這一成就,可是狂看了70000+ 小時《我的世界》遊戲視頻,并且用上了 720 個 V100 ……
這不 DeepMind 的最新結果一出,研究人員都開心壞了。
MineRL 的發起人之一、前 OpenAI 研究科學家 William Guss 就第一時間跑來發表賀電:
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