從線上滴漏到批次擬合
第 3、4 篇對每個轉移把 w 更新一點點。批次(或稱「擬合」)方法反其道而行:先蒐集一整個轉移資料集,為每一筆建立一個回歸目標,然後用你最愛的監督式學習器一次把一個全新的近似器擬合到全部資料上。重複:用新的近似器重新計算目標、重新擬合、再重複。每一輪都是一個普通的回歸問題,這就是為何擬合方法是從監督式學習通往強化學習最乾淨的橋。
好處是穩定與資料效率:一整個批次能平均掉抖動線上更新的噪聲,而且你可以把同一份資料重複使用很多次。代價是你又重新引入了自助法(目標使用上一輪的估計)——所以致命三元組仍潛伏著,第 4 篇的修法依然適用。
擬合價值迭代
擬合價值迭代(fitted value iteration)是把回歸器放進迴圈裡的價值迭代。每一輪:對每個取樣狀態,用當前近似器估計下一狀態的價值來計算一步 Bellman 目標;然後把近似器擬合到那些目標上。用第 3 篇的語言來說,這就是一次 Bellman 回填後接一次向價值空間的投影(projection onto value space)——那個回歸就是投影,把回填後的價值彈到最近的可表示函數上。
- 蒐集一批轉移(狀態、動作、獎勵、下一狀態)。
- 對每一筆轉移,建立目標:獎勵 + γ × 當前對下一狀態價值的估計。
- 擬合一個全新的近似器(回歸),把狀態映射到那些目標。
- 用新的近似器取代舊的;重新計算目標;重複直到穩定。
拟合值迭代的每一轮先用旧逼近器构造贝尔曼目标,再用回归重新拟合一个新逼近器。
擬合 Q 迭代:無模型的控制
擬合 Q 迭代(fitted Q iteration, FQI)是動作價值、無模型(model-free)的版本,也是深度強化學習的直系祖先。它擬合一個近似動作價值函數:每筆轉移的目標是 獎勵 + γ × 對下一狀態各動作取當前 Q 估計的最大值。因為它學的是 Q 而非 V,挑選動作時不需要動態的模型——貪婪動作直接從學到的 Q 掉出來。用樹模型或線性特徵跑它,它就是一個完整、實用的離線強化學習演算法。
一个多层神经网络,将输入经过隐藏层映射到输出,充当回归器。
線性的封閉解:LSTD 與 LSPI
當近似器是線性時,內層的回歸有封閉解——那正是第 3 篇的最小平方時序差分(least-squares temporal difference),在這裡作為擬合迴圈內的評估步驟。把 LSTD 的策略評估包進策略改進裡,你就得到最小平方策略迭代(LSPI):以封閉形式評估當前策略,對結果採貪婪行動,重複。它把固定批次榨到極致,且不需調步幅。
通过最小二乘拟合散点的一条回归直线。
DQN:規模化的擬合 Q 迭代
把 FQI 的回歸器換成深度神經網路,你得到的本質上就是深度 Q 網路(deep Q-network, DQN)。讓它穩定的兩個著名技巧,純粹是致命三元組的工程對策。帶經驗回放(experience replay)的回放緩衝區(replay buffer)儲存過去的轉移並以小批次取樣——從線上資料流中重新取回擬合方法的批次平均與資料重用。而目標網路(target network),一份緩慢更新、只用來計算自助目標的副本,在每一輪內凍結回歸目標,模仿擬合 Q 迭代「擬合到固定目標」的結構,並抑制發散的回饋迴圈。
DQN 就是规模化的拟合 Q 迭代:同样的最大值目标回归,由权重为 θ⁻ 的冻结目标网络来稳定。
這樣看來,深度強化學習並非與經典函數近似決裂——它就是擬合 Q 迭代,加上兩個悄悄馴服你在第 4 篇遇見的同一個三元組的穩定器。本主題裡的一切——特徵、價值誤差、投影不動點、三元組、高估——在現代智能體的引擎蓋下仍在運作。這才是研究近似真正的回報:那些失敗與修法,會一路向上泛化。