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) は、

min⁡Qα Es∼D ⁣[log⁡∑aexp⁡Q(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=α(Es∼D,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 をどう抑えるかにあります。

関連ページ​

主なソース​