神经网络和Pytorch的新手。
我在每个迷你批次中有300个回放记忆。我见过人们计算300个回放记忆的损失,但这对我来说并不是真的有意义。300个回放记忆来自非常不同的游戏状态,为什么将预测和目标之间的300个差异合并到一个值中是有意义的?当模型反向传播时,梯度是否被分成300个分支,每个分支对应于迷你批次中的一个条目?
例如,仍然使用小型批处理,每个批处理中有300个重放内存。我的策略网络输出10个动作的概率分布,或者300 x 10张量,我的目标概率分布具有相同的形状。我想找出我的预测和目标之间的交叉熵损失。我想知道我是应该在300个大小为10的张量的预测目标对之间找到300个交叉熵损失,还是在大小为3000的张量的1个预测目标对之间找到1个交叉熵损失,如果这是有意义的话。另外,我应该如何在Pytorch中实现它?我应该期望得到什么形式的损失?
发布于 2020-05-19 02:11:06
解决了。损失将是一个浮点数,它是300个小批量的总和。
https://stackoverflow.com/questions/61861853
复制相似问题