LLMs基礎學習(八)強化學習專題(5)
文章目錄
- LLMs基礎學習(八)強化學習專題(5)
- 重要性采樣(Importance Sampling)
- 權重計算邏輯
- 兩種實現形式
- 使用注意事項
- PPO 與 TRPO
- PPO 算法(Proximal Policy Optimization)
- TRPO 算法(Trust Region Policy Optimization)
- PPO 與 TRPO 的關系
視頻鏈接:https://www.bilibili.com/video/BV1MQo4YGEmq/?spm_id_from=333.1387.upload.video_card.click&vd_source=57e4865932ea6c6918a09b65d319a99a
重要性采樣(Importance Sampling)
在強化學習中,重要性采樣(Importance Sampling) 是一種通過調整樣本權重,修正 “行為策略(Behavior Policy)” 與 “目標策略(Target Policy)” 分布差異的技術,核心解決異策略(Off - Policy)學習的關鍵問題:如何用行為策略采集的數據,準確估計目標策略的性能。
- 行為策略 b ( a ∣ s ) b(a \mid s) b(a∣s):負責與環境交互、生成動作樣本(比如探索性更強的策略 )。
- 目標策略 π ( a ∣ s ) \pi(a \mid s) π(a∣s):需要被評估或優化的策略(比如更偏向利用的最優策略 )。
權重計算邏輯
通過概率比率(重要性權重) 調整樣本對目標策略的貢獻,公式:
- 單步權重: ρ t = π ( a t ∣ s t ) b ( a t ∣ s t ) \rho_t = \frac{\pi(a_t \mid s_t)}{b(a_t \mid s_t)} ρt?=b(at?∣st?)π(at?∣st?)? 衡量 “目標策略選動作 a t a_t at? 的概率” 與 “行為策略選 a t a_t at? 的概率” 的比值。
- 多步軌跡權重: ρ 0 : T = ∏ t = 0 T π ( a t ∣ s t ) b ( a t ∣ s t ) \rho_{0:T} = \prod_{t=0}^T \frac{\pi(a_t \mid s_t)}{b(a_t \mid s_t)} ρ0:T?=∏t=0T?b(at?∣st?)π(at?∣st?)? 整條軌跡的權重是各步權重的乘積,體現軌跡對目標策略的整體貢獻。
兩種實現形式
1. 普通重要性采樣(Ordinary IS)
直接用權重加權樣本回報,估計目標策略的價值函數 V π ( s ) V^\pi(s) Vπ(s): V π ( s ) ≈ 1 n ∑ i = 1 n ρ 0 : T ( i ) G ( i ) V^\pi(s) \approx \frac{1}{n} \sum_{i=1}^n \rho_{0:T}^{(i)} G^{(i)} Vπ(s)≈n1?∑i=1n?ρ0:T(i)?G(i)
- G ( i ) G^{(i)} G(i):第 i 條軌跡的累積回報; ρ 0 : T ( i ) \rho_{0:T}^{(i)} ρ0:T(i)?:第 i 條軌跡的多步權重。
2. 加權重要性采樣(Weighted IS)
引入權重歸一化,避免極端權重主導估計: V π ( s ) ≈ ∑ i = 1 n ρ 0 : T ( i ) G ( i ) ∑ i = 1 n ρ 0 : T ( i ) V^\pi(s) \approx \frac{\sum_{i=1}^n \rho_{0:T}^{(i)} G^{(i)}}{\sum_{i=1}^n \rho_{0:T}^{(i)}} Vπ(s)≈∑i=1n?ρ0:T(i)?∑i=1n?ρ0:T(i)?G(i)?
使用注意事項
1. 核心風險:分布差異導致高方差
- 數學本質:期望轉換依賴分布相似度,公式: E x ~ π [ f ( x ) ] = E x ~ b [ f ( x ) π ( x ) b ( x ) ] \mathbb{E}_{x \sim \pi} [f(x)] = \mathbb{E}_{x \sim b} \left[ f(x) \frac{\pi(x)}{b(x)} \right] Ex~π?[f(x)]=Ex~b?[f(x)b(x)π(x)?]
- 問題:若 π \pi π 與 b 分布差異大,即使采樣足夠,方差會急劇增大(極端權重讓估計不穩定 )。
2. 解決方案
- 加權重要性采樣:通過歸一化降低極端權重影響,緩解方差問題。
- 截斷權重:限制權重最大值(如 PPO 算法的剪切機制 ),避免單個樣本主導。
- 限制軌跡長度:減少多步權重的乘積效應(長軌跡易因步數多放大分布差異 )。
一句話理解:重要性采樣讓 “探索的策略(行為策略)” 采集的數據,能為 “優化的策略(目標策略)” 服務,但得小心分布差異導致的方差問題,用加權、截斷等技巧兜底~
PPO 與 TRPO
強化學習中,異策略(Off - Policy)學習 需用 “行為策略(采集數據)” 優化 “目標策略(性能更好的策略)”,但兩者分布差異過大會導致重要性采樣方差爆炸。PPO 與 TRPO 正是為解決這一問題而生。
PPO 算法(Proximal Policy Optimization)
1. 提出與目標
- 由 OpenAI 2017 提出,核心解決傳統策略梯度因更新步長不當導致的訓練不穩定問題。
- 目標:限制新、舊策略的差異,平衡 “探索” 與 “利用”,讓重要性采樣更穩定。
2. 核心思想
通過限制策略更新幅度,確保新策略 θ \theta θ 與舊策略 θ ′ \theta' θ′ 差異不大,避免重要性采樣因分布差異大而失效。
3. 數學表達與關鍵機制
目標函數包含兩部分: J PPO θ ( θ ) = J θ ′ ( θ ) ? β KL ( θ , θ ′ ) J_{\text{PPO}}^\theta(\theta) = J^{\theta'}(\theta) - \beta \text{KL}(\theta, \theta') JPPOθ?(θ)=Jθ′(θ)?βKL(θ,θ′)
- J θ ′ ( θ ) J^{\theta'}(\theta) Jθ′(θ):基于重要性采樣的策略梯度目標(用舊策略 θ ′ \theta' θ′ 采集的數據優化新策略 θ \theta θ )。 J θ ′ ( θ ) = E ( s t , a t ) ~ π θ ′ [ p θ ( a t ∣ s t ) p θ ′ ( a t ∣ s t ) A θ ′ ( s t , a t ) ] J^{\theta'}(\theta) = \mathbb{E}_{(s_t,a_t) \sim \pi_{\theta'}} \left[ \frac{p_\theta(a_t \mid s_t)}{p_{\theta'}(a_t \mid s_t)} A^{\theta'}(s_t, a_t) \right] Jθ′(θ)=E(st?,at?)~πθ′??[pθ′?(at?∣st?)pθ?(at?∣st?)?Aθ′(st?,at?)] ( A θ ′ ( s t , a t ) A^{\theta'}(s_t, a_t) Aθ′(st?,at?) 是優勢函數,衡量動作價值 )
- β KL ( θ , θ ′ ) \beta \text{KL}(\theta, \theta') βKL(θ,θ′):KL 散度約束,懲罰新、舊策略的差異,確保更新幅度可控。
4. 算法特性
- 同策略本質:雖用重要性采樣,但僅依賴 “上一輪策略 θ ′ \theta' θ′” 的數據,新、舊策略差異小,可近似視為同策略。
- 易用性:將 KL 散度直接融入目標函數,用梯度上升即可優化,實現簡單(對比 TRPO )。
TRPO 算法(Trust Region Policy Optimization)
1. 定位與目標
- 是 PPO 的前身,核心解決 “策略更新的單調性” 問題(保證策略性能單調提升 )。
- 目標:通過信任區域約束,限制策略更新步長,避免因分布差異導致性能下降。
2. 核心思想
將新策略 θ \theta θ 與舊策略 θ ′ \theta' θ′ 的 KL 散度作為額外約束(而非融入目標函數 ),要求 KL ( θ , θ ′ ) < δ \text{KL}(\theta, \theta') < \delta KL(θ,θ′)<δ( δ \delta δ 是信任區域半徑 )。
3. 數學表達與痛點
目標函數: J TRPO θ ′ ( θ ) = E ( s t , a t ) ~ π θ ′ [ p θ ( a t ∣ s t ) p θ ′ ( a t ∣ s t ) A θ ′ ( s t , a t ) ] , KL ( θ , θ ′ ) < δ J_{\text{TRPO}}^{\theta'}(\theta) = \mathbb{E}_{(s_t,a_t) \sim \pi_{\theta'}} \left[ \frac{p_\theta(a_t \mid s_t)}{p_{\theta'}(a_t \mid s_t)} A^{\theta'}(s_t, a_t) \right], \quad \text{KL}(\theta, \theta') < \delta JTRPOθ′?(θ)=E(st?,at?)~πθ′??[pθ′?(at?∣st?)pθ?(at?∣st?)?Aθ′(st?,at?)],KL(θ,θ′)<δ
- 痛點:約束是 “額外條件”,無法直接用梯度上升優化,需復雜的二階優化(如共軛梯度 ),實現難度高、計算成本大。
PPO 與 TRPO 的關系
1. 核心聯系
- 兩者均為解決異策略學習中 “策略分布差異導致的高方差” ,目標是穩定策略更新、提升樣本效率。
- PPO 是 TRPO 的簡化與優化,繼承 “限制策略差異” 的核心思想,改進實現方式。
2. 關鍵區別
維度 | PPO | TRPO |
---|---|---|
約束處理 | KL 散度融入目標函數,直接梯度優化 | KL 散度作為額外約束,需二階優化 |
實現難度 | 簡單(一階優化,易工程落地) | 復雜(二階優化,計算成本高) |
樣本效率 | 與 TRPO 性能接近 | 理論保證單調提升,但實現復雜限制推廣 |
3. 實際應用選擇
工程中優先選 PPO :實現簡單、訓練穩定,在 Atari 游戲、機器人控制等場景表現優異;TRPO 僅用于理論研究或對 “單調提升” 有強需求的極端場景。
一句話概括:TRPO 開了 “限制策略差異” 的腦洞,PPO 把這個腦洞做成了 “人人能用” 的工具,讓強化學習落地更簡單~