離線設定與它的核心病理
離線強化學習(又稱批次強化學習)要求純粹從一個固定的過往轉移資料集學習策略——完全不與環境互動。這正是在醫療、昂貴硬體機器人、以及任何探索危險或成本高昂之處都重要的設定。它看起來像在記錄資料上做監督學習,而這份相似正是陷阱所在。
病理是分布偏移。像 Q-learning 這類基於價值的學習器,會從 Q(s', a') 自舉,其中 a' 是學習中策略會採取的動作——但該動作可能從未出現在資料中。網路在這些分布外動作上劇烈外推,又因為貝爾曼目標中的 max 主動尋找最高 Q 值,它系統性地咬住過度樂觀的誤差。策略於是追逐那些只因評論者從未被糾正而看似絕佳的動作。這是被推向對抗性的分布偏移。
基於價值的自舉在 a' 上取最大值,於是分佈外、被虛高估計的動作被選中——沒有環境來糾正,誤差便不斷累積。
保守——CQL
保守 Q 學習(CQL)直接攻擊高估。在通常的貝爾曼誤差之上,它加入一個正則項,壓低當前策略所提議動作的 Q 值,同時抬高資料集中實際出現動作的 Q 值。淨效果是:Q 在分布內動作上可被信任,但對任何陌生事物刻意悲觀,於是策略不再被外推的幻覺所誘惑。在適當的加權下,CQL 可證明學到真實價值的下界。
CQL 的目標:在常規貝爾曼誤差之上加入一個保守項,壓低策略自身動作的 Q 值、抬高資料集中動作的 Q 值。
loss = bellman_error(Q)
+ beta * ( logsumexp_a Q(s,a) # push DOWN over all actions
- mean_{a~data} Q(s,a) ) # pull UP on dataset actions兩個家族,一條原則
CQL 屬於價值正則化家族。一個姊妹家族採行策略約束:讓學習到的策略貼近產生資料的行為策略(透過顯式的散度懲罰、透過資料集動作的學習生成模型,或透過裁剪策略可偏離的程度)。兩者表達同一條離線原則——待在資料能為你擔保之處——也都面對同一困境:太保守,策略永遠無法超越資料集而改善;太不保守,高估便捲土重來。
把強化學習當序列建模——Decision Transformer
一種根本不同的離線方法完全繞開價值函數。Decision Transformer 把軌跡視為(剩餘回報、狀態、動作)符元的序列,並訓練一個因果 transformer 去預測下一個動作——純粹的監督序列建模,沒有貝爾曼回溯、沒有自舉。測試時你條件化於一個期望的回報:以一個高目標回報提示模型,它便自迴歸地產生在資料中傾向達成該回報的動作。
Transformer 模塊示意圖:層歸一化、注意力、殘差連接與前饋網路。
由於它從不自舉,Decision Transformer 根本不可能罹患離線高估的病理——這是真正的優勢。它誠實的弱點是同一枚硬幣的反面:沒有貝爾曼回溯,它無法像基於價值的方法那樣,把不同次優軌跡中的良好子片段縫合起來,因此在需要這種重組的資料集上,它可能不如 CQL。這兩種途徑最好讀作偏差—能力光譜上互補的兩點,而非對手。
稀疏獎勵與事後諸葛
離線挑戰的近親是稀疏獎勵的達標問題:智能體幾乎從不碰巧抵達目標,於是幾乎每條軌跡都得到零獎勵,無從學起。事後經驗回放(HER)把失敗化為課程:在一個錯過預定目標的回合之後,重新標記它,彷彿智能體實際抵達的那個狀態自始就是目標。剎那間,那條軌跡成了一次成功的示範——抵達一個不同的目標——而一個目標條件化的策略便能從中學習。
事後重標記:把原本的目標替換為實際到達的狀態,於是失敗的軌跡也能產生可用的成功訊號。