HWC
← Note

No date

IDQL | Implicit Diffusion Q-Learning

PaperRLDiffusion

快速解釋

IDQL 指出 IQL 真正學到的是一個隱式 actor,而不是 AWR 那個顯式 Gaussian actor。既然這個隱式 actor 可能是多峰分布,就不該再用單峰 Gaussian 去擬合;比較合理的是先學 behavior diffusion model,再用 critic 對候選 actions 做重加權或挑選。

問題設定

  • IQL 的 critic 很強,但原始 policy extraction 只用 AWR 去擬合一個 unimodal Gaussian actor。
  • 如果隱式最優策略其實有多個 mode,例如同一 state 下存在多個都不錯但方向不同的 actions,Gaussian actor 會把它們平均掉,導致 actor 與 critic 不一致。
  • 因此問題不是 IQL 的 critic 完全錯,而是 critic 對應的 policy 到底長什麼樣,以及如何把它正確抽取出來。

核心想法

  • 先把 IQL 的 value objective 推廣成任意 convex loss f(Q-V),證明這個 critic 對應到一個 behavior-regularized implicit actor。
  • 這個 implicit actor 可以寫成 behavior policy mu(a|s) 乘上一個 critic 決定的 reweighting,因此 IQL 本質上其實是 actor-critic,只是 actor 被藏在 critic objective 裡。
  • 對 expectile loss 而言,高於 V(s) 的 actions 會被賦予更大權重,所以 implicit actor 會偏向高價值資料動作。
  • 既然 implicit actor 可能多峰,IDQL 不再用 AWR 直接擬合 actor,而是先用 diffusion model 擬合 behavior policy,再從 diffusion 取樣多個候選 actions,交給 critic 重加權或直接選最高 Q 的 action。

關鍵公式

一般化 IQL 的 value 目標:

V(s)=argminV(s)Eaμ(as)[f(Q(s,a)V(s))].V^*(s)=\arg\min_{V(s)} \mathbb{E}_{a\sim\mu(a\mid s)}\left[f\bigl(Q(s,a)-V(s)\bigr)\right].

對應的隱式 actor 可寫成

πimp(as)μ(as)w(s,a),\pi_{\mathrm{imp}}(a\mid s) \propto \mu(a\mid s) w(s,a),

其中權重為

w(s,a)=f(Q(s,a)V(s))Q(s,a)V(s).w(s,a)=\frac{\left|f'\bigl(Q(s,a)-V^*(s)\bigr)\right|}{\left|Q(s,a)-V^*(s)\right|}.

若使用 expectile loss,權重可化簡為

wτ(s,a)=τ1(Q(s,a)<Vτ(s)).w_\tau(s,a)=\left|\tau-\mathbf{1}\bigl(Q(s,a)<V_\tau(s)\bigr)\right|.

diffusion behavior model 用 DDPM 目標訓練:

Lμ(ϕ)=E[ϵμϕ(α^ta+1α^tϵ,s,t)22].L_\mu(\phi)=\mathbb{E}\left[\left\lVert \epsilon-\mu_\phi\left(\sqrt{\hat{\alpha}_t}a+\sqrt{1-\hat{\alpha}_t}\epsilon, s, t\right)\right\rVert_2^2\right].

評估時若直接取 greedy 動作,可寫成

π(s)=argmaxaiμϕ(as),  i=1,,NQ(s,ai).\pi(s)=\arg\max_{a_i\sim\mu_\phi(a\mid s),\;i=1,\dots,N} Q(s,a_i).
  • 第二、三式說明 critic 其實沒有脫離 actor,只是 actor 以 reweighting 的形式隱含在 mu 上。
  • 最後兩式把 policy extraction 轉成先從 expressive behavior model 產生候選,再由 critic 篩選,因此能保留多峰結構。

模型結構

  1. Critic 部分:沿用 IQL 風格的 V 與 Q 訓練,整個 TD learning 仍只使用 dataset actions。
  2. Behavior model:另外訓練一個 state-conditioned diffusion model 去擬合 mu(a|s),它負責表達複雜、多峰的行為分布。
  3. Policy extraction:對每個 state,從 diffusion model 取樣多個候選 action,根據 critic 權重重形成近似的 implicit actor,或直接選 Q 最大者。
  4. 訓練與推論解耦:diffusion actor 不參與 critic 的 TD update,因此保留 IQL 原本 critic 穩、調參相對簡單的優點。
  5. 實務重點:IDQL 的提升主要來自更正確地表達與抽取 implicit actor,而不是重做一套新的 critic。