【问题标题】:Do I calculate one loss per mini batch or one loss per entry in mini batch in deep reinforcement learning?在深度强化学习中,我是计算每个小批量的损失还是小批量中的每个条目的损失?
【发布时间】:2020-09-03 19:04:18
【问题描述】:

神经网络和 Pytorch 的新手。

我在每个小批量中有 300 个回放记忆。我见过人们为 300 次回放记忆计算一次损失,但这对我来说并没有什么意义。 300 个回放记忆来自非常不同的游戏状态,为什么将预测和目标之间的 300 个差异合并为一个值是有意义的?当模型反向传播时,梯度是否被分成 300 个分支,每个分支对应于 mini batch 中的一个条目?

例如,仍然使用每批有 300 个重放内存的小批量。我的策略网络输出 10 个动作的概率分布,或 300 x 10 张量,我的目标概率分布具有相同的形状。我想找到我的预测和目标之间的交叉熵损失。我想知道是否应该在 300 个大小为 [10] 张量的预测目标对之间找到 300 个交叉熵损失,或者在 1 个大小为 [3000] 张量的预测目标对之间找到 1 个交叉熵损失,如果这有意义的话.另外我应该如何在 Pytorch 中实现它?我应该期望得到什么形式的损失?

【问题讨论】:

    标签: neural-network pytorch reinforcement-learning loss-function mini-batch


    【解决方案1】:

    解决了。损失将是一个浮点数,它是 300 个小批量的总和。

    【讨论】:

      猜你喜欢
      • 2020-05-15
      • 2019-02-09
      • 2018-08-07
      • 1970-01-01
      • 2021-10-24
      • 2022-07-14
      • 2021-11-02
      • 2018-06-21
      • 2021-07-23
      相关资源
      最近更新 更多