The AI that defeated a world champion wasn’t just about algorithms—it was the result of an entire computing system working together.
2016 年,Al以 4 比 1 擊敗韓國棋手李世石。這場比賽常被簡化成一句話….一台超級電腦打敗了人類棋王。這AI的名稱叫AlphaGo。
但「電腦比較快,所以贏了」並不能說明Al真正做了什麼。圍棋的變化太多,想把所有走法一條一條算到底,並不是實際可行的策略。Al的突破,在於它學會評估棋局、挑選值得探索的走法,再把搜尋和運算資源集中到較有希望的方向。
要回答「Alpha Go如何擊敗李世乭」,不能只看棋盤上的一步,也得看模型怎麼學、系統怎麼搜尋,以及運算硬體怎麼支援整個過程。
不是把所有棋路算完,才決定下一步
圍棋每落一子,棋盤局面就會改變。隨著棋局推進,可供選擇的變化迅速增加。若電腦試圖完整推演所有可能棋路,所需的計算量會非常驚人。
Al沒有採用「全部算完再選」的方式。它會先評估目前的棋盤,判斷哪些落子較值得考慮,再針對部分候選走法繼續搜尋。這讓系統不必把同樣多的運算浪費在每一種可能上。
其中一個關鍵是蒙地卡羅樹搜尋。它會逐步探索棋局可能發展的路徑,根據搜尋結果決定哪些分支值得繼續深入。Al再用神經網路提供局勢評估,協助搜尋程序判斷優先順序。
換句話說,不是把整盤棋「算到最後」,而是把模型的判斷和搜尋結合起來,在有限時間內探索較有價值的棋路。
它先從人類棋譜學習,再和自己下棋
Al的能力不是憑空出現的。訓練過程的一個階段,是從人類棋手的棋譜中學習。模型看過大量棋局後,逐漸學會在特定局面下,哪些落子比較像高水準棋手會採取的選擇。
接下來,Al也透過自我對弈改善策略。它和自己下棋,從勝負結果中修正判斷,逐步找出不只模仿人類棋譜、也能提高勝率的走法。
這裡有兩個常被混在一起的詞:機器學習和深度學習。
機器學習是讓系統根據資料或經驗調整模型的方法;深度學習則是機器學習的一個分支,使用多層神經網路處理資料。使用深度神經網路來分析棋盤,但它的棋力並非只靠神經網路。訓練資料、自我對弈、搜尋方法和模型設計,都會影響最後的表現。
「AI 從資料中學習」也不代表整套系統不需要人類設計。研究團隊仍要設定模型架構、訓練目標和搜尋流程。模型能學到什麼,和人類如何設計學習方式有很大關係。
神經網路提供判斷,搜尋繼續往前推演
Al的神經網路和搜尋程序,負責不同但相互配合的工作。
神經網路會根據棋盤局勢,評估可能的落子方向,也協助估計目前局面對哪一方較有利。搜尋程序則沿著候選方向繼續探索,推演落子後可能出現的局面,再把結果帶回判斷流程。
只有搜尋,系統可能把大量時間花在價值不高的棋路;只有模型評估,則可能缺少更深入的比較。兩者搭配,能讓 Al在眾多可能性中,把搜尋集中到較值得檢查的方向。
這也是為什麼「深度學習讓 AI 贏了」仍然不是完整答案。深度學習提供評估棋局的能力,搜尋方法讓系統能進一步檢查選項,硬體則支援這些運算在比賽時間內完成。
| 系統部分 | 負責的工作 |
|---|---|
| 訓練資料與自我對弈 | 讓模型學習棋局模式並調整策略 |
| 深度神經網路 | 評估棋局與可能的落子方向 |
| 蒙地卡羅樹搜尋 | 探索候選走法後續可能的發展 |
| CPU、GPU 等運算硬體 | 支援模型計算與棋路搜尋 |
AlphaGo背後不是一台普通的個人電腦

Al不是在一般筆電上完成訓練、再靠單一桌上型電腦打完整場比賽。DeepMind 發表的研究說明,Alpha Go 有不同版本與運算配置;研究中的單機版和分散式版本,使用的運算資源並不相同。
分散式系統會讓多個處理器或多台機器共同承擔運算工作。CPU 可以處理一般控制與邏輯工作,GPU 則適合平行執行大量相似的數學運算,能用來加速神經網路相關計算。
不過,硬體配置要看具體版本和使用情境。訓練模型需要的資源,和正式對弈時進行推論與搜尋的資源不是同一件事。若沒有確認版本,就把某個晶片數量或設備規格說成「固定配置」,很容易把不同測試與系統混在一起。
同樣需要小心的是 TPU。Google 後來發展了 TPU 等 AI 加速器,但不能只因為 Alpha Go 是 Google DeepMind 開發的系統,就推定 2016 年對弈李世乭所使用的配置包含 TPU。硬體資訊最好回到相對應的論文或官方資料確認,不要把不同年份、不同模型的規格拼成同一套設備。
伺服器叢集,不等於雲端運算
多台電腦一起分工,常被稱為伺服器叢集或分散式運算。雲端運算則是透過網路提供運算資源與服務。兩者可能出現在同一套系統裡,但意思並不相同。
伺服器叢集說的是電腦如何協同工作;雲端運算說的是資源如何被提供和使用。資料中心裡可以有伺服器叢集,也可能提供雲端服務,但這不代表所有叢集都等於雲端,更不能只憑「用了很多伺服器」就認定某個 AI 系統是在雲端運作。
這例子更適合拿來理解大型 AI 系統如何使用運算資源,而不是直接把它說成一種雲端服務。這個差別看起來細,卻能避免把硬體架構和服務模式混為一談。
訓練和下棋,是兩種不同的運算工作
訓練階段,系統會使用資料和對弈結果調整模型;模型訓練完成後,進入正式比賽,則是根據當下棋盤進行推論與搜尋。
比賽時,Al不會每下一手就重新訓練整個模型。它會使用已訓練好的模型評估當下局面,再透過搜尋比較候選走法。這個過程依然需要運算,但和重新訓練模型不同。
理解這個區分,就比較不會把「AI 需要大量運算」誤解成「每次使用 AI,都要重新跑一次訓練」。不同任務的運算需求差異很大:訓練大型模型可能需要密集資源,日常使用訓練好的模型則是另一種負載。
AlphaGo的勝利,是整套系統一起完成的
運算能力很重要,但硬體堆得再多,也不會自動變成棋力。模型需要有效的訓練方式,搜尋程序需要找到值得探索的方向,運算架構則要讓整個流程能在比賽時限內完成。
Al擊敗李世乭,並不是因為它把每一種棋路都算過,也不只是因為它有比個人電腦更強的硬體。它的表現來自模型評估、搜尋方法、訓練流程與運算設備之間的配合。
這也是覺得仍然值得重新理解的地方。討論 AI 時,我們很容易把注意力放在一個最醒目的名詞上:晶片、資料、演算法,或雲端。但真正讓系統完成任務的,往往是這些部分如何被組合起來,各自負責什麼,又如何互相補足。
棋盤上的落子是Al做出的選擇,背後支撐它的則是一整套經過設計的學習與運算系統。它贏的不是單靠一台電腦的蠻力,而是把模型、搜尋和硬體組織成了一個能實際下棋的整體。
更多文章
