【深度学习】深度学习模型训练的tricks总结( 二 )


总的来说,LSR是一种通过在标签y中加入噪声,实现对模型约束,降低模型过拟合程度的一种正则化方法 。模型对标签没有那么相信了,过拟合的更新自然也小了一些 。但会不会影响学习的效果呢?所以这个ε也不能太大 。
2、 imageand
【【深度学习】深度学习模型训练的tricks总结】 imageand(RICAP)方法随机裁剪四个图片的中部分,然后把它们拼接为一个图片,同时混合这四个图片的标签 。
这也是一种比较特殊的数据增强方法,一般的数据增强都是对一个样本进行操作,而该方法将样本和标签同时进行融合,在大量的数据中也会取得不错的效果 。
3、
[9]是一种新的正则化方法 。原理是在训练时随机把图片的一部分减掉,这样能提高模型的鲁棒性 。它的来源是计算机视觉任务中经常遇到的物体遮挡问题 。通过生成一些类似被遮挡的物体,不仅可以让模型在遇到遮挡问题时表现更好,还能让模型在做决定时更多地考虑环境() 。
我的理解这也是一种数据增广方法,通过让图像一定程度残缺来提高泛化能力,降低过拟合风险 。
4、
[6]其实和非常类似,也是一种模拟物体遮挡情况的数据增强方法 。区别在于,是把图片中随机抽中的矩形区域的像素值置为0,相当于裁剪掉,是用随机数或者数据集中像素的平均值替换原来的像素值 。而且,每次裁剪掉的区域大小是固定的,替换掉的区域大小是随机的 。
5、Mixup
这个思想与上面 imageand 有相似之处 。Mixup,就是每次取出2张图片,然后将它们线性组合,得到新的图片,以此来作为新的训练样本,进行网络的训练,如下公式,其中x代表图像数据,y代表标签,则得到的新的xhat, yhat 。
看起来就是对数据进行线性组合从而增广,主要增强了训练样本之间的线性表达,增强网络的泛化能力,不过mixup方法需要较长的时间才能收敛得比较好 。
6、
数据增强在图像分类问题上有很重要的作用,但是增强的方法有很多,并非一股脑地用上所有的方法就是最好的 。那么,如何选择最佳的数据增强方法呢? [11]就是一种搜索适合当前问题的数据增强方法的方法 。该方法创建一个数据增强策略的搜索空间,利用搜索算法选取适合特定数据集的数据增强策略 。此外,从一个数据集中学到的策略能够很好地迁移到其它相似的数据集上 。
的在深度学习很多阶段都偶遇体现,而这个则是在数据增强上使用自动搜索,比手动设置效果会好很多 。
优化算法角度
是最近一篇论文[5]中提到的,按照作者的说法,会让你的训练过程像adam一样快,并且像SGD一样好 。
另外,这种方法相对于SGD对超参数的变化不是那么敏感,也就是说鲁棒性更好 。但是,针对不同的问题还是需要调节超参数的,只是所用的时间可能变少了 。当然,还没有经过普遍的检验,也有可能只是对于某些问题效果好 。
这个算法针对于Adam等自适应学习率算法缺点进行了改善 。自适应学习率训练到后期,学习率出现极端情况,更新参数时有些维度上学习率特别大,有些维度学习率特别小 。或者说,当模型接近收敛时,学习率中有大量的极端值,这也是为什么很多人仍然喜欢用SGD 。
基于这个问题,可以对自适应学习率加一下限制,具体做法是对学习率进行动态裁剪,在这一设置下,在训练早期由于上下界对学习率的影响很小,算法更加接近于 Adam;而随着时间增长裁减区间越来越收紧,模型的学习率逐渐趋于稳定,在末期更加贴近于 SGD 。可以对采用类似的裁剪得到 。