VPG算法

VPG算法

前言

首先来看经典的策略梯度REINFORCE算法:

在REINFORCE中,每次采集一个episode的轨迹,计算每一步动作的回报 G t G_t Gt,与动作概率对数相乘,作为误差反向传播,有以下几个特点:

  • 每个时间步更新一次参数
  • 只有策略网络,没有价值网络
  • 计算 G G G时,仅仅采样了一条轨迹
  • 一般来说,计算 G G G时,从最后的时间步开始往前计算,这是为了节省计算量
  • G G G实际上类似于 Q Q Q函数,因为 Q Q Q函数就是动作价值回报的期望

VPG算法

全称:Vanilla Policy Gradient,但是属于Actor-Critic算法,因为它既有策略网络,又有价值网络

  • 每个episode更新一次参数
  • 上述伪代码中,计算 G G G时,采样了多个轨迹
  • 一般来说,计算 G G G时,从最后的时间步开始往前计算,这是为了节省计算量
  • Reward-to-go:即折扣因子 γ = 1 \gamma=1 γ=1, G t = R ^ t = r t + r t + 1 + ... + r T G_t=\hat{R}t=r_t+r{t+1}+\ldots+r_T Gt=R^t=rt+rt+1+...+rT, T T T为episode的长度
  • 通常为 A ^ t \hat{A}_t A^t引入baseline,以减小方差,提升训练稳定性

A ^ t = R ^ t − V ϕ k \hat{A}_t=\hat{R}t-V{\phi_k} A^t=R^t−Vϕk

比较

/ REINFORCE VPG
价值网络
参数更新 每个时间步 每个episode
回报 有折扣 无折扣
采样轨迹 一条 多条
baseline
相关推荐
星马梦缘3 小时前
强化学习实战8.3——用PPO打赢星际争霸【编写自定义环境GYM】
人工智能·强化学习·gymnasium·星际争霸·sc2·starcraft2·sb3
盼小辉丶1 天前
PyTorch强化学习实战(4)——PyTorch基础
人工智能·pytorch·python·强化学习
星马梦缘1 天前
强化学习实战8——用PPO打赢星际争霸【整合版】
强化学习·ppo·星际争霸·sc2·starcraft2·sb3
Narrastory2 天前
Note:强化学习(六)
人工智能·深度学习·强化学习
简简单单做算法4 天前
基于Qlearning强化学习和Parzen窗的图像分割算法matlab仿真
matlab·图像分割·强化学习·qlearning·parzen窗
深度之眼4 天前
强化学习与目标检测王炸组合,IEEE Trans顶刊发表!
目标检测·计算机视觉·强化学习
ACCELERATOR_LLC4 天前
【DataWhale组队学习】DIY-LLM Task5 大模型的基本训练流程
人工智能·深度学习·大模型·强化学习·模型训练
传说故事4 天前
【论文阅读】AWR:Simple and scalable off-policy RL
论文阅读·强化学习
Narrastory5 天前
Note:强化学习(五)
人工智能·深度学习·强化学习
盼小辉丶6 天前
PyTorch强化学习实战(3)——Gymnasium API扩展功能
人工智能·pytorch·深度学习·强化学习