强化学习PPO算法中的returns(回报)、deltas(TD误差) 和 advantages(优势)

  1. returns(回报)
    • 表示从某个时间点开始,智能体在未来能够获得的累计折扣奖励的总和。
    • 用于评估某个状态或动作的好坏,帮助智能体了解其在环境中执行动作后可能获得的长期收益。
  2. deltas(TD误差)
    • 表示实际获得的奖励与预期奖励之间的差异。
    • 用于更新值函数(如Critic网络),使其更准确地预测未来的回报。
    • 有助于调整策略,因为策略的目标是最大化预期回报。
  3. advantages(优势)
    • 表示采取某个特定动作相对于平均动作或基线动作的优势。
    • 优势为正意味着该动作比平均动作好,为负则意味着比平均动作差。
    • 用于指导策略的更新,使得好的动作被更频繁地选择,而坏的动作被避免。
returns[i] = rewards[i] + gamma * prev_return * masks[i]
deltas[i] = rewards[i] + gamma * prev_value * masks[i] - values[i]
advantages[i] = deltas[i] + gamma * lamda * prev_advantage * masks[i]

假设有一个简单的环境,智能体在三个时间步中获得以下奖励:r1 = 1r2 = 0r3 = -1,折扣因子 gamma = 0.9,GAE参数 lambda = 0.5,所有终止状态的masks值为0,非终止状态为1。假设Critic网络预测的状态值分别为:v1 = 0.5v2 = 0.4v3 = -0.5

  1. 计算returns
    • return_3 = r3 = -1 (因为是终止状态,所以没有其他未来回报)
    • return_2 = r2 + gamma * return_3 = 0 + 0.9 * (-1) = -0.9
    • return_1 = r1 + gamma * return_2 = 1 + 0.9 * (-0.9) = 0.19
  2. 计算deltas
    • delta_3 = r3 - v3 = -1 - (-0.5) = -0.5
    • delta_2 = r2 + gamma * v3 - v2 = 0 + 0.9 * (-0.5) - 0.4 = -0.85
    • delta_1 = r1 + gamma * v2 - v1 = 1 + 0.9 * 0.4 - 0.5 = 0.86
  3. 计算advantages(使用GAE方法):
    • advantage_3 = delta_3 = -0.5 (因为是终止状态,所以没有其他未来优势)
    • advantage_2 = delta_2 + gamma * lambda * advantage_3 = -0.85 + 0.9 * 0.5 * (-0.5) = -1.075
    • advantage_1 = delta_1 + gamma * lambda * advantage_2 = 0.86 + 0.9 * 0.5 * (-1.075) = 0.32125
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值