0
本文作者: 楊曉凡 | 2017-05-24 22:32 |
文章由三川,宗仁,曉帆聯合編輯。
雷鋒網AI科技評論按:烏鎮(zhèn)圍棋峰會第二天,在《AlphaGo研發(fā)介紹,AlphaGo意味著什么》主題演講上,Demis Hassabis+David Silver針對昨天與柯潔鏖戰(zhàn)的AlphaGo研發(fā)做了公開介紹,其中AlphaGo主程序員David Silver在演講中講到AlphaGo研發(fā)的關鍵介紹,雷鋒網AI科技評論根據現場原話整理出下文。
演講摘要:有了這樣強大的策略網絡和價值網絡,AlphaGo探索棋步的基本的搜索樹規(guī)模就得以大幅度縮減。前一個版本AlphaGo Lee還是通過“只考慮人類可能走的位置”和“預判50回合”來限制搜索規(guī)模,如今AlphaGo Master已經考慮的是全局最有價值的位置,并且預測更少的回合數目還能達到更高的準確率。這樣一來,蒙特卡洛樹更窄更淺,回合中考慮的走子位置更少、預判回合數更少,預判依靠更強大的網絡,只用4個TPU、AlphaGo Lee十分之一的計算能力就達到了更高的棋力。
先從外界一直在關心的AlphaGo硬件問題說起,具體來說,AlphaGo Lee使用了谷歌云上的50個左右TPU。依靠這樣的計算能力,我們可以做50層深的搜索,就是說落子前對棋盤上每一個可能的位置可以做50步預判。每秒它可以搜索10,000(ten thousand,1萬)個位置。聽起來挺多的,但是其實20年前的深藍可以每秒搜索100,000,000(a hundred million,1億)個位置。所以其實AlphaGo思考的時候比深藍聰明多了,它用策略網絡和價值網絡,大大減少了需要搜索的路徑數量。
說說新版本的AlphaGo吧,我們把它稱作AlphaGo Master。這是目前最強的AlphaGo,也正是此次大會中比賽的AlphaGo。AlphaGo Master使用的算法要比以前高效得多,以至于只需要AlphaGo Lee版本十分之一的計算量。以及,訓練AlphaGo Master也要高效得多。
AlphaGo Master運行在單臺(single machine)電腦上(會后采訪中,AI科技評論在內的媒體跟Silver親自確認,是運行在單臺電腦上,但包含4個TPU),但是比擁有更多TPU的AlphaGo Lee、AlphaGo Fan都要厲害。
AlphaGo Master為何如此厲害呢?背后的原因是因為我們用了最好的數據來訓練它。我們能獲取到的最好的數據不是來自于人類,而是來自于AlphaGo自己。我們讓AlphaGo做自己的老師。我們利用AlphaGo強大的搜索能力,自己生成數據,用生成的數據讓下一代的AlphaGo學習。自己教自己。
用這樣的方法,我們訓練出的價值網絡和策略網絡就比以前的AlphaGo都要厲害。下面我來仔細介紹一下算法中的細節(jié)。
首先,我們讓AlphaGo跟自己對弈。這是基于強化學習的,我們已經不再拿人類的棋局給它學習了。AlphaGo自己訓練自己,自己從自己身上學習。通過強化學習的形式,它學到如何提高。
在棋局的每一回合,AlphaGo 運行火力全開(full power)的搜索以生成對落子的建議,即計劃。當它選擇這一步落子、實施、并到一個新回合時,會再一次運行搜索,仍然是基于策略網絡和價值網絡、火力全開的搜索,來生成下一步落子的計劃,如此循環(huán),直到一局棋結束。它會無數次重復這一過程,來產生海量訓練數據。隨后,我們用這些數據來訓練新的神經網絡。
首先,當 AlphaGo 和它自己下棋時,用這些訓練數據來訓練一個新策略網絡。事實上,在 AlphaGo 運行搜索、選擇一個落子的方案之前,這些是我們能獲取的最高質量的數據。
下一步,讓策略網絡只用它自己、不用任何搜索,來看它是否能產生同樣的落子的方案。這里的思路是:讓策略網絡只靠它自己,試圖計算出和整個 AlphaGo 的火力全開搜索結果一樣的落子方案。這樣一來,這樣的策略網絡就比之前版本的 AlphaGo 要厲害得多。
我們還用類似的方式訓練價值網絡。它用最好的策略數據來訓練,而這些數據,是出于完全版本的 AlphaGo 自己和自己下棋時的贏家數據。你可以想象,AlphaGo 自己和自己下了非常多盤棋。其中最有代表性的棋局被選取出來提取贏家數據。因此,這些贏家數據是棋局早期回合步法的非常高質量的評估。
比如說,在某局棋中,我們想知道在第 10 回合的局勢,怎么辦?我們從頭重新運行一遍這局棋,發(fā)現最后黑方贏了,據此就可以做出合理推測:黑方在第 10 回合占優(yōu)勢。
所以你需要高質量訓練數據來訓練價值網絡。然后用價值網絡來預測這些 AlphaGo 自己和自己下棋的棋局中,哪一方是贏家。這些數據中,棋局的每一回合,我們都讓價值網絡來預測最后的贏家。
最后,我們重復這一過程許多遍,最終得到全新的策略和價值網絡。比起舊版本,它們要強大得多。然后再把新版本的策略、價值網絡整合到 AlphaGo 里面,得到新版本的、比之前更強大的 AlphaGo。這導致樹搜索中更好的決策、更高質量的結果和數據,再循環(huán)得到新的、更強大的策略、價值網絡,再次導致更強大的 AlphaGo,如此不斷提升。
最后,AlphaGo的表現如何呢?以圍棋等級分來看,以前ZEN、CrazyStone軟件達到約2000分,樊麾版AlphaGo達到近3000分,李世石版AlphaGo上漲3子,達到3500分以上,AlphaGo Master又漲3子,達到4500分以上。
1. 新版的AlphaGo已經不需要向人類導師取經了?
對,它已經不需要依賴外界的導師了,現在我們希望它往通用人工智能的AGI的方向發(fā)展。
2. 目前DeepMind在圍棋上取得的成就是否有應用到其他方向的拓展上?DeepMind又在向其他方向拓展上有什么成果?
關于具體應用,我們還在應用的早期探索階段,包括剛剛演講中提到的新藥研制等應用領域只是它中間某一個技術的行業(yè)使用。
3. 剛演講中,您提到AlphaGo在下棋過程中已經開始擁有類似人類的“直覺”,這是否可以說其正在邁向強AI階段? 意味著擁有自主意識?
我想應該這么說,在某一個具體的領域不斷強化訓練,只能說它在這個確定領域中實現了這種直覺或者自主意識,和人類直接產生的自主意識有區(qū)別。正因為這樣,它有機會應用在不僅僅圍棋領域,而是包括其它領域。
4. 您昨天提到的它的計算量相當于去年人機大戰(zhàn)的十分之一計算量,能不能說地再清楚一些?
對,昨天我們說到,它用的是TPU,十個處理單位,只占到十分之一的計算量,這里強調一下,十分之一既指電力的消耗只占到之前的十分之一,也指運行調用的資源只占到之前的十分之一。
5. 請問您提到AlphaGo Lee使用了谷歌云上的50個左右TPU,這次它的計算力少了十倍的計算量,到底是用了多少個TPU?
是用了一個單機(Single Machine),這個物理服務器上面有4個TPU。
6. AlphaGo昨天比賽的后半局,按理應該是時間比前面用的更少,打你們?yōu)槭裁匆恢北3謩蛩俚穆渥铀俣?,這背后的算法做了什么樣的設置?
我們每一步的計算是持續(xù),穩(wěn)定的,所以制定了對等時間求穩(wěn)策略,來達到最大限度使用時間的目的,所以我們認為勻速是最好的。
7. 為什么AlphaGo在喬裝成Master60連勝的時候已經打敗過柯潔,為什么還要舉辦這次公開比賽?
來自David Silver先生,AlphaGo首席研究員的聲明:
新版本的AlphaGo, 已經過幾百萬次的自我訓練,并在檢測舊版本弱點方面表現出色。也因此,新版本的AlphaGo可以讓舊的版本三個子。但當AlphaGo與從未對弈過的人類棋手對局時,這樣的優(yōu)勢就不復存在了,尤其是柯潔這樣的圍棋大師,他可能幫助我們發(fā)現Alphago未曾展露的新弱點。這樣的衡量標準是無法比較的。對于本周的第二輪和第三輪對局,我們拭目以待。
The new version of AlphaGo has trained against itself millions of times, and has learned to become very good at exploiting the weaknesses in previous versions. That's why it's about three stones stronger in head-to-head games against its older self. But that doesn't mean anything when it comes up against a human player with whom AlphaGo has never trained - particularly a great master like Ke Jie, who can uncover new weaknesses we don't know about. The scales just aren't comparable. We are excited for the second and third games this week! - David Silver, lead researcher for AlphaGo
雷鋒網AI科技平路獨家報道,未經許可,拒絕轉載。
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。