看似惜敗實則毫無勝利希望 - 從AlphaGo與柯潔的第一戰說開去
看似惜敗實則毫無勝利希望 - 從AlphaGo與柯潔的第一戰說開去
雖然柯潔僅僅一1/4目之差「惜敗」給AlphaGo,但實際上AlphaGo完全處於統治地位。AlphaGo的學習目標(也是實戰時的行動目標)是最大化贏棋的概率,而並不是將贏多少目最大化。所以可以認為他是一個永遠淡定的總是求穩的棋手,即使有機會大勝也不會去冒險。所以柯潔有一種「輸得沒脾氣」的感覺。實際上如果AlphaGo稍微冒險一些,可能可以贏得更多,只是他寧願最小化風險。
這兩天和朋友、同事一直在討論柯潔大戰AlphaGo,也討論到一些更深層的問題。覺得挺有意思,而且很多人不知道我現在所在的觸寶矽谷實驗室具體做些什麼。就想以問答記錄的形式寫點什麼吧。
Q. AlphaGo 2.0相比1.0在技術上有哪些提升和改進?主要克服的技術難點會有哪些?
A. 從目前公開的材料看(主要是Aja Huang博士的發帖和Demis Hassabis、David Silver的問答記錄),AlphaGo 2.0 (還是稱做"AlphaGo Master", 雖然對之前網路上60戰全勝的Master可能又有改進)有如下一些改進:
- 使用了40層的神經網路作為模型,相比與李世石對戰時的AlphaGo Lee (V18),增加了28層。增加了那麼多層的神經網路顯然讓AlphaGo的學習特徵的能力有了更大提升的空間。另一方面, DeepMind團隊有沒有引入新的原始特徵,有沒有嘗試使用LSTM等模型去處理一些特殊場景,我們要拭目以待他們後面陸續發布的結果。
- 更依賴於大量自我對弈的結果,用上一代訓練好的神經網路的對弈結果去訓練下一代更強的神經網路。相比上一代(AlphaGo Lee) 更少地依賴人類的對局數據。 所以王小川斷言「AlphaGo 2.0已經擺脫了監督學習,不再需要人類下圍棋的歷史數據,而是只通過「增強學習」「 是不準確的。AlphaGo仍然需要在最初的階段通過學習人類棋局來達到一個相對比較高的水準,然後再自己左右互搏,否則會產生爆炸性數目的價值不大的學習樣本。
- 改進了演算法:更強大的策略網路和價值網路,並發現在這個場景下演算法比數據重要。我們都知道上一代AlphaGo是結合了監督學習訓練出來的策略網路、增強學習訓練出來的價值網路、蒙特卡洛樹搜索演算法三者的一個精巧設計的對弈引擎。但是由於圍棋的搜索空間實在太大,即使這樣的引擎跑在Google的計算集群上也遠遠無法在規定時間內找到最優解,因此雖然上一代AlphaGo已經很牛了,但還是有非常大的提升空間。DeepMind團隊從上次AlphaGo和李世石的對弈中尤其是輸的那一局中獲得了很大的啟發,相信他們在策略網路和價值網路的訓練上又有了新的突破。非官方的渠道我們了解到DeepMind特意開發了一個程序專門尋找AlphaGo的弱點或者盲點,通過刻意和AlphaGo對弈這些存在弱點或盲點的棋局幫助AlphaGo在這些場景下學習。還有一個猜想是引入了一些機制來對獲勝概率預估的可靠性進行了建模,把預估的不確定性作為一個考量因素放在落子決策裡面,這樣可以使得AlphaGo更加穩健。
- 更快的計算速度,據稱因為演算法的改進,AlphaGo現在只需要上一代1/10的運算量。這次的AlphaGo 僅僅運行在一台TPU的單機上 。運算效率的提升實際上潛在地是在同樣的時間限制內獲得了探索更多解的可能性,這樣AlphaGo就能遊刃有餘地去探索一些需要更深的地方,比如原來「手下一著子,心想三步棋」,可能就可以心想五步甚至更多的棋了。
Q. 如果按照王小川的文章,AlphaGo 2.0不需要蒙特卡羅和監督學習的話,為什麼當初1.0需要?而又是由於哪些原因,2.0就不需要了?
A. 從目前公開的材料看,王小川的文章是不準確的。首先,DeepMind團隊已經明確說監督學習在這一代的AlphaGo還是使用了的。其次,「放棄了蒙特卡洛樹搜索,不再進行暴力計算「也只是他個人的猜想,官方的介紹中並沒有提到這一點。我的猜想是樹搜索還是要做的,但是因為訓練出了更強大的策略網路和價值網路,需要使用隨機布局(rollout)的搜索空間被大大減小,甚至直接用策略網路的輸出就可以達到很高的棋力。到底這一代AlphaGo有哪些令人意想不到的演算法改進?DeepMind團隊已經承諾在近期的論文中會公之於眾,讓我們拭目以待。
Q. 監督學習、機器學習和深度學習的區別是什麼?能否科普一下?他們和人工智慧又是什麼關係,是否是人工智慧中的常用技術?
A.下面這張圖很好地概括了這些概念的關係,還包括了和大數據、數據科學、數據挖掘等概念的關係。
「監督學習」是一類機器學習問題,意思是讓機器在有指導的方式下進行學習。這裡「有指導」通常是指對學習樣本的標註。比如給機器一堆蘋果和香蕉的圖片,並且告訴它哪些是蘋果哪些是香蕉,這樣機器就能試圖學習出一個分類器,對蘋果和香蕉的圖片進行分類。相應的另一類機器學習問題是「非監督學習」,比如只給機器一堆蘋果和香蕉的圖片,但是不告訴他哪些是蘋果哪些是香蕉,這樣機器可能還是能學習出來一些東西:比如它能學習出來你給他的是兩種東西的圖片,然而它並不知道每種具體是什麼。「深度學習」是一種特殊的機器學習,它通過把世界表示成有層次的又互相連接的一組概念(每個概念通過比他更簡單的概念來定義、每個更抽象的表述由比他更具象的表述運算而得),來獲得更強的性能和靈活性。
基於機器學習的人工智慧在過去幾十年有著非常廣泛的應用:比如Netflix推薦電影電視節目給用戶、新聞流APP按照用戶的閱讀習慣推薦新聞、搜索引擎對網頁進行排序等等都使用到了機器學習技術。深度學習最近幾年在圖像識別、語音識別、自然語言處理等領域獲得了突破性的進展。現在,人們開始把深度學習應用到其他傳統的機器學習問題上,如點擊率預估、轉化率預估,也收到了良好的效果。最近基於生成對抗網路(GAN)的技術又在圖像、語音、文本合成,甚至新藥物分子研發中不斷收穫成功。
Q. 人工智慧和大數據的關係是什麼?共性和差異在哪裡?
A. 所謂大數據,是對一類數據和這類數據相關的一系列問題和技術的描述。這類數據可以用在3V上的「大」來描述,這3V即Volume(數據量)、Variety(多樣性)、Velocity(速度或者頻率)。 大數據成為近年來最火的詞之一,很大程度上和近十年來的技術和科研上突破性的進展有關。因為這些技術和科研上的突破,使得產生、處理、管理、挖掘、理解、利用這類數據成為可能,並且最終將他們轉化為了生產力。其中,人工智慧領域的進步,尤其是近年來深度學習領域的長足發展是一個最好的例子。
所以雖然原則上人工智慧、或者更具體些深度學習也能處理非大數據的場景,大數據也不僅僅局限在人工智慧領域(比如像Kafka那樣一套成熟的實時信息流處理機制也是大數據中不可獲缺的重要內容,但明顯它並不是人工智慧),但當大數據遇到人工智慧,卻有了1+1>2的效果。這是很讓我們這個時代為之興奮的。
Q. 在觸寶,人工智慧發揮著怎樣的作用?像觸寶這樣的企業,大數據和人工智慧研究會集中在哪些領域?主要需要攻克的難點有哪些?
A. 我們的目標是以人為本,因為我們企業的宗旨是更好地溝通人與人。結合我們的旗艦產品觸寶輸入法和觸寶電話,我們在大數據和人工智慧上的研究會集中在對用戶輸入行為和通話行為的理解,並創造更好用的下一代輸入法和電話產品。例如在輸入行為建模上,我們已經開始使用基於深度神經網路的演算法來對用戶接下來要輸入的內容進行預測,包括下一個字、下一個詞、下一個句子,甚至推薦一個最合適的表情,這將極大地提高用戶的輸入體驗。輸入法有著特殊的挑戰,不同於一般的文本挖掘和行為建模問題,輸入法處理的是非常異構的極短的文本,如何在這樣的特殊情況下很好地學習到用戶的輸入習慣並做相應的預測和推薦是一件非常有挑戰的事情。再比如在觸寶電話中,我們使用深度神經網路學習騷擾電話的網路和行為特點,能夠在一個新的騷擾號碼剛出現在電話網路中的時候將它揪出來,儘早地提示到用戶,最小化這個騷擾電話號碼的影響範圍。矽谷實驗室不是一個象牙塔里的獨立研究機構,而是一個致力於把最先進的大數據和人工智慧技術應用到產品中、去改善幾億人的生活方式的機構。
Q. 對於有興趣從事人工智慧的工程師,有哪些建議?需要補充哪些知識?以觸寶為例,企業需要哪些類型的大數據或人工智慧人才?
A. 談不上建議,說一些感受:對於有興趣從事人工智慧和大數據領域工作的工程師,我覺得需要在理論和動手方面都著力鍛煉自己。學而不思則惘,思而不學則怠。理論上,除了通過線上線下的各種教材資料進行學習,更重要的是不但要知其然,還要知其所以然,這樣才能融會貫通,以不變應萬變。動手方面,多處理具體的數據和具體的問題,對演算法和模型深刻的理解很少是從多讀幾遍教科書來的,大多數時候動手具體做過一個項目才知道裡面有哪些坑哪些技巧哪些妥協。再有一點很重要的就是要接地氣:任何時候都要清楚自己的優化目標是什麼,這個優化目標和現實的需求是否匹配,現在做的事情和這個優化目標有沒有關係。正如開篇提到的,AlphaGo的學習目標就是最大化贏的概率,那麼一切模型、演算法、方法論都服務於這個目標。在觸寶,我們特別歡迎自己動手做過一些大數據或人工智慧相關的項目,並且能把這之中的痛點、難點、方法、結果以及對結果的解釋等能夠復盤得很全面的人才。因為這樣的人是真正去帶著思考做事情的,這樣獲得的經驗是很寶貴的。
Q. AlphaGo的成功,究竟對於人工智慧的研究象徵意義更大還是實際意義更大?如果是實際意義的話,那麼到底體現在哪方面?
A. 我認為對人工智慧研究來說是一個具有很大實際意義的象徵性意義。為什麼這麼說呢?其實AlphaGo所使用的模型和演算法是早已成熟的,DeepMind團隊在一個合適的時間把這些演算法通過精妙的設計整合起來去完成下圍棋這樣一個非常具體的、有明確約束的任務。從這個角度看,AlphaGo的「成功」(擊敗人類最好的圍棋選手)實際上只是一個象徵意義很大的事情:對老百姓來講,聽說電腦能把世界上最厲害的圍棋選手殺到「輸得沒有脾氣「,應該說是很震撼的。那麼正因為這麼大的一個象徵意義,也給人工智慧研究帶來了很大的實際意義:社會的眼球被吸引過來了,資源也就彙集過來了,DeepMind團隊功不可沒。實際上,人工智慧早已在方方面面抑或是潛移默化、抑或是大張旗鼓地改變著人們的生活方式。例如在新聞資訊APP中看新聞時候的個性化推薦、家居中的智能生活管家、越來越方便貼心的虛擬理財投資助理等。在矽谷,大到Google, Facebook這樣的公司,小到2、3個人的創業公司,都在努力通過人工智慧改變世界。走在矽谷的街道上,經常能看到各個公司的自動駕駛汽車規規矩矩地在身旁停下來等紅燈。所以我們正在一個人工智慧快速形態化我們的生活的年代,AlphaGo的成功是這股浪潮中很耀眼的一個閃光點。
推薦閱讀:
※柯潔也晉陞圍棋10段,但一場也沒跟AI交手(U?ェ?*U可能都跑去日本了吧)
※紋枰秋點兵:范廷鈺直通三亞,14位世界冠軍挺進線上複賽
※怎麼嫁給柯潔?
※柯潔應決勝前半盤 戰AlphaGo要有自信 | 陳經