至少有5个可能导致此类行为的原因:
sample_weights
或class_weights
。如果您想检查是否发生这种现象 - 请检查您的班级分布。categorical_crossentropy
作为指标,并观察它是否也在减少。如果不是 - 那么这意味着你的正则化太严格了 - 试着分配更少的权重惩罚。有可能在降低精度的同时降低损失,但它远未被称为良好的模型。在每个模型的conv层使用Batch规范化可以解决这个问题。
是的,这是可能的。
为了提供可能发生这种情况的直观示例,假设您的分类器输出的类A和B的概率大致相同,而A类的总体密度最高。在此设置中,最小化更改模型的参数可能会将B转换为最可能的类。这种效应会使cross-entropy loss的变化最小,因为它直接取决于概率分布,但是准确性会明显注意到变化,因为它取决于输出概率分布的argmax。
作为结论,最小化交叉熵损失并不总是意味着提高准确度,主要是因为交叉熵是平滑函数,而精度是非平滑的。