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
相关推荐
无问芯穹15 小时前
探路智能体落地“最后一公里”:复现Cursor在线强化学习,RLinf-Online团队详解技术实现路径及背后思考
agent·强化学习·rlinf
我爱C编程17 小时前
基于分层QLearning强化学习的联合抗干扰算法matlab仿真
matlab·强化学习·分层qlearning·联合抗干扰
星马梦缘2 天前
强化学习实战5——BaseLine3使用自定义环境训练【输入状态向量】
pytorch·python·jupyter·强化学习·baseline3·gymnasium
可编程芯片开发2 天前
基于QLearning强化学习的输电线路拟声驱鸟策略算法matlab仿真
matlab·强化学习·qlearning·输电线路·驱鸟策略
让子弹飞023 天前
强化学习路径教程
强化学习
星马梦缘4 天前
rl库 AttributeError: ‘bool‘ object has no attribute ‘items‘ 的解决方案
人工智能·深度学习·机器学习·强化学习
星马梦缘6 天前
强化学习实战4——自定义环境的搭建
python·深度学习·机器学习·强化学习·q-learning·baseline3
机器学习之心7 天前
强化学习驱动的光伏功率时间序列预测:LSTM与GRU动态权重组合方法Python
python·gru·lstm·强化学习·动态权重组合方法
星马梦缘7 天前
强化学习实战3——自定义环境的搭建Q-LEARNING
强化学习·dqn·q-learning·baseline3
山顶夕景9 天前
【MLLM】GraphWalker:Deepresearch用于图像生成
大模型·强化学习·图像生成·rl·agentic