No date
TD3+BC | A Minimalist Approach to Offline Reinforcement Learning
快速解釋
TD3+BC 這篇論文的核心主張很直接:offline RL 不一定需要額外的 generative model、複雜的 policy constraint,或大量新的正則化設計;只要從既有的 TD3 出發,在 actor update 裡加上一個 behavior cloning 項,並對固定資料集做 state normalization,就能得到一個非常強、而且容易重現的 offline RL baseline。
它的直觀意義是:policy improvement 仍然透過 Q-function 去偏好高價值動作,但同時用 supervised imitation 把 policy 拉回資料集支持範圍附近,避免 policy 一直追逐那些只在 Q-function 裡看起來很高、但實際上已經超出資料分佈的 out-of-distribution actions。
在 D4RL benchmark 上,TD3+BC 的總分幾乎追平當時更複雜的 Fisher-BRC,但訓練成本明顯更低,這也是它後來成為 offline RL 強基線的重要原因。
問題設定
Offline reinforcement learning 的設定是:agent 不能再與環境互動,只能從固定資料集中學習 policy。令資料集記為:
目標仍然是找到一個 policy,使其在原始 MDP 中的期望折扣回報最大。
這個設定的困難不在於 TD learning 本身,而在於 policy improvement 會把策略推向資料集沒看過的動作區域。一旦 actor 輸出的是資料集外的 action,critic 就必須對這些 out-of-distribution action 外插估計;而外插誤差又會回頭誤導 policy,使 policy 偏好被高估的動作,這就是 offline RL 常見的 extrapolation error。
許多 offline RL 方法因此會顯式地限制 policy 與 behavior policy 的距離,例如:
- 學一個 behavior model 或 generative model,再只在其支持範圍內選動作
- 在 actor 或 critic 上加入 pessimism 或 regularization
- 用 divergence constraint 強迫 learned policy 不要偏離 dataset 太遠
這些方法通常有效,但代價是:
- 需要額外模組
- 需要新增超參數
- 訓練成本更高
- 很難判斷效能提升究竟來自核心想法,還是來自額外的 implementation detail
這篇論文的問題意識因此很清楚:如果我們只想把一個現成的 online off-policy RL 演算法改到能在 offline setting 運作,最小需要改多少?
核心想法
作者從 TD3 出發,保留其整體 actor-critic 架構,只做兩個改動。
1. 在 actor objective 裡加入 behavior cloning 項
原本 TD3 的 deterministic actor update 只會最大化 critic 給出的 Q-value,因此很容易把 policy 推向 critic 尚未可靠估計的區域。TD3+BC 則把 actor loss 改成「RL 項 + imitation 項」的折衷:
- Q 項負責偏好高價值動作
- BC 項負責讓輸出的動作不要偏離資料集中的行為太遠
換句話說,TD3+BC 並不是放棄 policy improvement,而是把 policy improvement 限制在比較容易被資料支撐的區域內。這種做法不像 BRAC、BEAR、Fisher-BRC 那樣需要額外學一個 behavior model,也不像 CQL 那樣直接修改 critic 形成 pessimistic estimate;它是直接在 actor update 上加入最簡單的 supervised anchor。
2. 對固定資料集做 state normalization
因為 offline RL 的資料集是固定的,作者直接先用整個 dataset 的統計量把 state 每個維度標準化成均值 0、標準差 1。這在 online RL 常被視為普通 implementation detail,但在 offline RL 裡特別合理,因為資料分佈不再變動,normalization 可以穩定 critic 與 actor 的優化,且幾乎沒有額外成本。
3. 用 Q 的尺度自適應地調整 BC 與 RL 的權重
如果直接把 BC loss 與 Q maximization 相加,兩者的平衡會嚴重依賴 reward scale。某些任務的 Q 值很大,RL 項就會完全壓過 BC;另一些任務的 Q 值較小,BC 又會過強,導致方法退化成 imitation learning。
因此作者把 Q 項前面的係數 lambda 設計成與平均絕對 Q 值成反比,讓不同任務上的 actor objective 大致維持相同量級。這樣實際上只需要保留一個主要超參數 alpha,就能跨任務控制「偏向 RL 還是偏向 imitation」的程度。
關鍵公式
1. 原始 TD3 的 actor update
TD3 的 deterministic policy update 可以寫成:
這個目標在 online RL 中成立,因為 policy 可以透過互動不斷修正;但在 offline RL 中,它會傾向把 policy 推向 dataset 之外的動作。
2. TD3+BC 的 actor objective
作者把 policy update 改成:
這裡的第一項是 RL 訊號,鼓勵 policy 選擇高價值動作;第二項是 behavior cloning regularizer,鼓勵 policy 接近資料集裡實際出現過的 action。兩者一起作用時,policy 不會只追求高 Q,而是會優先在 dataset support 附近找高價值動作。
如果改寫成最小化 loss 的形式,等價於:
3. State normalization
對於 state 的第 i 個維度,作者使用整個固定資料集的統計量進行標準化:
其中,mu 與 sigma 分別代表資料集中該維度的平均與標準差,實作中使用:
4. 自適應權重 lambda
TD3+BC 使用
來控制 actor objective 中 RL 項的尺度。實作上,分母通常用 mini-batch 估計,且不對這個 normalization 項反向傳播。
這個設計的作用是讓不同任務、不同 reward scale 下的 actor gradient 維持可比較的量級,使同一個 alpha 比較有機會跨任務工作。論文實驗中採用的是:
5. Critic 仍然維持 TD3 的基本設計
TD3+BC 並沒有重新設計 critic;critic 仍然沿用 TD3 的 twin-Q 結構與 bootstrap target。可概念性寫成:
其中 target 通常由 target actor 與 target critics 組成:
因此,TD3+BC 的關鍵不是 critic 改寫,而是 actor 被 BC regularization 重新塑形。
模型結構
TD3+BC 的模型結構非常樸素,幾乎就是標準 TD3:
- 一個 deterministic actor
- 兩個 critics
- 對應的 target networks
- 標準的 delayed policy update 與 target update 機制
它與其他 offline RL 方法的差異,不在於網路結構更大或模組更多,而在於訓練訊號的安排更克制:
- critic 照常做 TD learning
- actor 不再只相信 critic,而是同時被 dataset action 錨定
- 輸入 state 先做 dataset-level normalization
用流程來看,TD3+BC 可以理解成下面這個訓練結構:
- 從固定資料集取出 mini-batch
- 先對 state 做 normalization
- 用 TD3 的方式更新 twin critics
- 用 Q maximization + BC regularization 更新 actor
- 用 mini-batch 的平均絕對 Q 值決定 lambda 的尺度
從 offline RL 的角度看,這篇論文的重要性在於它提供了一個很強的對照基準:如果一個新方法比 TD3+BC 好,那個提升才比較有說服力;如果沒有顯著超越,那就代表新增的複雜度可能並不值得。