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

什么是調參 CCP協議的實現原理

評論