多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

TRPO 为什么要用自然梯度优化

TRPO 为什么要用自然梯度优化 普通梯度下降的问题但强化学习真正关心的不是神经网络权重挪动多少而是策略 pi_theta 的行为分布变化多大权重一点点改动有时候策略动作概率会翻天覆地有时候权重改动很大策略几乎没变权重空间的欧式距离 ≠ 策略之间的真实距离SGD 步长很难调步长大策略突变、训练震荡、容易崩坏、回报断崖下跌步长太小学习速度极慢TRPOTrust‑Region Policy Optimization信任区域策略优化Trust‑Region信任域只在当前策略周边、可以信赖的小范围之内搜索更新Policy Optimization面向策略网络做优化核心依靠自然梯度 KL‑Divergence 约束防止策略一次性改动过大导致训练崩溃TRPO 的核心思想每次更新严格约束新旧策略的分布变化上限不让策略跳变得太狠TRPO (2015): Constrain KL divergence between old and new policy.Works perfectly but requires expensive second-order optimization (Fisher information matrix, conjugate gradients).TRPO (2015)用于约束新旧策略之间的 KL 散度。该算法效果非常好但需要使用昂贵的二阶优化算法来处理问题例如 Fisher 信息矩阵、共轭梯度法F 把参数空间扭曲成策略分布所在的黎曼空间F⁻¹用来矫正梯度方向普通梯度是权重空间最陡方向自然梯度 策略分布空间上的最陡下降方向欧式空间和黎曼空间
返回列表