如何看待DeepMind發布升級版阿爾法狗:AlphaGo Zero?

新一代的阿法元(AlphaGo Zero),不需要參考人類任何的先驗知識,完全靠reinforcement learning, 擊潰阿法狗100-0,達到這樣一個水準,阿法元只需要在4個TPU上,花三天時間,自己左右互搏490萬棋局,而且訓練後期表明,最優下法與人類的下法存在本質的不同,人類實際「誤導」了AlphaGo(雖然我覺得人工智慧不用擔心,但是還是有點驚)。


今天早上被一條重大新聞刷屏:

Nature- Mastering the game of go without human knowledge, 阿爾法元超越自己的大哥-阿爾法狗。 這一代演算法被deepmind命名為Alphago Zero, 中文阿爾法元,「元」 含有起點,創世之意。 總之,就是從零開始 ,其實這個元字用意很深, 一方面說, 這個演算法是不需要人類數據指導,也不需要它哥哥(阿法狗)指導,就自己演化出來。 另一方面也可以理解為它可以開啟新紀元。

當然, 同時谷歌也宣傳了它的TPU, 只需要4台TPU運行幾天的功夫就可以了。 那麼, 這次的大新聞是不是一個谷歌精心策劃的商業廣告,還是真的隱藏天機。鐵哥就來給大家解讀一下阿法元和其背後的深度強化學習,看看這次的大新聞算不算得從零到一。

如果大家了解計算機學下棋的事情,就會了解到幾十年前,我們就已經用窮舉法來解決棋類問題了,在國際象棋這類遊戲里, 計算機會以比人腦快的多的速度推演兩軍對峙的未來,在運用零和遊戲里固有的減少風險策略, 在1996年就可以讓人類棋手甘拜下風。

窮舉法不適用圍棋,因為跟其燦若宇宙星辰的可能性搜索空間(每一步19*19可能,若干步驟後就是天文數字,這種由於可能性爆炸導致的悲劇也稱為維度災難),被稱為人工智慧界的mission impossible。 而在2015年, 夢幻被粉碎,原因在於深度卷積網路的幽靈終於潛入到了棋類遊戲領域。 深度學習最擅長把高維度的問題自動的降維,從而解決了剛說過的維度災難,如宇宙星辰般的搜索空間瞬間被壓榨到很小,在此時的機器演算法面前, 圍棋無非是一個當年的國際象棋。

然而當時立下首要功勛的深度卷積網路,卻需要學習三千萬組人類數據進行訓練, 而整個訓練過程需要的能量據說要耗費幾噸煤炭。

人們說,你秒殺人類智商的阿法狗無非是比人類看棋譜的速度快,難道還真的懂圍棋嗎? 你所作的頂多是模仿,裡面的強化學習到底有多少作用, 真的不知道。

然而今天,阿法元卻能夠在不用那3000萬數據的時候來個完勝阿法狗。從人工智慧的技術角度看, 這是強化學習的勝利, 在不進行監督學習的情況下, 就可以達到一個高於人類的境地。

為什麼強化學習如此重要? 讓我們先比較一下監督學習和強化學習的基本思想。 監督學習, 強化學習和無監督學習是機器學習的三大框架。 某一個意義說,監督學習是給定輸入和輸出,機器來學習輸入和輸出的關係,一個好的監督學習演算法猶如一個預言家, 它能夠根據自己之前見過的輸入輸出關係來預測未知的輸入。

強化學習呢? 強化學習的三元素是狀態,行為和環境獎勵。 強化學習條件下, 學習者每一步看到的是它決策的行為結果, 然後導致下一步行動,為了最終遊戲的勝利。 一句話說:強化學習強在決策。 監督學習是預言家,強化學習是決策家。

我們一比就明白, 強化學習更像是一個日常決策中的人。我們看到一個老虎,監督學習幫你識別出來它是老虎,那麼你可能剛說出來就被它吃了。 而強化學習告訴你趕緊跑,你可能活下來。 監督學習讓你成為復讀機,而強化學習讓你稱之為生物。

再深一點想,其實學習是為了生存,是贏得game of life(想想那些不太讀書就能過得很好生活的真是深諳強化學習的道理)。 強化學習賦予機器以靈魂。監督學習的那些任務反而是在這個宗旨之下產生的。

回到圍棋, 我們看看強化學習如何決策: 我們在好好理解一些一下「強化」 二字, 強化的意味是: 強化優勢經歷,反過來,就是弱化劣勢經歷。當你走了一部棋導致不好結果,之後被選入這一步棋的概率就降低, 而導致勝利的選擇被不停的強化,直到你每次都延著最佳路徑前進。這聽起來很像進化, 而與進化的區別是,進化是嚴酷的客觀環境對隨機變化的生物的選擇,而強化學習里的單元可以通過梯度下降主動調整策略。

