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
相关推荐
2401_841495643 天前
【强化学习】REINFORCE 算法
人工智能·python·算法·强化学习·reinforce·策略梯度·蒙特卡洛
deephub4 天前
让 Q 值估计更准确:从 DQN 到 Double DQN 的改进方案
人工智能·pytorch·深度学习·强化学习
nju_spy4 天前
离线强化学习(一)BCQ 批量限制 Q-learning
人工智能·强化学习·cvae·离线强化学习·双 q 学习·bcq·外推泛化误差
盼小辉丶7 天前
PyTorch实战(25)——使用PyTorch构建DQN模型
人工智能·pytorch·深度学习·强化学习
山顶夕景7 天前
【RL】Absolute Zero: Reinforced Self-play Reasoning with Zero Data
大模型·llm·强化学习·rl
_pinnacle_8 天前
多维回报与多维价值矢量化预测的PPO算法
神经网络·算法·强化学习·ppo·多维价值预测
人工智能培训11 天前
企业如何安全、私密地部署大模型?
人工智能·深度学习·安全·大模型·知识图谱·强化学习·大模型工程师
盼小辉丶11 天前
PyTorch实战(24)——深度强化学习
pytorch·深度学习·强化学习
2401_8414956411 天前
【强化学习】DQN 改进算法
人工智能·python·深度学习·强化学习·dqn·double dqn·dueling dqn
Struart_R11 天前
VideoLLM相关论文(二)
计算机视觉·大语言模型·强化学习·多模态·r1