孫劍解讀AlphaGo Zero:圍棋有了終極的解 | 分析

【網易智能訊 10月21日消息】北京時間10月19日凌晨,DeepMind公布了最新論文,發布了最新版本的AlphaGo Zero系統程序,AlphaGo Zero的特點是將價值網路和策略網路整合為一個神經網路,訓練三天就能以100比0擊敗之前與李世石對弈的AlphaGo版本。

近日,深度學習領域的專家、曠視科技首席科學家孫劍發表內部演講,闡述了AlphaGo Zero在技術方面的創造性與創新性,其中包括 AlphaGo Zero用到的深度殘差網路(Residual Network)。以下為孫劍內部演講實錄:

(孫劍)大家好,我想大家這兩天讀了很多文章,在我進行技術解讀之前,給大家闡明一些大家一直感興趣的問題:

1. 無師自通到底是不是真的無師自通,無師自通是怎麼定義的?

2. 基於AlphaGo Zero的增強學習演算法,它到底能做什麼,不能做什麼?

我先針對第一點無師自通來講。實際上說它無師自通既對也不對,對的方面是說主要看無師自通怎麼定義,狹義的無師自通是說AlphaGo Zero之前的系統,它有一個非常重要的步驟,就是如何開始教,如果說以前的系統有一步驟是說如何通過人類的棋譜學習人類的知識,來初始化系統,初始化以後包括自動的學習進一步改善,以前的系統是這樣的。而這一次的無師自通,是把人授棋譜的過程去掉了,也就是說沒有人類老師教你怎麼下棋這個過程,那這個意義上來說,確實是第一次做到無師自通,這也為什麼AlphaGo Zero大家這麼關注的原因,也是它在學術界對工業界,大家對這個問題認識上的理解,因為其實就算如果沒有做出來,研究其實是最深是你相信還是不相信,你的認識是什麼樣的,第一次破除了這個認識,還是之前學了很多知識,這個是脫開人的,這個是真正第一次脫離人類老師來教他怎麼下棋這件事情,是無師自通的。

但是如果嚴格定義無師自通,我們其實是說「有沒有監督」來做這件事情,監督就是你怎麼教這個東西。那AlphaGo這個學習是不是沒有監督?如果仔細看這個系統,他還是有監督的,增強學習有非常弱監督的形式,這個意味著不是看棋譜,而是棋局的規則,定義了如果你快速模擬下一盤棋,到最後誰贏誰輸這個信號作為監督的,從這個意義上說,它不是百分之百絕對的無師自通,而是通過這樣一個棋,這個規則所帶來的監督信號,它是一種非常弱監督的增強學習,它不是完全的無師自通。

第二個解讀,增強學習就算可以擴展很多別的領域,因為就算它不是百分之百不監督,如果能擴展它的領域非常了不起,這裡面列一些增強學習到底有什麼特性,這些特性可以是完美呈現的過程。因為圍棋和打麻將或者德州撲克不一樣,在圍棋規則內所有信號全部是靠觀測的,像打麻將或者博弈的遊戲,對手是不能觀測的,這也是不一樣的一點。最重要的一點,是說棋可以很快速的模擬,你可以有一個模擬器,圍棋就是通過計算機的方式很快下完,這是一個簡單的模擬過程,非常短,可能兩三百步就做完了,非常高效,可以很短時間把整個棋模擬完了,模擬完了中間所有結構可以輸出來,最終的輸出贏和輸的信號很快就可以確定,所以這是一個非常強的假設,這件事情你到真實世界就沒有那麼容易。比如說增強學習可以用來研究新藥品,新藥品很多內部的結構需要通過搜索,搜索完以後製成葯,再到真正怎麼去檢驗這個葯有效,這個閉環非常代價昂貴,非常慢,你很難像下圍棋這麼簡單做出來。

