又一個AI老大難問題,被DeepMind攻克了:
一隻名叫DreamerV3的AI,在啥也不知道的情況下被丟進《我的世界》(MineCraft)里,摸爬滾打17天,還真就學會了如何從0開始挖鑽石。
GIF △就是從擼樹開始的那種要知道,之前為了攻克這個問題,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個步驟。
第一步,玩家在空手進入《我的世界》中時,需要先擼樹來獲取木塊:
GIF第二步,得用木塊用來合成工作台:
第三步,在工作台上合成木鎬,用來挖圓石:
第四步,獲得圓石之後,需要合成一個石鎬,用來快速挖鐵礦:
第五步,為了將鐵礦合成鐵錠,還需要做一個熔爐來燒鐵:
第六步,合成鐵鎬,用來挖鑽石:
第七步,尋找鑽石,然後用鐵鎬挖出鑽石:
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
— 完 —