HWC
← Note

No date

AWAC | Accelerating Online Reinforcement Learning with Offline Datasets

PaperRLOffline RL

快速解釋

AWAC 要解的不是純 offline RL,也不是從零開始的 online RL,而是兩者之間最實際的一段流程:先用既有資料把 policy 預熱,再用少量 online interaction 快速超越這些資料本身。這篇論文的關鍵洞見是,很多方法不是不會用離線資料,而是 無法一邊安全地吃 offline data,一邊在 online fine-tuning 時持續改進。AWAC 因此把 critic 交給 sample-efficient 的 off-policy dynamic programming,把 actor 改成 advantage-weighted 的 supervised update,既能利用舊資料,又不會像顯式 behavior-constraint 方法那麼保守。

問題設定

  • 在真實機器人問題裡,從零開始做 active RL 代價太高。更合理的流程是:先拿 demonstrations、舊實驗資料、甚至 random interaction data 做 pretraining,再用少量 online interaction fine-tune。
  • 但這個設定同時踩到兩個相反需求:
  • 單靠 imitation + on-policy fine-tuning 太慢;單靠一般 off-policy actor-critic 又容易在 offline 階段學壞 Q,或者 fine-tuning 時因 constraint 太強而動不了。
  • 作者特別指出一個關鍵現象:很多 offline RL 方法用顯式 behavior model π^β\hat{\pi}_{\beta} 來限制 actor,但一旦 online 階段資料分布改變,這個模型很難即時跟上,導致 policy update 變得過度保守,fine-tuning 效果很差。

核心想法

  • AWAC 延續 actor-critic 框架,但把 actor update 改寫成一個 constrained policy improvement 問題:希望新 policy 偏向高 advantage 的 actions,同時不要偏離資料分布太遠。
  • 作者先從每個 state 上的 constrained optimization 出發,要求新 policy 在提升 advantage 的同時,滿足對資料分布的 KL 約束。
  • 這個 constrained problem 的解析解會得到一個 對資料動作做 advantage reweighting 的 policy。直觀來說,就是:資料裡那些被 critic 判斷為「比平均更好」的 actions,要被更高權重地模仿。
  • 重要的是,AWAC 不去顯式學一個 behavior model hatpibetahat{pi}_{beta}。它直接從 replay buffer 抽樣 (s,a)(s,a),再用 advantage 當權重做 weighted maximum likelihood。這就是它的 implicit constraint。
  • 因此 AWAC 兼顧兩件事:

關鍵公式

AWAC 的 critic 仍建立在標準 Bellman relation 上:

Qπ(s,a)=r(s,a)+γEsp(s,a)[Vπ(s)]=r(s,a)+γEsp,aπ(s)[Qπ(s,a)].Q^{\pi}(s,a)=r(s,a)+\gamma\,\mathbb{E}_{s'\sim p(\cdot\mid s,a)}\left[V^{\pi}(s')\right] =r(s,a)+\gamma\,\mathbb{E}_{s'\sim p,\,a'\sim \pi(\cdot\mid s')}\left[Q^{\pi}(s',a')\right].

作者把 actor improvement 寫成下列 constrained optimization:

πk+1=argmaxπΠ  Eaπ(s)[Aπk(s,a)]s.t.DKL(π(s)πβ(s))ε.\pi_{k+1}=\arg\max_{\pi\in\Pi}\;\mathbb{E}_{a\sim\pi(\cdot\mid s)}\left[A^{\pi_k}(s,a)\right] \quad \text{s.t.} \quad D_{\mathrm{KL}}\bigl(\pi(\cdot\mid s)\,\|\,\pi_\beta(\cdot\mid s)\bigr)\le \varepsilon.

這個問題的解析解可以寫成

π(as)=1Z(s)πβ(as)exp(1λAπk(s,a)),\pi^*(a\mid s)=\frac{1}{Z(s)}\,\pi_\beta(a\mid s)\exp\left(\frac{1}{\lambda}A^{\pi_k}(s,a)\right),

其中 Z(s)Z(s) 是 normalization constant,lambdalambda 對應約束強度。

若把這個解投影回參數化 policy,並選擇 forward KL,則可得到 AWAC 的 actor objective:

θk+1=argmaxθEs,aβ[logπθ(as)exp(1λAπk(s,a))].\theta_{k+1}= \arg\max_{\theta} \mathbb{E}_{s,a\sim \beta} \left[ \log \pi_\theta(a\mid s) \exp\left(\frac{1}{\lambda}A^{\pi_k}(s,a)\right) \right].

這裡的重點有三個:

  • 它本質上是 weighted maximum likelihood,也就是 supervised learning 風格的 actor update。
  • 權重來自 advantage,所以好的資料動作被放大,不好的資料動作被弱化。
  • 期望是直接對 replay buffer β\beta 取樣,不需要額外擬合 hatpibetahat{pi}_{beta}

critic 端則用 TD target 訓練,例如可寫成

y=r(s,a)+γEaπθ(s)[Qϕ(s,a)],y=r(s,a)+\gamma\,\mathbb{E}_{a'\sim\pi_\theta(\cdot\mid s')}\left[Q_{\phi^-}(s',a')\right],
ϕargminϕ  E(s,a,s,r)β[(Qϕ(s,a)y)2].\phi\leftarrow\arg\min_{\phi}\;\mathbb{E}_{(s,a,s',r)\sim \beta}\left[\bigl(Q_\phi(s,a)-y\bigr)^2\right].

整體來看,AWAC 的數學核心不是新 Bellman operator,而是把 policy constraint 從「顯式密度模型」改成「資料上的 advantage-weighted likelihood projection」。

模型結構

  1. 資料初始化
  2. Critic learning
  3. Actor learning
  4. Offline-to-online 訓練流程
  5. 方法定位

總結來說,AWAC 的模型結構非常務實:critic 負責高效率吃資料,actor 負責穩定地從資料中偏向高優勢動作,replay buffer 則負責把 offline 與 online experience 無縫接起來。