反擊之戰(zhàn)!李世石戰(zhàn)勝阿爾法,為人類贏回了尊嚴(yán)

20 年前就打敗了人類,「深藍(lán)」開發(fā)者又如何看待 AlphaGo?
IBM 深藍(lán)的開發(fā)者,如何看待AlphaGo的圍棋之戰(zhàn)?
DeepMind 的圍棋人工智能 Alphago 對人類的碾壓來得促不及防,現(xiàn)在它以 3:1 領(lǐng)先圍棋冠軍李世石。由于圍棋的復(fù)雜性,很多人工智能專家曾認(rèn)為,計(jì)算機(jī)要戰(zhàn)勝頂尖人類,還需要數(shù)十年時間。而在約二十年前,IBM 也同樣在人機(jī)之間挑起過爭論,當(dāng)時它開發(fā)的深藍(lán)計(jì)算機(jī)打敗了國際象棋大師加里·卡斯帕羅夫 (Garry Kasparov)。
Murray Campbell 是深藍(lán)開發(fā)中的關(guān)鍵人物,也是 IBM 認(rèn)知計(jì)算部門的高級經(jīng)理,正是這一部門管理著現(xiàn)在的 Watson 人工智能平臺。那這位深藍(lán)的開發(fā)者,是怎樣看待新世紀(jì)人機(jī)之戰(zhàn)的呢?最近 Theverge 與他進(jìn)行了對話,深圳灣對文章編譯如下 (有刪減):
在20年前,你們?nèi)绾谓鉀Q象棋問題,打敗卡斯帕羅夫的?
我們還在卡耐基梅隆大學(xué)讀研時,就在開發(fā)象棋程序了,接下來 IBM 招了我們其中三個來開發(fā)下一代象棋計(jì)算機(jī),也就是后來的深藍(lán)。我們當(dāng)時意識到,單純的暴力破解方法很難打敗世界冠軍;但另一方面,擁有強(qiáng)大的計(jì)算力確實(shí)有用,而且程序的能力確實(shí)與計(jì)算速度有關(guān),這有文獻(xiàn)支持。所以我們將一些人工智能類的先進(jìn)算法 (搜索和評估方面的),與大型超級計(jì)算機(jī)相結(jié)合,來開發(fā)冠軍級別的程序。1996 年的比賽我們失敗了,但次年用改進(jìn)的系統(tǒng)卷土重來,并取得了勝利。
你當(dāng)時為什么會做這事?是出于對象棋的興趣,還是對計(jì)算的挑戰(zhàn)?
兩者都有。我對象棋很感興趣,在成為計(jì)算機(jī)科學(xué)家前也是象棋玩家,還曾獲得過加拿大亞伯達(dá)省的冠軍。不過我也認(rèn)識到,真正厲害的高手有一些我沒有的東西。這也讓我想知道,怎樣才能開發(fā)一個高水平的計(jì)算機(jī)來下棋呢?后來加入 IBM 時,我感到這是個機(jī)會,可以證明自己的想法。
除了個人興趣,打敗人類也對早期的計(jì)算機(jī)科學(xué)來說是個挑戰(zhàn)。1949年,知名數(shù)學(xué)家克勞德·香農(nóng) (Claude Shannon) 發(fā)表了一篇論文,描述了如何創(chuàng)造一臺象棋計(jì)算機(jī),并認(rèn)為這是一個大挑戰(zhàn)。
開發(fā)中,多大程度上你自己要了解國際象棋?是輸入一些規(guī)則就行了,還是根據(jù)自己的經(jīng)驗(yàn)來?
我認(rèn)為了解一些象棋知識很重要。在開發(fā)的早期階段,我們不需要成為個中高手,而且當(dāng)時也不是。但進(jìn)行到最后階段時,會有很多關(guān)于如何下棋,以及大師的標(biāo)準(zhǔn)是什么的細(xì)節(jié)需要考慮,所以有個高手來幫忙很重要。當(dāng)時我們請了象棋大師 Joel Benjamin 來幫忙。最后,我們還請了其他大師與機(jī)器對戰(zhàn),測試系統(tǒng)性能。
當(dāng)時的目標(biāo)是模仿人類風(fēng)格,還是開發(fā)一個不惜一切取得勝利的系統(tǒng)?
我們完全沒想著模仿人類,只不過是人類多數(shù)情況下,棋下得不錯,所以我們也希望系統(tǒng)如此。人類的風(fēng)格被研究得很好,雖然沒被研究透,但心理學(xué)家數(shù)十年前就在研究了。而得到的結(jié)論是,象棋高手在考慮走棋時,只會關(guān)注少量的步數(shù)和位置。有時他們會計(jì)算到很深,才能決定怎么走,有時候不會。但他們很擅長棋局評估和搜索機(jī)制,這有助于決定選擇哪種方式探索棋局。模仿人類是很困難的事。
最初的人工智能確實(shí)想讓計(jì)算機(jī)有人類的網(wǎng)絡(luò),但往往會敗給那些更「計(jì)算機(jī)風(fēng)格」的計(jì)算機(jī),即少進(jìn)行評估,盡可能計(jì)算可能的步數(shù)。僅靠純粹的搜索確實(shí)能達(dá)到一定的水平,但我們也意識到,這還不夠,還是得在某些方面模仿人類。人類長于根據(jù)關(guān)鍵路線進(jìn)行深入思考,我們也希望系統(tǒng)能這樣做,而這也是深藍(lán)能成功的一個重要原因。

