跳至主要内容

從零訓練嘅過程

AlphaGo Zero 最令人驚嘆嘅唔單止係最終嘅棋力,而係佢嘅成長過程——從完全隨機嘅狀態開始,喺短短三日內經歷咗人類數千年先完成嘅圍棋知識積累,然後超越人類所有嘅理解。

本文將帶你一步步見證呢個驚人嘅蛻變過程。


訓練曲線

首先,我哋睇吓 AlphaGo Zero 嘅棋力成長曲線:

載入中...

呢條曲線展示咗 AlphaGo Zero 喺 72 小時內嘅棋力變化。注意幾個關鍵里程碑:

時間ELO 評分相當於
0 小時0隨機亂落
3 小時~1000發現基本規則
12 小時~3000發現定式同棋形
36 小時~4500超越樊麾版 AlphaGo
60 小時~5200超越李世乭版 AlphaGo
72 小時~5400超越所有之前嘅版本

三日,從零到超越人類頂峰。


Day 0:混沌嘅開始

完全隨機嘅初始狀態

訓練開始嗰陣,神經網絡嘅權重係隨機初始化嘅。呢個意味住:

  • Policy Head:輸出接近均勻分佈,每個位置嘅落子機率約為 1/361
  • Value Head:輸出接近 0,冇辦法區分好局面同壞局面

呢個時候嘅 AlphaGo Zero 落棋完全係亂落——比一個從未見過棋盤嘅人仲要差。

第一局自我對弈

想像吓第一局自我對弈係點樣嘅:

黑 1:隨機落喺某處(可能係天元,可能係角上,可能係一線)
白 2:隨機落喺另一處
黑 3:隨機...
...
第 200 手:棋盤上到處都係孤立嘅棋子,冇任何連接
最終:勝負由隨機因素決定

呢局棋嘅「質素」極低,但佢包含咗寶貴嘅資訊:最終邊個贏咗

第一個訓練訊號

雖然雙方都喺度亂落,但勝負結果係確定嘅。神經網絡開始學習:

「喺呢個局面之下,最終黑方贏咗。雖然我唔知道點解,但呢個局面對黑方可能比較好。」

呢個係一個非常弱嘅訊號,但佢係真實嘅。經過數千局呢類「垃圾棋」之後,網絡開始發現一啲統計規律。


Hour 1-3:發現遊戲規則

湧現嘅規則意識

經過數萬局自我對弈之後,AlphaGo Zero 開始「發現」圍棋嘅基本規則(雖然呢啲規則早就內建喺遊戲引擎入面):

1. 連接嘅重要性

觀察:當棋子相連嗰陣,比較唔容易被食
學習:開始優先喺已有棋子旁邊落子

呢個唔係被教導嘅,而係從勝負結果中學到嘅。散落嘅棋子容易被各個擊破,連成一片嘅棋子更容易存活。

2. 氣嘅概念

觀察:當棋子嘅鄰接空點全部被佔據嗰陣,棋子會消失
學習:開始避免氣好少嘅位置,開始攻擊對手氣少嘅棋子

網絡學識咗追蹤氣數——雖然輸入入面冇明確嘅「氣數」特徵,但從歷史棋盤狀態可以推斷出嚟。

3. 眼嘅雛形

觀察:某啲形狀特別難被食
學習:開始喺角落同邊上形成有空間嘅形狀

呢個係活棋概念嘅萌芽。網絡發現,有內部空間嘅棋子群更容易存活。

棋力評估

呢個時候嘅 AlphaGo Zero 大約係:

  • ELO:~1000
  • 相當於:啱啱學識規則嘅初學者
  • 特徵:知道要連接棋子,知道要食對方嘅棋

Hour 3-12:發現定式與棋形

角部嘅覺醒

經過更多訓練,網絡發現咗角部嘅重要性:

觀察:角部嘅棋子只需要 2 隻眼就可以活
邊上需要 2 隻眼較難
中央需要 2 隻眼最難
學習:開局時優先佔角

呢個就係人類棋理中「金角銀邊草肚皮」嘅發現過程。網絡冇被告知呢個原則,而係從數十萬局對弈中自己發現嘅。

定式嘅湧現

更加令人驚奇嘅係,網絡開始「發明」定式——雙方喺角部嘅標準下法:

觀察到嘅現象

訓練初期:角部下法五花八門
訓練中期:某啲下法反覆出現
訓練後期:形成穩定嘅角部定式

呢啲定式同人類數百年累積嘅定式高度相似,驗證咗呢啲定式的確係雙方最優解嘅近似。

典型嘅湧現定式

以小目定式為例:

  A B C D E F G H J
