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。
- 但這個設定同時踩到兩個相反需求:
- 要夠 data-efficient,所以需要 off-policy critic 與 bootstrapping。
- 要避免 distribution shift / bootstrap error,所以 policy update 不能脫離資料分布太遠。
- 單靠 imitation + on-policy fine-tuning 太慢;單靠一般 off-policy actor-critic 又容易在 offline 階段學壞 Q,或者 fine-tuning 時因 constraint 太強而動不了。
- 作者特別指出一個關鍵現象:很多 offline RL 方法用顯式 behavior model 來限制 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 。它直接從 replay buffer 抽樣 ,再用 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 上:
作者把 actor improvement 寫成下列 constrained optimization:
這個問題的解析解可以寫成
其中 是 normalization constant, 對應約束強度。
若把這個解投影回參數化 policy,並選擇 forward KL,則可得到 AWAC 的 actor objective:
這裡的重點有三個:
- 它本質上是 weighted maximum likelihood,也就是 supervised learning 風格的 actor update。
- 權重來自 advantage,所以好的資料動作被放大,不好的資料動作被弱化。
- 期望是直接對 replay buffer 取樣,不需要額外擬合 。
critic 端則用 TD target 訓練,例如可寫成
整體來看,AWAC 的數學核心不是新 Bellman operator,而是把 policy constraint 從「顯式密度模型」改成「資料上的 advantage-weighted likelihood projection」。
模型結構
- 資料初始化
- 先給一個離線資料集
來源可以是 expert demos、suboptimal rollouts、random exploration,甚至多來源混合資料。
- replay buffer 一開始直接設為
- Critic learning
- 用標準 off-policy actor-critic 的方式學 Q-function。
- 論文實作上建立在 SAC / twin Q-learning 類型框架上,因此 critic 可以高效率重用所有舊資料與新資料。
- 這一步負責 sample efficiency,也是 AWAC 能把 offline data 真正吃進去的關鍵。
- Actor learning
- 不直接做 policy gradient,也不依賴顯式 behavior model。
- 直接從 buffer 抽到的資料動作上做 weighted behavior cloning,權重由 critic 給出的 advantage 決定。
- 因此 actor 的更新是「保守但不僵硬」:它仍 anchored 在資料上,但會往高價值動作偏。
- Offline-to-online 訓練流程
- 先做一段純 offline optimization,讓 critic 與 actor 從舊資料中得到不錯起點。
- 達到設定的 offline steps 後,開始 rollout 當前 policy 蒐集新軌跡
並把它們併回 buffer:
- 然後繼續交替做 critic 與 actor update。
- 方法定位
- AWAC 不是純 offline RL 演算法,而是明確為 offline pretraining + online fine-tuning 設計。
- 它和 AWR 的差別在於:AWR 多半估計 behavior policy 的 value,且常用 Monte Carlo 或 TD-;AWAC 則直接學當前 policy 的 off-policy Q-function,因此資料效率更高。
- 它和 BEAR / BRAC 這類方法的差別在於:AWAC 沒有顯式行為模型約束,因此 online 階段不容易因 constraint 過度保守而停滯。
總結來說,AWAC 的模型結構非常務實:critic 負責高效率吃資料,actor 負責穩定地從資料中偏向高優勢動作,replay buffer 則負責把 offline 與 online experience 無縫接起來。