李世石連輸五盤,氣急敗壞地砸開了電腦,發(fā)現(xiàn)柯潔趴在機(jī)箱里。
這個(gè)笑話指出了一部分事實(shí),趴在電腦里的不是柯杰,而是過去的圍棋大師們。
2016 年 1 月 28 日,Google Deepmind 在 Nature 上發(fā)文宣布其人工智能圍棋系統(tǒng) AlphaGo 歷史性的戰(zhàn)勝人類的職業(yè)圍棋選手,定在 2016 年 3 月份 AlphaGo 對陣?yán)钍朗谋荣惛俏巳祟惖哪抗狻?span>AlphaGo 系統(tǒng)是基于人工智能中的深度學(xué)習(xí)算法的,我恰好也做了一些這方面的工作,覺得可以介紹一些這方面的情況。
去年(2015 年)2 月 15 日,有一條很重要但是公眾不怎么注意的消息,微軟公布了一篇關(guān)于圖像識別的研究論文,在一項(xiàng)圖像識別的基準(zhǔn)測試中,電腦系統(tǒng)識別能力已經(jīng)超越了人類。人類在歸類數(shù)據(jù)庫 ImageNet 中的圖像時(shí)錯(cuò)誤率為 5.1%,而微軟研究小組的這個(gè)深度學(xué)習(xí)系統(tǒng)可以達(dá)到 4.94% 的錯(cuò)誤率。在去年年底的比賽中,微軟研究員何愷明、張祥雨、任少卿和孫劍組成的團(tuán)隊(duì)又獲得第一,把錯(cuò)誤率降到了 3.57%。這個(gè)在圖像識別系統(tǒng)中取得突破的算法就是深度學(xué)習(xí)算法。深度學(xué)習(xí)算法是普通神經(jīng)網(wǎng)絡(luò)的更多層的深化。
神經(jīng)網(wǎng)絡(luò)
lenet5 深度神經(jīng)網(wǎng)絡(luò)用于手寫數(shù)字識別
神經(jīng)網(wǎng)絡(luò)由單個(gè)的神經(jīng)元組成
這個(gè)「神經(jīng)元」是一個(gè)以 x1、x2、x3 及截距 1 為輸入值的運(yùn)算單元,其輸出為 h, 輸入輸出為非線性關(guān)系。微軟去年底的突破是因?yàn)榘l(fā)展了一種深達(dá) 152 層的網(wǎng)絡(luò)。
AlphaGo 系統(tǒng)充分利用了圖像識別的成果。它把 19 * 19 的棋盤當(dāng)做 19 * 19 像素的圖像來處理。 Google 團(tuán)隊(duì)設(shè)計(jì)了一個(gè) 13 層的類似圖像識別的深度學(xué)習(xí)網(wǎng)絡(luò)。利用 KGS Go 服務(wù)器上的高手對弈樣本來學(xué)習(xí)。這樣通過學(xué)習(xí)后生成了一個(gè)策略網(wǎng)絡(luò),這個(gè)策略網(wǎng)絡(luò)無需搜索就達(dá)到了 57% 的準(zhǔn)確率。形成策略網(wǎng)絡(luò)后,系統(tǒng)使用這個(gè)網(wǎng)絡(luò)自我下棋,并使用勝利一方的棋局強(qiáng)化學(xué)習(xí)。通過這樣的自我強(qiáng)化學(xué)習(xí),系統(tǒng)的準(zhǔn)確率達(dá)到了 80%。無需任何額外的搜索,僅僅使用強(qiáng)化學(xué)習(xí)過的策略網(wǎng)絡(luò)和另外一個(gè)使用蒙特卡洛的軟件 PACHI 比賽時(shí),勝率為 85%。
使用和策略網(wǎng)絡(luò)差不多的方法,Google 還訓(xùn)練了一個(gè)評價(jià)網(wǎng)絡(luò)來評估當(dāng)前的整體局勢。這個(gè)評價(jià)網(wǎng)絡(luò)用來給當(dāng)前的棋局打分。同樣通過強(qiáng)化學(xué)習(xí)后,這個(gè)打分的誤差小于 0.24.
最后 AlphaGo 系統(tǒng)使用策略和評價(jià)網(wǎng)絡(luò)來搜索最好的棋子落點(diǎn)。使用這兩個(gè)網(wǎng)絡(luò)可以極大減少搜索的范圍,但是使用這兩個(gè)網(wǎng)絡(luò)使得單步計(jì)算的時(shí)間比蒙特卡洛方法要長,綜合下來 AlphaGo 系統(tǒng)還是需要強(qiáng)大的計(jì)算能力。
價(jià)值網(wǎng)絡(luò)的一個(gè)例子
(輪到黑棋下,越藍(lán)代表落點(diǎn)的勝率越高,數(shù)字代表勝率。)
對應(yīng)策略網(wǎng)絡(luò)的一個(gè)例子
(輪到黑棋下,數(shù)字代表建議落子在此的概率。)
李世石觀看過 AlphaGo 和樊暉的棋局后,認(rèn)為 AlphaGo 和自己有讓兩子的差距。不過和李世石比賽的 AlphaGo 應(yīng)該有了很大的進(jìn)步?;诰W(wǎng)絡(luò)的同質(zhì)性,圖像識別方面的進(jìn)步肯定會反應(yīng)到圍棋算法上來,我想得到的第一個(gè)進(jìn)步就是原來的 13 層網(wǎng)絡(luò)還可以加深,比如加深到 26 層。這樣網(wǎng)絡(luò)的初始勝率估計(jì)會提高幾個(gè)百分點(diǎn)。第二個(gè)進(jìn)步是針對李世石的棋譜進(jìn)行強(qiáng)化訓(xùn)練,這種方法對應(yīng)于在圖像識別時(shí)就是更多訓(xùn)練難以識別的圖像。這樣改進(jìn)后,再考慮到人有時(shí)候會犯錯(cuò),我認(rèn)為 AlphaGo 有可能贏上一盤。(注:到北京時(shí)間 3 月 12 日,AlphaGo 贏了三盤了……)
那么人工智能究竟發(fā)展到什么程度了?是不是戰(zhàn)勝圍棋高手就是達(dá)到了成人的水平?其實(shí)深度神經(jīng)網(wǎng)絡(luò)用的還是大數(shù)據(jù)的方法。比如要訓(xùn)練一個(gè)認(rèn)識貓的網(wǎng)絡(luò),那么你需要成千上萬張各種各樣貓的圖片來訓(xùn)練,告訴網(wǎng)絡(luò)這樣的圖是貓??墒且粋€(gè)兩歲的小孩,只要見過一只貓,就能識別出他以前根本沒看見過的動(dòng)物是一只貓。所以雖然深度學(xué)習(xí)的基礎(chǔ)是模仿了人類腦神經(jīng)的工作方式,但是實(shí)際上兩者的工作方式應(yīng)該是截然不同的,人工智能和人類的智能還無法直接比較。
深度學(xué)習(xí)的概念由 Hinton 等人于 2006 年提出。近幾年來在圖像和視頻理解、語音識別、自然語言處理等方面都取得了很好的進(jìn)展。令我印象最深的是自動(dòng)駕駛方面的應(yīng)用。Google、百度等互聯(lián)網(wǎng)巨頭都投入巨大,并且已經(jīng)在實(shí)驗(yàn)中取得了很好的效果,已經(jīng)在逐步商業(yè)化的過程中,未來 5 年內(nèi)應(yīng)該會有可行的自動(dòng)駕駛汽車上市。蒸汽機(jī)、汽油機(jī)、電動(dòng)機(jī)把人類從繁重的體力工作中解脫出來,而人工智能將會把人類從低端的腦力勞動(dòng)中解放出來,使人類的生活上一大臺階,樂觀一點(diǎn)的話,五年后工業(yè)機(jī)器人大批應(yīng)用,十年后各種家庭智能機(jī)器人會像電冰箱、洗衣機(jī)、空調(diào)等電器一樣成為家庭必配。
如果去掉 AlphaGo 的數(shù)據(jù)庫,單憑游戲規(guī)則的學(xué)習(xí),AlphaGo 還能勝么?如果憑著數(shù)據(jù)庫里的對局資料和強(qiáng)大的運(yùn)算能力,以時(shí)間換取勝利,和深藍(lán)又有什么區(qū)別?
作者:pattern,授權(quán)丁香園發(fā)布
深度學(xué)習(xí)算法專家,西西河站友
投稿 wangyc@dxy.com
回復(fù)「投稿」查看具體規(guī)則