Skip to main content

Offline RL

Offline RL (batch RL) は、環境と相互作用せず、固定 dataset から policy を学習する 枠組みです。Robotics、医療、自動運転、recommendation など、オンライン探索が高コストな領域で重要です。

何が難しいのか

オンライン RL では、policy が悪い action を取ったら新しい (s, a, r, s') が観測されます。Offline RL ではこれが不可能で、

  • Distribution shift: 学習 policy が dataset にない state-action を選びがち
  • Extrapolation error: Q 関数が未観測領域で過大評価される
  • Pessimism vs optimism: 既知データに保守的になるべき

という課題が出ます。

代表 method

Method一言で
Behavior cloning単に dataset の action を真似る
BCQ / BEARPolicy が behavior に近いことを強制
CQLQ 値を OOD action で意図的に低く抑える
IQLMax を使わず、expectile regression で価値学習
Decision TransformerReturn-conditioned sequence model として扱う

CQL の直感

CQL (Conservative Q-Learning) は、

minQαEsD ⁣[logaexpQ(s,a)Eaπβ[Q(s,a)]]+LTD\min_Q \alpha\, \mathbb{E}_{s \sim \mathcal{D}}\!\left[\log \sum_a \exp Q(s, a) - \mathbb{E}_{a \sim \pi_\beta}[Q(s, a)]\right] + L_{\text{TD}}

を最小化します。直感的には、

  • Behavior policy が選びがちな action では Q を高く
  • それ以外 (OOD) では Q を低く

抑えることで、過大評価を防ぎます。

IQL の直感

IQL (Implicit Q-Learning) は、max 操作を避け、expectile regression で価値を学習します。OOD action を陽に query しないため、distribution shift に強く、実装も簡単で広く使われます。

LLM との関係

DPO は、ある意味で offline preference 学習 と見ることができます。固定された preference dataset から、policy を直接最適化するためです。詳細は DPO を参照。

数式で見る distribution shift と conservative Q-learning

Offline RL では、固定 dataset D={(s,a,r,s)}\mathcal{D}=\{(s,a,r,s')\} だけを使って policy を学びます。新しい policy が dataset にない action を選ぶと、Q function が過大評価しやすくなります。

CQL は、policy が選びそうな action の Q 値を下げ、dataset に実際にある action の Q 値を相対的に高く保つ conservative regularizer を加えます。

LCQL=α(EsD,aπ[Q(s,a)]E(s,a)D[Q(s,a)])+LTD\mathcal{L}_{\mathrm{CQL}} =\alpha\left( \mathbb{E}_{s\sim\mathcal{D},a\sim\pi}[Q(s,a)] -\mathbb{E}_{(s,a)\sim\mathcal{D}}[Q(s,a)] \right)+\mathcal{L}_{TD}

この式の気持ちは、「dataset 外の怪しい action に高い Q 値を与えないように、Q function を保守的に学習する」というものです。Offline RL の本質は、exploration できない状態で distribution shift をどう抑えるかにあります。

関連ページ

主なソース