论文:Bag of Tricks for Image Classification with Convolutional Neural Networks
论文链接:https://arxiv.org/abs/1812.01187
论文复现对很多人而言难度都比较大,因为常常涉及很多细节,部分细节对于模型效果影响很大,但是却很少有文章介绍这些细节,前段时间正好看到这篇文章,再加上之前就有关注GluonCV,因此就抽空看了下这篇文章。这篇文章是亚马逊科学家介绍CNN网络调优的细节,许多实验是在图像分类算法做的,比如ResNet,作者不仅复现出原论文的结果,在许多网络结构上甚至超出原论文的效果,而且对于目标检测、图像分割算法同样有提升作用。目前这些复现结果都可以在GluonCV中找到:https://github.com/dmlc/gluon-cv, GluonCV是亚马逊推出的深度学习库,除了提供许多图像任务的论文复现结果,还提供了非常多常用的数据读取、模型构建的接口,大大降低了入门深度学习的门槛。因此这篇文章可以看作是一群经验丰富的工程师介绍炼丹技巧,帮助广大读者炼出更好的丹药,个人感觉非常实用。
首先可以先来看看作者训练的ResNet50网络的效果。在Table1中对比了目前几个常用分类网络的效果,最后一行是作者通过添加各种训练技巧后复现的ResNet-50效果,和原论文的结果对比提升非常明显(top-1准确率从75.3提升到79.29)。
既然要做对比实验,那么首先要有一个baseline,这个baseline就是作者复现相关算法的结果,这个baseline的复现细节可以参考论文2.1节内容,包括数据预处理的方式和顺序、网络层参数初始化方式、迭代次数、学习率变化策略等,这里不再赘述。Table2是作者采用baseline方式复现的3个常用分类网络的结果,可以看出来效果基本上和原论文差不多,这里的baseline也将作为后续实验的对比对象。
介绍完baseline后&