HWC
切換深色開啟選單
Notes

2026年3月21日

AWAC | Accelerating Online Reinforcement Learning with Offline Datasets

  • Paper
  • RL
  • Offline 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。
  • 但這個設定同時踩到兩個相反需求:
    1. 要夠 data-efficient,所以需要 off-policy critic 與 bootstrapping。
    2. 要避免 distribution shift / bootstrap error,所以 policy update 不能脫離資料分布太遠。
  • 單靠 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 兼顧兩件事:
    • critic 仍然用 off-policy TD,所以 data-efficient;
    • actor update 仍然 anchored 在 dataset actions 上,所以 offline 階段比較穩,online 階段也不會因 behavior model 不準而卡住。

關鍵公式

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

Qπ(s,a)=r(s,a)+γ Es′∼p(⋅∣s,a)[Vπ(s′)]=r(s,a)+γ Es′∼p, 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=arg⁡max⁡π∈Π  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.

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

π∗(a∣s)=1Z(s) πβ(a∣s)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=arg⁡max⁡θEs,a∼β[log⁡πθ(a∣s)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],
ϕ←arg⁡min⁡ϕ  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. 資料初始化
    • 先給一個離線資料集
    D={(s,a,s′,r)j},D=\{(s,a,s',r)_j\},

    來源可以是 expert demos、suboptimal rollouts、random exploration,甚至多來源混合資料。

    • replay buffer 一開始直接設為
    β←D.\beta \leftarrow D.
  2. Critic learning
    • 用標準 off-policy actor-critic 的方式學 Q-function。
    • 論文實作上建立在 SAC / twin Q-learning 類型框架上,因此 critic 可以高效率重用所有舊資料與新資料。
    • 這一步負責 sample efficiency,也是 AWAC 能把 offline data 真正吃進去的關鍵。
  3. Actor learning
    • 不直接做 policy gradient,也不依賴顯式 behavior model。
    • 直接從 buffer 抽到的資料動作上做 weighted behavior cloning,權重由 critic 給出的 advantage 決定。
    • 因此 actor 的更新是「保守但不僵硬」:它仍 anchored 在資料上,但會往高價值動作偏。
  4. Offline-to-online 訓練流程
    • 先做一段純 offline optimization,讓 critic 與 actor 從舊資料中得到不錯起點。
    • 達到設定的 offline steps 後,開始 rollout 當前 policy 蒐集新軌跡
    τ1,…,τK∼pπθ(τ),\tau_1,\dots,\tau_K\sim p_{\pi_\theta}(\tau),

    並把它們併回 buffer:

    β←β∪{τ1,…,τK}.\beta \leftarrow \beta \cup \{\tau_1,\dots,\tau_K\}.
    • 然後繼續交替做 critic 與 actor update。
  5. 方法定位
    • AWAC 不是純 offline RL 演算法,而是明確為 offline pretraining + online fine-tuning 設計。
    • 它和 AWR 的差別在於:AWR 多半估計 behavior policy 的 value,且常用 Monte Carlo 或 TD-lambdalambda;AWAC 則直接學當前 policy 的 off-policy Q-function,因此資料效率更高。
    • 它和 BEAR / BRAC 這類方法的差別在於:AWAC 沒有顯式行為模型約束,因此 online 階段不容易因 constraint 過度保守而停滯。

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