LLMs基础学习(八)强化学习专题(5)

发布于:2025-06-23 ⋅ 阅读:(15) ⋅ 点赞:(0)

LLMs基础学习(八)强化学习专题(5)


视频链接: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(as):负责与环境交互、生成动作样本(比如探索性更强的策略 )。
  • 目标策略 π ( a ∣ s ) \pi(a \mid s) π(as):需要被评估或优化的策略(比如更偏向利用的最优策略 )。

权重计算逻辑

通过概率比率(重要性权重) 调整样本对目标策略的贡献,公式:

  • 单步权重 ρ 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(atst)π(atst) 衡量 “目标策略选动作 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=0Tb(atst)π(atst) 整条轨迹的权重是各步权重的乘积,体现轨迹对目标策略的整体贡献。

两种实现形式

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)n1i=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)]=Exb[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θ(atst)pθ(atst)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θ(atst)pθ(atst)Aθ(st,at)],KL(θ,θ)<δ

  • 痛点:约束是 “额外条件”,无法直接用梯度上升优化,需复杂的二阶优化(如共轭梯度 ),实现难度高、计算成本大。

PPO 与 TRPO 的关系

1. 核心联系

  • 两者均为解决异策略学习中 “策略分布差异导致的高方差” ,目标是稳定策略更新、提升样本效率。
  • PPO 是 TRPO 的简化与优化,继承 “限制策略差异” 的核心思想,改进实现方式。

2. 关键区别

维度 PPO TRPO
约束处理 KL 散度融入目标函数,直接梯度优化 KL 散度作为额外约束,需二阶优化
实现难度 简单(一阶优化,易工程落地) 复杂(二阶优化,计算成本高)
样本效率 与 TRPO 性能接近 理论保证单调提升,但实现复杂限制推广

3. 实际应用选择

工程中优先选 PPO :实现简单、训练稳定,在 Atari 游戏、机器人控制等场景表现优异;TRPO 仅用于理论研究或对 “单调提升” 有强需求的极端场景。

一句话概括:TRPO 开了 “限制策略差异” 的脑洞,PPO 把这个脑洞做成了 “人人能用” 的工具,让强化学习落地更简单~


网站公告

今日签到

点亮在社区的每一天
去签到