據(jù)說機(jī)器人最難模仿的還不是下圍棋,而是打麻將,麻將需要用盡各種心思騙上家、盯對(duì)家、卡下家,有時(shí)候要故意打好張,有時(shí)候又特意要喂一口,欲擒故縱,真真假假,羊頭狗肉,聲東擊西,明修棧道,暗渡陳倉(cāng),上下其手,兩面三刀……這不是打牌,完全是一種心眼兒戰(zhàn),機(jī)器人行嗎,機(jī)器人它有心眼兒?jiǎn)幔?/div>
最近,百度發(fā)布了自然語(yǔ)言處理部開發(fā)的智能圍棋系統(tǒng)—Bingo,在9路盤的大規(guī)模實(shí)戰(zhàn)中戰(zhàn)勝了兩名業(yè)余5段棋手,并在19路盤上以較大優(yōu)勢(shì)擊敗業(yè)余初段。這對(duì)于近年來把人工智能作為重要戰(zhàn)略的百度公司來說是一個(gè)重要的里程碑,通過這樣一款很容易被大眾所理解的產(chǎn)品將背后的人工智能技術(shù)完美的展現(xiàn)出來,也標(biāo)志著我們國(guó)內(nèi)科技公司也可以研發(fā)出領(lǐng)先的人工智能產(chǎn)品。本文將介紹博弈機(jī)器人的基本情況,分析圍棋機(jī)器人的特有難度,并通過這一事件引申出我們與人工智能技術(shù)之間的關(guān)系。
從國(guó)際象棋開始的博弈機(jī)器人

