首页 > 解决方案 > 经过一些时代迁移学习后,验证损失增加

问题描述

我的验证损失在前 50 个 epoch 以良好的速度下降,但在那之后的 10 个 epoch 验证损失停止下降。我正在使用 mobilenet 并冻结图层并添加我的自定义头部。我的自定义头如下:

def addTopModelMobileNet(bottom_model, num_classes):

top_model = bottom_model.output
top_model = GlobalAveragePooling2D()(top_model)
top_model = Dense(64,activation = 'relu')(top_model)
top_model = Dropout(0.25)(top_model)
top_model = Dense(32, activation = 'relu')(top_model)
top_model = Dropout(0.10)(top_model)
top_model = Dense(num_classes, activation = 'softmax')(top_model)

return top_model

我正在使用 alpha 0.25,学习率 0.001,衰减学习率 / 时期,nesterov 动量 0.8。我也在使用 earlystoping 回调,耐心等待 10 个 epoch。

失利准确性

标签: kerastensorflow2.0transfer-learningmobilenetoverfitting-underfitting

解决方案


每次我训练深度神经网络时,我几乎肯定会遇到这种情况:

  • 您可以摆弄参数,使它们对权重的敏感性降低,即它们不会改变已经“接近最佳”的权重。这些参数中的一些可能包括优化器的 alpha,尝试通过逐渐的 epoch 降低它。动量也会影响权重的变化方式。

  • 你甚至可以逐渐减少辍学人数。


推荐阅读