HWC
← Note

No date

IQL | Implicit Q-Learning

PaperRL

快速解釋

IQL 的重點是:完全不需要對資料外動作做 argmax,也能近似 policy improvement。它先在資料內動作的 Q 值分布上學一個偏向高值端的 state value,再把這個 value 當成 TD target,最後才用 advantage-weighted cloning 從資料中抽出顯式策略。

問題設定

  • Offline RL 想超過 behavior policy,但一旦在 training 中評估未出現在資料裡的 action,Q-value 很容易因 distribution shift 被高估。
  • 傳統做法通常要對 policy 加 constraint,或直接把 OOD action 的 Q 壓低;代價是實作更複雜、調參更敏感。
  • IQL 想解的問題是:能不能完全不碰資料外 action,仍保留 multi-step dynamic programming 的好處。

核心想法

  • 對固定 state 而言,資料集中的 actions 會形成一個 Q(s,a) 的分布。IQL 不直接取資料外最大值,而是在這個 in-support 分布上做 upper expectile regression,得到偏向高值動作的 V(s)。
  • V(s) 只對 action 的分布做偏置,不直接承受 transition stochasticity;接著再用 r + gamma V(s') 訓練 Q(s,a),避免把幸運 transition 錯當成好 action。
  • critic 學完後,再對資料中的 action 做 advantage-weighted behavioral cloning。這一步仍只用 dataset actions,因此整個方法從頭到尾都不需要顯式評估資料外動作。
  • tau 越大,V(s) 越接近資料支撐內的最大值;beta 越大,actor extraction 越偏向高 advantage 的資料動作。

關鍵公式

先用 expectile regression 估計 state value:

LV(ψ)=E(s,a)D[L2τ(Q^θ(s,a)Vψ(s))],L_V(\psi)=\mathbb{E}_{(s,a)\sim D}\left[L_2^\tau\bigl(\hat Q_\theta(s,a)-V_\psi(s)\bigr)\right],

其中非對稱平方損失為

L2τ(u)=τ1(u<0)u2.L_2^\tau(u)=\left|\tau-\mathbf{1}(u<0)\right|u^2.

再用這個 value 做 Bellman backup:

LQ(θ)=E(s,a,s)D[(r(s,a)+γVψ(s)Qθ(s,a))2].L_Q(\theta)=\mathbb{E}_{(s,a,s')\sim D}\left[\left(r(s,a)+\gamma V_\psi(s')-Q_\theta(s,a)\right)^2\right].

最後用 advantage-weighted regression 抽取策略:

Lπ(ϕ)=E(s,a)D[exp(β(Q^θ(s,a)Vψ(s)))logπϕ(as)].L_\pi(\phi)=\mathbb{E}_{(s,a)\sim D}\left[\exp\bigl(\beta(\hat Q_\theta(s,a)-V_\psi(s))\bigr)\log \pi_\phi(a\mid s)\right].
  • 第一式讓 V 偏向資料內較好的 actions,而不是對所有 actions 取均值。
  • 第二式把 multi-step backup 保留下來,所以 IQL 不只是單步 imitation。
  • 第三式等價於對 advantage 高的資料動作給更大權重的 behavioral cloning。

模型結構

  1. Value network:輸入 state,輸出 V(s),用 expectile regression 訓練。
  2. Q networks:通常採雙 Q 結構與 target network,輸入 (s,a),用 r + gamma V(s') 更新。
  3. Policy network:最後才訓練顯式 actor,對資料動作做 advantage-weighted cloning。
  4. 訓練流程:先交替更新 V 與 Q;critic 穩定後再做 policy extraction,actor 本身不會反過來干擾 critic 學習。
  5. 推論行為:執行時直接由抽出的 actor 輸出動作;IQL 的關鍵在於 critic learning 與 policy extraction 是解耦的。