到 1997 年,多數(shù)玩家都知道卡斯帕羅夫被打敗了,他們認(rèn)為深藍(lán)的風(fēng)格很不尋常嗎?
是的,有這樣一種說法,你看到計(jì)算機(jī)下出很出乎意料,或反直覺的一步棋時,會稱它為「計(jì)算機(jī)走法」。這是因?yàn)槿祟愑羞@樣的思考方式,而有些走法,人類高手也不會用。這也是為何計(jì)算機(jī)能打敗人類,雖然在某種程度上說,它們無法準(zhǔn)確評估棋局:由于它們不同尋常,所以能看見一些人類不會看見的走法。不過有趣的是,現(xiàn)在的年輕棋手會比老一代更容易走出計(jì)算機(jī)的走法,可能是因?yàn)樗麄円恢庇懈?jì)算機(jī)下棋。
所以計(jì)算機(jī)戰(zhàn)勝人類,也讓人類變得更優(yōu)質(zhì)?
很正確。
在計(jì)算機(jī)科學(xué)角度上,圍棋與國際象棋有什么區(qū)別?
兩者都需要強(qiáng)大的計(jì)算量,都很復(fù)雜。但圍棋有一些象棋沒有的特點(diǎn),那就是很難評估它的棋局。像我一樣的中級象棋選手,可能幾個小時就能寫一個評估函數(shù),用于判斷象棋的棋局。雖然達(dá)不到大師的水平,但與搜索結(jié)合起來,已經(jīng)足夠下高水平的棋了。
但圍棋會隨著時間推移而衍變,而且結(jié)構(gòu)和互動非常復(fù)雜。象棋中的棋子會移動,沒有很多靜態(tài)結(jié)構(gòu),甚至只要數(shù)下誰的子多,你就能很好地預(yù)測誰會贏。現(xiàn)實(shí)當(dāng)然會更復(fù)雜,但這是個不錯的經(jīng)驗(yàn)。圍棋則完全不是這樣,你沒法數(shù)棋子,因?yàn)橐话銇碚f雙方都差不多,而且評估起來難得多。所以我覺得,DeepMind 的高明之處在于,通過機(jī)器學(xué)習(xí)方法找到了更好的棋局評估方法。

你怎么看待 AlphaGo,它用的技術(shù)當(dāng)時能用嗎,能不能用在深藍(lán)上?
我也與 DeepMind 的人討論過這種問題。首先我認(rèn)為 AlphaGo 很厲害,也提高了現(xiàn)在的人工智能水平。如果他們證明 AlphaGo 是一種通用機(jī)制,還能用在除圍棋外的其它游戲中,我會更震驚。
至于這種方法能不能用在國際象棋上,我覺得它可能讓程序比所有人類都厲害,但不會是最先進(jìn)的,因?yàn)楝F(xiàn)在的象棋程序已經(jīng)很強(qiáng)大,且超越了人類。象棋在搜索上是不同的游戲,即搜索對象棋很重要,但在圍棋上不是這樣。圍棋中也需要深層次的搜索,但其中直覺,評估以及互動更為重要。
可以說,沒有什么能替代搜索,現(xiàn)代程序,比如我知道的最好的 Komodo,都有搜索可能的走法上很高效,搜索的層次也很深。我認(rèn)為 AlphaGo 所用的通用機(jī)制就算用在象棋上,也無法重塑搜索,它需要其它的突破。
AlphaGo 能與自己下棋,看起來能力會不斷提升。
它在與自己下棋時,確實(shí)看起來有所提升。我不知道這是否會有限制,它能否不斷改進(jìn)。但根據(jù)我對兩種游戲的理解,AlphaGo 用的方法直接用在象棋上時,無法打敗現(xiàn)有的程序。
處理能力對兩類游戲來說有多重要?
在象棋中可能沒那么重要。處理能力越強(qiáng)當(dāng)然越好,但現(xiàn)在的智能手機(jī)已經(jīng)能打敗任何人了。算法已經(jīng)有了優(yōu)化,程序也相當(dāng)高效。AlphaGo 似乎用了很多處理能力,發(fā)表的論文上也說在 CPU 和 GPU 更多時,表現(xiàn)也更好。(編者注:上周 DeepMind 表示,逐漸達(dá)到了收益遞減的臨界點(diǎn),即再增加計(jì)算性能似乎無法讓計(jì)算機(jī)的表現(xiàn)更好)

AlphaGo 的勝利對人工智能領(lǐng)域來說會意味著什么?會有下一個目標(biāo)或里程碑嗎?
我認(rèn)為,這會讓圍棋和象棋的研究減少。會有很好的機(jī)制處理這類游戲,部分是因?yàn)椋m然它們很復(fù)雜,但在另一方面上看又很簡單。他們都是完美的信息游戲,是零和游戲,也是輪流來玩的游戲,所以沒有運(yùn)氣的成分在里面。但現(xiàn)實(shí)世界并不如此,你在決策中很少能完全了解情況,決定的結(jié)果也很難理清楚。
所以我很想知道如何將 AlphaGo 的系統(tǒng)用在其它游戲上,以及在沒有人類輸入的情況下用在圍棋上會怎么樣。這些都可以成為里程碑,但我認(rèn)為我們會瞄準(zhǔn)棋類游戲之外。將這種技術(shù)用在現(xiàn)實(shí)世界的問題會更有價(jià)值,也是我們應(yīng)該做的。不過在這種轉(zhuǎn)移過程中,系統(tǒng)不會很快超越人類,因?yàn)槿祟惻c機(jī)器都有自己擅長的方面,需要互補(bǔ)。
最直接的現(xiàn)實(shí)使用是什么?
我認(rèn)為可能是醫(yī)療保健方面。我不認(rèn)為計(jì)算機(jī)會很快幫人類做決定,但它們能分析數(shù)據(jù),幫人類做出更好的決定。算法可以幫助識別出數(shù)據(jù)中的模式,為醫(yī)生提供決策洞見,讓決策更準(zhǔn)確。