ResNet如何在文档中实现准确性?

时间:2017-04-11 20:39:34

标签: machine-learning deep-learning keras

我按照本文档https://github.com/slavaglaps/ResNet_cifar10为cifar 10实施ResNet 但我的准确性与文件中获得的准确性有很大不同 我 - 86% Pcs女儿 - 94% 我的错是什么?

{{3}}

2 个答案:

答案 0 :(得分:1)

您的问题有点过于笼统,我的观点是网络过度适应训练数据集,因为您可以看到训练损失非常低,但在50纪元之后,验证损失不再改善了

我没有深入阅读论文,所以我不知道他们是如何解决问题的,但增加正规化可能有所帮助。以下链接将指向正确的方向http://cs231n.github.io/neural-networks-3/

下面我复制了文本摘要:

  

摘要

     

训练神经网络:

     
      
  • Gradient用一小批数据检查您的实现,并了解陷阱。
  •   
  • 作为一个完整性检查,确保您的初始损失是合理的,并且您可以在很小的一部分上实现100%的训练准确性   数据
  •   
  • 在培训期间,监控损失,培训/验证准确性,如果您感觉更高兴,则更新的程度与   参数值(应该是~1e-3),当处理ConvNets时,   第一层权重。
  •   
  • 使用的两个推荐更新是SGD + Nesterov Momentum或Adam。
  •   
  • 在培训期间减少学习率。例如,在固定数量的纪元之后将学习率减半,或者   每当验证准确度最高时。
  •   
  • 使用随机搜索(不是网格搜索)搜索好的超参数。从粗略的(超广泛超参数范围,   训练只有1-5个时期),罚款(较窄的游侠,训练为   更多的时代)
  •   
  • 用于提高性能的表单模型集合
  •   

答案 1 :(得分:1)

我认为数据预处理的差异会影响性能。他正在使用填充和随机作物,这实质上增加了训练样本的数量并减少了泛化误差。另外,正如之前的海报所说,你缺少正规化功能,例如重量衰减。

你应该再看一下这篇论文,并确保你像他们一样实现所有内容。