既然強化學習那麼牛, 為什麼阿法狗還用監督學習這個拐棍呢?一句話說,強化學習太難了!

強化學習有兩大難題:

1, 獎勵時間的不確定性: 今天的努力,可能明天回報, 可能十年後才有回報, 今天帶來獎勵的事情,明天可能就導致悲劇(比如吸毒很爽未來地獄) 對於遊戲里的每一次決策, 你都無法獲得立即的反饋,相比監督學習時時可以得到對和錯的答案,這個信息實在太弱了, 用來指導學習,那是慢慢的(如何利用這個或有或無的信息,強化學習的一系列方法圍繞而來,比如Q-learn)。  

2, 探索與收益的平衡難以掌握: 有的人一輩子抱殘守缺,7歲玩泥巴未來就永遠玩泥巴。 有的人一輩子都在探索不同的方向,但是換來換去最終庸庸碌碌。而只有恰當把握探索收益平衡的,比如說27歲前讀書去不同國家,27歲開始認準一個方向成為大佬,30歲前各種風流倜儻,30歲選個知書達理另一半從一而終。 強化學習始終面臨是探索更多空間,還是開始用現在經驗收益的矛盾。 

這兩點放到圍棋這個搜索空間猶如宇宙星辰的遊戲里,估計學習時間也要用生物進化的尺度算, 然而阿爾法元所用的強化學習演算法,號稱解決了這個問題。

仔細看它和它哥哥阿爾法狗的差別沒那麼大, 只不過這一次的神經網路完全由強化學習訓練, 和蒙特卡羅樹得融合可以算是完美。

之前的阿爾法狗有策略和估值網路(都是深度卷積網路),策略負責把棋盤現在的狀態轉化為可能的行為概率, 這個東西被稱為策略(policy,是由每個可能的行為概率構成的向量,簡稱策略向量) ,估值則是輸入目前的棋盤狀態得到最終結果的概率。 這兩個網路在這一次被合成一個巨大的深度殘差網路(卷積網路的一種)。

Nature圖: 深度卷積網路計算概率

深度卷積網路擅長整體對圖像信息進行編碼, 我們可以把這個巨大的殘差網路所作的事情看成白日夢者對未來的總體規劃。 多層卷積本身的天性決定它擅長從這種19*19的格子圖像總結出意思來,強化學習的信息一旦可以訓練網路,就會產生意想不到的效果。而之後MCTS蒙特卡羅樹則對這種初步的結論進行實踐修正。

在這裡回顧一下蒙特卡洛樹是怎麼工作的,說到蒙特卡洛, 這是大名鼎鼎的隨機抽樣方法。所謂樹,大家一定可以想到決策樹,樹的節點是某一刻的狀態,而枝杈代表一個決策(行為),而這裡的蒙特卡洛樹即生成整個決策樹的過程,通過大量的實驗(猶如蒙特卡洛抽樣的過程)得到每個決策行為取勝的概率。

決策樹從一個狀態s出發,每個分支代表一個可能行為(a),而且有一個代表最終贏率的分數與之對應,我們選擇分數最高的那個行為繼續展開(下一次行動),得到新的狀態,用相同的規則行動,直到遊戲結束, 最終贏的走法加一分, 輸的走法減一分,依次往複模擬無數次後,就會得到從s出發不同決策贏得比賽的概率。 這個過程酷似進化選擇演算法, 就是讓那些有優勢的選擇有更高的繁殖子代概率, 最終勝出。雖說這僅僅是阿爾法元的一小步,卻包含了著名的Q-learning和馬爾科夫決策樹的思想。

我們來看每一步決策神經網路和蒙特卡洛樹是怎麼結合的: 決策分為搜索階段和行為階段。假定現在我處在狀態s,在搜索階段神經網路對我所能做的所有行為(a)進行根據對未來的猜測進行預判,生成贏棋的概率v和策略向量p(s,a)。 當然這個預判開始很不靠譜, 蒙特卡洛樹在此基礎通過無數次模擬實踐展開來(注意均是在狀態s上),來實踐出靠譜的策略向量pi(s,a)。

有了神經網路的幫助,蒙特卡羅樹展開不是瞎展開, 也不是從零開始,每一個樹的新分支上,我們都通過神經網路給它一個是正確步驟的先驗概率(P)和初始的贏率(V),代表走它通向勝利的概率。在神經網路助攻下,蒙特卡洛樹可以更快的更新策略向量(每個行為選擇的概率)。此時搜索階段結束, 我們從這個策略向量里通過抽樣得到我們最終進行的行為,是為行為階段。 這下一步棋還真不容易啊!

Nature圖: 策略更新的方法

