[RSCH] 6 分鐘閱讀OraCore 編輯部

Q 函數不一定要先預訓練

這篇論文指出,線上 RL 微調時,Q 函數不一定要先用單一策略預訓練;用多個策略回合做初始化,反而更有效。

分享 LinkedIn
Q 函數不一定要先預訓練

如果你已經有一個不錯的 pretrained policy,下一步直覺常是把 Q-function 也一起預訓練好。但這篇研究說,這個直覺不一定對,甚至可能白花算力。

這篇論文指出,線上 RL 微調時,Q 函數不一定要先用單一策略預訓練;用多個策略回合做初始化,反而更有效。

  • 研究機構:arXiv 摘要未明確標註
  • 核心數據:平均提升 1.26 倍
  • 突破點:多策略回合初始化

這件事很實際。因為在強化學習裡,Q-function 不只是分數表。它會影響選動作、探索方向,還會左右微調時穩不穩。如果初始化方向錯了,後面再怎麼訓練,都可能是在修一個本來就偏掉的起點。

這篇在解什麼痛點

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

論文鎖定的是一個很常見的流程:先有 pretrained policy,再做 online RL fine-tuning。問題來了,這時候到底要不要先把 Q-function 也用離線資料預訓練?

Q 函數不一定要先預訓練

很多人會覺得答案是要。畢竟 policy 都先學過了,value function 也一起預熱,理論上應該更穩。但作者的觀察是,這個假設沒有大家想得那麼牢。摘要裡明確提到,天真式的 Q-function pretraining,常常和 random initialization 差不多,沒有明顯賺到。

也就是說,問題不在於「Q-function 有沒有學過」,而在於「它是跟誰學的」。如果離線階段學到的分佈,和線上微調真正會走到的分佈不一樣,那個預訓練就可能只是把模型綁在舊策略上。

為什麼單一策略預訓練會失準

這篇研究的核心論點很白話:Q-function 不是通用的評分器,它是跟 policy 綁在一起的。你如果用某個 pretrained policy 的行為軌跡去學 Q-function,那它自然會偏向那個 policy 的世界觀。

但線上 fine-tuning 不是原地踏步。policy 會變,動作分佈會變,最後收斂到的行為也可能和離線資料完全不同。這時候,原本那個 Q-function 就不一定還是最好的起點。

摘要裡還特別提到,即使做了 offline value maximization,這個落差仍然存在。這點很重要,因為它表示問題不只是 pretraining 不夠久,而是目標本身就不對齊。離線優化的東西,和線上階段真正需要的東西,並不是同一個。

方法怎麼做:IPE 是什麼

作者提出的解法叫做 Initialization via Policy Ensemble,簡稱 IPE。做法不複雜,但方向很明確:不要只靠單一 pretrained policy 的回合資料,而是先訓練多個不同的 policy,把它們的 rollouts 收集起來,再把這些資料池化,用來 bootstrap Q-learning。

Q 函數不一定要先預訓練

換句話說,Q-function 的起點不再是某一條策略路徑,而是多條不同策略路徑的集合。這個「多樣性」就是方法的關鍵。它讓 value learning 一開始看到的行為分佈更廣,較不容易被單一 policy 的偏差鎖死。

從實作角度看,IPE 比起改模型架構,更像是改訓練策略。重點不是把 Q-network 搞得更大,而是讓它在進入 online fine-tuning 前,先接觸更分散的行為樣本。

論文實際證明了什麼

摘要說,作者系統性地研究了:當你在 pretrained base policy 上做 fine-tuning 時,Q-function pretraining 到底有沒有幫助。結論是,天真式的 pretraining 常常沒有顯著優勢,甚至只是接近 random init。

接著他們拿 IPE 去測,範圍是多個具挑戰性的 continuous control benchmarks。摘要給出的結果是,IPE 相對於 naive Q-function pretraining,平均有 1.26 倍的提升。

不過,摘要沒有公開完整 benchmark 數字,也沒有列出每個任務的分數、方差或 task list。這代表我們目前只能確定「平均表現更好」,還不能直接推論它在所有 RL 場景都會贏。

  • 天真式 Q pretraining 常常不如預期
  • IPE 不是單一策略資料,而是多策略 rollouts
  • 摘要只公開平均 1.26 倍提升

對開發者有什麼影響

如果你在做 RL 系統,這篇的訊息很直接:初始化不是小事。很多人把它當成訓練前的例行步驟,但在 value-based RL 裡,初始化本身就是演算法的一部分。

尤其是做 online adaptation 的時候,目標通常不是重訓一個全新的 agent,而是把既有 policy 再往前推一點。這種情境下,Q-function 應該幫助下一階段的優化,而不是只是忠實反映過去那個 policy 的行為。

所以這篇不是在說「永遠不要 pretrain Q-function」。它比較像是在提醒:你要先想清楚,離線資料到底代表哪個 policy 分佈。如果那個分佈太窄,或者太貼近舊策略,預訓練可能不但沒幫忙,還會把後續 fine-tuning 拉歪。

限制與還沒回答的問題

先講最重要的限制:這篇摘要聚焦在 continuous control benchmarks。也就是說,目前公開資訊最能支持的,是這類任務上的結果,不是所有 RL 問題都能直接套用。

第二個限制是,摘要沒有提供完整 benchmark 細節。沒有絕對分數,就很難判斷不同任務之間的差距,也很難知道 1.26 倍的平均提升,是穩定出現,還是少數環境拉高平均。

第三個問題是「多個 diverse policies」到底怎麼選。摘要有說是多策略,但沒有交代 diversity 怎麼定義、需要幾個 policy、對結果敏感不敏感。這些都會影響方法能不能真的落地。

即便如此,這篇還是提供了一個很有用的方向:如果你的 online RL pipeline 預設 Q-function 應該跟 pretrained policy 越像越好,這個假設值得重新檢查。至少在這篇研究裡,更廣的行為來源,反而讓微調起步更順。

對台灣做 RL、機器人控制、或任何需要線上適應的團隊來說,這是個很實用的提醒。不是每個模組都該沿著「先預訓練再微調」的老路走。Q-function 的起點選錯,後面可能會多繞很多路。