我在Keras使用以下模型:

输入/ conv1 / conv2 / maxpool / conv3 / conv4 / maxpool / conv5 / conv6 / maxpool / FC1 / FC2 / FC3 / softmax(2个节点) .

当我在每次激活(Wx)之后和非线性ReLu(Wx)之前使用批量标准化时,验证的损失和准确性是有噪声的(Red = Training_set / Blue = validation_set):

Fig1- with BN.

如果我移除BN层,则验证损失与训练损失一样顺利
Fig2
.

我尝试了以下(但没有奏效):

1.将批量大小从64增加到256 2.降低学习率3.添加L2-reg和/或不同幅度的丢失4.训练/验证分流比:20%,30% . 仅供参考,数据集是kaggle cats&dogs图像 .