再舉個例子,增強學習也可以應用於金融股票股價預測,這裡非常好的一個匹配,你下棋可以匹配到買賣,交易的決策上,這裡面雖然說已經很匹配場景了,但是還是不一樣,你每次下一個子會對對方怎麼下有影響,如果在股票市場,如果你是一個基金量比較小,對市場沒有影響,這是一種做法,你只是觀測一下結果,做下一部決策,這個可以做,但是也不可以非常快模擬真實,你可以擬合歷史,基金量大到什麼程度不影響市場,這個更難模擬,在真實世界需要預警這個東西,這個很難收集到海量的數據。有這些特色,它就決定了今天AlphaGo的系統,背後的學習演算法到底可以很容易的應用在別的場景,還是不容易應用在別的場景。

以上是關於AlphaGo Zero兩點大的說明,下面我講一下技術方面我們到底為什麼這麼看重它。我們做研究追求極簡,去除複雜,這篇文章最吸引人的地方就是它從之前的到現在基本上在做減法。比如說很多搜索過程非常簡化,把以前系統設計的兩個網路合併成一個網路,有預測怎麼落子,預測如何判斷整個棋局的形勢,這個網路在這次使用深度殘差網路,它對輸入做簡化,以前輸入是要人工設計一些棋盤的輸入,比如這個子下過多少次,周圍有幾個黑子幾個白子,這次是第一次把黑白子二值的圖直接送進來,相當於可以直接理解成對著棋盤拍照片,把照片送給神經網路,讓神經網路看著棋盤照片做決策,這個非常簡單,非常優美。當然最簡單的是,拋棄了剛才我說過的,從人類棋譜進行學習的過程,完全不需要人類棋譜,系統剛開始基本上隨便亂下,開始如果兩個AlphaGo Zero下的話,基本上期盼是隨便下子,完全和人類下棋不一樣,但是隨著快速的收斂,一天後兩天後下的像模像樣,在兩三天後就已經有了人類下棋的能力,這是整個系統的概況。

AlphaGo Zero的系統裡面有兩個核心技術,一個是擬合搜索,一個是深度殘差簡易神經網路,這個做了一個非常簡單優美的結合就做好了,是卡羅式搜索還是用其他式搜索,這個涉及到非常古典的一個思想,這個思想在我上本科人工智慧課的時候就學到的思想,當時也是下棋,棋比較簡單,到今天依然是這麼一個古老思想,加上一個非常強大的深度殘差簡易神經網路,就可以比上一代AlphaGo好非常多。這個搜索的方法是一個定製版的,是一些高級版,特定適應這個問題的版,也是通過研發迭代了很多周期才研發出來的。

第二個核心技術,他們用了一個深度最深可以達到80的一個深度殘差卷積神經網路,這個網路在學術上英文名詞叫ResNet,這個我也是非常容幸,因為我是這個論文的作者之一,ResNet的工作是我在2015年的時候,在微軟亞洲研究院領導的視覺計算小組做的工作,這個工作核心思想是我們用一個殘差學習,讓非常深的網路可以很好的學習,其中「非常深」是什麼概念?因為以前深度學習網路大概十層、二十層到頭了,很難訓練出來,但是用殘差網路就很好地解決了深度學習深度網路訓練的問題,網路的深度從十幾二十層在2015年被推到了152層。相當於層數的意思是說,神經網路是在學習一個函數,層數越深,基本上函數影射能力越強,越有效率,越有可能在有效預測一個非常複雜的影射,我們說看棋盤,後來決定在每個子,決定在每個位置落子的最有可能贏的概率,輸出361的項量,這是一個非常複雜的影射,看棋我們人類是靠直覺,其實背後是一個非常複雜的函數,越深的,目前可以越能擬合,越有更強大的威力來擬合這樣的函數。

