经验回放是交易的缓冲区(或“记忆”).
演员损失(参数化)和一个批评损失(参数化为)
正如我所看到的,还有两个元素需要保存以供以后使用:
当时的期望Q值:
动作的对数概率:
如果他们没有被保存,我们以后如何计算学习的损失?我没有看到任何地方说要保存这些,而且我一定遗漏了一些东西。
这些元素是否需要保存?
经验回放是交易的缓冲区(或“记忆”).
演员损失(参数化)和一个批评损失(参数化为)
正如我所看到的,还有两个元素需要保存以供以后使用:
当时的期望Q值:
动作的对数概率:
如果他们没有被保存,我们以后如何计算学习的损失?我没有看到任何地方说要保存这些,而且我一定遗漏了一些东西。
这些元素是否需要保存?
在每个批次训练周期中估计损失函数。计算损失的梯度,并在每个周期中传播回网络。这意味着您使用重放内存中的小批量(例如 100 个实例),并且通过拥有状态,您可以将它们输入到相应的网络并获得对于您的批次中的每个州。然后您估计损失并运行反向传播,并且网络的权重正在更新。您继续通过与环境交互来收集经验,并在您指定的阈值之后通过从内存中重新采样新批次来重复循环。
只是一个建议:开始转向 RL 的异步/同步方法,并为 Actor 和 Critic 使用具有不同“头”的网络。然后,您使用一个损失函数加上现在从您的代理-环境交互的多个实例中收集的经验(与您描述的一个代理从一个实例收集和存储经验的描述相反)。