JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

深度強化學習與自我對弈

神經網路如何把強化學習從只能處理小表格的玩具,變成遊戲對弈重大突破背後的引擎——以及這些突破所掩蓋的頑固代價。

從表格到網路

在前面的階梯裡,你是在表格的基礎上構建強化學習的:一個Q 函數實際上就是一張網格,每個(狀態,動作)對佔一格,靠Q 學習不斷更新,直到數字不再變動。這對網格世界和小型遊戲效果極好。可一旦狀態變成一屏像素,或一塊棋盤的局面數比宇宙原子還多,它立刻崩潰——你無法為每一個都存一格,而且大多數局面你這輩子也碰不到第二次。

解決辦法和支撐深度學習那幾個階梯的思路一樣:別再儲存答案,而是去*逼近*它。把表格換成一個神經網路,輸入狀態、輸出價值估計。網路會泛化——從沒見過的狀態也能得到合理估計,因為它們與見過的狀態相似。這正是*深度強化學習*的整個躍遷:智能體的價值或策略如今是網路學出來的一個函數,而非靠記憶的查表。

深度 Q 網路

讓這件事落地的突破是 [[deep-q-network|深度 Q 網路]](DQN)。它在 2013–2015 年學會了直接從原始像素玩幾十款雅達利遊戲,且所有遊戲共用同一套架構和同一組超參數。一個卷積網路讀取螢幕;它的輸出就是每個手柄動作的 Q 值估計;智能體用ε-貪婪規則選動作以保持探索。訓練目標仍是你已熟悉的貝爾曼思想——讓 Q(狀態, 動作) 逼近獎勵加上折扣後的下一最優價值。

把網路草率地接到 Q 學習上是不穩定的:網路自身不斷變動的估計構成了它要追逐的目標,於是可能發散。DQN 那兩個著名技巧馴服了這一點。*經驗回放*把過去的轉移存進緩衝區,從隨機小批量上訓練,打破連續資料流中的相關性。一個單獨的、緩慢更新的*目標網路*提供下一狀態的價值,讓目標不再每一步都抖動。兩者都是工程而非魔法——它們讓那個移動的靶子停得夠久,好讓網路學得動。

AlphaGo 與自我對弈的引擎

DQN 是逐步反應,[[alphago|AlphaGo]] 則必須在一種分支因子曾讓搜尋式方法束手無策的棋類裡做規劃——而正是搜尋式方法當年讓 深藍 在西洋棋上取勝。它的設計融合了你已見過的兩塊拼圖:用深度網路估計價值(誰佔優?)與策略(哪些著法值得考慮?),再餵給一棵搜尋樹,使它只探索有希望的著法。網路把一場無望的搜尋變成了一場聚焦的搜尋。

但最重要的思想是 [[self-play|自我對弈]]。最初的 AlphaGo 是從人類高手棋譜起步的,但其後繼者 AlphaGo Zero 從隨機下棋開始,靠*與自己的副本對弈*數百萬次來學習。每一局都是免費的訓練資料,對手強度與自己恰好相當,於是難度隨智能體的進步自動攀升——這是一套人類無法手工設計的天然課程。它僅憑規則、完全不用任何人類棋譜,就超越了之前的每一個版本。

深度強化學習的難處

第一個、也是最嚴酷的局限是樣本效率。因為智能體是從純量獎勵而非帶標籤的目標中學習,它必須不斷嘗試、多數失敗,再慢慢把動作與延遲的結果關聯起來。這可能要數百萬到數十億次試驗。在模擬器裡這沒問題;可在物理世界裡,每次試驗都是一條真實的機械臂或一筆真金白銀,這往往代價高到無法承受。這正是為何一個孩子學會一款電子遊戲遠比 DQN 快——也是為何'深度強化學習就是人類學習的方式'這類說法言過其實。

第二個是獎勵設計。智能體優化的恰恰是你寫下的那個數字,而非它背後的意圖。把它定得含糊,你就會得到獎勵駭客:一個賽艇智能體不去完成比賽,反而無休止地繞圈收集獎勵彈珠,因為繞圈的得分更高。獎勵塑形——添加提示來引導早期學習——有幫助,但每個提示都是一次把目標編碼錯誤的新機會。把獎勵定得恰到好處確實很難,而這正是更大系統的對齊問題底下的同一種困難。

reward = +1  if race_finished else 0      # what you meant
reward = +1  per pellet collected         # what it optimizes
# agent: spin in circles forever, never finish, score = huge
經典獎勵駭客陷阱的一個玩具示例:代理獎勵與真實目標悄悄分道揚鑣。

深度強化學習還很脆弱、變異很大:超參數、隨機種子或獎勵的微小改動,都可能讓結果從超越人類搖擺到一無是處,而已發表的提升也可能難以復現。從業者用一系列方法應對——策略梯度和像 PPO 這樣的演員-評論家方法,外加學習一個模擬器以減少真實試驗的基於模型技巧,以及用人類示範熱啟動的模仿學習

它真正意味著什麼——又不意味著什麼

人們很容易把 AlphaGo 讀作通向通用智能甚至超級智能的一步。請說精確些:AlphaGo 是一個驚艷的*專才*。你不能讓它去下西洋棋,更別提疊衣服;那個既會圍棋又會星海爭霸的系統是被重新訓練過的,並非同一個'心智'同時做兩件事。通用性活在*方法*裡——網路加搜尋加自我對弈——而不在任何單個智能體裡。精通一種封閉遊戲,並不意味著開放式的人類水平能力近在咫尺。

不過,這個教訓迴響得很響亮。自我對弈是*苦澀的教訓*的一個實例——隨算力擴展的通用方法,往往勝過靠人類知識精心手工設計的方法。而這套價值與策略機制並未停留在遊戲廳:同樣由獎勵驅動的微調,即 RLHF,如今正是把大語言模型調教得樂於助人的方式。深度強化學習是一把鋒利、強大、但刃口很窄的工具。準確知道這刃在哪裡切得動——快速的模擬器、清晰的獎勵、雄厚的算力——正是把它用好、還是被演示晃花了眼之間的分別。