9 . . . . . . . . .
8 . . . . . . . . .
7 . . . . . . . . .
6 . . . ● . . . . . ● = 黑
5 . . . . . . . . . ○ = 白
4 . . . ○ . ● . . .
3 . . . . . . . . .
2 . . . . . . . . .
1 . . . . . . . . .

黑方佔據小目,白方掛角,黑方夾擊——呢個序列喺訓練過程中自然湧現。

棋形知識

除咗定式,網絡都學識咗好形同壞形嘅區別:

形狀人類評價Zero 嘅學習
空三角愚形逐漸避免
虎口好形逐漸偏好
雙飛燕經典攻擊形自然發現
鎮神頭強力攻擊自然發現

棋力評估

呢個時候嘅 AlphaGo Zero:

  • ELO:~3000
  • 相當於:業餘高段
  • 特徵:有基本嘅定式知識,識得基本棋形

Hour 12-36:棋理嘅成熟

全局觀嘅形成

進入第二日,網絡開始展現出全局觀

勢力與實地

觀察:圍住空間可以攞到目數
但勢力都有價值——可以攻擊對方
學習:喺取地同取勢之間搵平衡

呢個係圍棋入面最深奧嘅概念之一。網絡學識咗評估「虛」同「實」嘅價值。

厚薄判斷

觀察:「厚」嘅棋可以支援遠處嘅戰鬥
「薄」嘅棋需要補強,否則會被攻擊
學習:主動建立厚勢,攻擊對方嘅薄弱

中盤戰術

網絡嘅中盤戰鬥能力大幅提升:

技術描述
攻擊弱棋識別對方嘅孤棋,發動攻勢
利用厚味用厚勢支援攻擊,獲得利益
轉換放棄局部損失,換取全局優勢
打入侵消對方嘅模樣

官子技巧

收官階段嘅精確計算都喺度提升:

觀察:官子階段每一手嘅價值可以精確計算
學習:按照價值大小依序收官

網絡學識咗「雙方先手」「單方先手」「後手」等官子概念。

棋力評估

呢個時候嘅 AlphaGo Zero:

  • ELO:~4500
  • 相當於:職業棋手水平
  • 特徵:有完整嘅圍棋理解,能夠落出高質素嘅對局

Hour 36-72:超越人類

突破職業水平

喺 36 小時左右,AlphaGo Zero 嘅棋力達到咗職業棋手水平。但訓練並冇停止——佢繼續自我對弈,繼續提升。

跟住發生嘅事更加有趣:佢開始發現人類從未諗過嘅下法

顛覆性嘅開局

傳統圍棋開局有好多「定見」:

傳統觀點AlphaGo Zero 嘅發現
開局先佔角某啲情況下先佔邊更好
小目最穩健三三直接佔角可行
定式要記熟可以主動偏離定式
點三三太早貪某啲局面下點三三正確

呢啲「發現」喺 AlphaGo 之後被人類職業棋手廣泛研究,好多已經被納入現代棋理。

反直覺嘅棋形

AlphaGo Zero 有時會落出人類認為「唔好睇」嘅形狀:

人類:「呢個係愚形,唔可能係好棋」
Zero:(落咗嗰步棋)
分析後:「原來咁樣更加有效率」

呢個揭示咗人類棋理嘅局限:有啲「壞形」其實係特定局面下嘅最優解。

激進嘅棄子

Zero 比人類更願意棄子換取其他利益:

局部蝕 3 目
全局獲得主動權
最終勝率提升

人類棋手往往過度在意局部得失,而 Zero 始終盯住最終勝率。

棋力評估

72 小時後嘅 AlphaGo Zero:

  • ELO:~5400
  • 相當於:超越所有人類棋手
  • 特徵:發現人類未知嘅下法,創造新嘅棋理

重新發現人類棋理

數千年 vs. 三日

人類圍棋發展咗數千年:

  • 公元前 2000 年左右起源於中國
  • 唐朝傳入日本,發展出精密嘅棋理
  • 20 世紀出現職業體系,棋理進一步深化
  • 2016 年,人類認為已經相當理解圍棋

AlphaGo Zero 用三日走完咗呢段路程。更加驚人嘅係,佢發現嘅棋理同人類嘅高度一致

驗證與超越

人類知識Zero 嘅態度
金角銀邊草肚皮確認(角落的確重要)
基本定式大部分確認,少數改進
好形壞形大部分確認,特例存在
棄子轉換比人類更激進
厚薄判斷大致一致,細節唔同

呢個說明人類數千年累積嘅棋理大方向係正確嘅。但都有一啲領域,人類嘅理解需要修正。