殘差學習的方法極大程度的解決了優化問題,這也是世界上第一個上百層的網路,在2016年我們又推出了第一個上千層的網路,今天為止任何網路任何一個地區,任何不受城市限制的網路,我們這個工作也在2016年獲得了CVPR最佳論文獎,當然我自己也非常高興我們這個技術可以應用在AlphaGo Zero系統中,我並不是跟他直接合作,這也是學術界大家為什麼要發表論文的方式,大家可以交換思想,大家看到這方面思想研究成果,就可以吸收到自己的系統中來,這也是開放研究的最大的動力和魅力和威力,今天尤其是人工智慧,為什麼中國人工智慧追趕這麼快,今天人工智慧是完全開源和開放的,決大成果是開源的,每一個研究員都希望不但把自己的成果公開,還把自己的訓練代碼公開,以至於能夠讓大家能夠快速地重現自己的系統,這個風氣是在最近的深度學習人工智慧領域開的,大家在第一時間把自己的研究成果放在arxiv,而不是說等幾個月後在一個學術會議上發表,這樣的話極大地加速了研究的進展。我們每天早上來公司的第一件事情就是看一下Paper,今天有哪些新的很好的思想,有一些Paper發布出來了,我們會學習,我們會呈現這樣的東西,這也是一個關鍵詞是開源和開放。

我現在的工作,也是一個開放的態度,開放我們的研究成果,我們今年CVPR2017年每篇結論,我們今天在7月份曠視科技發表了一篇ShuffleNet,一會兒我們會把這個論文發給大家,發布以後非常多的同行已經使用上了ShuffleNet。ShuffleNet其實也是ResNet的一種改進,但是和AlphaGo系統不一樣,AlphaGo需要在一個很強大的CPU上運行,ShuffleNet是希望我們把網路運行在像手機或者切入式設備,這樣低功耗,計算力比較低的平台,ShuffleNet它其實是一種專門為這種平台設計的結構優良的網路。

如果我們看整個AlphaGo系統,它使用Google的一個Tensorfolw深度學習引擎,Google是一個開源的引擎,內部也有內部的版本,它用引擎才可以把系統非常高的運行,引擎非常重要,每個公司都有這樣一個引擎。我們曠視科技雖然是一家創業公司,但是我們對這個東西是非常重要的,因為可以帶來非常大的競爭力,我們在Tensorfolw開源半年前,就已經研究了一個叫做Brain++ 的深度學習引擎,到今天我們內部版本已經迭代到7.0版本了,這個相當於曠視科技自己的Tensorfolw。曠視是我看到唯一一家自研並全員使用深度學習引擎的公司,有了這樣的引擎,我們大規模GPU的集群,才可以幫助我們訓練這樣的ResNet,ResNet是我們計算機視覺領域開發出來的核心技術,今天非常高興看到它能在圍棋領域裡應用,之前它在自然語音識別已經有非常成功的應用,我們在Face++也有訓練非常強大的ResNet,甚至比這個AlphaGo Zero強大十倍、二十倍。

還有一個問題,AlphaGo無師自通的系統是不是能解決所有問題,剛才我說了一些什麼是可以學,什麼不可以學。我再舉個例子,比如我們公司做的人臉識別、圖象識別,這些問題是可以拿這個系統做,這些是不是完全不需要大數據就可以做,不需要監督數據就可以做,今天這個問題還是不可以的,如果你去教機器怎麼去識別人臉,目前並不能找到增強學習這樣一個非常簡單的目標,還是要人來教,到底什麼是人,而且我們人來識別人臉是一個人的能力,是人在通過幾千年,甚至多少萬年演化出來的一種為了人生存的一種能力,你只有把不同的人類認清楚了,才有可能在這個社會上運作,這是一個人後天學到的能力,要把這種能力賦予機器,還是需要人的監督信號,包括我們今天對人工智慧做的很多事情,都要學習人的一些後天人很多年積累出來的能力,不管是現在還是後天,這些任務還是要海量的數據和更多信號,今天監督學習依然是佔主流的在這些研究和商業應用中。

以下為孫劍博士答問:

【提問】:我想問一下這一塊對以後的意見部分會有怎樣的影響?這方面的需求會減少還是增加?

