search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

AlphaGo:人類圍棋駛向 2.0 時代的船票

柯潔和 Alphago 的人機大戰第一局已經宣告結束。經過近四個多小時的比賽,由Deepmind團隊研發的圍棋人工智慧執白1/4子戰勝了目前等級分排名世界第一的棋手柯潔九段,暫時以1比0領先。

面對這個結果,大家都已經不再驚訝,但是我們看到的比賽背後的一些東西,遠比結果更加重要和有趣。

AlphaGo v2.0

但少有人注意到的是,昨天和柯潔對戰的 Alphago,已經不是去年和李世乭對戰的那個 AlphaGo。在一年的時間裡,AlphaGo 的架構已經發生了重大的變化。你可以稱其為 AlphaGo 2.0 版本。

李世乭九段在韓國迎戰AlphaGo

第一個重大變化在於硬體。具體來說,從 CPU+GPU 的組合,變為採用 TPU。

發表在《自然》的論文里明確顯示,一開始在 2014 年,AlphaGo 採用的是一個單機箱的非同步計算架構,可以用 48 個 CPU(中央處理器)核心搭配 1、2、4、8 個 GPU(圖形處理器)來組合出幾種不同的配置。

但到了 2015 年 10 月,DeepMind 和 Google 已經為 AlphaGo 新設計了一個分散式的計算架構:還是用 CPU 和 GPU,只是這次數量多到驚人,可以用到多達 1920 個 CPU 核心和 280 個 GPU,你可以理解為 DeepMind 為了讓 AlphaGo 的性能更好配了一台超級計算機。然而,即便在最高配置上,AlphaGo 的圍棋等級分 (Elo Rating) 只能達到 3168,在現在世界圍棋選手排名中勉強擠進前 260 名。

為什麼要從單機箱改成分散式計算?這是因為在圍棋對弈中時間是非常重要的因素,你用的時間比對手少,對手就可能比你提前進入讀秒的緊張階段,被迫在思考不足的前提下落子,而你卻有更多時間地靠。AlphaGo 採用一種名叫蒙特卡洛樹搜索的技術,不停地對下一步的棋盤、再下一步和再再下一步的棋盤可能出現的狀況進行大量的計算,從而找到結果最優的下一步落子位置。而這個搜索進程需要時間,因此每一手之間給 AlphaGo 越多的時間,它能計算出越好的結果(當然,時間對結果優劣程度的幫助是遞減的)。

在最早的 AlphaGo 論文中我們可以看到,從單機箱向分散式計算演進,在樹形搜索進程數量在 40 不變的前提下,AlphaGo 的等級分獲得了一次非常不錯提升,從 2890 提升到了 3140。

但如果繼續增加 CPU 核心 和 GPU 數量呢?在前面第一個圖表裡我們看到,搜索進程數增加到了 64,等級分繼續提高到 3168:CPU 和 GPU 所用的數量暴增了 60%,等級分卻只提升了 28。顯然堆 CPU 和 GPU 不是一個完美的解決方案,接下來怎麼辦?

在去年 3 月和李世乭的交戰中,Google 首次用到了一個名叫 TPU 的東西。TPU 全名 Tensor Processing Unit(張量處理單元),是 Google 自行設計,專門用於機器學習訓練和推理深度神經網路的處理器,非常適合 Google 的 TensorFlow 開源機器學習框架。

Google 推出的 Cloud TPU

而 AlphaGo 就是用 TensorFlow 訓練出來的,跑在 TPU 上性能提升巨大,可以說跟之前基於 CPU+GPU 的分散式計算系統相比,獲得了一次重大的升級。從李世乭比賽之後,AlphaGo 都遷移運行在 TPU 上了。

但這還不是 AlphaGo 的 2.0 時代,更像 1.3。

真正讓 AlphaGo 升級到 2.0 的是它的學習思路變化。在和李世乭交戰之前,AlphaGo 的訓練方式就是學習人類的棋譜。然而人類的對弈思路相對來說已經比較固定,在相當長的一段時間內已經沒有太多充滿創造力的新招式出現了,因此 DeepMind 給 AlphaGo 設定了一個新的學習方式,讓它摒棄人類的思維定式自己跟自己下棋,左右互搏。

關於這個新的學習方式,去年韓國比賽期間社交網路上流傳一個笑話:跟 AlphaGo 下完棋,李世乭回家睡了一覺,舒緩壓力整理思路,AlphaGo 卻連夜又自己跟自己下了一萬局……玩笑之餘,這也是為什麼我們在 AlphaGo 和李世乭、後來的 Master,以及昨天和柯潔的對弈中,總能看到一些讓人搞不清到底是程序出了 bug 還是真的頗具新意的招式。就好比神仙打架,人又怎麼理解的了呢?

效用函數和策略函數,分別對應 AlphaGo 的兩個思考維度:目前棋盤的現狀,和自己/對手下一步的走向

更重要的是,通過自己跟自己下棋,AlphaGo 產生了大量的新棋譜數據。這些左右互搏的棋譜和最一開始訓練輸入的人類棋譜並沒有太大不同,也意味著 AlphaGo 已經能自己生產繼續進化下去所需要的數據了。

