强化学习策略梯度梳理-SOTA下
策略梯度SOTA
这个部分主要参考周博磊老师的第九节的顺序
主要参考课程 Intro to Reinforcement Learning,Bolei Zhou
相关文中代码 https://github.com/ThousandOfWind/RL-basic-alg.git
参考到了pytorch a3c, 另一个版本
分布式Actor learner
A2C
A2C还没有分布式,只是后面分布了A2C,基于QAC我们做两个改动
advantage & lambda return
这里懒了一下,直接从ppo那里抄过来的
# advantage
advantage = th.zeros_like(reward)
returns = th.zeros_like(reward)
deltas = th.zeros_like(reward)
pre_return = 0
pre_value = 0
pre_advantage = 0
for i in range(advantage.shape[0]-1, -1, -1):
returns[i] = reward[i] + self.gamma * pre_return
deltas[i] = reward[i] + self.gamma * pre_value - value[i]
advantage[i] = deltas[i] + self.gamma * self