我目前正在实现一个自定义损失层,在此过程中,我偶然发现了objectives.py文件[1]中均方误差的实现。我知道我在理解这个损失计算时遗漏了一些东西,因为我一直认为平均值是在每个小批量(张量的轴 0)中的每个输出的样本中单独完成的,但看起来平均值实际上是在最后一个轴上完成,在一个向量中,这意味着它是在输出上完成的。我在处理我的自定义损失层时偶然发现了这一点,因为它需要对一些输出的损失进行折扣,因为在特定位置的训练输出是一个特定值。无论如何,我对均方误差的理解不正确吗?为什么 Keras 会使用最后一个轴,从而将 1xn 输出向量转换为 1x1 输出向量?
谢谢。
[1] https://github.com/fchollet/keras/blob/master/keras/objectives.py#L7