最終當遊戲結束的時候,神經網路的權重開始更新,這個更新的過程里,我們把整個遊戲的過程分成很多小段, 比較神經網路預測的概率和蒙特卡洛樹算出來的(策略向量之間的差異),以及預測結果與最終結果的差距進行梯度下降(梯度由如下公式得到,此處混合之前的策略和估值網路)。

這樣周而復始,我們可以推斷,最終神經網路的預測將越來越靠譜,和蒙特卡洛樹給出的分析越來越一致。 而圍棋的套路也會被一一發明出來,所謂無師自通。

Nature圖: 看看右下的圖,是不是很像人類選手常用的招!

為什麼說阿爾法元敢叫元? 如果從技術角度看,這一次的阿爾法元沒有那麼多新的東西,而是在之前基礎上讓強化學習進行的更徹底了,然而它所展示的深度強化學習的應用未來,卻是十分誘人的。

圖: 強化學習的勝利(藍)對比監督學習(紫)和監督+強化學習(虛線)

首先,我們看到, 並不是每一件機器學習的事情, 都需要和數據,尤其是需要大量人力的標註數據死磕, 而是可以通過恰當的設立模擬器(比如此處用到的蒙卡樹) 來彌補。阿爾法元不是不需要數據,而是數據都是自己模擬產生的。 模擬+深度強化學習, 在簡單的遊戲規則下,一些複雜的行為範式可以進化出來,而且可以比人類設計的還好, 這, 你就可以大開腦洞了。

這件事在很多設計性的工作里實在是太誘人了。 無論是設計新材料,建築,還是衣服,這些可變維度很高的事物,你都可以想像設立一個模擬模擬環境,再設立一個相應的神經網路去做各種嘗試,最終設計出的結果有一個獎懲函數反饋,來讓這個網路來學習。這就打破了深度學習創業只和手裡有大量數據的壟斷者相關的夢魘。

這裡的深度強化技術, 也才只展示了冰山一角, 在一類被稱為SLAM的技術上, 深度強化學習被證明了強大的控制能力, 它能夠驅動機器人在非常複雜的空間里進行探索無需GPS,對於這一類深度學習任務, 有別於alphago的任務,因為圍棋屬於完全信息的博弈, 而真正的空間探索,是通過感知系統探測到的不完全信息, 通過記憶在時間尺度上的綜合,這一點,只有搬出大名鼎鼎的LSTM來對付了。

能夠控制運動的深度強化學習,遲早會改變工業界,它不僅是無人車裡的核心技術, 更是對話,推薦系統, 金融交易, 甚至是圖像識別的利器,幾乎各類需要監督學習的事情,說到底強化學習都有實力。 你如果製造一個聊天機器人, 你當然希望它能夠揣測你的意圖和你談情說愛而不是背書。 你要一個推薦系統, 你當然不需要它天天給你推你剛看過的小黃片,而是帶著你探索一段BBC-性的秘密。 所以, 強化學習, 是人工智慧的大勢所趨啊。

更有甚者,我們可以設立一個具有類似地球的物理環境的地方,讓配備了深度強化學習系統的虛擬生物進行各種活動,看它們能否利用這個環境發現和利用其中的物理定律。

歡迎關注巡洋艦的深度學習課程, 深度強化學習將是重點:巡洋艦新年深度學習訓練營計劃, 這麼課程, 將真正帶你手把手的領略深度強化學習的魅力, 看你能不能自己動手設計個阿爾法元


以前,AlphaGo是AI戰略的組合。 DeepMind去年的「自然」雜誌上的第一篇論文表明,該演算法學習了很多人類下棋的招式,背下了很多棋譜,存下了大量的攻略,然後開始發揮其優勢。從人類學習部分被稱為監督學習,而自我練習部分則稱為強化學習。

AlphaGo Zero沒有像他親爹AlphaGo那樣參考人下棋的招式,比如在此等棋局下應該採用哪位先人的戰術。在AlphaGo Zero眼裡,它只是看到了棋盤上黑色和白色的棋子。然後自己左右隨機互博,根據下棋的規則,贏了就獎勵,輸了就懲罰。

如果我們通過純監督學習來訓練AlphaGo,那麼你所能達到最好的水平的不會超越你效仿的人。 但是如果你通過自學習,你會得到一些全新(Novel)的水平,甚至會超越現有人類最高的水平,因為人類這麼多年來積累的還是棋局的局部最優解,但是機器通過大量的計算可以達到相對全局最優解。


那麼我們可以這樣認為嗎?其實圍棋的勝負無關乎大量的實戰棋局的經驗。更多的是更高端的布局方法和演算法。就像人類數學家發現數學規律一般。新的ZERO。在沒有原有棋局的經驗上發現了更多的數學規律。所以能秒殺帶有不完美規律的原阿爾法狗。


推薦閱讀:

TAG:人工智慧 | 深度學習DeepLearning | 強化學習ReinforcementLearning |