RL——自然策略梯度法


整体描述

  • 自然策略梯度法(Natural Policy Gradient,NPG)本质是一种策略优化算法 ,主要应用于强化学习领域中

传统梯度的局限性与改进方向

传统策略梯度的问题

  • 传统策略梯度算法(如REINFORCE)直接沿梯度方向更新策略参数,公式为:
    $$\theta_{t+1} = \theta_t + \alpha \nabla_\theta J(\theta)$$
  • 但该方法更新时可能不稳定(步长敏感):不同参数的尺度差异可能导致更新步长不合理(如某些参数微小变化就会显著影响策略,而另一些则不然)

自然梯度的核心改进

  • 自然策略梯度通过引入Fisher信息矩阵(Fisher Information Matrix, FIM) 对梯度进行“几何修正”
  • 自然策略梯度的优点:
    • 稳定性 :保证每次更新的策略变化幅度可控(如约束在固定步长内),提升优化稳定性;
    • 加速收敛 :加速收敛速度,尤其在复杂任务中效果更显著

从梯度到自然梯度

策略梯度与KL散度的几何关系

  • 设策略分布为 \(\pi_\theta(a|s)\) ,目标函数 \(J(\theta)\) 的梯度可表示为:
    $$\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta} \left[ \nabla_\theta \log \pi_\theta(a|s) Q^\pi(s,a) \right]$$
    • 其中 \(Q^\pi(s,a)\) 为状态-动作价值函数
  • 自然梯度的关键在于考虑参数更新 \(\delta\theta\) 引起的KL散度变化:
    $$KL(\pi_\theta || \pi_{\theta+\delta\theta}) \approx \frac{1}{2} (\delta\theta)^T F(\theta) \delta\theta$$
    • 其中 \(F(\theta)\) 为Fisher信息矩阵 ,定义为:
      $$F_{ij}(\theta) = \mathbb{E}_{\pi_\theta} \left[ \nabla_{\theta_i} \log \pi_\theta(a|s) \nabla_{\theta_j} \log \pi_\theta(a|s) \right]$$

自然梯度的定义与求解

  • 自然梯度 \(\nabla^{nat}_\theta J(\theta)\) 是在约束 \(KL(\pi_\theta || \pi_{\theta+\delta\theta}) \leq \epsilon\) 下,使目标函数增长最快的方向,数学上等价于:
    $$\nabla^{nat}_\theta J(\theta) = F(\theta)^{-1} \nabla_\theta J(\theta)$$
  • 该式通过求解线性方程组 \(F(\theta) \delta\theta = \nabla_\theta J(\theta)\) 得到更新方向

算法流程与实现要点

标准自然策略梯度算法步骤

  • 第一步-数据收集 :用当前策略 \(\pi_\theta\) 与环境交互,采集轨迹数据 \(\{(s_t, a_t, r_t)\}\) ;
  • 第二步-计算策略梯度 :根据数据估计 \(\nabla_\theta J(\theta)\) ;
  • 第三步-构建Fisher信息矩阵 :通过采样或近似方法计算 \(F(\theta)\) ;
  • 第四步-求解自然梯度 :解线性方程组 \(F(\theta) \delta\theta = \nabla_\theta J(\theta)\) ,得到更新方向;
  • 第五步-参数更新 :按约束步长(如 \(\delta\theta^T F(\theta) \delta\theta \leq \epsilon\) )更新参数 \(\theta\) ;
  • 第六步-迭代优化 :重复上述过程直至收敛

关键实现技巧

  • Fisher信息矩阵的近似 :直接计算 \(F(\theta)^{-1}\) 在高维场景中计算量极大,常用方法包括:
    • 共轭梯度法(TRPO的做法):迭代求解线性方程组,避免显式求逆;
    • KL散度约束 :用线搜索(Line Search)或信任区域(Trust Region)方法限制更新步长,保证稳定性(如TRPO算法即基于此思想)
  • 价值函数估计 :通常结合优势函数(Advantage Function) \(A^\pi(s,a)\) 优化,减少方差(如 \(Q^\pi(s,a) \approx V^\pi(s) + A^\pi(s,a)\) )

一些相关 RL 方法的对比

算法 关键点 复杂度 稳定性
REINFORCE 直接使用梯度更新,步长依赖学习率
自然策略梯度 引入 Fisher 信息矩阵修正梯度方向
TRPO(信任区域策略优化) 是自然梯度的工程化实现,用共轭梯度法近似求解 Fisher 信息矩阵的逆 中高 极高
PPO(近端策略优化) 自然梯度思想的简化实用版本,是 TRPO 的简化版本,计算更高效

总结

  • 自然梯度法有迭代次数少稳定性强(KL散度限制范围)、理论完善等优点
  • 自然梯度法有计算复杂度高(Fisher信息矩阵的求解和存储)、样本需求大(准确估计Fisher矩阵需要大量样本)、工程实现困难(共轭梯度法等近似技巧需要精细调参,对算法实现要求较高)等缺点
  • 注:自然策略梯度法的核心思路(信任区域约束)在 PPO、SAC 等主流算法中被广泛应用