JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

沒有環境也能學習

什麼是離線強化學習、為什麼「固定資料集」改變了一切,以及在理解其餘內容前你必須掌握的詞彙。

一句話講清楚

在一般的強化學習(reinforcement learning)中,代理人靠「行動」學習:試一下、看結果、再調整。離線強化學習把「試」這一步拿掉了。別人交給你一份固定的過往經驗紀錄——狀態、動作、獎勵——你必須只憑這份資料榨出最好的策略,而不能再碰環境一下。你會看到兩個同義詞:離線強化學習(offline RL)與較早的批次強化學習(batch RL),兩者指的是同一種設定。

普通强化学习就是这个循环——智能体行动、环境回应;离线强化学习剪断了行动这条箭头,改为从固定的日志中学习。

智能体—环境强化学习循环示意图:智能体发出动作,环境返回状态和奖励。

為什麼會有人需要這樣做

「線上互動」往往才是昂貴的部分。機器人可能會壞掉;推薦系統可能會惹惱真實使用者;醫療上的治療策略在倫理上不能拿病人做實驗。但「資料」常常很便宜、而且早就堆在那裡:已上線系統的紀錄、人類遙控操作、舊的控制器。離線強化學習的承諾是:你能把這堆歷史資料變成一個比「產生它的那個策略」更好的策略。

  1. 便宜甚至免費的資料:你重複利用因其他原因早已收集好的紀錄。
  2. 安全:不在真實世界做危險的探索——危險的嘗試(如果有)早就發生過了。
  3. 規模:你可以一次匯集來自許多來源、感測器或操作者的資料。

關鍵詞:資料集、行為策略、離策略

資料集是一堆轉移(transition),通常寫成 *(狀態、動作、獎勵、下一個狀態)* 的元組,再分組成軌跡。當初真正選出那些動作的規則,就是行為策略(behavior policy)——它可能是人、是啟發式規則、是舊的神經網路,或三者混合。你的任務是學出一個做得更好的「目標策略」。由於你要改進的策略並不是收集資料的那個策略,離線強化學習本質上是個離策略(off-policy)問題——而這個落差,正是整個故事的核心。

\mathcal{D}=\{(s_i,\,a_i,\,r_i,\,s_i')\}_{i=1}^{N}\sim\pi_\beta

离线数据集本身:由某个行为策略 πβ 采集的一组固定的 (状态, 动作, 奖励, 下一状态) 转移——再也不会有新数据到来。

這不就是監督式學習嗎?

很誘人,但不是。你能做的最簡單的事,就是照抄資料:給定狀態,預測人類採取的動作。這就是行為複製(behavior cloning),一個確實好用的基準。問題在於它最多只能跟資料一樣好——它連錯誤一起模仿,也無法把不同軌跡裡的好片段拼接起來。真正的離線強化學習,目標是透過推理長期價值超越行為策略,而不只是模仿動作。

为什么离线强化学习不只是监督学习:这三种范式在所依据的学习信号上各不相同。

对比监督学习、无监督学习和强化学习三种范式的示意图。

接著就是本主題其餘部分要談的那個陷阱:當你學出的策略想做某件資料從未展示過的事時,你完全無從判斷它是天才之舉還是災難。這個單一事實——稱為分佈偏移(distributional shift)——正是離線強化學習困難的原因,也是它需要特殊演算法的原因。