反擊之戰!李世石戰勝阿爾法,為人類贏回了尊嚴

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

到 1997 年,多數玩家都知道卡斯帕羅夫被打敗了,他們認為深藍的風格很不尋常嗎?
是的,有這樣一種說法,你看到計算機下出很出乎意料,或反直覺的一步棋時,會稱它為「計算機走法」。這是因為人類有這樣的思考方式,而有些走法,人類高手也不會用。這也是為何計算機能打敗人類,雖然在某種程度上說,它們無法準確評估棋局:由于它們不同尋常,所以能看見一些人類不會看見的走法。不過有趣的是,現在的年輕棋手會比老一代更容易走出計算機的走法,可能是因為他們一直有跟計算機下棋。
所以計算機戰勝人類,也讓人類變得更優質?
很正確。
在計算機科學角度上,圍棋與國際象棋有什么區別?
兩者都需要強大的計算量,都很復雜。但圍棋有一些象棋沒有的特點,那就是很難評估它的棋局。像我一樣的中級象棋選手,可能幾個小時就能寫一個評估函數,用于判斷象棋的棋局。雖然達不到大師的水平,但與搜索結合起來,已經足夠下高水平的棋了。
但圍棋會隨著時間推移而衍變,而且結構和互動非常復雜。象棋中的棋子會移動,沒有很多靜態結構,甚至只要數下誰的子多,你就能很好地預測誰會贏。現實當然會更復雜,但這是個不錯的經驗。圍棋則完全不是這樣,你沒法數棋子,因為一般來說雙方都差不多,而且評估起來難得多。所以我覺得,DeepMind 的高明之處在于,通過機器學習方法找到了更好的棋局評估方法。

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

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