對人類學習嘅啟示

AlphaGo Zero 嘅訓練過程畀人類學習帶來啟示:

  1. 從基礎開始:Zero 先學識規則,再學識棋形,最後發展全局觀
  2. 大量練習:490 萬局自我對弈相當於數十萬年嘅人類對局量
  3. 專注勝負:唔追求「靚嘅棋」,只追求贏
  4. 唔受傳統束縛:夠膽嘗試「唔可能」嘅下法

訓練過程嘅技術細節

自我對弈嘅機制

每一局自我對弈嘅流程:

初始化:空棋盤

每一步:
1. 用神經網絡評估當前局面
2. 執行 MCTS 搜索(1600 次模擬)
3. 根據搜索結果揀落子
4. 記錄 (局面, MCTS機率, -)

遊戲結束:
1. 判定勝負 z ∈ {-1, +1}
2. 為所有記錄補上勝負 (局面, MCTS機率, z)
3. 將資料加入訓練池

訓練嘅節奏

AlphaGo Zero 嘅訓練係持續進行嘅:

Self-play Workers:       不斷產生自我對弈資料
Training Workers: 不斷從資料池取樣訓練
Network Updates: 定期更新自我對弈用嘅網絡

呢三個過程同時進行,形成一個持續改進嘅循環。

資料池管理

訓練資料池嘅管理:

參數
池大小最近 50 萬局
每局樣本~200 步
總樣本數~1 億
取樣方式均勻隨機

舊嘅資料會被新資料替換,確保訓練資料反映當前網絡嘅水平。

網絡更新策略

唔係每訓練一步就更新自我對弈嘅網絡。而係:

  1. 訓練一段時間之後,產生候選網絡
  2. 用候選網絡對戰當前網絡(400 局)
  3. 如果候選網絡勝率 > 55%,更新
  4. 否則繼續訓練

呢個確保咗自我對弈始終使用足夠強嘅網絡。


學習速度嘅分析

點解咁快?

AlphaGo Zero 學習速度驚人嘅原因:

1. 計算資源

  • 4 個 TPU,每秒數萬次推理
  • 每日產生數十萬局自我對弈
  • 相當於人類數千年嘅對局量

2. 完美嘅對手

自我對弈意味住:

  • 對手水平始終同自己相當
  • 唔會太弱(學唔到嘢)都唔會太強(冇辦法獲勝)
  • 呢個係理想嘅學習條件

3. 直接嘅目標

只有一個目標:贏。冇:

  • 老師嘅偏好
  • 風格嘅追求
  • 美學嘅考量

4. 高效嘅表示學習

殘差網絡能夠學習非常抽象嘅棋盤特徵,比手工設計嘅特徵更有效。

同人類嘅對比

方面人類AlphaGo Zero
學習速度每日 ~10 局每日 ~100,000 局
記憶保留有遺忘完美保留
精力限制需要休息24/7 運行
創新能力受傳統影響冇預設限制

訓練過程中嘅有趣現象

階段性停滯

訓練曲線唔係完全平滑嘅,有時會出現停滯期

ELO: 2000 -----> 2000 -----> 2500 ---->
(停滯) (突破)

呢個可能係因為網絡喺度學習某個新概念,需要時間「消化」。

策略嘅湧現同消失

某啲策略會喺訓練過程中湧現,然後又消失:

階段 1:發現某個攻擊手段
階段 2:對手學識防守
階段 3:該手段使用頻率降低
階段 4:發現新嘅攻擊手段

呢個係軍備競賽嘅縮影。

「重新發明輪子」

訓練過程中,Zero 會「重新發明」人類已知嘅概念:

  • 征子:發現連續叫食可以食到棋子
  • 倒脫靴:發現可以先送子再反殺
  • 打劫:發現迴避規則嘅利用方式

呢啲發現嘅順序同人類學棋嘅順序類似。


動畫對應

本文涉及嘅核心概念與動畫編號:

編號概念物理/數學對應
E12棋力成長曲線S 型增長(邏輯斯蒂)
E7從零開始自組織現象
E5自我對弈不動點收斂
F8湧現能力相變

延伸閱讀


參考資料

  1. Silver, D., et al. (2017). "Mastering the game of Go without human knowledge." Nature, 550, 354-359.
  2. Silver, D., et al. (2017). "AlphaGo Zero: Starting from scratch." DeepMind Blog.
  3. DeepMind. (2017). "AlphaGo Zero: Learning from scratch." YouTube.
  4. Wang, F., et al. (2019). "A Survey on the Evolution of AlphaGo." arXiv:1907.11180.