【问题标题】:DDPG Actor Update ( Pytorch Implementation Issus )DDPG Actor 更新(Pytorch 实现问题)
【发布时间】:2021-09-30 04:53:31
【问题描述】:

这是来自https://github.com/MoritzTaylor/ddpg-pytorch/blob/master/ddpg.py 实现,我猜大部分 ddpg 实现都是这样写的。

        
self.critic_optimizer.zero_grad()
state_action_batch = self.critic(state_batch, action_batch)
value_loss = F.mse_loss(state_action_batch, expected_values.detach())
value_loss.backward()
self.critic_optimizer.step()

# Update the actor network
self.actor_optimizer.zero_grad()
policy_loss = -self.critic(state_batch, self.actor(state_batch))
policy_loss = policy_loss.mean()
policy_loss.backward()
self.actor_optimizer.step()

然而,在 policy_loss.backwad() 之后,我认为梯度保留在评论家网络中就评论家参数而言。这不应该影响critic的下一次更新吗?

如果是这样,有什么解决办法?

【问题讨论】:

    标签: python pytorch reinforcement-learning gradient-descent policy-gradient-descent


    【解决方案1】:

    我知道了

    self.critic_optimizer.zero_grad()
    

    将之前累积的梯度归零。

    【讨论】:

      猜你喜欢
      • 2018-12-31
      • 1970-01-01
      • 2022-09-26
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 2021-03-09
      • 2021-08-22
      相关资源
      最近更新 更多