keras - 经过一些时代迁移学习后,验证损失增加
问题描述
我的验证损失在前 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。
解决方案
每次我训练深度神经网络时,我几乎肯定会遇到这种情况:
您可以摆弄参数,使它们对权重的敏感性降低,即它们不会改变已经“接近最佳”的权重。这些参数中的一些可能包括优化器的 alpha,尝试通过逐渐的 epoch 降低它。动量也会影响权重的变化方式。
你甚至可以逐渐减少辍学人数。
推荐阅读
- python - 如何在 BeautifulSoup 对象的标签中找到不在标签中的字符串模式
- python - 在 Pandas Python 中按两列对值进行排序
- react-native - 如何在 React Native 中编写以下形状?
- javascript - 将 figma 文件转换为图像格式
- pine-script - 复选框切换不匹配输入
- python - python proxy ConnectionResetError: [Errno 104] Connection rest by peer
- rust - 从 SliceStorage 和 SliceStorageMut 中提取原始切片
- vb.net - 如何使每个人在登录时都有一个单独的帐户
- networking - 使用 MAC 地址的原始套接字的目标应用程序
- node.js - 如何使用 GitHub 页面或 InfinityFree 托管可以处理端口请求的 node.js Web 服务器