求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

DeepMind檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽、 搜尋

來自 站酷網 的圖片

DeepMindMuZero,DeepMind開發的人工智能[1]。MuZero在沒有學習過遊戲規則的情況下,不僅能下圍棋、將棋和國際象棋,還在30多款雅達利遊戲中展示出了超人類表現(superhuman performance)。2019年推出,2020年發表於《自然》。研究人員將MuZero描述為「在追求通用算法方面邁出的重要一步」。

背景

即使在1997年IBM的「深藍」(Deep Blue)擊敗當時的國際象棋冠軍卡斯帕羅夫之後,棋類AI的發展仍步履維艱。以圍棋為例:2013年,AI在不讓子的情況下幾乎無法擊敗人類職業選手。

2016年,AlphaGo橫空出世,以4:1擊敗韓國選手李世石,並在2017年的烏鎮圍棋峰會上擊敗了世界第一棋手柯潔。中國圍棋協會當即授予AlphaGo職業圍棋九段的稱號。

如果說AlphaGo的成功確立了AI的「圍棋霸權」,隨後的AlphaGo Zero和AlphaZero則進一步揭示了「棋類霸權」的可能性。作為AI算法,不論是AlphaGo還是其繼位者,都需要大量的訓練。AlphaGo依賴於專家棋法(expert moves)數據集,而AlphaGo Zero捨去了這一步,直接與自己對戰以為訓練提供數據。AlphaZero則除了圍棋,更學會了日本象棋(將棋)和國際象棋。值得一提的是,2018年底發布的AlphaZero,從第一次見到棋盤,到成為世界級棋類大師,只用了24小時。

2020年,DeepMind發表了MuZero。

特點

自古以來,哲學家和科學家都幻想着有朝一日能造出「人工通用智能」(artificial general intelligence)。簡單地說,人工通用智能需要有極高的可塑性(flexibility),從而適應(甚至精通)各式不同的任務:一個能下棋、玩遊戲、做家務、開飛機[2]的AI。然而在此之前,最好的AI算法也只能精通數個同類任務;會下圍棋、將棋和國際象棋的AlphaZero就是一個例子。

這種限制,在很大程度上來自AI算法對規則的依賴性。要想讓AlphaZero下好各種棋,人類需要明確地教它各種棋的規則。以國際象棋為例,AlphaZero知道象只能斜着走,還不能跨過障礙物,而馬可以跨過障礙物,但需要走「日」字。AlphaZero也知道什麼是輸贏和平局。可是一旦更換棋種,人類就需要將新棋種的規則從頭教給AlphaZero。

既然這種依賴性限制了目前AI算法的應用範圍,那最簡單的解決方案,就是去除這種依賴性:人類可以不教AI下棋,只給它一個棋盤。每當AI選擇了下一步該如何走時,人類才告訴它這一步合不合法,並且是否導致了輸贏或平局。

——這就是MuZero面臨的情境。對於任何一個遊戲或任務,MuZero所掌握的只有一套「思考方式」,並沒有該任務的「行為準則」。它不知道國際象棋里的馬該怎麼走,也不知道將棋中如何達成「王手」。如同第一次見到電腦的小孩,MuZero具有作出推理論斷的「思維工具」,但不知道如何才能贏得「掃雷」。

跟人類一樣,MuZero的秘訣,在於摸着石頭過河,為外部世界建立一個只屬於自己的「模型」(internal model)。在這個內部模型中,MuZero捨棄了一切表面上的規則,只留下對決策有用的信息:價值(value,即當前決策「有多好」)、策略(policy,即最好的「下一步」是什麼)和獎勵(reward,即上一步「有多好」)。

要明白這種策略的特殊和有效性,我們可以拿MuZero和AlphaZero的神經網絡作對比:

任何深度學習算法在面對棋盤時,第一步總是觀察。AlphaZero能觀察當前棋局(S0),並直接利用S0計劃未來的棋步。這要多虧了它所知道的棋類規則:它明白做出一個動作(action)後的下一個棋局長什麼樣,並可以在下一個棋局的基礎上繼續規劃棋路,「想象」並評估各種不同的可能性。這樣的規劃方式,在深度學習上稱為「蒙特卡洛樹搜索」(Monte Carlo tree search,MCTS)。MCTS允許算法探索不同的可能性,並從中擇出最優的動作。因此,熟知規則的AlphaZero要想精通棋類,只需要一個「神經網絡」(neural network),即「預測網絡」(prediction network)f,給f輸入一個狀態,它就能給出這個狀態的價值(v)和潛在策略(p);通過評估各個可能性,AlphaZero就能得知當前最好的棋步。

MuZero則沒有這種「奢華待遇」:它需要摸索出棋盤上各個子的合法(legal)走法,還需要弄清輸贏的概念;當然,它的目標與AlphaZero一樣,贏就好了,越多越好。但在不清楚規則的情況下,MuZero需要另闢蹊徑,利用「表徵網絡」(representation network)h,將觀察到的棋盤狀態轉換成只屬於自己的隱藏狀態(hidden state)。我們將當前的棋盤狀態稱為「O」(observation,即觀察),MuZero的當前隱藏狀態稱為S0。但這時,MuZero遇到了第二個大難題:如何像AlphaZero一樣評估未來的各種可能性呢?

不像AlphaZero,不知道棋盤規則的MuZero不能預測棋盤的各種可能狀態,因此,MuZero需要從零開始,創造自己對棋路的內部模型。幸運的是,有了隱藏狀態S0之後,MuZero就能算出S0狀態下可以做出的各種行動(經過學習,MuZero得出的可能行動會越來越符合規則),並能通過「動態網絡」(dynamic network)g,利用MuZero選擇的行動和當前潛在狀態S0,推演出S1。在每一個真實世界的時間點內,MuZero都能利用自己的內部模型和MCTS選擇出這一個時間點的最佳行為,並將其應用於真實世界中。在實際做出了一個最佳行為後,這個行為又能再「回收」,用於訓練動態網絡g(從而改進MuZero的內部模型)。

也就是說,由於AlphaZero對規則的掌握,它只需要一個預測網絡f就能精通棋類。而不能預先知曉規則的MuZero,則需要利用動態網絡g和表徵網絡h,自己學習並建立一個內在模型,從而學會下棋。在建立內在模型的過程中,人類不會給MuZero設置任何限制:MuZero可以捨棄任何信息,只保留有用的元素(即價值、策略和獎勵)。

參考文獻