Karen Simonyan, 1 ? ^{1*} 1? Laurent Sifre, 1 , 2 ? ^{1,2*} 1,2? Simon Schmitt,1 Arthur Guez, 1 ? ^{1*} 1? Edward Lockhart, 1 ^{1} 1 Demis Hassabis, 1 ^{1} 1 Thore Graepel, 1 , 2 ^{1,2} 1,2 Timothy Lillicrap, 1 ^{1} 1 David Silver 1 , 2 ? ^{1,2*} 1,2?
1
^1
1DeepMind, 6 Pancras Square, London N1C 4AG. 概要 長期以來,構(gòu)建具有規(guī)劃能力的智能體一直是人工智能研究的主要挑戰(zhàn)之一。基于樹的規(guī)劃方法在挑戰(zhàn)性領(lǐng)域獲得了巨大成功,例如國際象棋和圍棋,這些領(lǐng)域都有一個完美的模擬器。然而,在現(xiàn)實(shí)世界中,動態(tài)控制環(huán)境往往是復(fù)雜和未知的。在這項工作中,我們提出了MuZero算法,該算法通過將基于樹的搜索與模型學(xué)習(xí)相結(jié)合,在一系列極具挑戰(zhàn)性的復(fù)雜視覺領(lǐng)域?qū)崿F(xiàn)了超人的性能,而不需要了解它們的基本動力學(xué)。MuZero學(xué)習(xí)得到一個模型,當(dāng)?shù)鷳?yīng)用時,該模型可以預(yù)測與規(guī)劃最直接相關(guān)的數(shù)值:獎勵、動作選擇策略和價值函數(shù)。當(dāng)對57種不同的Atari游戲進(jìn)行評估時,這是測試人工智能技術(shù)的標(biāo)準(zhǔn)視頻游戲環(huán)境,在這種環(huán)境中,我們的新算法一直在與基于模型的規(guī)劃方法進(jìn)行角逐,從而獲得了一種新的技術(shù)水平。當(dāng)在圍棋、國際象棋和日本將棋上進(jìn)行評估時,在對游戲規(guī)則一無所知的情況下,MuZero達(dá)到了與掌握游戲規(guī)則的AlphaZero算法相匹敵的超人性能。 1 介紹基于前瞻搜索的規(guī)劃算法在人工智能領(lǐng)域取得了顯著的成功。人類世界的冠軍已經(jīng)在經(jīng)典游戲中被打敗,如跳棋[34]、國際象棋[5]、圍棋[38]和撲克[3,26],規(guī)劃算法在從物流[47]到化學(xué)合成[37]的應(yīng)用中產(chǎn)生了現(xiàn)實(shí)影響。然而,這些規(guī)劃算法都依賴于對環(huán)境動力學(xué)的了解(例如游戲規(guī)則或精確的模擬器),因此無法直接應(yīng)用于機(jī)器人、工業(yè)控制或智能助手等實(shí)際領(lǐng)域。 基于模型的強(qiáng)化學(xué)習(xí)(RL)[42]旨在通過首先學(xué)習(xí)環(huán)境動力學(xué)模型,然后針對所學(xué)的模型進(jìn)行規(guī)劃來解決問題。通常,這些模型要么專注于重建真實(shí)的環(huán)境狀態(tài)[8,16,24],要么專注于完整觀測序列[14,20]。然而,之前的工作[4,14,20]在復(fù)雜視覺領(lǐng)域,如Atari 2600游戲[2]中,遠(yuǎn)遠(yuǎn)沒有達(dá)到最先進(jìn)的水平。相反,最成功的方法是基于無模型RL[9,21,18],它們直接從與環(huán)境的交互中估計最優(yōu)策略和/或價值函數(shù)。然而,無模型算法在需要精確和復(fù)雜前瞻性的領(lǐng)域(如國際象棋和圍棋)卻遠(yuǎn)未達(dá)到最先進(jìn)的水平。 在本文中,我們介紹了MuZero,一種新的基于模型的RL方法,它在Atari 2600(一組復(fù)雜視覺領(lǐng)域)中實(shí)現(xiàn)了當(dāng)今最先進(jìn)的性能,同時在諸如國際象棋、日本將棋和圍棋等精確規(guī)劃任務(wù)中保持了超人的性能。MuZero建立在AlphaZero[39]強(qiáng)大的搜索和基于搜索的策略迭代算法的基礎(chǔ)上,并在訓(xùn)練過程中加入了一個學(xué)習(xí)模型。MuZero還將AlphaZero擴(kuò)展到更廣泛的環(huán)境,包括單智能體領(lǐng)域和中間步非零獎勵。 該算法的主要思想(如圖1所示)是預(yù)測與規(guī)劃直接相關(guān)的未來方面。模型接收觀測結(jié)果(例如圍棋棋盤或Atari游戲屏幕的圖像)作為輸入,并將其轉(zhuǎn)換為隱藏狀態(tài)。通過接收前一個隱藏狀態(tài)和假想的下一個動作的循環(huán)過程迭代地更新隱藏狀態(tài)。每一步,模型都會預(yù)測策略(例如,如何移動棋子)、價值函數(shù)(例如,預(yù)測勝負(fù))和即時獎勵(例如,移動棋子的得分)。對模型的訓(xùn)練是端到端的,其唯一目標(biāo)是準(zhǔn)確估計這三個重要的量,以便與改進(jìn)的策略估計和搜索產(chǎn)生的價值以及觀測到的獎勵相匹配。對于隱藏狀態(tài),沒有直接約束或要求來捕獲重建原始觀測所需的全部信息,從而大大減少了模型必須維護(hù)和預(yù)測的信息量;對于隱藏狀態(tài)也沒有任何要求來匹配未知的真實(shí)環(huán)境狀態(tài);也沒有對狀態(tài)語義進(jìn)行任何其他約束。相反,隱藏狀態(tài)可以自由地以任何與預(yù)測當(dāng)前和未來的價值和策略有關(guān)的方式來表征狀態(tài)。直觀地說,智能體可以在內(nèi)部發(fā)明規(guī)則或動力學(xué)機(jī)制,從而實(shí)現(xiàn)最精確的規(guī)劃。 2 前期工作強(qiáng)化學(xué)習(xí)RL可分為兩大類:基于模型的RL和無模型的RL[42]?;谀P偷腞L先構(gòu)造出一個環(huán)境模型,作為中間環(huán)節(jié)。經(jīng)典地,這個模型由一個馬爾可夫決策過程MDP[31]來表示,它由兩個部分組成:一個是狀態(tài)轉(zhuǎn)移模型,預(yù)測下一個狀態(tài),另一個是獎勵模型,預(yù)測在狀態(tài)轉(zhuǎn)移期間的預(yù)期獎勵。該模型通常以所選動作或臨時抽象行為(如選項)作為條件[43]。一旦建立了模型,就可以直接應(yīng)用MDP規(guī)劃算法,如數(shù)值迭代[31]或蒙特卡羅樹搜索MCTS[7],來計算MDP的最優(yōu)值或最優(yōu)策略。在整體或部分可觀測的環(huán)境中,算法必須首先構(gòu)造模型應(yīng)該預(yù)測的狀態(tài)表征。表征的學(xué)習(xí)、模型的學(xué)習(xí)和規(guī)劃三方之間是分裂的,這是一個潛在問題,智能體無法為達(dá)到有效規(guī)劃的目標(biāo)對表征或模型進(jìn)行優(yōu)化,因此,在規(guī)劃期間建模錯誤可能會顯得越發(fā)嚴(yán)重。 基于模型的RL的一種常用方法是直接在像素級對觀測流進(jìn)行建模。有人設(shè)想深度隨機(jī)模型可以緩解復(fù)合誤差的問題[14,20]。然而,對像素級粒度進(jìn)行規(guī)劃,計算上是不易處理大規(guī)模問題的。其他方法建立的潛在狀態(tài)空間模型足以在像素級重建觀測流[48,49],或預(yù)測其未來的潛在狀態(tài)[13,11],這有助于更有效的規(guī)劃,但仍將大部分模型容量集中在潛在的無關(guān)細(xì)節(jié)上。這些先前的方法都沒有能構(gòu)建起一個模型促進(jìn)復(fù)雜視覺領(lǐng)域(如Atari)的有效規(guī)劃;結(jié)果落后于優(yōu)化的、無模型的方法,甚至在數(shù)據(jù)效率方面也是如此[45]。 最近開發(fā)了一種完全不同的基于模型的RL方法,專注在端到端預(yù)測價值函數(shù)[41]。這些方法的主要思想是構(gòu)造一個抽象的MDP模型,使抽象的MDP中的規(guī)劃等價于真實(shí)環(huán)境中的規(guī)劃。這種等價是通過確保價值等價來實(shí)現(xiàn)的,即從同一真實(shí)狀態(tài)開始,通過抽象的MDP的軌跡的累積獎勵與真實(shí)環(huán)境中軌跡的累積獎勵相匹配。 預(yù)測[41]首先引入了價值等價模型來預(yù)測價值(不采取動作)。盡管底層模型仍然采用MDP的形式,但它的轉(zhuǎn)換模型不需要與環(huán)境中的真實(shí)狀態(tài)相匹配。相反,MDP模型被視為深層神經(jīng)網(wǎng)絡(luò)的一個隱藏層。對展開的MDP進(jìn)行訓(xùn)練,例如通過時間差分學(xué)習(xí),使期望的累積獎勵總和與實(shí)際環(huán)境的期望值相匹配。 價值等價模型隨后擴(kuò)展到去優(yōu)化價值(采取動作)。TreeQN[10]學(xué)習(xí)一個抽象的MDP模型,使得在該模型上的樹搜索(由樹結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)表征)逼近最優(yōu)價值函數(shù)。價值迭代網(wǎng)絡(luò)[44]學(xué)習(xí)一個局部MDP模型,使得該模型上的價值迭代(由卷積神經(jīng)網(wǎng)絡(luò)表征)逼近最優(yōu)值函數(shù)。價值預(yù)測網(wǎng)絡(luò)[28]可能是MuZero最失敗的先驅(qū):它們學(xué)習(xí)基于實(shí)際動作的MDP模型;展開的MDP經(jīng)過訓(xùn)練,使得累積的獎勵總和,以簡單的前瞻搜索生成的實(shí)際動作序列為條件,與真實(shí)環(huán)境相匹配。與MuZero不同,沒有策略預(yù)測,搜索只使用價值預(yù)測。 3 MuZero算法圖1:用學(xué)習(xí)模型進(jìn)行規(guī)劃、動作和訓(xùn)練。(A)MuZero使用其模型進(jìn)行規(guī)劃。該模型由表征、動力學(xué)和預(yù)測三個相互連接的部分組成。給定一個先前的隱藏狀態(tài) s k ? 1 s^{k-1} sk?1 和一個候選動作 a k a^k ak ,動力學(xué)函數(shù) g g g 就產(chǎn)生一個即時獎勵 r k r^k rk 和一個新的隱藏狀態(tài) s k s^k sk 。隱藏狀態(tài) s k s^k sk 經(jīng)過預(yù)測函數(shù) f f f,計算出策略 p k p^k pk 和價值函數(shù) v k v^k vk 。過去的觀測值(例如圍棋棋盤或Atari屏幕)被傳遞給表征函數(shù) h h h,以獲得初始隱藏狀態(tài) s 0 s^0 s0 。(B)MuZero在環(huán)境中的動作。在每個時點(diǎn) t t t 進(jìn)行MCTS,如A所述。一個動作 a t 1 a_{t 1} at 1? 是從搜索策略 π t π_t πt? 中采樣得到的,該策略與根節(jié)點(diǎn)每個動作的訪問計數(shù)成正比。環(huán)境接收到動作并生成新觀測值 o t 1 o_{t 1} ot 1? 和獎勵 u t 1 u_{t 1} ut 1? 。在回合結(jié)束時,軌跡數(shù)據(jù)被保存在回放緩沖區(qū)中。(C)MuZero訓(xùn)練它的模型。從回放緩沖區(qū)中進(jìn)行軌跡采樣。對于初始步驟,表征函數(shù) h h h 收到所選軌跡的過去觀測值 o 1 , . . . , o t o_1,...,o_t o1?,...,ot? 作為輸入。該模型循環(huán)展開為K步。每步k,動態(tài)函數(shù) g g g 收到前一步隱藏狀態(tài) s k ? 1 s^{k-1} sk?1 和實(shí)際動作 a t k a_{t k} at k? 作為輸入。通過時間反向傳播,端到端地聯(lián)合訓(xùn)練表征函數(shù)、動力學(xué)函數(shù)和預(yù)測函數(shù)的參數(shù),以便能夠預(yù)測三個數(shù)值:策略 p k ≈ π t k p^k ≈ π_{t k} pk≈πt k? 、價值函數(shù) v k ≈ z t k v^k ≈ z_{t k} vk≈zt k? 和獎勵 r t k ≈ u t k r_{t k} ≈ u_{t k} rt k?≈ut k? ,其中 z t k z_{t k} zt k? 是一個示例回報:要么是最終獎勵(如棋盤游戲),要么是 n n n 步的回報(如Atari)。 我們現(xiàn)在更詳細(xì)地描述MuZero算法。在每個時點(diǎn) t t t 做預(yù)測,預(yù)測步數(shù)為 k = 1... K k=1...K k=1...K ,用于預(yù)測的模型為 μ θ \mu_\theta μθ? ,該模型的參數(shù)為 θ \theta θ ,過去的觀測值 o 1 , . . . , o t o_1,...,o_t o1?,...,ot? 和未來的動作 a t 1 , . . . , a t k a_{t 1},..., a_{t k} at 1?,...,at k? 為條件。該模型預(yù)測三個未來數(shù)值:策略 p t k ≈ π ( a t k 1 ∣ o 1 , . . . , o t , a t 1 , . . . , a t k ) p_t^k ≈ \pi(a_{t k 1}|o_1,...,o_t,a_{t 1},...,a_{t k}) ptk?≈π(at k 1?∣o1?,...,ot?,at 1?,...,at k?) 、價值函數(shù) v t k ≈ E [ u t k 1 γ u t k 2 . . . ∣ o 1 , . . . , o t , a t 1 , . . . , a t k ] v_t^k ≈\Bbb E[u_{t k 1} γu_{t k 2} ...|o_1,...,o_t,a_{t 1},...,a_{t k}] vtk?≈E[ut k 1? γut k 2? ...∣o1?,...,ot?,at 1?,...,at k?] ,以及即時獎勵 r t k ≈ u t k r_t^k ≈ u_{t k} rtk?≈ut k? ,其中 u u u 是真實(shí)觀測到的獎勵, π \pi π 是用于選擇實(shí)際動作的策略, γ γ γ 是環(huán)境的折扣函數(shù)。 在內(nèi)部,每個時點(diǎn) t t t (以下為了簡單起見省略了下標(biāo) t t t ),模型由表征函數(shù)、動力學(xué)函數(shù)和預(yù)測函數(shù)的組合來表示。動力學(xué)函數(shù) r k , s k = g θ ( s k ? 1 , a k ) r^k,s^k=g_\theta(s^{k-1},a^k) rk,sk=gθ?(sk?1,ak) ,是一個循環(huán)過程,它在每個假想步 k k k 計算即時獎勵 r k r^k rk 和內(nèi)部狀態(tài) s k s^k sk 。動力學(xué)函數(shù)反映了MDP模型結(jié)構(gòu),由給定狀態(tài)和動作計算出預(yù)期獎勵和狀態(tài)轉(zhuǎn)移[31]。然而,與基于模型的RL傳統(tǒng)方法不同[42],這種內(nèi)部狀態(tài) s k s^k sk 沒有附加環(huán)境狀態(tài)的語義,只是整個模型的隱藏狀態(tài),其唯一目的就是準(zhǔn)確預(yù)測有關(guān)的未來數(shù)值:策略、價值和獎勵。在本文中,動力學(xué)函數(shù)被表示為確定過程,擴(kuò)展為隨機(jī)過程的工作留待以后進(jìn)行。策略函數(shù)和價值函數(shù),由預(yù)測函數(shù) p k , v k = f θ ( s k ) p^k,v^k = f_\theta(s^k) pk,vk=fθ?(sk) ,根據(jù)內(nèi)部狀態(tài) s k s^k sk 計算得出,類似于AlphaZero中聯(lián)合的策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò)?!案睜顟B(tài) s 0 s^0 s0 用于表征函數(shù)初始化,表征函數(shù)對過去觀測值進(jìn)行編碼 s 0 = h θ ( o 1 , . . . , o t ) s^0=h_\theta(o_1,...,o_t) s0=hθ?(o1?,...,ot?) ;同樣,除了幫助預(yù)測未來以外,它沒有任何特定語義。 給出這樣一個模型,就有可能通過給定過去觀測值 o 1 , . . . , o t o_1,...,o_t o1?,...,ot? 搜索假想的未來軌跡 a 1 , . . . , a k a^1,...,a^k a1,...,ak 。例如,一個初級搜索可能會簡單選擇 k k k 步動作序列,使價值函數(shù)最大化。更一般地,我們可以將任何MDP規(guī)劃算法應(yīng)用于動力學(xué)函數(shù)生成的內(nèi)部獎勵和狀態(tài)空間。特別地,我們使用了一種類似于AlphaZero搜索中采用的MCTS算法,該算法被推廣到允許單智能體領(lǐng)域和中間獎勵(參見附錄的方法)。在每個中間節(jié)點(diǎn),它利用了當(dāng)前模型參數(shù) θ \theta θ 生成的策略、價值和獎勵估計。MCTS算法輸出一個推薦策略 π t \pi_t πt? 和估計價值 v t v_t vt? 。然后選擇一個動作 a t 1 ~ π t a_{t 1} ~ \pi_t at 1?~πt? 。 對模型的所有參數(shù)進(jìn)行聯(lián)合訓(xùn)練,以便在每個假想步 k k k ,策略、價值和獎勵都能與實(shí)際 k k k 個時點(diǎn)過后觀測到的相應(yīng)目標(biāo)值精確匹配。與AlphaZero類似,改進(jìn)的策略目標(biāo)是通過MCTS搜索生成的;第一目標(biāo)是最小化預(yù)測的策略 p t k p^k_t ptk? 與搜索的策略 π t k \pi_{t k} πt k? 之間的誤差。同樣與AlphaZero類似,改進(jìn)的價值目標(biāo)是通過玩游戲或MDP生成的。然而,與AlphaZero不同,我們允許帶有折扣和中間獎勵的長回合,方法是自舉 n n n 步進(jìn)入未來,搜索值 z t = u t 1 γ u t 2 . . . γ n ? 1 u t n γ n v t n z_t=u_{t 1} \gamma u_{t 2} ... \gamma^{n-1}u_{t n} \gamma^n v_{t n} zt?=ut 1? γut 2? ... γn?1ut n? γnvt n? 。在棋盤游戲中,最終結(jié)果 { l o s e , d r a w , w i n } \{lose,draw,win\} {lose,draw,win} 被視為獎勵 u t ∈ { ? 1 , 0 , 1 } u_t∈\{-1,0, 1\} ut?∈{?1,0, 1} ,出現(xiàn)在該回合的最后一步。具體來說,第二目標(biāo)是最小化預(yù)測值 v t k v^k_t vtk? 與目標(biāo)值 z t k z_{t k} zt k? 之間的誤差。獎勵目標(biāo)僅為觀察到的獎勵;因此,第三目標(biāo)是最小化預(yù)測獎勵 r t k r^k_t rtk? 與觀測到的獎勵 u t k u_{t k} ut k? 之間的誤差。最后,還添加了 L2 正則化項,得到總體損失為: l t ( θ ) = ∑ k = 0 K l r ( u t k , r t k ) l v ( z t k , v t k ) l p ( π t k , p t k ) c ∣ ∣ θ ∣ ∣ 2 l_t(\theta)=\displaystyle\sum_{k=0}^Kl^r(u_{t k},r_t^k) l^v(z_{t k},v_t^k) l^p(\pi_{t k},p_t^k) c||\theta||^2 lt?(θ)=k=0∑K?lr(ut k?,rtk?) lv(zt k?,vtk?) lp(πt k?,ptk?) c∣∣θ∣∣2 其中 l r l^r lr、 l v l^v lv和 l p l^p lp分別是獎勵、價值和策略的損失函數(shù)。補(bǔ)充圖S2總結(jié)了MuZero算法進(jìn)行規(guī)劃、動作和學(xué)習(xí)的公式。 4 結(jié)果
我們將MuZero算法應(yīng)用于經(jīng)典棋盤游戲圍棋、國際象棋和日本將棋,作為具有挑戰(zhàn)性的規(guī)劃問題的基準(zhǔn),并應(yīng)用于Atari學(xué)習(xí)環(huán)境中的所有57個游戲[2],作為復(fù)雜視覺RL領(lǐng)域的基準(zhǔn)。 在每種情況下,我們訓(xùn)練MuZero K = 5 K=5 K=5個假想步驟。在棋盤游戲中進(jìn)行了100萬個小批量的2048大小的訓(xùn)練,在Atari進(jìn)行了1024大小的訓(xùn)練。在訓(xùn)練和評估期間,MuZero對棋盤游戲中的每次搜索使用了800次模擬,對Atari中的每次搜索使用了50次模擬。表征函數(shù)使用與AlphaZero相同的卷積[23]和殘差[15]結(jié)構(gòu),但是使用16個殘差塊而不是20個。動態(tài)函數(shù)使用與表征函數(shù)相同的體系結(jié)構(gòu),預(yù)測函數(shù)使用與AlphaZero相同的體系結(jié)構(gòu)。所有網(wǎng)絡(luò)都使用256個隱藏平面(有關(guān)詳細(xì)信息,請參見附錄)。 圖2顯示了每個游戲在整個訓(xùn)練過程中的表現(xiàn)。在圍棋中,MuZero稍微超過了AlphaZero的性能,盡管在搜索樹中每個節(jié)點(diǎn)使用較少的計算量(MuZero中每次計算16個殘差塊,而AlphaZero中為20個塊)。這表明MuZero可能把其計算緩存在了搜索樹中,并利用動力學(xué)模型帶來的每個額外優(yōu)勢來獲得對位置的更深入理解。 在Atari中,MuZero在57個游戲的街機(jī)學(xué)習(xí)環(huán)境中實(shí)現(xiàn)了最新的平均得分和中位數(shù)標(biāo)準(zhǔn)化得分,在57個游戲中的42個游戲中超過了之前最新的R2D2方法[21](無模型方法),并且在所有游戲中都優(yōu)于之前最好的基于模型的方法SimPLe[20](見表S1)。
我們還評估了MuZero的第二個版本,該版本經(jīng)過了優(yōu)化以提高樣本效率。具體來說,它通過重運(yùn)行使用新網(wǎng)絡(luò)參數(shù)的MCTS來重分析舊的軌跡,以提供新的目標(biāo)值(見附錄H)。當(dāng)應(yīng)用于57款A(yù)tari游戲時,每個游戲使用2億幀的經(jīng)驗(yàn),MuZero的重分析達(dá)到了731%的中位數(shù)標(biāo)準(zhǔn)化分?jǐn)?shù),而之前最先進(jìn)的無模型方法IMPALA[9]、Rainbow[17]和LASER[36]分別為192%、231%和431%。 為了理解模型在MuZero中的作用,我們還進(jìn)行了一些實(shí)驗(yàn),重點(diǎn)是棋盤游戲的圍棋和Atari游戲的Ms. Pacman。 首先,我們在圍棋的規(guī)范規(guī)劃問題中測試了規(guī)劃的可伸縮性(圖3 A)。我們比較了AlphaZero中使用完美模型的搜索性能和MuZero中使用學(xué)習(xí)模型的搜索性能。具體來說,通過比較不同思考時間的MCTS來評估完全訓(xùn)練的AlphaZero或MuZero。MuZero完全能與有完美模型的算法性能相匹敵,即使在進(jìn)行搜索時(最多10秒的思考時間)比模型訓(xùn)練時(大約0.1秒的思考時間,另請參見圖S3 A)大得多的情況下,也是如此。 我們還調(diào)查了所有Atari游戲規(guī)劃的可伸縮性(見圖3 B)。我們使用完全訓(xùn)練的MuZero對不同模擬次數(shù)的MCTS進(jìn)行了比較。由于計劃的改進(jìn)遠(yuǎn)不如圍棋中的顯著,可能是因?yàn)楦蟮哪P筒痪_性;性能隨著搜索時間的增加略有改善,但在大約100次模擬中穩(wěn)定下來。即使只進(jìn)行一次模擬(即僅根據(jù)策略網(wǎng)絡(luò)選擇動作),MuZero的表現(xiàn)也很好,這表明在訓(xùn)練結(jié)束時,原始策略已經(jīng)學(xué)會了內(nèi)部化搜索的好處(另請參見圖S3 B)。 接下來,我們測試對比了基于模型的學(xué)習(xí)算法與無模型學(xué)習(xí)算法(見圖3 C)。我們將MuZero的訓(xùn)練目標(biāo)(方程1)替換為無模型的Q-learning目標(biāo)(如R2D2所用),將對偶值和策略頭替換為單頭表示Q-function Q ( ? ∣ s t ) Q(?|s^t) Q(?∣st) 。隨后,我們在不使用任何搜索的情況下對新模型進(jìn)行訓(xùn)練和評估。當(dāng)在Ms. Pacman游戲上進(jìn)行評估時,我們的無模型算法獲得了與R2D2相同的結(jié)果,但R2D2的學(xué)習(xí)速度明顯慢于MuZero,并收斂到一個更低的最終分?jǐn)?shù)。我們推測MuZero基于搜索的策略改進(jìn)步驟比Q-learning使用的高偏差、高方差目標(biāo)提供了更強(qiáng)的學(xué)習(xí)信號。 為了更好地理解MuZero學(xué)習(xí)算法的本質(zhì),我們測量了MuZero的訓(xùn)練規(guī)模與訓(xùn)練期間使用的搜索量之間的關(guān)系。圖3顯示了Ms. Pacman游戲在整個訓(xùn)練過程中每次移動使用不同模擬計數(shù)的MCTS時的表現(xiàn)。令人驚訝的是,與之前的工作[1]相比,即使每個動作只有6個模擬(少于動作的數(shù)量),MuZero也學(xué)會了一個有效的策略并迅速改進(jìn)。隨著更多的模擬,性能大幅提升。對于每個單獨(dú)迭代過程中策略改進(jìn)的分析,請參見圖S3 C和D。 5 結(jié)論人工智能的許多突破要么基于高性能規(guī)劃[5,38,39],要么基于無模型強(qiáng)化學(xué)習(xí)方法[25,29,46]。在本文中,我們介紹了一種結(jié)合了兩者優(yōu)點(diǎn)的方法。我們的算法MuZero,既能匹敵超人表現(xiàn)的規(guī)劃算法(他們擅長的領(lǐng)域是復(fù)雜邏輯棋類游戲,如國際象棋和圍棋),也能超越最先進(jìn)的無模型RL算法(他們擅長的領(lǐng)域是復(fù)雜視覺游戲Atari)。最關(guān)鍵的是,我們的方法不需要任何游戲規(guī)則或環(huán)境動力學(xué)的知識,為將強(qiáng)大的學(xué)習(xí)和規(guī)劃方法應(yīng)用到許多現(xiàn)實(shí)世界領(lǐng)域鋪平了道路,而這些領(lǐng)域并不存在完美的模擬器。 6 致謝Lorrayne Bennett、Oliver Smith和Chris Apps負(fù)責(zé)組織協(xié)助;Koray Kavukcuoglu負(fù)責(zé)審查論文;Thomas Anthony、Matthew Lai、Nenad Tomasev、Ulrich Paquet、Sumedh Ghaisas負(fù)責(zé)許多卓有成效的討論;DeepMind團(tuán)隊的其他成員對他們的支持。 參考文獻(xiàn)[1] Kamyar Azizzadenesheli, Brandon Yang,Weitang Liu, Emma Brunskill, Zachary C. Lipton, and Animashree Anandkumar. Surprising negative results for generative adversarial tree search. CoRR, abs/1806.05780, 2018. 補(bǔ)充材料· MuZero算法的偽碼描述。 · JSON格式的圖2、圖3、圖S2、圖S3、圖S4和表1、表S1、表S2的數(shù)據(jù)。 補(bǔ)充材料可從arXiv提交文件的輔助文件部分獲取。 附錄A 與AlphaZero的比較MuZero與AlphaGo Zero[40]和AlphaZero[39]相比,被設(shè)計得更通用。在AlphaGo-Zero和AlphaZero中,規(guī)劃過程使用了兩個獨(dú)立的組件:模擬器,實(shí)現(xiàn)游戲規(guī)則,在遍歷搜索樹時用于更新游戲狀態(tài);神經(jīng)網(wǎng)絡(luò),幫助預(yù)測模擬器生成的棋盤位置的相應(yīng)策略和價值(見圖1 A)。 具體來說,AlphaGo Zero和AlphaZero在三個地方使用到游戲規(guī)則的知識:(1)搜索樹中的狀態(tài)轉(zhuǎn)移,(2)搜索樹中每個節(jié)點(diǎn)上可用的動作,(3)在搜索樹內(nèi)的回合終點(diǎn)。在MuZero中,所有這些都被神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的單一隱式模型所取代(見圖1 B): 1)狀態(tài)轉(zhuǎn)移。AlphaZero擁有一個反映真實(shí)動力學(xué)過程的完美模擬器。相比之下,MuZero在其搜索中使用了一個學(xué)習(xí)的動力學(xué)模型。在該模型下,樹中的每個節(jié)點(diǎn)都由一個對應(yīng)的隱藏狀態(tài)表示;通過向模型提供一個隱藏狀態(tài) s k ? 1 s_{k-1} sk?1? 和一個動作 a k a_k ak? ,搜索算法可以轉(zhuǎn)換到一個新節(jié)點(diǎn) s k = g ( s k ? 1 , a k ) s_k = g(s_{k-1},a_k) sk?=g(sk?1?,ak?)。 2)可用動作。AlphaZero使用從模擬器獲得的一組合法動作來mask網(wǎng)絡(luò)在搜索樹中任何地方產(chǎn)生的先驗(yàn)信息。MuZero只mask可以查詢環(huán)境的搜索樹根目錄下的合法動作,但不在搜索樹中執(zhí)行任何mask。這是可能的,因?yàn)榫W(wǎng)絡(luò)很快就學(xué)會了不去預(yù)測在它在訓(xùn)練軌跡上永遠(yuǎn)不會發(fā)生的動作。 3)終點(diǎn)節(jié)點(diǎn)。AlphaZero在表示終點(diǎn)狀態(tài)的樹節(jié)點(diǎn)停止搜索,并使用模擬器提供的終點(diǎn)值而不是網(wǎng)絡(luò)生成的值。MuZero沒有對終點(diǎn)節(jié)點(diǎn)進(jìn)行特殊處理,總是使用網(wǎng)絡(luò)預(yù)測的值。在樹中,搜索可以經(jīng)過一個終點(diǎn)節(jié)點(diǎn)——在這種情況下,期望網(wǎng)絡(luò)總是預(yù)測相同的值。這是通過在訓(xùn)練期間將終點(diǎn)狀態(tài)視為吸收狀態(tài)來實(shí)現(xiàn)的。 此外,MuZero被設(shè)計成在一般的強(qiáng)化學(xué)習(xí)環(huán)境下運(yùn)行:具有任意幅度折扣的中間獎勵的單智能體領(lǐng)域。相比之下,AlphaGo-Zero和AlphaZero被設(shè)計用于兩人游戲,沒有折扣的終點(diǎn)獎勵為 ± 1 ±1 ±1。 附錄B 搜索我們現(xiàn)在描述MuZero使用的搜索算法。我們的方法基于帶置信上限的蒙特卡羅樹搜索,這是一種在單智能體領(lǐng)域中漸近收斂到最優(yōu)策略的規(guī)劃方法,在零和博弈中漸近收斂到極大極小值函數(shù)[22]。 搜索樹的每個節(jié)點(diǎn)都與一個內(nèi)部狀態(tài)s相關(guān)聯(lián)。對于 s s s 的每個動作 a a a ,都有一個邊 ( s , a ) (s,a) (s,a) ,這條邊存儲了一組統(tǒng)計信息 { N ( s , a ) , Q ( s , a ) , P ( s , a ) , R ( s , a ) , S ( s , a ) } \{N(s,a), Q(s,a), P(s,a), R(s,a), S(s,a) \} {N(s,a),Q(s,a),P(s,a),R(s,a),S(s,a)},分別表示訪問計數(shù)N、平均價值Q、策略P、獎勵R和狀態(tài)轉(zhuǎn)移S。 與AlphaZero類似,搜索分為三個階段,重復(fù)進(jìn)行多次模擬。 選擇(Selection):每個模擬從內(nèi)部根狀態(tài)
s
0
s^0
s0 開始,當(dāng)模擬到達(dá)葉節(jié)點(diǎn)
s
l
s^l
sl 時結(jié)束。對于模擬的每個假想步
k
=
1
,
.
.
.
,
l
k=1,...,l
k=1,...,l ,利用在置信上限[32][39]上最大化的方法,根據(jù)存儲的內(nèi)部狀態(tài)
s
k
?
1
s^{k-1}
sk?1 的統(tǒng)計信息選擇動作
a
k
a^k
ak , 常數(shù)c1和c2用于控制相對于價值 Q ( s , a ) Q(s,a) Q(s,a) ,先驗(yàn)的 P ( s , a ) P(s,a) P(s,a) 對其影響。在我們的實(shí)驗(yàn)中,c1=1.25,c2=19652。 對于 k < l k<l k<l ,下一個狀態(tài)和獎勵在狀態(tài)轉(zhuǎn)移和獎勵表 s k = S ( s k ? 1 , a k ) s^k = S(s^{k-1},a^k) sk=S(sk?1,ak), r k = R ( s k ? 1 , a k ) r^k = R(s^{k-1}, a^k) rk=R(sk?1,ak) 中查找。 擴(kuò)展(Expansion):在模擬的最后一個時間步 l l l,通過動力學(xué)函數(shù) r l , s l = g θ ( s l ? 1 , a l ) r^l, s^l = g_θ(s^{l-1}, a^l) rl,sl=gθ?(sl?1,al) 計算獎勵和狀態(tài),并將其存儲在相應(yīng)的表 R ( s l ? 1 , a l ) = r l R(s^{l-1}, a^l) = r^l R(sl?1,al)=rl, S ( s l ? 1 , a l ) = s l S(s^{l-1}, a^l)=s^l S(sl?1,al)=sl 中。通過預(yù)測函數(shù) p l , v l = f θ ( s l ) p^l, v^l=f_θ(s^l) pl,vl=fθ?(sl) 計算策略和價值。一個新的節(jié)點(diǎn),對應(yīng)于狀態(tài) s l s^l sl 被添加到搜索樹中。來自新擴(kuò)展節(jié)點(diǎn)的每條邊 ( s l , a ) (s^l, a) (sl,a) 被初始化為 { N ( s l , a ) = 0 , Q ( s l , a ) = 0 , P ( s l , a ) = p l } \{N(s^l, a)=0, Q(s^l, a)=0, P(s^l,a)=p^l\} {N(sl,a)=0,Q(sl,a)=0,P(sl,a)=pl} 。請注意,搜索算法每次模擬最多分別調(diào)用一次動力學(xué)函數(shù)和預(yù)測函數(shù);計算成本與AlphaZero中的階數(shù)相同。 備份(Backup):在模擬結(jié)束時,將更新沿軌跡的統(tǒng)計信息。將備份推廣到環(huán)境可以給出中間獎勵、且折扣不為1、價值估計為無界 3 ^3 3的情況。對于 k = l , . . . , 0 k=l,...,0 k=l,...,0 ,由價值函數(shù) v l v^l vl 自舉,我們形成累積折扣獎勵的 l ? k l-k l?k 步的估計, G k = ∑ τ = 0 l ? 1 ? k γ τ r k 1 τ γ l ? k v l G^k=\displaystyle\sum_{τ=0}^{l-1-k}γ^τr_{k 1 τ} γ^{l-k}v^l Gk=τ=0∑l?1?k?γτrk 1 τ? γl?kvl (3) 對于 k = l , . . . , 1 k=l,...,1 k=l,...,1 ,我們更新模擬路徑中每個邊 ( s k ? 1 , a k ) (s^{k-1}, a^k) (sk?1,ak) 的統(tǒng)計信息,如下所示, Q ( s k ? 1 , a k ) : = N ( s k ? 1 , a k ) ? Q ( s k ? 1 , a k ) G k N ( s k ? 1 , a k ) 1 Q(s^{k-1}, a^k):=\frac {N(s^{k-1}, a^k)?Q(s^{k-1}, a^k) G^k} {N(s^{k-1}, a^k) 1} Q(sk?1,ak):=N(sk?1,ak) 1N(sk?1,ak)?Q(sk?1,ak) Gk? N ( s k ? 1 , a k ) : = N ( s k ? 1 , a k ) 1 N(s^{k-1}, a^k):=N(s^{k-1}, a^k) 1 N(sk?1,ak):=N(sk?1,ak) 1 (4) 3 ^3 3在棋盤游戲中,假定折扣為1,沒有中間獎勵。 在兩人零和對策中,假設(shè)價值函數(shù)在 [ 0 , 1 ] [0,1] [0,1] 區(qū)間內(nèi)有界。這種選擇允許我們使用pUCT規(guī)則(公式2)將價值估計與概率結(jié)合起來。但是,由于在許多環(huán)境中,價值是無界的,因此有必要調(diào)整pUCT規(guī)則。一個簡單的解決方案是使用在環(huán)境中可以觀測到的最大分?jǐn)?shù)來重新縮放價值或適當(dāng)設(shè)置pUCT常數(shù)[33]。然而,這兩種解決方案都是針對特定游戲的,需要向MuZero算法添加先驗(yàn)知識。為了避免這種情況,MuZero通過使用在該點(diǎn)之前在搜索樹中觀測到的最小值 - 最大值來計算標(biāo)準(zhǔn)化Q值用于估計 Q ˉ ∈ [ 0 ; 1 ] \bar{Q}∈[0;1] Qˉ?∈[0;1] 。當(dāng)在選擇(Selection)階段到達(dá)一個節(jié)點(diǎn)時,該算法使用以下等式計算其邊的標(biāo)準(zhǔn)化 Q ˉ \bar{Q} Qˉ? 值,用于pUCT規(guī)則,公式如下: Q ˉ ( s k ? 1 , a k ) = Q ( s k ? 1 , a k ) ? m i n s , a ∈ T r e e Q ( s , a ) m a x s , a ∈ T r e e Q ( s , a ) ? m i n s , a ∈ T r e e Q ( s , a ) \bar{Q}(s^{k-1}, a^k)=\frac {Q(s^{k-1}, a^k)-min_{s,a∈Tree}Q(s,a)} {max_{s,a∈Tree}Q(s,a)-min_{s,a∈Tree}Q(s,a)} Qˉ?(sk?1,ak)=maxs,a∈Tree?Q(s,a)?mins,a∈Tree?Q(s,a)Q(sk?1,ak)?mins,a∈Tree?Q(s,a)? (5) 附錄C 超參數(shù)為了簡單起見,我們優(yōu)先使用與之前的工作中相同的體系結(jié)構(gòu)選項和超參數(shù)。特別是,我們從AlphaZero的網(wǎng)絡(luò)架構(gòu)和搜索選擇開始[39]。對于棋盤游戲,我們使用與AlphaZero相同的UCB常數(shù)、Dirichlet探索噪聲和每次搜索800次模擬。 由于Atari中的分支因子要小得多,策略也簡單得多,我們每次搜索只使用50次模擬來加速實(shí)驗(yàn)。如圖3B所示,算法對這個選擇不是很敏感。我們還使用與R2D2相同的折扣(0.997)和價值轉(zhuǎn)換(見網(wǎng)絡(luò)架構(gòu)部分)[21]。 文中未提及的參數(shù)值請參考偽代碼。 附錄D 數(shù)據(jù)生成為了生成訓(xùn)練數(shù)據(jù),網(wǎng)絡(luò)的最新檢查點(diǎn)(每1000個訓(xùn)練步驟更新一次)使用與MCTS進(jìn)行游戲。在棋盤游戲圍棋,國際象棋和日本將棋中,每一步搜索800次模擬來選擇一個動作;在Atari中,由于動作空間小得多,每一步50次模擬就足夠了。 對于棋盤游戲,游戲一結(jié)束就送到訓(xùn)練任務(wù)。由于Atari游戲的長度要大得多(最多30分鐘或108000幀),中間序列每200步發(fā)送一次。在棋盤游戲中,訓(xùn)練任務(wù)在內(nèi)存重放緩沖區(qū)保存最近收到的100萬個游戲;在Atari中,視覺觀察較大,保存最近12.5萬個長度為200的序列。 棋盤游戲領(lǐng)域,在產(chǎn)生經(jīng)驗(yàn)的過程中,使用了與AlphaZero[39]中描述的相同的探索方案。Atari領(lǐng)域,則使用此方案的一個變體,在每個游戲期間,從訪問計數(shù)分布中對動作進(jìn)行采樣,而不僅僅是前 k k k 個動作。此外,訪問計數(shù)分布使用溫度參數(shù) T T T 參數(shù)化: p α = N ( α ) 1 / T ∑ b N ( b ) 1 / T p_α=\frac{N(α)^{1/T}}{\sum_bN(b)^{1/T}} pα?=∑b?N(b)1/TN(α)1/T? (6) T T T 衰減為網(wǎng)絡(luò)訓(xùn)練步數(shù)的函數(shù)。具體來說,前500k訓(xùn)練步驟的溫度為1,接下來250k訓(xùn)練步驟的溫度為0.5,其余250k訓(xùn)練步驟的溫度為0.25。這確保了動作選擇隨著訓(xùn)練的進(jìn)行而變得更加貪婪。 附錄E 網(wǎng)絡(luò)輸入表征函數(shù) 作為圍棋、國際象棋和日本將棋表征函數(shù)輸入的棋盤歷史狀態(tài)類似于AlphaZero[39]。在圍棋和日本將棋中,我們將最后8個棋盤狀態(tài)編碼為與AlphaZero中的相同;在國際象棋中,我們將歷史記錄增加到最后100個棋盤狀態(tài),以便正確預(yù)測平局。 對于Atari,表征函數(shù)的輸入包括分辨率為96x96的最后32個RGB幀以及導(dǎo)致每個幀的最后32個動作。我們對歷史動作進(jìn)行編碼是因?yàn)榕c棋盤游戲不同,Atari中的動作不一定對觀測有明顯的影響。RGB幀被編碼為每種顏色一個平面,分別為紅色、綠色和藍(lán)色重新縮放到范圍 [ 0 , 1 ] [0,1] [0,1] 。我們不執(zhí)行其他規(guī)范化,白化或其他預(yù)處理的RGB輸入。歷史動作被編碼為簡單的偏置平面,按 a / 18 a/18 a/18 縮放(Atari中總共有18個動作)。 動力學(xué)函數(shù) 動力學(xué)函數(shù)的輸入是表征函數(shù)生成的或之前應(yīng)用動力學(xué)函數(shù)生成的隱藏狀態(tài),與動作表征級聯(lián)。動作在與隱藏狀態(tài)具有相同分辨率的平面中進(jìn)行空間編碼。在Atari中,這個分辨率是6x6(請參閱網(wǎng)絡(luò)架構(gòu)部分中的下采樣說明),在棋盤游戲中,這個分辨率與棋盤大小相同(圍棋是19x19,國際象棋是8x8,日本將棋是9x9)。 在圍棋中,一個正常的動作(在棋盤落棋子)被編碼為一個全零平面,其中一個在被玩棋子的位置。過程被編碼為全零平面。 在國際象棋中,8個平面被用來編碼動作。第一個one-hot平面編碼棋子從哪個位置移動。接下來的兩個平面對棋子移動到的位置進(jìn)行編碼:一個one-hot平面用于編碼目標(biāo)位置(如果在棋盤上),另一個二進(jìn)制平面用于指示目標(biāo)是否有效(在棋盤上)。這是必要的,因?yàn)闉楹唵纹鹨?,我們的策略動作空間枚舉了所有可能動作的超集,并非所有操作都是合法的,并且我們使用相同的動作空間進(jìn)行策略預(yù)測和對動態(tài)函數(shù)輸入進(jìn)行編碼。剩下的五個二進(jìn)制平面用于表示提升的類型,如果有的話(皇后、騎士、主教、車、無)。 日本將棋的編碼是相似的,總共有11個平面。我們使用前8個平面來指示棋子從何處移動-要么是棋盤位置(第一個one-hot平面)要么是七種囚徒類型中的一種(剩余的7個二進(jìn)制平面)。接下來的兩個平面用于對目標(biāo)進(jìn)行編碼,就像在國際象棋中一樣。剩下的二進(jìn)制平面表示移動是否是升級。 在Atari中,一個動作被編碼為一個one-hot向量,它被適當(dāng)?shù)仄戒伒狡矫嬷小?/p> 附錄F 網(wǎng)絡(luò)架構(gòu)預(yù)測函數(shù) p k , v k = f θ ( s k ) p^k,v^k=f_θ(s^k) pk,vk=fθ?(sk) 使用與AlphaZero相同的架構(gòu):一個或兩個卷積層保留分辨率,但減少了平面的數(shù)量,然后是一個完全連接層轉(zhuǎn)為輸出的大小。 對于Atari中的價值和回報預(yù)測,我們遵循[30],縮放目標(biāo)使用可逆變換 h ( x ) = s i g n ( x ) ( ∣ x ∣ 1 ? 1 ε x ) h(x)=sign(x)(\sqrt{|x| 1}-1 εx) h(x)=sign(x)(∣x∣ 1 ??1 εx) ,其中ε=0:001(在我們所有的實(shí)驗(yàn)中)。然后,我們對標(biāo)量獎勵和價值目標(biāo)應(yīng)用變換 θ \theta θ ,以獲得等價的范疇表示。我們使用一個大小為601的離散支持集,每個支持集包含一個介于 -300 和 300 之間的整數(shù)。在這種變換下,每個標(biāo)量被表示為其兩個相鄰支撐的線性組合,使得原始值可以通過公式恢復(fù): x = x l o w ? p l o w x h i g h ? p h i g h x=x_{low}*p_{low} x_{high}*p_{high} x=xlow??plow? xhigh??phigh? 。例如,3.7這個目標(biāo)可以表示為在支持3的權(quán)重為0.3,支持4的權(quán)重為0.7。網(wǎng)絡(luò)的價值和獎勵輸出也使用大小為601的softmax輸出來建模。在推演過程中,通過首先計算它們在各自的softmax分布下的期望值,然后通過反轉(zhuǎn)標(biāo)度變換來獲得實(shí)際值和獎勵。價值和回報的縮放和轉(zhuǎn)換在網(wǎng)絡(luò)端透明進(jìn)行,其他算法不可見。 表征函數(shù)和動力學(xué)函數(shù)都使用與AlphaZero相同的架構(gòu),但是使用16個而不是20個殘差塊[15]。我們使用3x3個內(nèi)核和256個隱藏平面進(jìn)行每個卷積。 對于Atari,觀測值具有較大的空間分辨率,表征函數(shù)以stide為2的卷積序列開始,以降低空間分辨率。具體地說,從分辨率96x96和128個平面的輸入觀測開始(每個平面有3個彩色通道的32個歷史幀,與廣播到平面的相應(yīng)32個動作相連),我們按如下方式進(jìn)行下采樣: ·1個卷積,步幅2和128個輸出平面,輸出分辨率48x48。 所有操作的內(nèi)核大小都是3x3。 對于動力學(xué)函數(shù)(始終以6x6的下采樣分辨率運(yùn)行),首先將動作編碼為圖像,然后與上一步的隱藏狀態(tài)一起沿平面維度疊加。 附錄G 訓(xùn)練在訓(xùn)練過程中,將MuZero網(wǎng)絡(luò)展開K個假設(shè)步驟,并與MCTS參與者生成的軌跡采樣序列對齊。序列是通過從回放緩沖區(qū)中的任何游戲中采樣一個狀態(tài),然后從該狀態(tài)展開 K K K 步來選擇的。在Atari中,樣本是根據(jù)優(yōu)先級回放[35]提取的,優(yōu)先級 P ( i ) = P i α ∑ k P k α P(i)=\frac{P_i^\alpha}{{\sum_k}P_k^\alpha} P(i)=∑k?Pkα?Piα?? ,其中 p i = ∣ v i ? z i ∣ pi=|v_i-z_i| pi=∣vi??zi?∣, v v v 是搜索價值, z z z 是觀測到的n步回報。為了校正優(yōu)先采樣引入的采樣偏差,我們使用重要性采樣率來衡量損失 w i = ( 1 N ? 1 p ( i ) ) w_i=(\frac 1 N? \frac 1 {p(i)}) wi?=(N1??p(i)1?)。在我們所有的實(shí)驗(yàn)中,我們設(shè)置 α = β = 1 \alpha=\beta=1 α=β=1。對于棋盤游戲,狀態(tài)是統(tǒng)一抽樣的。 序列上的每個觀測點(diǎn) o t o_t ot? 也有相應(yīng)的MCTS策略 π t \pi_t πt? 、估計價值 v t v_t vt? 和環(huán)境獎勵 u t u_t ut?。在每個展開的步驟k,網(wǎng)絡(luò)相對該步驟的價值、策略和獎勵目標(biāo)都有一個損失,求和得出MuZero網(wǎng)絡(luò)的總損失(見公式1)。注意,在沒有中間獎勵的棋盤游戲中,我們忽略了獎勵預(yù)測損失。對于棋盤游戲,我們直接自舉到游戲結(jié)束,相當(dāng)于預(yù)測最終結(jié)果;對于Atari,我們向未來自舉 n = 10 n=10 n=10 步。 為了在不同的展開步驟中保持大致相似的梯度幅度,我們在兩個不同的位置縮放梯度: ·我們將每個壓頭的損失按 1 / K 1/K 1/K 進(jìn)行縮放,其中 K K K 是展開步驟的數(shù)量。這確保了無論展開多少步,總梯度都具有相似的大小。 ·我們還將動力學(xué)函數(shù)開始處的梯度縮放 1/2 。這樣可以確保應(yīng)用于動力學(xué)函數(shù)的總梯度保持不變。 在本文報告的實(shí)驗(yàn)中,我們總是展開 K = 5 K=5 K=5 步。有關(guān)詳細(xì)說明,請參見圖1。 為了改進(jìn)學(xué)習(xí)過程并限制激活,我們還將隱藏狀態(tài)擴(kuò)展到與動作輸入相同的范圍 ( [ 0 ; 1 ] ) : s s c a l e d = s ? m i n ( s ) m a x ( s ) ? m i n ( s ) ([0;1]): s_{scaled}=\frac {s-min(s)}{max(s)-min(s)} ([0;1]):sscaled?=max(s)?min(s)s?min(s)?。 所有實(shí)驗(yàn)都是使用第三代Google云TPUs進(jìn)行的[12]。每一個棋盤游戲,我們用16個TPU進(jìn)行訓(xùn)練,1000個TPU用于自我對弈。在Atari的每一場游戲中,我們使用8個TPU進(jìn)行訓(xùn)練,32個TPU進(jìn)行自我對弈。在Atari中,TPU所占的比例要小得多,這是因?yàn)閷γ看我苿舆M(jìn)行模擬的次數(shù)較少(50次而不是800次),并且與表征函數(shù)相比,動力學(xué)函數(shù)的大小較小。 附錄H 重新分析為了提高M(jìn)uZero的采樣效率,我們引入了算法的第二個變體,MuZero重分析。MuZero重分析再次訪問過去的時點(diǎn),并使用最新的模型參數(shù)重新執(zhí)行其搜索,可能導(dǎo)致比原來的搜索更高質(zhì)量的策略。這個新策略用作MuZero訓(xùn)練期間80%更新的策略目標(biāo)。此外,目標(biāo)網(wǎng)絡(luò)[25], v ? = f θ ? ( s 0 ) v^-=f_{\theta^-}(s^0) v?=fθ??(s0) ,基于最近的參數(shù) θ ? \theta^- θ? ,為價值函數(shù)提供了一個新的、穩(wěn)定的n步自舉目標(biāo), z t = u t 1 γ u t 2 . . . γ n ? 1 u t n γ n v t n ? z_t=u_{t 1} \gamma u_{t 2} ... \gamma^{n-1}u_{t n} \gamma^nv^-_{t n} zt?=ut 1? γut 2? ... γn?1ut n? γnvt n?? 。此外,還調(diào)整了其他幾個超參數(shù),主要是為了增加樣本重用和避免過度擬合價值函數(shù)的。具體來說,每個狀態(tài)抽取2.0個樣本,而不是0.1;價值目標(biāo)的權(quán)重降至0.25,而策略和獎勵目標(biāo)的權(quán)重為1.0;n步回報率降至 n = 5 n=5 n=5 步,而不是 n = 10 n=10 n=10 步。 附錄I 評估我們通過測量每個玩家的Elo等級來評估MuZero(圖2)在棋類游戲中的相對強(qiáng)度。我們估計玩家a打敗玩家b的概率,是通過邏輯函數(shù) p ( a 打 敗 b ) = ( 1 1 0 ( c e l o ( e ( b ) ? e ( a ) ) ) ) ? 1 p(a打敗b)=(1 10^{(celo(e(b)-e(a)))})^{-1} p(a打敗b)=(1 10(celo(e(b)?e(a))))?1,并通過貝葉斯邏輯回歸來估計等級 e ( ) e() e() ,由BayesElo程序[6]使用標(biāo)準(zhǔn)常數(shù) c e l o = 1 / 400 c_{elo}=1/400 celo?=1/400 來計算。 Elo評分是根據(jù)訓(xùn)練期間MuZero和基線玩家(分別是Stockfish、Elmo或AlphaZero)迭代之間800次模擬每一步比賽的結(jié)果計算出來的?;€玩家每次移動的搜索時間相當(dāng)于100毫秒?;€參與者的Elo評級基于公開的價值觀[39]。 在Atari中,我們計算了每個游戲超過1000回合的平均獎勵,每回合限制在標(biāo)準(zhǔn)的30分鐘或108000幀[27],除非另有說明,否則每次移動使用50個模擬。為了減輕Atari模擬器確定性的影響,我們采用了兩種不同的評估策略:30個no-op的隨機(jī)啟動和人工啟動。對于前者,在每回合開始時,在將控制權(quán)交給代理之前,向模擬器應(yīng)用0到30個no-op動作的隨機(jī)數(shù)。對于后者,在將控制權(quán)交給代理之前,從人類專家游戲中取樣開始位置以初始化Atari模擬器[27]。 |
|