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 目標:
對應的隱式 actor 可寫成
其中權重為
若使用 expectile loss,權重可化簡為
diffusion behavior model 用 DDPM 目標訓練:
評估時若直接取 greedy 動作,可寫成
- 第二、三式說明 critic 其實沒有脫離 actor,只是 actor 以 reweighting 的形式隱含在 mu 上。
- 最後兩式把 policy extraction 轉成先從 expressive behavior model 產生候選,再由 critic 篩選,因此能保留多峰結構。
模型結構
- Critic 部分:沿用 IQL 風格的 V 與 Q 訓練,整個 TD learning 仍只使用 dataset actions。
- Behavior model:另外訓練一個 state-conditioned diffusion model 去擬合 mu(a|s),它負責表達複雜、多峰的行為分布。
- Policy extraction:對每個 state,從 diffusion model 取樣多個候選 action,根據 critic 權重重形成近似的 implicit actor,或直接選 Q 最大者。
- 訓練與推論解耦:diffusion actor 不參與 critic 的 TD update,因此保留 IQL 原本 critic 穩、調參相對簡單的優點。
- 實務重點:IDQL 的提升主要來自更正確地表達與抽取 implicit actor,而不是重做一套新的 critic。