我对tf.reduce_mean(tf.nn.l2_loss(prediction - output))
行的使用感到困惑。
在进行反向传播时,输出应为向量,因为从实际输出中减去每个输出神经元的预测输出,并对所有输出神经元重复此操作,因此得到的向量大小为(n,1)
。如果我们使用tf.reduce_mean(tf.nn.l2_loss(prediction - output))
,则输出为单个值。我无法理解如何传播单个值以更新权重。它不应该一直是向量吗?
答案 0 :(得分:0)
您是正确的,损失必须是向量。但是,此行
tf.reduce_mean
是批次的平均损失,而不是向量的平均损失。参见https://stats.stackexchange.com/questions/201452/is-it-common-practice-to-minimize-the-mean-loss-over-the-batches-instead-of-the