赛事介绍
美食数据包含10个类别,数据集共5000个图片,尺寸大小不一,类别分别均衡。需要自己划分训练和验证数据,竞赛数据来自真实的美食图片数据,包含中餐、西餐、甜点、粥类,每张图像中美食所占比例大于3/4,每张图片代表一类美食。 除提供给参赛选手的训练集外,主办方还有一个测试集,该数据集对参赛者不可见,用于多提交模型进行评判。主办方提供使用resnet50训练的baseline,其测试精度在86%左右。
优化思路
-
数据增强
采用旋转、翻转和剪裁对数据进行增强
-
数据集划分
采用9:1的训练和验证集划分,经过多次训练发现,在训练集上达到最优的模型,往往验证准确率也越高。于是,为了充分利用数据,训练时不做验证,最终选取在训练集达到上最优的模型提交。
-
模型选择
考虑不做验证,为避免严重的过拟合,选取结构简单、参数量较少的Xception,用ImageNet预训练的权重进行初始化。
-
其他设置
经过多次测试,在最后的全连接层,添加dropout(0.2)的层,使用SGD优化器以及StepLR梯度下降,可得到最优的测试准确率。
最终结果
提交在训练集上表现最好的模型,最终测试准确率97.2%
总结
真正的小白技巧,几乎单纯通过对数据进行增强和一点防止过拟合的技巧,就可以将模型的准确率提升至97.2%。
感想:这次青年班的学习和比赛太合适入门与实践了,既入门了CNN,又会学会了使用modlearts,通过比赛还能学到其他大佬的优化技巧,太值了!


感谢分享~