AlphaGo的開發(fā)和運(yùn)行涉及海量數(shù)據(jù)的多次調(diào)參,由于數(shù)據(jù)規(guī)模和復(fù)雜度的要求,采用手動(dòng)調(diào)參估計(jì)需要8.3天。研究人員使用貝葉斯優(yōu)化作為自動(dòng)調(diào)參解決方案,效果明顯,自對(duì)弈測試中的勝率從50%提高至66.5%,這下人類更沒法下了。
在AlphaGo的開發(fā)過程中,它的許多超參數(shù)都經(jīng)過多次貝葉斯優(yōu)化調(diào)整。這種自動(dòng)調(diào)參過程使其棋力顯著提高。在與李世乭的比賽之前,我們調(diào)整了最新的AlphaGo的參數(shù),并在自弈對(duì)局測試中將勝率從50%提高到66.5%。
這個(gè)經(jīng)過調(diào)整的版本在最后一局比賽中應(yīng)用。當(dāng)然,由于我們?cè)陂_發(fā)周期中多次調(diào)整AlphaGo的參數(shù),因此實(shí)際上的棋力提升效果更為明顯。我們希望這個(gè)案例研究將引起圍棋愛好者的興趣,同時(shí)也為貝葉斯優(yōu)化相關(guān)從業(yè)者提供一些見解和靈感。
為什么AlphaGo調(diào)參用貝葉斯優(yōu)化?手動(dòng)調(diào)參需要8.3天
在AlphaGo的設(shè)計(jì)和開發(fā)過程中,貝葉斯優(yōu)化作為一項(xiàng)常規(guī)方式,經(jīng)常對(duì)AlphaGo超參數(shù)進(jìn)行調(diào)整,提升棋力。特別是,貝葉斯優(yōu)化成為AlphaGo與李世乭引人注目比賽中的重要因素。
AlphaGo的運(yùn)行可以用兩個(gè)階段來概括:神經(jīng)網(wǎng)絡(luò)訓(xùn)練和蒙特卡羅樹搜索(MCTS)。其中每一個(gè)階段都存在許多超參數(shù)。我們主要注意調(diào)整與游戲相關(guān)的超參數(shù)。
我們之所以這樣做,是因?yàn)檎莆樟诵阅軓?qiáng)大的神經(jīng)網(wǎng)絡(luò)的調(diào)節(jié)策略,但是在游戲過程中如何調(diào)整AlphaGo的人類知識(shí)較少。我們對(duì)AlphaGo的許多組件進(jìn)行了元優(yōu)化。
值得注意的是,我們調(diào)整了MCTS超參數(shù),包括管理UCT勘探公式,節(jié)點(diǎn)擴(kuò)展閾值,與MCTS分布式實(shí)施相關(guān)的幾個(gè)超參數(shù),以及快速推出和快速推出之間選擇公式的超參數(shù)。每次移動(dòng)的價(jià)值網(wǎng)絡(luò)評(píng)估。我們還調(diào)整了與策略和價(jià)值網(wǎng)絡(luò)評(píng)估相關(guān)的超參數(shù)。
最后,我們對(duì)一個(gè)公式進(jìn)行了元優(yōu)化,以確定游戲過程中每次行棋的搜索時(shí)間。根據(jù)調(diào)整任務(wù)屬性不同,要調(diào)整的超參數(shù)的數(shù)量從3到10不等。
圖1:在前6次迭代中使用高斯過程(GP)和預(yù)期改進(jìn)獲取(EI)函數(shù)的貝葉斯優(yōu)化的一維化表示。上圖所示為GP的均值(藍(lán)色)和真正的未知函數(shù)(紅色)。在查詢點(diǎn)附近,不確定性降低。下圖為EI采集函數(shù)及其建議的下一個(gè)查詢點(diǎn)。
在應(yīng)用貝葉斯優(yōu)化之前,我們嘗試使用網(wǎng)格搜索來調(diào)整AlphaGo的超參數(shù)。具體來說,對(duì)于每個(gè)超參數(shù),我們構(gòu)建了一個(gè)有效值網(wǎng)格,并在當(dāng)前版本v和固定基線v0之間運(yùn)行自對(duì)弈。對(duì)于每個(gè)值,我們運(yùn)行了1000局對(duì)局。
這些對(duì)局中每次行棋的時(shí)間固定為5秒。進(jìn)行一場對(duì)局大約需要20分鐘。通過使用400個(gè)GPU將游戲與幾個(gè)工作者并行化,大約需要6.7小時(shí)來估算單個(gè)超參數(shù)值的勝率p(θ)。
如果要進(jìn)行6個(gè)超參數(shù)的優(yōu)化,每個(gè)參數(shù)取5個(gè)可能的值,總共需要8.3天。如此高的調(diào)參成本是我們采用貝葉斯優(yōu)化的重要原因。
圖2:最左邊三個(gè)圖:估計(jì)三個(gè)單獨(dú)超參數(shù)的勝率的后驗(yàn)均值和方差,同時(shí)修復(fù)剩余的超參數(shù)。垂直條所示為固定的參考參數(shù)值。最右邊的圖:兩個(gè)超參數(shù)的后驗(yàn)均值,表示這些參數(shù)之間的相關(guān)性
我們使用改進(jìn)版的Spearmint進(jìn)行輸入變形,進(jìn)行貝葉斯優(yōu)化。超參數(shù)調(diào)整過程可由算法1表示(下圖)。
圖3:作為優(yōu)化步驟函數(shù)的觀察值和最大預(yù)期勝率的典型值
實(shí)驗(yàn)方法和測試任務(wù)
任務(wù)1:調(diào)整MCTS超參數(shù)
我們優(yōu)化了MCTS超參數(shù),用于管理UCT勘探公式、網(wǎng)絡(luò)輸出回火以及快速輸出值和網(wǎng)絡(luò)輸出值之間的混合比。要調(diào)整的超參數(shù)的數(shù)量從3到10不等。
AlphaGo的開發(fā)涉及許多設(shè)計(jì)迭代過程。在完成AlphaGo版本開發(fā)之后,我們通過貝葉斯優(yōu)化和自我對(duì)弈對(duì)其進(jìn)行了改進(jìn)。在每次設(shè)計(jì)迭代開始時(shí),勝率為50%。然而,通過調(diào)整MCTS超參數(shù),在與李世乭比賽之前的兩次設(shè)計(jì)迭代中,勝率增加到63.2%和64.4%(即Elo分?jǐn)?shù)提高了94、103分)。
重要的是,每次我們調(diào)整版本時(shí),所獲得的知識(shí)(包括超參數(shù)值)都會(huì)傳遞給下一版本AlphaGo的開發(fā)團(tuán)隊(duì)。在與李世乭的比賽結(jié)束后,我們繼續(xù)優(yōu)化MCTS超參數(shù),繼續(xù)增強(qiáng)AlphaGo的棋力。
任務(wù)2:調(diào)整面向快棋的AlphaGo用于數(shù)據(jù)生成
我們運(yùn)行了行棋時(shí)間很短的自弈對(duì)局,來生成策略和價(jià)值網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集,與常規(guī)行棋時(shí)間對(duì)局不同,快速對(duì)局每步棋限時(shí)0.25秒。 AlphaGo在各種版本上的改進(jìn)取決于這些數(shù)據(jù)集的質(zhì)量。因此,快速的數(shù)據(jù)生成必須盡可能具備強(qiáng)大性能。在這個(gè)特殊的時(shí)間設(shè)置下,最佳的超參數(shù)值會(huì)發(fā)生很大變化,如果沒有適當(dāng)?shù)南闰?yàn)知識(shí),手動(dòng)調(diào)參就會(huì)受到限制。在調(diào)整不同的快棋版本后,四個(gè)關(guān)鍵版本的Elo收益分別為300、285、145和129。
任務(wù)3:調(diào)整TPU
張量處理單元(TPU)可以提供比GPU更快的網(wǎng)絡(luò)評(píng)估速度。
遷移到新硬件后,AlphaGo的性能大幅提升。然而,現(xiàn)有超參數(shù)的最佳值發(fā)生了改變,并且在分布式TPU實(shí)現(xiàn)中還出現(xiàn)了新的超參數(shù)。貝葉斯優(yōu)化在早期的TPU實(shí)現(xiàn)中產(chǎn)生了更大幅度的Elo分?jǐn)?shù)提升
任務(wù)4:開發(fā)并調(diào)整動(dòng)態(tài)混合比例公式
早期版本的AlphaGo使用快速輸出值和網(wǎng)絡(luò)輸出值評(píng)估之間的恒定混合比,無論對(duì)局的階段和搜索時(shí)間如何變化,這個(gè)比例都是不變的。這顯然是不是最優(yōu)選擇,但我們一直缺乏適當(dāng)?shù)募夹g(shù)來尋找最優(yōu)的混合函數(shù)。通過引入貝葉斯優(yōu)化,我們可以定義更靈活的公式,并尋找和調(diào)整最佳公式的參數(shù)。
圖4b所示為對(duì)應(yīng)于圖b中的四個(gè)點(diǎn)的四個(gè)混合比對(duì)移動(dòng)數(shù)曲線。這表明在150手附近找到混合比的良好值是很重要的。這一發(fā)現(xiàn)與AlphaGo自對(duì)弈中的關(guān)鍵手通常發(fā)生在150手至200手之間的觀察結(jié)果相一致。
任務(wù)5:調(diào)整時(shí)間控制公式
MCTS是一種隨時(shí)可用的算法,其樹搜索可以在任何時(shí)候中斷,返回當(dāng)前的最佳選擇。為了準(zhǔn)備與李世乭的正式比賽,我們希望能夠優(yōu)化所有動(dòng)作的搜索時(shí)間分配,比賽主時(shí)間為2小時(shí),每個(gè)玩家有3個(gè)60秒的讀秒時(shí)段。我們將時(shí)間分配也視為優(yōu)化問題,以便最大化地提升勝率。
調(diào)整所有超參數(shù)后的最佳效果如圖所示
AlphaGo在默認(rèn)時(shí)間設(shè)置下獲得66.5%的勝率,每步棋的行棋時(shí)間固定為30秒。
未來:繼續(xù)開發(fā)具有MCTS的AI對(duì)弈智能體
貝葉斯優(yōu)化為AlphaGo的超參數(shù)調(diào)節(jié)提供了一種自動(dòng)化的解決方案。因?yàn)閭鹘y(tǒng)的手動(dòng)調(diào)參耗時(shí)過長,不具備實(shí)現(xiàn)的可能。貝葉斯優(yōu)化對(duì)AlphaGo的勝率提升做出了重大貢獻(xiàn),并幫助我們獲得了重要的見解,這些見解繼續(xù)有助于開發(fā)具有MCTS的新版本的AI對(duì)弈智能體。
-
AlphaGo
+關(guān)注
關(guān)注
3文章
79瀏覽量
28436 -
DeepMind
+關(guān)注
關(guān)注
0文章
131瀏覽量
11572
原文標(biāo)題:人類沒法下了!DeepMind貝葉斯優(yōu)化調(diào)參AlphaGo,自弈勝率大漲16.5%
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ADRC的使用方法和調(diào)參大致的方向
教你怎樣學(xué)會(huì)PID調(diào)參
PID調(diào)參的相關(guān)資料分享
針對(duì)PID調(diào)參進(jìn)行詳細(xì)的講解
深度學(xué)習(xí)的調(diào)參經(jīng)驗(yàn)
詳解貝葉斯超參優(yōu)化方法
一文秒懂貝葉斯優(yōu)化/Bayesian Optimization

模型調(diào)參:CANape與Simulink的強(qiáng)強(qiáng)聯(lián)手

什么是調(diào)參 CCP協(xié)議的實(shí)現(xiàn)原理

機(jī)器學(xué)習(xí)8大調(diào)參技巧

評(píng)論