演员评论家的经验回放中应该缓存哪些信息?

人工智能 机器学习 强化学习 政策梯度 经验回放
2021-10-20 03:31:59

经验回放是交易的缓冲区(或“记忆”)et=(st,at,rt,st+1).

计算actorcritic损失的方程

演员损失(参数化θ)

log[πθ(st,at)]Qw(st,at)
和一个批评损失(参数化为w)
r(st,at)+γQw(st+1,at+1)Qw(st,at).

正如我所看到的,还有两个元素需要保存以供以后使用:

  1. 当时的期望Q值tQw(st,at)

  2. 动作的对数概率atlog[πθ(st,at)]

如果他们没有被保存,我们以后如何计算学习的损失?我没有看到任何地方说要保存这些,而且我一定遗漏了一些东西。

这些元素是否需要保存?

1个回答

在每个批次训练周期中估计损失函数。计算损失的梯度,并在每个周期中传播回网络。这意味着您使用重放内存中的小批量(例如 100 个实例),并且通过拥有状态,您可以将它们输入到相应的网络并获得Q(s)对于您的批次中的每个州。然后您估计损失并运行反向传播,并且网络的权重正在更新。您继续通过与环境交互来收集经验,并在您指定的阈值之后通过从内存中重新采样新批次来重复循环。

只是一个建议:开始转向 RL 的异步/同步方法,并为 Actor 和 Critic 使用具有不同“头”的网络。然后,您使用一个损失函数加上现在从您的代理-环境交互的多个实例中收集的经验(与您描述的一个代理从一个实例收集和存储经验的描述相反)。