“阿爾法狗”為什么厲害
圍棋人工智能程序以4:1擊敗世界圍棋冠軍李世石
圖為3月15日,在韓國(guó)首爾舉行的2016圍棋人機(jī)大戰(zhàn)第五盤賽況,右為圍棋世界冠軍韓國(guó)棋手李世石。人民視覺
谷歌的圍棋人工智能程序和人類圍棋冠軍之間的比賽,堪稱人工智能發(fā)展的一個(gè)重要里程碑,也讓全世界的目光聚焦在人工智能這個(gè)熱門科技領(lǐng)域。谷歌的人工智能程序是怎樣贏了人類?人工智能對(duì)人類來說到底意味著什么,會(huì)帶來什么?它會(huì)不會(huì)有一天在智能上也超過人類?
本版近期推出“關(guān)注‘人機(jī)大戰(zhàn)’”系列報(bào)道上下篇,嘗試揭開谷歌圍棋人工智能程序贏得比賽的秘密,并分享相關(guān)專家對(duì)人工智能未來前景的預(yù)測(cè)。
——編者
從3月9日開始,一場(chǎng)人與機(jī)器的圍棋大戰(zhàn)吸引了全世界的目光。這場(chǎng)大戰(zhàn)在韓國(guó)首爾上演,一直持續(xù)到15日,共5輪。大戰(zhàn)之所以舉世矚目,是因?yàn)閷?duì)戰(zhàn)的雙方是世界圍棋冠軍李世石與圍棋人工智能程序AlphaGo。令人驚嘆的是,整個(gè)比賽過程中,AlphaGo的表現(xiàn)都堪稱完美,最終以4:1擊敗李世石。
這個(gè)戰(zhàn)勝人類世界圍棋冠軍的AlphaGo程序到底是何方神圣?它為什么如此厲害?
“阿爾法狗”是什么?
一款人機(jī)對(duì)弈的圍棋程序,棋藝不是開發(fā)者教給它的,而是“自學(xué)成才”
AlphaGo程序是美國(guó)谷歌公司旗下DeepMind團(tuán)隊(duì)開發(fā)的一款人機(jī)對(duì)弈的圍棋程序,被中國(guó)棋迷們戲稱為“阿爾法狗”。游戲是人工智能最初開發(fā)的主要陣地之一,比如博弈游戲就要求人工智能更聰明、更靈活,用更接近人類的思考方式解決問題。
1997年,IBM的“深藍(lán)”計(jì)算機(jī)首次擊敗國(guó)際象棋世界冠軍卡斯帕羅夫,成為人工智能戰(zhàn)勝人類棋手的第一個(gè)標(biāo)志性事件。此后近20年間,計(jì)算機(jī)在諸多領(lǐng)域的智力游戲中都擊敗過人類。但在圍棋領(lǐng)域,人工智能卻始終難以逾越人類棋手。直到2015年,由谷歌開發(fā)的這款“阿爾法狗”程序才首次戰(zhàn)勝歐洲圍棋冠軍樊麾。
為什么對(duì)于人工智能而言,圍棋的難度這么大?中國(guó)自動(dòng)化協(xié)會(huì)副理事長(zhǎng)、秘書長(zhǎng)王飛躍說:“首先,圍棋的可能性太多。圍棋每一步的可能下法非常多,棋手起手時(shí)就有19×19=361種落子選擇。一局150回合的圍棋可能出現(xiàn)的局面多達(dá)10170種。其次,是規(guī)律太微妙,在某種程度上落子選擇依靠的是經(jīng)驗(yàn)積累而形成的直覺。此外,在圍棋的棋局中,計(jì)算機(jī)很難分辨當(dāng)下棋局的優(yōu)勢(shì)方和弱勢(shì)方。因此,圍棋挑戰(zhàn)被稱作人工智能的‘阿波羅計(jì)劃’。”
既然圍棋對(duì)于人工智能來說這么難攻克,那么對(duì)于AlphaGo程序的設(shè)計(jì)者來說,是否也需要具備很高的圍棋水平?
“這個(gè)不需要,設(shè)計(jì)者們只需要懂得圍棋的基本規(guī)則即可。AlphaGo背后是一群杰出的計(jì)算機(jī)科學(xué)家,確切地說,是機(jī)器學(xué)習(xí)領(lǐng)域的專家。科學(xué)家利用神經(jīng)網(wǎng)絡(luò)算法,將棋類專家的比賽記錄輸入給計(jì)算機(jī),并讓計(jì)算機(jī)自己與自己進(jìn)行比賽,在這個(gè)過程中不斷學(xué)習(xí)訓(xùn)練。某種程度上可以這么說,AlphaGo的棋藝不是開發(fā)者教給它的,而是‘自學(xué)成才’的。”王飛躍說。
“阿爾法狗”怎樣下棋?
用兩個(gè)神經(jīng)網(wǎng)絡(luò)大腦——策略網(wǎng)絡(luò)和估值網(wǎng)絡(luò),像人類棋手一樣判斷當(dāng)前局面,推斷未來局面
AlphaGo到底是如何下棋的呢?
AlphaGo通過蒙特卡洛樹搜索算法和兩個(gè)深度神經(jīng)網(wǎng)絡(luò)合作來完成下棋。在與李世石對(duì)陣之前,谷歌首先用人類對(duì)弈的近3000萬(wàn)種走法來訓(xùn)練“阿爾法狗”的神經(jīng)網(wǎng)絡(luò),讓它學(xué)會(huì)預(yù)測(cè)人類專業(yè)棋手怎么落子。然后更進(jìn)一步,讓AlphaGo自己跟自己下棋,從而又產(chǎn)生規(guī)模龐大的全新的棋譜。谷歌工程師曾宣稱AlphaGo每天可以嘗試百萬(wàn)量級(jí)的走法。
“它們的任務(wù)在于合作‘挑選’出那些比較有前途的棋步,拋棄明顯的差棋,從而將計(jì)算量控制在計(jì)算機(jī)可以完成的范圍內(nèi)。在本質(zhì)上,這和人類棋手所做的是一樣的。”中國(guó)科學(xué)院自動(dòng)化研究所博士研究生劉加奇說。
什么是蒙特卡洛搜索樹算法?
有專家曾通俗地解釋:假如籃子里有1000個(gè)蘋果,讓你每次閉著眼睛找一個(gè)最大的,可以不限制挑選次數(shù)。于是,你可以閉著眼隨機(jī)拿了一個(gè),然后再隨機(jī)拿一個(gè)與第一個(gè)比,留下大的,再隨機(jī)拿一個(gè),與前次留下的比較,又可以留下大的。循環(huán)往復(fù)這樣,拿的次數(shù)越多,挑出最大蘋果的可能性也就越大,但除非你把1000個(gè)蘋果都挑一遍,否則你無法肯定最終挑出來的就是最大的一個(gè)。這就是蒙特卡洛搜索,它被廣泛用于科學(xué)和工程研究的算法仿真中。
“傳統(tǒng)的棋類軟件,一般采用暴力搜索,包括深藍(lán)計(jì)算機(jī),它是對(duì)所有可能結(jié)果建立搜索樹(每個(gè)結(jié)果是樹上的一個(gè)果實(shí)),根據(jù)需要進(jìn)行遍歷搜索。這種方法在象棋、跳棋等方面還具有一定可實(shí)現(xiàn)性,但對(duì)于圍棋就無法實(shí)現(xiàn),因?yàn)閲鍣M豎各19條線,落子的可能性大到計(jì)算機(jī)無法構(gòu)建這棵樹(果子太多了)來實(shí)現(xiàn)遍歷搜索。”中國(guó)科學(xué)院自動(dòng)化研究所研究員易建強(qiáng)說,“而AlphaGo采用了很聰明的方法,完美解決了這個(gè)問題。它利用深度學(xué)習(xí)的方法降低了搜索樹的復(fù)雜性,搜索空間得到有效降低。比如,策略網(wǎng)絡(luò)負(fù)責(zé)指揮計(jì)算機(jī)搜索出更像人類高手該落子的位置,而估值網(wǎng)絡(luò)負(fù)責(zé)指揮計(jì)算機(jī)搜索出后續(xù)更有可能獲勝的一個(gè)落子位置。”
劉加奇進(jìn)一步解釋,深度神經(jīng)網(wǎng)絡(luò)最基礎(chǔ)的一個(gè)單元就類似我們?nèi)祟惔竽X的神經(jīng)元,很多層連接起來就好比是人類大腦的神經(jīng)網(wǎng)絡(luò)。AlphaGo的兩個(gè)神經(jīng)網(wǎng)絡(luò)“大腦”分別是策略網(wǎng)絡(luò)和估值網(wǎng)絡(luò)。
“策略網(wǎng)絡(luò)主要是用來生成落子策略的。在下棋的過程中,它不是考慮自己應(yīng)該怎么下,而是想人類的高手會(huì)怎么下。也就是說,它會(huì)根據(jù)輸入棋盤當(dāng)前的一個(gè)狀態(tài),預(yù)測(cè)人類下一步棋會(huì)下在哪兒,提出最符合人類思維的幾種可行的下法。”
然而,策略網(wǎng)絡(luò)并不知道自己要下出的這步棋到底下得好還是不好,它只知道這步棋是否跟人類下的是一樣的,這時(shí)候就需要估值網(wǎng)絡(luò)來發(fā)揮作用了。
劉加奇說:“估值網(wǎng)絡(luò)會(huì)為各個(gè)可行的下法評(píng)估整個(gè)盤面的情況,然后給出一個(gè)‘勝率’。這些值會(huì)反饋到蒙特卡洛樹搜索算法中,通過反復(fù)如上過程推演出‘勝率’最高的走法。蒙特卡洛樹搜索算法決定了策略網(wǎng)絡(luò)僅會(huì)在‘勝率’較高的地方繼續(xù)推演,這樣就可以拋棄某些路線,不用一條道算到黑。”
AlphaGo利用這兩個(gè)工具來分析局面,判斷每種下子策略的優(yōu)劣,就像人類棋手會(huì)判斷當(dāng)前局面以及推斷未來的局面一樣。在利用蒙特卡洛樹搜索算法分析了比如未來20步的情況下,就能判斷在哪里下子贏的概率會(huì)高。
人工智能會(huì)對(duì)人類造成威脅嗎?
目前并不會(huì)對(duì)人類造成威脅,人工智能技術(shù)為人類提供了解決問題的強(qiáng)大工具
專家們表示,AlphaGo成功的秘訣就是讓計(jì)算機(jī)知道如何完成目標(biāo)并通過經(jīng)驗(yàn)來提高,而不是每項(xiàng)任務(wù)都通過手寫指令來完成。
“這個(gè)秘訣實(shí)際上就是深度學(xué)習(xí)。它是指多層的人工神經(jīng)網(wǎng)絡(luò)和訓(xùn)練它的方法。簡(jiǎn)單通俗地講就是指計(jì)算機(jī)通過深度神經(jīng)網(wǎng)絡(luò),模擬人腦的機(jī)制來學(xué)習(xí)、判斷、決策。近年來,這種方法已被應(yīng)用于許多領(lǐng)域,比如人臉識(shí)別、語(yǔ)音識(shí)別等等,總之它在近期和未來都將是人工智能領(lǐng)域的一個(gè)熱點(diǎn)研究方向。”易建強(qiáng)說。
此次AlphaGo的勝利被業(yè)界認(rèn)為是人工智能發(fā)展當(dāng)中的一個(gè)重要里程碑。
“它的一些算法的機(jī)理可以運(yùn)用到其它領(lǐng)域,去解決一些對(duì)抗性的問題,甚至還可以應(yīng)用到以后的商業(yè)和金融交易當(dāng)中,或者是城市的交通管理等方面。”劉加奇說。
很多人都擔(dān)心人工智能的發(fā)展會(huì)威脅到人類的生存,這次AlphaGo能在典型的反映人類智慧的比賽中打敗人類,則更加重了人們的擔(dān)憂。
對(duì)此,記者采訪的幾位專家都表示人工智能并不會(huì)對(duì)人類造成威脅。他們認(rèn)為,人工智能技術(shù)為我們提供了強(qiáng)大工具,有助于專家更快做出突破,提高我們應(yīng)對(duì)那些亟待解決的全球性難題的能力。
“我們需要機(jī)器學(xué)習(xí)來幫助處理復(fù)雜問題,預(yù)測(cè)未知,支持我們實(shí)現(xiàn)以往不可能的目標(biāo)。”王飛躍說。
“當(dāng)然相比圍棋,城市擁堵的治理等問題難度更大。因?yàn)閲宓臄?shù)據(jù)結(jié)構(gòu)是一樣和固定的,而我們生活當(dāng)中很多的數(shù)據(jù)結(jié)構(gòu)并不統(tǒng)一,比如城市擁堵方面的大數(shù)據(jù)結(jié)構(gòu),因此讓計(jì)算機(jī)從這些非結(jié)構(gòu)數(shù)據(jù)中獲取知識(shí)是非常難的,要實(shí)現(xiàn)還需要很長(zhǎng)的時(shí)間。”易建強(qiáng)說。(吳月輝)