数据增强(data augmentation),其本质是通过使用图像处理方法,通过从现有数据生成新的训练数据来扩展丰富原数据集,以此增加训练样本的数量以及多样性,进而提升模型的泛化能力和鲁棒性。
我们为什么要进行数据增强?
一方面,在某些情况下训练数据的获取并不是一件容易的事情,而优秀的神经网络所需要训练的参数是十分巨大的,我们需要给到与其参数个数成比例的训练样本,过少的样本可能会引起过拟合。这个时候数据扩充就十分有必要了。
另一方面,数据的获取或许具有不均匀性,在某一类别上的样本可能过多或者过少。数据增强可以平衡数据分布。同时,某些图像样本稍微移动视角或改变位置,所识别的结果可能都不一样,数据增强可以拓展样本的多样性,增强网络泛化能力。
数据增强的方法:
数据增强分为离线增强和在线增强。离线增强先进行数据扩充,得到的新数据集直接用以训练,适用于小规模数据集;在线增强在网络模型内部实现小批次的数据扩充,可以使用GPU优化计算,适用于大规模训练集。
几何变换是非常常见的一种数据增强的方法。包括翻转、旋转、缩放、剪裁、平移等等。同时还有颜色替换、噪声引入等。
具体用法可以见链接 https://zhuanlan.zhihu.com/p/632625817