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

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

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

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

評論