数据增强(三)-Batch Augmentation
1.背景
本文为数据增强的第三篇, batch augmentation; 顾名思义,在一个 batch 的数据中进行数据增强。
我们知道在深度学习的训练过程中,一般都采用 mini-batch 方式进行的训练;batch size 的大小可能会影响训练的精度,主要如下:
越小的 batch-size,因为数据与整个数据集分布的个体差异性,引入梯度下降的噪声越大
大的 batch-size,梯度下降能更反映整个数据集的准确性,但是大的 batch,梯度的方差变大,可能降低泛化能力;这个时候可以配合学习率的增大,学习步伐大一点,达到精度的提高。
Batch Augmentation 就是在增大 batch-size 训练时,提供一种简单的增强方式来达到更好精度的一种数据增强策略
参考文献:Augment your batch: better training with larger batches
2. 内容
2.1 增强策略
BA(batch augmentation)的增强策略其实非常的简单;在同一个 batch 中,对同一个样本进行多次的 augmentation(通常也包括没有进行 augmentation 的原始样本),即一个 batch 中一个样本有不同的实例
生成原始 batch 的数据, batch-size=b
运用普通 augmentation 策略,分布作用原始 batch 的数据,生成 m 份不同的数据
合并 m 份数据,形成新的(m+1)*b 的 batch 数据,喂给模型进行训练
BA(batch augmentation)好处:
梯度下降的方向会更准确,降低梯度下降的方差
梯度下降更关注某一个图像的分类,而不仅仅图像样本本身
直观上,人类也很喜欢通过对比的方式,作出总结分类;BA 中同一样本多种不同的副本在同一个 batch 中学习,更好让模型学习到共同之处。
2.2 实现细节
按照上面的步骤,实现就很简单啦。可以结合 imgaug 进行
3. 结语
本实验介绍了 Batch Augmentation 的数据增强策略,通过在一个 batch 的对同一个样本建立多个不同的副本的简单策略,降低梯度下降的方差,提高训练速度和精度。实际场景中, BA 某些任务中有一定的效果。增加了一种调参的方式。
希望对大家有帮助。
版权声明: 本文为 InfoQ 作者【AIWeker-人工智能微客】的原创文章。
原文链接:【http://xie.infoq.cn/article/56685fe927bc884196d943995】。文章转载请联系作者。
评论