【孫劍】:這個問題是說,AlphaGo這樣的系統對硬體會帶來什麼樣的影響?這個影響,整個系統對它的要求是下降的,因為演算法是提高了非常多,以前的前一代系統需要很多機器訓練很多長時間才可以做好,新的AlphaGo Zero是在一台機器上,有Google的TPU來完成的,這個體現在TPU這個東西是神經網路的加速晶元,這個其實也是給大家一個信號,這樣的晶元會非常強,目前業界不光是Google,包括很多家都在研究這樣的深度神經網路加速晶元,我們在曠視科技FES++也在做這方面研究,如何把一個深度神經網路運行在硬體的晶元上,我們最近推出了一個基於FPGA晶元的一個智能攝象頭,其實這個攝象頭可以完成人臉抓拍識別的功能,FPGA晶元具有很多功能,可以把網路放在裡面,但是並不是簡單可以放進去,而是你需要一個網路做一些優化,讓它變成最適合發揮硬體能力的形式才可以做,這也是一個研究課題。FPGA晶元下一步,就是IC的晶元,其實FPGA晶元不能做好的話,IC晶元就一定能做好,這裡面是一個時間周期的問題,應該可以看到業界的發展是說越來越多的智能計算會在手機切入設備,比如像華為的Mate10,裡面已經有內置的神經網路加速晶元,包括蘋果或者越來越多的手機,都會有這樣的能力,這個是對業界影響非常大的。

【提問】:DeepMind在那篇論文里提到,這一項新的技術可以用於解決蛋白質摺疊和新型材料開發,這樣一些可能更加具有可能性的問題,我想能夠請孫劍老師就這個問題,能不能簡單地再具體介紹一下,可能在新型材料開發這樣一些領域當中,有一些什麼樣的可能?

【孫劍】:首先我不是這方面的專家,到底怎麼把這些信息應用到新材料開發中,我不能做非常準確的判斷,但是我剛才描述過了,什麼樣的東西把這項技術應用,新材料開發過程中,整個過程是完全可見的,最重要是你實驗一下這個新材料,怎麼能夠快速地檢驗這個材料是成功的,如果你把這個周期能夠非常快地做出來,這個技術就可以應用了,如果這個周期不能很快的做出來,或者周期很貴,你用這個東西也是不太現實的,這是我對這個問題的回答。

【提問】:您提到可能無論是增強學習,還是之前的一些比較基礎的深度學習,還是需要一些監督的,其實在可能一些模式越來越具體的情況下,人類現在對於大數據的依賴程度會不會在往後重要的程度越來越減弱?

【孫劍】:首先大數據分有監督和無監督,對於有監督的大數據的依賴會慢慢地減弱,但是對於無監督的大數據,我們需要越多越好,比如說我們從小長大,我們看過了非常多的東西,我們學習怎麼跑步,我們其實是各種感測器,聽覺、感知平衡、眼睛也會看周圍的道路,這麼多信號都會進來,這樣的大數據如果能做好,是越多越好,其實這裡面也隱含了一些隱含監督信號,人工監督信號是兩個概念,我們所有的研究都希望把人工監督信號降的越低越好,這是最新研究的一個熱點,大家也做了各種各樣的方式,隱含監督信號可能是突破人工智慧真正的方向。這個是我簡單的一個看法。

【提問】:您能不能舉一個具體的例子,比如說哪一塊算人工輸入返回到一些可能頻段,對或者不對,這算人工給到的信號,如果是感測器收集過來的是被監督的。

【孫劍】:比如我們做人臉識別中有一個非常簡單的,判斷一個人戴不戴眼鏡,這個我們是目前無法通過無監督的方式做,就算給你一大堆有眼鏡沒眼鏡的,機器也沒法知道到底有沒有眼鏡,因為沒有戴眼鏡這個概念,是人為定義的,雖然是物理,但是是人為來定義的,這個需要有監督,告訴這些人戴眼鏡,這些人叫不戴眼鏡,還學習這個分裂面,把這兩個劃分開。真正無監督是不存在的,我們所講的無監督是說盡量沒有人工標註的,通過自然界或者從自然界物理界採集的信號中,隱含監督是真正學習的方式。比如我們看到兩個人一前一後,我們其實可以推測後面這個人長的可能是什麼樣子,我再舉另外一個例子,比如這個人有劉海,或者頭髮擋住了一半臉,你可能能猜測,或者能估計出這一半臉是什麼樣子,你看很多人的臉的時候,你知道他可能沒擋住是什麼樣子,擋住沒擋住是什麼樣子,這些並不是人工去標註,或者你看這些東西,這個形成了隱含的監督信號,人就慢慢學會了猜測,大部分可能是什麼樣子,這個學習能力才能真正我們現在做的監督學習希望做的事情。

