我实现了按照本文件https://arxiv.org/pdf/1512.03385.pdf 的CIFAR 10 RESNET但我的精度显著不同于文档 我得到的准确度 - 86% PCS女儿 - 94% 什么是我的错?ResNet如何在文档中实现准确性?
https://github.com/slavaglaps/ResNet_cifar10
我实现了按照本文件https://arxiv.org/pdf/1512.03385.pdf 的CIFAR 10 RESNET但我的精度显著不同于文档 我得到的准确度 - 86% PCS女儿 - 94% 什么是我的错?ResNet如何在文档中实现准确性?
https://github.com/slavaglaps/ResNet_cifar10
你的问题有点过于笼统,我的看法是,网络是过度拟合训练数据集,你可以看到训练的损失是相当低的,但时代50后验证损失不再有所改善。
我没有深入阅读论文,所以我不知道他们是如何解决问题的,但增加正规化可能会有所帮助。下面的链接将指向您在正确的方向http://cs231n.github.io/neural-networks-3/
下面我复制文本的总结:
摘要
训练神经网络:
- 梯度检查实施一小批数据并注意陷阱。
- 作为一个全面的检查,确保您最初的损失是合理的,就可以对 一个非常小的部分达到100%的训练精度的数据
- 在训练期间,监测的损失,培训/认证准确性,并且如果你觉得更有趣,那么参数值(应该是〜1e-3)与更新幅度有关,并且在处理ConvNets, 的第一层权重。
- 建议使用的两个更新是SGD + Nesterov Momentum或Adam。
- 衰减训练期间的学习率。例如,在固定数量的时期后将学习速率减半,或者只要验证准确度达到最高,就会减少学习速率。
- 使用随机搜索(不是网格搜索)搜索优秀的超参数。舞台由粗搜索(宽超参数的范围,只有 培训1-5时期),罚款(护林员较窄,为 许多多个时期培训)
- 表格模式集合了额外的性能
我会争辩说,数据预处理的差异会导致性能的差异。他使用填充和随机作物,这本质上增加了训练样本的数量并减少了泛化误差。同样如前面的海报所说,你缺少正规化功能,如重量衰减。
你应该再看看论文,并确保你像他们一样实施一切。
在哪个层面上使用正则化更好? –