DataWhale街景字符编码识别项目-模型集成

对于Baseline的一点总结

通过了数据准备、数据加强、模型构建以及模型验证和迭代4个阶段,基本上获得了一个还不错的模型。git

使用改进后的模型获得测试结果, 去网站提交,结果只有0.625的准确率。发现测试集上的效果和验证集上的效果差距还挺大的。github

很容易想到的是测试集和验证集会不会存在分布上的差别。若是是, 有没有办法来解决这种差别。网络

如今的问题是如何提升网络的泛化性能。在加了一些tricks以后,训练集的精度已经能够达到99%,但验证集的精度基本上稳定在71%左右,没法再继续提高。当模型无法进一步改进时,就应该回到数据自己,能够检查一下误分类的样本,对其进行一些统计。针对数据进行一些改进。oop

对于常规的图像分类网络,输入的图像尺寸对于网络最终的结果不会有太大的影响。而这个任务中,须要同时对图片中的全部数字进行分类,而且强制网络的输出分别去识别对应相应的数字。那么其实网络须要去自动的学习,哪一个位置对应哪个字符。所以该分类网络实际上是有强烈的位置敏感的。性能

为了尝试解决这个问题,使用了YOLO V3中的一个trick,每10个epoch,改变一次图像大小,在这里,我只改变了图像的宽度(由于文字主要是横向分布的)。从新训练了resnet18和mobilenet v2。学习

模型集成介绍

模型集成是一种有效的涨分手段,主要包括bagging、stacking和boosting3类。测试

bagging: 该方法一般考虑的是同质弱学习器,相互独立地并行学习这些弱学习器,并按照某种肯定性的平均过程将它们组合起来。网站

boosting,该方法一般考虑的也是同质弱学习器。它以一种高度自适应的方法顺序地学习这些弱学习器(每一个基础模型都依赖于前面的模型),并按照某种肯定性的策略将它们组合起来。spa

stacking,该方法一般考虑的是异质弱学习器,并行地学习它们,并经过训练一个「元模型」将它们组合起来,根据不一样弱模型的预测结果输出一个最终的预测结果。blog

视觉任务中经常使用的集成方法

Dropout

Dropout也叫丢弃法,即在训练过程当中,随机的丢弃一些神经元,至关于每一次都在train不一样的模型。它一样能够看作是一种集成学习方式。
IMG

SnapShot

SnapShot是一种不须要增长额外的训练成本就能获取多个网络模型的方式。它经过保存训练过程当中,学习率处于最低点位置时的网络权重,最后会获得对应不一样局部极小值的网络。

snapshot须要结合学习率周期调整策略,下图为学习率余弦衰减策略,snapShot会在每一个学习率调整的周期结束位置,拍快照,也就是保存当前模型权重。

上图中的学习率的最小值为5e-4,使用在这样的极端值(0.1至5e-4,M倍)之间波动的学习速率计划的背后理论是,训练模型时存在多个局部极小值。不断下降学习率会迫使模型停留在低于最佳的局部最小值位置。所以,咱们使用很高的学习率来逃避当前的局部最小值,并尝试找到另外一个可能更好的局部最小值。

最后对保存的多个模型进行voting或者staking。

TTA

TTA(test time augmentation)是一种后处理方式,测试阶段,对每张图片进行数据加强n次,分别获得n个结果,最后进行vote获得最终的预测结果。
其思路跟集成学习的思路基本一致,一样能够看作是一种集成方法。

总结

  1. 模型只能决定精度的下限,数据才能决定精度的上限。在模型训练前,须要对数据有必定的认识,则能够帮助咱们选择合适的模型以及合适的参数;模型的进一步提高遇到瓶颈时,咱们仍是须要回到数据的自己,分析误分类样本,看是否能够发现一些规律。
  2. 设置随机种子很是重要,咱们须要保证结果的可复现。由于网络模型中的随机性太多,每一次训练都会产生彻底不同的模型。
  3. 图形的可视化或者良好的log能够很好的帮助到咱们的结果分析过程,推荐使用tensorboard。另外,每一次模型保存都额外的将模型的配置参数一样保存,特别是在模型迭代了不少次以后,保存的模型不少,本身都不必定能分辨清楚。
  4. 调参过程当中,控制变量特别重要,每次只改动一个变量。每一次的调整,都能手动的记录下来或者以log的形式保存。
  5. 在硬件有限的状况下,推荐使用Snapshot和TTA模型集成方式。

最终经过训练的3个模型进行stacking,达到了0.91的acc。

此次比赛虽然总体难度不大,但想要取得比较好的成绩仍是挺难的,能获得这样的成绩仍是有点意外的。但抛开成绩,收获更多的多是在模型的迭代过程当中,对于调参的一些理解和收获以及对数据的认识。

Reference

[1] 经常使用的模型集成方法介绍:bagging、boosting 、stacking

相关文章
相关标签/搜索