我們?nèi)祟愐恢睂?duì)制造出一個(gè)能與人對(duì)弈的機(jī)器人充滿興致,這首先開始于國(guó)際象棋。其中最為我們熟知的莫過于戰(zhàn)勝了國(guó)際象棋世界冠軍卡斯帕羅夫的深藍(lán),它在擁有30個(gè)IBM RS/6000處理器的并行計(jì)算機(jī)上運(yùn)行α-β搜索,通過480個(gè)定制的VLSI國(guó)際象棋處理器執(zhí)行生成行棋的功能;每步棋搜索多至300億個(gè)棋局,常規(guī)搜索深度是14步,在某些情況下可以通過擴(kuò)展能力使搜索深度達(dá)到40層;它的評(píng)估函數(shù)考慮了超過8000個(gè)特征來描述特有的棋子模式;它的開局手冊(cè)有4000個(gè)棋局,存有70萬(wàn)個(gè)大師級(jí)比賽棋譜的數(shù)據(jù)庫(kù),可以從中提取綜合建議;系統(tǒng)采用大型殘局?jǐn)?shù)據(jù)庫(kù)保存已解決的殘局。
國(guó)際象棋成為了博弈游戲領(lǐng)域中最重要的人工智能技術(shù)的試金石,很多早期對(duì)計(jì)算機(jī)有影響力的人物幾乎都對(duì)用計(jì)算機(jī)下國(guó)際象棋感興趣,其中包括大名鼎鼎的諾伯特?維納和阿蘭?圖靈。而對(duì)于研發(fā)出更好的國(guó)際象棋機(jī)器人的持續(xù)追求也在一定程度上促進(jìn)了計(jì)算機(jī)科學(xué)和人工智能的發(fā)展。難怪俄羅斯數(shù)學(xué)家Alexander Kronrod在1965年稱國(guó)際象棋為人工智能果蠅,John McCarthy也說,正如遺傳學(xué)家使用果蠅做實(shí)驗(yàn)以推廣生物學(xué)應(yīng)用一樣,AI用國(guó)際象棋來做同樣的傳播。
圍棋是機(jī)器人最難面對(duì)的博弈游戲
機(jī)器與人對(duì)弈其實(shí)是一種對(duì)抗搜索問題,通常被稱為博弈。對(duì)于人工智能研究者來說,博弈的抽象特性使得博弈成為非常有趣的研究對(duì)象。博弈游戲中的狀態(tài)很容易表示,機(jī)器人的行動(dòng)數(shù)目通常受限,而行動(dòng)的輸出都有嚴(yán)謹(jǐn)?shù)囊?guī)則來定義。現(xiàn)在國(guó)際象棋的搜索算法已經(jīng)非常成熟:首先列明所有可能的走法,接著通過“剪枝”來忽略那些不影響最后決定的部分,使程序能夠高效而深度的處理剩余的分叉,而啟發(fā)式的評(píng)估函數(shù)允許在不進(jìn)行完全搜索的情況下估計(jì)某狀態(tài)的真實(shí)效用值。
但國(guó)際象棋上這種成熟的搜索算法在圍棋上很難行得通,原因在于:
1)搜索算法的復(fù)雜程度取決于分支系數(shù)——每一步棋可能的走法,國(guó)際象棋的平均分支因子大約是35,一盤棋每個(gè)棋手走50步,所以搜索樹有35^100個(gè)節(jié)點(diǎn);而圍棋的平均分支因子為250,一局步數(shù)為350步,搜索樹有250^350個(gè)節(jié)點(diǎn),遠(yuǎn)遠(yuǎn)超過國(guó)際象棋,所以圍棋需要更加復(fù)雜和先進(jìn)的搜索算法。
2)國(guó)際象棋機(jī)器人可以通過較為簡(jiǎn)單的評(píng)估函數(shù)得出每個(gè)棋子的價(jià)值(比如皇后比士卒的價(jià)值高),王后即使“虎落平陽(yáng)”也依舊是最犀利的棋子,機(jī)器學(xué)習(xí)也證實(shí)了國(guó)際象棋中的一個(gè)象確實(shí)值三個(gè)兵。因此,國(guó)際象棋機(jī)器人可以根據(jù)每個(gè)棋子發(fā)起攻擊和被攻擊的可能性計(jì)算它們所處位置的價(jià)值。但對(duì)于圍棋來說,每個(gè)棋子間的差異性并不顯著,它們以非常復(fù)雜的方式相互影響彼此之間的價(jià)值,評(píng)估一個(gè)棋子的價(jià)值要取決于其他所在棋子的布局以及它與周圍棋子的關(guān)系,而不是其本身。加之圍棋在達(dá)到殘局之前的控制通常很難預(yù)測(cè),所以圍棋程序很難寫出評(píng)估函數(shù)。
總之,過大的分支因子和無(wú)法確定評(píng)估函數(shù)使圍棋機(jī)器人成為人工智能需要面對(duì)的巨大挑戰(zhàn)。1997年之前沒有出現(xiàn)有競(jìng)爭(zhēng)力的圍棋程序,后來基于UCT(樹的上限置信區(qū)間)的蒙特卡洛方法的圍棋程序成為主流。2008年,當(dāng)時(shí)最強(qiáng)的圍棋程序MoGo在被讓9子的情況下戰(zhàn)勝了職業(yè)選手金明遠(yuǎn)。近來,日本程序Zen多次在9路盤上沖擊職業(yè)選手,但均以大比分連敗告終,而現(xiàn)在Bingo已在9路盤上接近于職業(yè)選手的水平。
Bingo的創(chuàng)新
而如今百度Bingo的戰(zhàn)績(jī)也表明其已經(jīng)躋身智能圍棋系統(tǒng)的第一陣營(yíng),更難得是百度在該產(chǎn)品的研發(fā)中進(jìn)行了一些算法上的創(chuàng)新。上文提到,目前主流的圍棋程序大多采用基于UCT(樹的上限置信區(qū)間)的蒙特卡洛搜索,但此次百度卻另辟蹊徑,成功的將蒙特卡洛搜索和α-β搜索結(jié)合起來開發(fā)出了一種比UCT更加高效的算法。
大膽猜測(cè)一下,百度Bingo的算法優(yōu)勢(shì)可能在于用到了α-β剪枝技巧,不需要遍歷博弈樹中每一個(gè)節(jié)點(diǎn)就可以計(jì)算出正確的極大極小值,基于這種思想會(huì)盡可能消除部分搜索樹。這種特別技術(shù)會(huì)減掉那些不可能影響決策的分支,仍然返回和極小極大算法同樣的結(jié)果。消除了被證明無(wú)關(guān)的子樹,效率得到提高。
更加重要的一點(diǎn)是,百度在開發(fā)Bingo時(shí)把重點(diǎn)放到了算法優(yōu)化上,而非計(jì)算資源的堆砌。此前深藍(lán)的成功加強(qiáng)了人們廣泛支持的信念——計(jì)算機(jī)的博弈水平的提高源自更強(qiáng)有力的硬件——這也是當(dāng)時(shí)IBM的觀點(diǎn)。百度之前也在人工智能和深度神經(jīng)網(wǎng)絡(luò)方面積累了強(qiáng)大的計(jì)算資源,但這款智能產(chǎn)品卻沒有大打硬件牌,而是直接切入人工智能的核心——算法,并且取得了優(yōu)異的表現(xiàn)。
機(jī)器和人在進(jìn)行博弈游戲時(shí)的區(qū)別
Bingo的出現(xiàn)代表了人工智能在應(yīng)用層面的又一次階段性成功,機(jī)器又在一個(gè)特定領(lǐng)域中戰(zhàn)勝了人類。結(jié)果看起來振奮人心,但我們需要深入了解機(jī)器與人的博弈方法上的各種異同,這樣我們才能理解人工智能技術(shù)這次的進(jìn)步究竟體現(xiàn)在哪里,才會(huì)知道這種進(jìn)步對(duì)于我們的具體意義。
相同點(diǎn)在于,無(wú)論是電腦程序還是人類國(guó)際象棋大師都要依靠簡(jiǎn)化手段來預(yù)測(cè)比賽結(jié)果,這些簡(jiǎn)化手段可被視為“模型”;而他們的博弈行為也都是在做一種預(yù)測(cè),根據(jù)貝葉斯定理,預(yù)測(cè)基本上屬于信息處理活動(dòng)——用新數(shù)據(jù)檢測(cè)關(guān)于客觀世界的假設(shè),目的是為了更加真實(shí)、準(zhǔn)確地理解世界。 而博弈游戲就可以被視為一種與預(yù)測(cè)相類似的工作,所以機(jī)器和人在這方面是完全一致的。
但他們也有著不同的、各自擅長(zhǎng)的建模方法和預(yù)測(cè)機(jī)制。大師在下棋時(shí)依靠模式識(shí)別來判斷棋面,然后調(diào)用記憶中的各種棋陣來預(yù)測(cè)并選擇對(duì)策。紀(jì)錄片《神奇大腦:造就天才》里提到,國(guó)際象棋大師蘇珊·波爾加在孩子期間記住了10萬(wàn)個(gè)棋陣,并經(jīng)過大量的重復(fù)記憶,把動(dòng)作記憶變成了長(zhǎng)期記憶。她并非記住每個(gè)棋子的位置,而是把他們分成幾組。國(guó)際象棋的組合比宇宙上的原子還多,但棋陣是混亂中的秩序,這些典型的小陣式重復(fù)出現(xiàn)在不同棋局,這是國(guó)際象棋的基本單詞??傊龖{借人類擅長(zhǎng)的模式識(shí)別、邏輯推理和經(jīng)驗(yàn)積累記住了這些棋陣并形成了一種強(qiáng)大直覺。而對(duì)于機(jī)器來說,它的對(duì)弈行為完全是基于統(tǒng)計(jì)分析和搜索,它們憑借的是科學(xué)的算法、機(jī)器學(xué)習(xí)能力和計(jì)算能力。
其實(shí)對(duì)于它們的各自優(yōu)劣,有著現(xiàn)代國(guó)際象棋計(jì)算機(jī)之父之稱的數(shù)學(xué)家克勞德·香農(nóng)很早就做了準(zhǔn)確的歸納。機(jī)器的特點(diǎn)是:1)計(jì)算速度快。2)不會(huì)犯錯(cuò),除非編程時(shí)就編入錯(cuò)誤。3.)不會(huì)偷懶,在分析招數(shù)、分析可能位置時(shí)不會(huì)半途而廢。4)不帶感情色彩,不會(huì)贏了一步就過度自信以致失去勝勢(shì),或是遇到困局就沮喪,劣勢(shì)其實(shí)是可以逆轉(zhuǎn)的。而人類棋手的特點(diǎn)是:1)思維靈活,解決問題知道變通,不會(huì)按部就班。2)擁有想象力。3)懂推理。4)會(huì)學(xué)習(xí)。
人工智能與人類的結(jié)合和優(yōu)勢(shì)互補(bǔ)
對(duì)于機(jī)器人棋手,許多人類棋手都表示不屑和抗拒;而博弈程序的開發(fā)者也將那些大師棋手作為自己要通過機(jī)器打敗的對(duì)象,甚至?xí)槍?duì)某些大師的特有風(fēng)格進(jìn)行編程??ㄋ古亮_夫和“深藍(lán)”的程序員將彼此視為敵手,但是他們都教會(huì)我們一點(diǎn)——計(jì)算機(jī)的處理速度和人類思維的精巧應(yīng)該相互補(bǔ)充。舉兩個(gè)例子,拿下2008和2009年計(jì)算機(jī)國(guó)際象棋世界杯(計(jì)算機(jī)之間的象棋比賽)的冠軍Rybka目前被認(rèn)為是最強(qiáng)的計(jì)算機(jī)棋手,它的主要優(yōu)勢(shì)在于由國(guó)際象棋大師Vasik Rajlich與其他多個(gè)國(guó)際象棋大師共同開發(fā)的評(píng)估函數(shù)?!缎盘?hào)與噪聲》中提到,卡斯帕羅夫在與深藍(lán)的第二場(chǎng)比賽中出了一些狀況,他因?yàn)橐粋€(gè)從未犯過的錯(cuò)誤而輸?shù)袅嗽究梢源虺善骄值谋荣?。究其原因,是由?ldquo;深藍(lán)”在第44步極為隨意的走了一個(gè)棋子,這步棋讓卡斯帕羅夫感到緊張,他覺得這有悖直覺的一步棋必是高招,而他絕沒有想到這不過是一個(gè)程序漏洞。
世界計(jì)算機(jī)國(guó)際象棋冠軍的成功是因?yàn)槿祟愊笃宕髱煘槠溟_發(fā)評(píng)估函數(shù);而深藍(lán)憑借自己一個(gè)“擬人化”的低級(jí)錯(cuò)誤對(duì)人類對(duì)手造成干擾從而贏得比賽。這足以證明,在博弈游戲領(lǐng)域,對(duì)于在計(jì)算上占絕對(duì)優(yōu)勢(shì)的機(jī)器來說,一些人類的特質(zhì)和特長(zhǎng)也同樣重要。
博弈機(jī)器人對(duì)人工智能的啟示
我們認(rèn)識(shí)到人機(jī)對(duì)弈將會(huì)呈現(xiàn)一種良好的優(yōu)勢(shì)互補(bǔ)、共同進(jìn)化的過程,那既然一直以來機(jī)器博弈都是人工智能發(fā)展中的重要一環(huán),我們是否也可以從中窺探出人工智能技術(shù)與人類之間的關(guān)系呢?
大多數(shù)時(shí)候,我們一談?wù)撊斯ぶ悄荞R上就會(huì)提到,機(jī)器何時(shí)能夠擁有人類般意識(shí)?機(jī)器的智力何時(shí)達(dá)到甚至超越人類水平?奇點(diǎn)何時(shí)來臨?天網(wǎng)何時(shí)出現(xiàn)?史蒂夫.霍金對(duì)人工智能的警示是否應(yīng)該引起足夠重視?在未來人類是不是要將世界的控制權(quán)交由機(jī)器?
我們對(duì)人工智能可能有種太過恢弘且理想的愿景,然后又把這種太過虛幻的愿望強(qiáng)加給圖靈測(cè)試等這類不具備太多實(shí)際意義的人為標(biāo)準(zhǔn),而當(dāng)每次機(jī)器贏得與人的棋局之后,我們又開始自以為是的盤算機(jī)器已經(jīng)越來越接近人的智力了。早期人工智能研究者把贏得國(guó)際象棋比賽當(dāng)成智能應(yīng)用的范例,但后來發(fā)現(xiàn)這比區(qū)分口語(yǔ)詞匯或識(shí)別面孔之類計(jì)算問題要容易得多,因?yàn)闄C(jī)器下棋就是一種基于自身計(jì)算優(yōu)勢(shì)的統(tǒng)計(jì)分析行為。所以,贏得博弈比賽的機(jī)器人根本無(wú)法證明機(jī)器與人在綜合智力上的差異,但程序背后先進(jìn)的技術(shù)原理卻能夠?yàn)槲覀儙砀玫募夹g(shù)工具。
人工智能的真正價(jià)值在于我們?cè)谧穼み@個(gè)夢(mèng)想途中撿拾到散落在路旁的瑰寶,我們對(duì)“機(jī)器會(huì)思考嗎”的暢想促使我們創(chuàng)造出了計(jì)算機(jī);IBM深藍(lán)的成功讓我們意識(shí)到硬件性能和計(jì)算性能的重要性;模擬人類學(xué)習(xí)行為的機(jī)器學(xué)習(xí)使計(jì)算機(jī)可以進(jìn)行圖像識(shí)別、語(yǔ)音識(shí)別和文本翻譯等。
至少在可預(yù)見的未來,人工智能只是充當(dāng)一個(gè)改善人類生存環(huán)境的工具,我們是通過身邊越來越好用的技術(shù)工具來感受到它的存在,而非期望盡快見到一臺(tái)比肩人類的超級(jí)智能計(jì)算機(jī)?;氐桨俣菳ingo,相關(guān)研究人員表示“研發(fā)過程中產(chǎn)生的多種創(chuàng)新思想與技術(shù),已融入到包括百度網(wǎng)頁(yè)搜索在內(nèi)的多個(gè)產(chǎn)品的在線學(xué)習(xí)策略中,并取得了非常明顯的效果。”在為國(guó)內(nèi)科技公司在人工智能領(lǐng)域取得優(yōu)異成績(jī)感到欣喜之余,我們更有理由相信這類真正創(chuàng)新性的技術(shù)進(jìn)步能夠帶給我們更加智能的搜索產(chǎn)品和更好的技術(shù)服務(wù)。
更多>相關(guān)資訊
0 條相關(guān)評(píng)論