首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何减少预训练网络中的过度拟合

如何减少预训练网络中的过度拟合
EN

Data Science用户
提问于 2020-07-12 06:02:31
回答 1查看 3.4K关注 0票数 1

我有一个有10个类的定制数据集,我正在使用一个来自火炬视觉的预先训练过的resnet18模型。我可以清楚地看到它的过度拟合,因为:该模型被训练为75个历元,批次大小为4,从epoch 30开始,验证精度停止增加,训练精度不断提高。

我为提高泛化性能和减少过度拟合所做的事情:

  1. 我用我的训练数据的计算平均值和性病来规范我的数据。
  2. 我增加了随机旋转,随机水平翻转和随机垂直翻转作为数据增强。

以上是所有这些结果之后,我想不出其他正则化技术,如果不改变模型的架构,这将完全违背预先训练的网络的目的,我使用一个,因为我只有大约300张图像在我的每堂课。

EN

回答 1

Data Science用户

发布于 2020-07-12 11:02:38

在迁移学习中,有两个影响基本设置的参数:

  1. 新数据集的大小
  2. 新数据集与预训练模型数据集的相似性

当您的数据集很小时,问题是如果您重新训练了太多的层,那么高容量的预先培训的模型很容易就会变得过于适合。既然你重新训练了多层,这可能是个问题。

相反,尝试以下两个选项:

  • 重新训练只有最后一个完全连接的层。这是一般的方法,如果您的数据是相似的数据,培训前的模型是培训的。
  • 移除凹口。图层接近尾端的预训练模型和再训练,只有新的完全连接层。例如,对于ResNet18,您可以尝试抛出conv4和5。如果您的数据与原始数据不太相似,并且您只想为低级特性使用层,因为数据集没有类似的更高级别的特性,则这是小数据集传输学习的一般方法。

如果你对这个话题的理论阅读感兴趣,那么“深层神经网络中的特征是如何传递的?”的论文可能会引起你的兴趣。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/77579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档