我目前正在实现一个自定义的损失层,但在此过程中,我偶然发现了 objectivies.py 文件中均方误差的实现方式 [1]。我知道我对这个损失计算的理解可能有些错误,因为我一直认为平均值是针对每个输出的每个样本在每个小批量上分别进行的(张量的轴 0),但似乎平均值实际上是在最后一个轴上进行的,在单独的向量中,这意味着它是在输出之间进行的。当我设计我的自定义损失层时,无意中发现了这一点,因为它需要对几个输出的损失进行折扣,这些输出在特定位置的训练输出为特定值。不管怎样,我的均方误差理解是否正确?为什么 Keras 使用最后一个轴,从而将一个 1xn 输出向量转换为一个 1x1 输出向量呢?
谢谢。
[1] https://github.com/fchollet/keras/blob/master/keras/objectives.py#L7
谢谢。
[1] https://github.com/fchollet/keras/blob/master/keras/objectives.py#L7