神经网络和 Pytorch 的新手。
我在每个小批量中有 300 个回放记忆。我见过人们为 300 次回放记忆计算一次损失,但这对我来说并没有什么意义。300 个回放记忆来自非常不同的游戏状态,为什么将预测和目标之间的 300 个差异合并为一个值是有意义的?当模型反向传播时,梯度是否分成 300 个分支,每个分支对应于小批量中的一个条目?
例如,仍然使用其中每个具有 300 个重放存储器的小批量。我的策略网络输出 10 个动作的概率分布,或 300 x 10 张量,我的目标概率分布具有相同的形状。我想找到我的预测和目标之间的交叉熵损失。我想知道是否应该在 300 个大小为 [10] 张量的预测目标对之间找到 300 个交叉熵损失,或者在 1 个大小为 [3000] 张量的预测目标对之间找到 1 个交叉熵损失,如果这有意义的话. 另外我应该如何在 Pytorch 中实现它?我应该期望得到什么形式的损失?