AlphaGo 的思維方式也特別。它不考慮贏面的大小,因為它只關注一件事情:下一步落在哪裡,獲勝的幾率最高。對此,OpenAI 的科學家安德烈·卡帕西 (Andrej Karpathy) 的評論很到位:如果 AlphaGo 發現某種下法最終以半目獲勝的概率高達 99.9999999%,它是絕對不會採用另一種 99.99% 概率能以 10 目獲勝的下法的。

圍棋可能性複雜度示意圖。AlphaGo 在每一步中策劃多個方案,最終決定採用獲勝概率最高的方案

所以你看到最後柯潔施展了全部的才華,拼盡全力與 AlphaGo 一戰,你以為它給 AlphaGo 帶來了巨大的壓力,導致最後 AlphaGo 只贏了半目,實力相差無幾,是一場焦灼的對局話,那你可能錯了,因為在 AlphaGo 那裡,一切都只是概率,它根本不在乎贏你多少,因為它是面向贏的幾率優化的,99.9999999%勝率和 99.99% 勝率有著天壤之別——這就是它訓練的任務。

柯潔和人類棋手的 2.0 時代

很多人都已經注意到,柯潔的心態,以及在公眾場合的姿態,對於圍棋、人類棋手和人工智慧之間關係的看法,從去年 AlphaGo vs 李世乭到今天在烏鎮,已經發生了很大的變化。或許打完本次比賽,柯潔也已經完成了向 2.0 版本的自己蛻變的過程。

其中有三個重要的節點,1)是柯潔去年 3 月發布的幾條微博:

你可以看出,還沒有和 AlphaGo,或者更準確來講,基於深度神經網路的圍棋 AI 下過棋的柯潔,對圍棋 AI 是完全沒有忌憚之心的。

2)是在去年 12 月,柯潔的一條微博,讓很多看好柯潔的人也開始擔心他能否真的擊敗來勢兇猛的圍棋 AI。你可以從他的隻言片語中很容易地讀出人類棋手對於圍棋 AI 的無解和無奈:

緊接著,在新年之際的一場在線圍棋網站對決中,由 AlphaGo 驅動的玩家「Master」在連續兩場對弈中擊敗了「吻別」。根據圍棋圈的傳言,當時使用「吻別」賬號的可能正是柯潔。

3)是昨天烏鎮對局的前夜,柯潔在微博上發布的文章。他宣布,這次無論輸贏,「都將是我與人工智慧最後的三盤對局」。在文章中,他仍然堅持認為人工智慧只是「冷冰冰的機器」,讓人感受不到對圍棋的熱情和熱愛。

但柯潔並未否定人工智慧對圍棋的意義,他也在文章里說,「我相信未來是屬於人工智慧的。」

讓圍棋 AI 登頂世界棋手排行榜的,肯定不是熱情,而是先進的計算架構和強大的計算力。就像人類發現了石頭和木棍可以被打磨成為斧頭,發現一根鐵棍加上一個支點就成了槓桿,發明了算盤用於輔助計算,又發明了計算機加強這種計算一樣……其實,斧頭、槓桿、算盤、計算機和 AlphaGo,都是同一個東西——我們稱它們為工具。

斧頭幫助人類戰勝野獸,槓桿可以撬動重物,算盤和計算機極大地降低了複雜計算的難度,而 AlphaGo 除了挑戰圍棋高手,登上新聞頭條,還有它最重要的作用:和人類棋手一起探尋圍棋的真諦。這正是柯潔去年 12 月長微博所說的。

你甚至可以說,在去年高調擊敗李世乭之後,AlphaGo 和再強大的、段位再高的人類棋手下棋也沒有意義了。柯潔廣而告之這次三番棋將會是自己和人工智慧的最後三盤對局的原因,可能也在這裡:工具是為了幫助人類,而不是挑戰人類存在的。人可以徒手殺死另一個人,但你不會因此而選擇徒手面對另一個手持斧頭的人;人同樣可以筆算完成一道數學題,但相信面前擺著計算器沒人會不用的;同樣,AlphaGo 有幫助人類探尋圍棋真諦的潛力,而這個潛力已經不需要靠人類和它對決來體現——這個道理,對於柯潔,和任何處在人類圍棋弈技巔峰的棋手們,都是顯而易見的。

這也是為什麼我覺得,在 AlphaGo vs 柯潔這件事情上,其實我們應該關注的不是勝負手、柯潔的先後言論云云,而是更重要的事情……就像柯潔所說的那樣,人類棋手將怎樣和計算機結合,邁進全新的領域,達到全新的境界——人類圍棋的 2.0 時代。

從這個角度看,AlphaGo,是人類棋手和圍棋進入 2.0 時代的一張船票。

相關閱讀:

人工智慧註定統治人類,在最後掙扎的人機對弈前你要讀完這篇文章

AlphaGo已經那麼厲害了,它和柯潔對戰還有意義嗎?

馬雲:機器的出路不是人工智慧,而是機器智能

Master 屬於 Google,圍棋已不屬於人類



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