【提問】:從比較通俗的角度說,在人工智慧研究領域,什麼樣的數據算好的,什麼樣的數據算質量比較高的?

【孫劍】:如果簡單講的話,數據好壞是說,我們數據分兩種,分訓練數據和測試數據,這兩個數據都有各自的分布,測試數據是希望這個數據的分布和真正運行這個系統,遇到這樣的情況是完全匹配的,如果你這個匹配程度越高,數據就越多好,這個是我們一個基本的準則,我們希望測試情況是和我們訓練數據和測試數據分布一致,這是我們認為數據高不高的一個準則。當然量是另外一個維度,量越大越多好,因為今天的機器學習,尤其深度學習,對數據需求是無止境的,送進去任何數據都有幫助。

【提問】:如果基於AlphaGo Zero加入了殘差神經網路這樣一個整體學習方式,它可不可以自己產出一些好一點的數據?

【孫劍】:現在已經在自產生數據,它隨機下棋,隨機下棋會判斷輸贏,根據輸贏的準則來調整神經網路里的參數,慢慢訓練到後面,下棋就不是隨機下棋了,所有過程中產生的棋局長,都被它拿去用來受訓練了,它是自我博弈與自我產生數據的,拿數據訓練神經網路,從這個意義來講,為什麼我們覺得這個工作非常好,它真正是自博弈自產生數據,來解這個特定假設下的特定環境下的一個特定遊戲問題。

【提問】:對於咱們做計算機視覺演算法的,這樣一個思維或者路徑,上面會不會有一些參考,或者可以鮮明的可能?

【孫劍】:目前對我們信息上有很大的鼓舞,但是在實際上怎麼把這個思想落地,現在是沒有思路的,因為兩個問題差別還蠻大的,因為我們人臉識別的大多數問題,都不可以簡單地描述成,像下棋這麼簡單的一件事情,所以目前來說,我們還是要海量的基於有監督學習的,我們自己研究院也做了一些無監督學習的探索,比如目前熱點是叫聲控式對抗網路,可以把我們生活的一些樣本,比如我們戴眼鏡和不戴眼鏡沒有那麼多,因為這個方法生成很多看著好像戴眼鏡的樣本,加入我們監督學習中,我們也在做這樣的事情,但是和AlphaGo做的徹底程度還是有差別的,我們現在用這個東西產生數據的方法,恐怕還輔助現在的監督學習,並沒有說能夠主導監督學習,或者整個學習過程。

【提問】:AlphaGo Zero是不是意味著圍棋問題算是被計算機解決了,有一個終極的解,是這樣嗎?

【孫劍】:對,我同意。

【提問】:圍棋算不算目前在人類桌面棋類里最複雜的,或者說是不是代表了定向規則的所有棋牌類的東西,把圍棋解決了代表機器可以把所有棋牌都解決了?

【孫劍】:對於圍棋是一種信息全開放的棋類,還有一個全解決的定義,因為它其實也沒有找到最優解,它找了一個很不錯的解,如果你定義最優解應該怎麼下,現在還沒有。另外我個人發現,現在的棋盤如果擴大成更大,36×36的,這時候會產生什麼樣的變化,我也是非常感興趣的,人去下人可能很快能夠,比如畫成360×360的格子來下,機器今天是不是能夠很快地轉變過來,這是非常有趣的問題可以探索。

關注網易智能公眾號(smartman163),獲取人工智慧行業最新報告。


推薦閱讀:

如何看待 Deepmind 宣布 AlphaGo 退役?
DeepMind 團隊中有哪些厲害的人物和技術積累?
如何看待韓國棋院授予 AlphaGo「第〇〇一號 名譽九段」頭銜及證書?
Alphago Zero 取得的進步是突破性的嗎?
如何評價 AlphaGo 團隊?

TAG:AlphaGo | 人工智能围棋 | GoogleDeepMind |