数据增强是通过修改或合成现有数据来增加数据量的技术,是一种正则化。在图像分类、信号处理以及语音识别等方面均有所运用。
数据增强主要可以一定程度缓解训练机器学习模型时数据量不足的问题。训练机器学习模型实际上是通过调参使得机器学习模型能较好地将输入映射到输出,而优化的目标是追求模型损失的最低点,因此需要足够大的模型以能够捕获数据的关系以及问题的具体细节,如果一个模型有较多参数,则需要足够比例的数据集来实现较好的拟合或减小过拟合,但在现实问题中,数据集的大小很可能是有限的。同时,机器学习模型的目标可能存在于不同的条件之下,例如,不同的方向、位置、规模、亮度等,即使拥有很大的数据量,模型也需要更多相关有效的数据使得模型更加准确。模型可以使用额外的修改合成得到的数据来适应这些情况。
数据增强在机器学习管道中在输入数据之前使用,可以有两种增强方式。可在输入数据之前进行全部转换,这种方法一般会使数据集增加一定倍数。可在输入数据之前进行小批量的转换,这种方法更适用于较大的数据集。
数据增强对于图像分类、信号处理以及语音识别均有多种有效的处理方式。在图像变换操作中可进行几何变换、反转、颜色修改、裁剪、旋转、注入噪声、随机擦除和合成图像等常用方法,包括条件对抗神经网络和神经风格转移等高级技术。在文本数据增强操作中可进行词汇替换、表面转换、句子打乱、随机噪声注入(拼写错误、键盘错误注入)等。
数据增强在图片处理上的应用实例(见图),从左到右分别采用对原图水平翻转、随机裁剪、色彩抖动、对比度调整、模糊处理和增加噪点的方法增加数据量。
数据增强在图片处理上的应用示意图
数据增强有以下意义:①当一个模型的参数过多,样本数量过少时,可以通过数据增强增加样本数量,增强模型的准确性。②当训练模型的数据集中数据单一,无法具体、多样地展示目标时,可以通过数据增强增强数据的适用性。例如,在训练识别人脸的模型时,假如只有面向左侧的人脸图片的数据集,训练出的模型可能无法识别面向右侧的人脸数据,可以通过水平翻转解决这一问题。