PPO强化学习
零基础学习强化学习算法:ppo_哔哩哔哩_bilibili
Observation观测是state的局部,state的信息并不是全部有用
求期望≈用的蒙特卡洛近似
蒙特卡洛近似期望,最后1/N
讲解:这一步马尔可夫轨迹联合概率分解
log内相乘等于log外连加
下式:该梯度是全部轨迹期望回报函数的上升方向,沿梯度更新参数,能让全局期望回报得到最大幅度提升。
这个梯度向量代表期望回报函数的上升方向: 将梯度乘以学习率,对网络参数 做正向更新,会整体提升高回报轨迹动作的输出概率,降低低回报动作概率,最大化全局平均回报。
这就是policy gradient
去掉求导,看这个函数:命为L.当r>0时,如右图,横坐标可以当成p,纵坐标为函数的值
直观意义:
- 当整条轨迹总回报 (R(\tau^n)>0\):要让 L 变大,就必须提升这条轨迹每一步的 \(P_\theta(a_n^t|s_n^t)\),也就是增大这条轨迹里所有动作被策略选中的概率,强化好的行为序列。
- 当整条轨迹总回报 \(R(\tau^n)<0\):R 是负数,要让 L 变大,就要减小 \(\log P_\theta\),也就是降低这条轨迹里动作的发生概率,抑制不好的行为序列。
定义Loss函数,加上-,让优化器最小化他
下图是策略网络的示意图
局限,一个轨迹当return小于0时,会减小整个轨迹中所有状态下采取当前动作的概率,这样是不合理的.
1.是否增大或减小当前状态下采取动作的概率,应该看做了这个动作之后到游戏结束的return,不应该是整个轨迹的return.因为一个动作只能影响之后不能影响之前
2.一个动作有可能对接下的reward有影响,但是可能只影响几步,影响会逐步衰减.
进而修改公式
1.是从当前的步求和以及引入衰减因子
2.当前的局势好坏也会影响概率的增加,当前是好局势,所有动作都会由正的reward,那么就会增加所有的概率,会让训练变慢----加上baseline
其他概念
看怎么计算优势函数
又因为
可以多步TD
为方便表示
得到
GAE优势函数
引入价值网络
PPO
当从目标分布 \(p(x)\) 采样很难 / 代价极高,但另一个分布 \(q(x)\)(提议分布)采样很简单时: 不用硬采 p,只采容易采样的 q,再用权重 \(\frac{p}{q}\) 修正样本,就能算出 p 下的期望。
重要性采样是一种分布修正技巧:用容易采样的分布 q 替代难采样的目标分布 p 采集样本,再通过权重 \(\frac{p}{q}\) 修正样本偏差;在强化学习中,它是实现 Off-Policy(离线策略学习)的核心数学工具。
用重要性采样
Loss函数
加上约束
