HWC
← Note

No date

TD3+BC | A Minimalist Approach to Offline Reinforcement Learning

PaperRLOffline RL

快速解釋

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。令資料集記為:

D={(s,a,r,s)}.\mathcal{D} = \{(s,a,r,s')\}.

目標仍然是找到一個 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 可以寫成:

π=argmaxπ  EsD[Q(s,π(s))].\pi = \arg\max_{\pi} \; \mathbb{E}_{s \sim \mathcal{D}}\left[ Q\bigl(s, \pi(s)\bigr) \right].

這個目標在 online RL 中成立,因為 policy 可以透過互動不斷修正;但在 offline RL 中,它會傾向把 policy 推向 dataset 之外的動作。

2. TD3+BC 的 actor objective

作者把 policy update 改成:

π=argmaxπ  E(s,a)D[λQ(s,π(s))π(s)a22].\pi = \arg\max_{\pi} \; \mathbb{E}_{(s,a) \sim \mathcal{D}}\left[ \lambda \, Q\bigl(s, \pi(s)\bigr) - \lVert \pi(s) - a \rVert_2^2 \right].

這裡的第一項是 RL 訊號,鼓勵 policy 選擇高價值動作;第二項是 behavior cloning regularizer,鼓勵 policy 接近資料集裡實際出現過的 action。兩者一起作用時,policy 不會只追求高 Q,而是會優先在 dataset support 附近找高價值動作。

如果改寫成最小化 loss 的形式,等價於:

Lactor(ϕ)=λEsD[Qθ(s,πϕ(s))]+E(s,a)D[πϕ(s)a22].\mathcal{L}_{\text{actor}}(\phi) = - \lambda \, \mathbb{E}_{s \sim \mathcal{D}}\left[ Q_\theta\bigl(s, \pi_\phi(s)\bigr) \right] + \mathbb{E}_{(s,a) \sim \mathcal{D}}\left[ \lVert \pi_\phi(s)-a \rVert_2^2 \right].

3. State normalization

對於 state 的第 i 個維度,作者使用整個固定資料集的統計量進行標準化:

s~i=siμiσi+ε,\tilde{s}_i = \frac{s_i - \mu_i}{\sigma_i + \varepsilon},

其中,mu 與 sigma 分別代表資料集中該維度的平均與標準差,實作中使用:

ε=103.\varepsilon = 10^{-3}.

4. 自適應權重 lambda

TD3+BC 使用

λ=α1N(si,ai)DQ(si,ai)\lambda = \frac{\alpha}{\frac{1}{N}\sum_{(s_i,a_i) \in \mathcal{D}} \left|Q(s_i,a_i)\right|}

來控制 actor objective 中 RL 項的尺度。實作上,分母通常用 mini-batch 估計,且不對這個 normalization 項反向傳播。

這個設計的作用是讓不同任務、不同 reward scale 下的 actor gradient 維持可比較的量級,使同一個 alpha 比較有機會跨任務工作。論文實驗中採用的是:

α=2.5.\alpha = 2.5.

5. Critic 仍然維持 TD3 的基本設計

TD3+BC 並沒有重新設計 critic;critic 仍然沿用 TD3 的 twin-Q 結構與 bootstrap target。可概念性寫成:

Lcritic(θj)=E(s,a,r,s)D[(Qθj(s,a)y)2],\mathcal{L}_{\text{critic}}(\theta_j) = \mathbb{E}_{(s,a,r,s') \sim \mathcal{D}} \left[ \bigl(Q_{\theta_j}(s,a) - y\bigr)^2 \right],

其中 target 通常由 target actor 與 target critics 組成:

y=r+γmink{1,2}Qθˉk(s,πˉ(s)).y = r + \gamma \min_{k \in \{1,2\}} Q_{\bar\theta_k}\bigl(s', \bar\pi(s')\bigr).

因此,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 可以理解成下面這個訓練結構:

  1. 從固定資料集取出 mini-batch
  2. 先對 state 做 normalization
  3. 用 TD3 的方式更新 twin critics
  4. 用 Q maximization + BC regularization 更新 actor
  5. 用 mini-batch 的平均絕對 Q 值決定 lambda 的尺度

從 offline RL 的角度看,這篇論文的重要性在於它提供了一個很強的對照基準:如果一個新方法比 TD3+BC 好,那個提升才比較有說服力;如果沒有顯著超越,那就代表新增的複雜度可能並不值得。