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:
其中非對稱平方損失為
再用這個 value 做 Bellman backup:
最後用 advantage-weighted regression 抽取策略:
- 第一式讓 V 偏向資料內較好的 actions,而不是對所有 actions 取均值。
- 第二式把 multi-step backup 保留下來,所以 IQL 不只是單步 imitation。
- 第三式等價於對 advantage 高的資料動作給更大權重的 behavioral cloning。
模型結構
- Value network:輸入 state,輸出 V(s),用 expectile regression 訓練。
- Q networks:通常採雙 Q 結構與 target network,輸入 (s,a),用 r + gamma V(s') 更新。
- Policy network:最後才訓練顯式 actor,對資料動作做 advantage-weighted cloning。
- 訓練流程:先交替更新 V 與 Q;critic 穩定後再做 policy extraction,actor 本身不會反過來干擾 critic 學習。
- 推論行為:執行時直接由抽出的 actor 輸出動作;IQL 的關鍵在於 critic learning 與 policy extraction 是解耦的。