一、一句话定义

数据增强(Data Augmentation):

在不新增真实采集的原始数据的前提下,对已有数据集做变换、扰动、裁剪、拼接、加噪等操作,批量生成更多“等价但不一样”的样本,用来扩充训练集、防止模型过拟合、提升泛化能力。

简单说:用现有的少量数据,凭空变出很多可用的训练数据,不用重新采集、标注。

二、为什么要做数据增强?

深度学习模型非常吃数据,数据越少越容易出问题:

1. 数据太少:小数据集训练,模型容易死记硬背(过拟合),训练集准确率很高,测试集拉胯;

2. 场景单一:真实场景有光照、角度、位置、遮挡变化,但训练图片都是固定角度/亮度;

3. 标注成本极高:图像、文本、语音标注费时间费人力,没法无限采集新数据;

4. 提升泛化能力:让模型见过各种变体,遇到陌生样本也能识别准。

核心作用:

扩充数据量 → 降低过拟合 → 增强模型鲁棒性 → 实际部署效果更好

三、核心原理

模型学习的是特征本质,不是像素/文字的固定位置:

- 一张猫图,翻转、平移、调亮度,本质还是猫;

- 一句话,同义替换、打乱语序,语义不变;

数据增强就是保留标签不变,轻微改变样本形态,让模型学本质、不学表面位置和细节。

四、不同领域的数据增强方式(最常用)

1. 计算机视觉(图像 CV,YOLO、分类、分割都用)

最常见,你做YOLO训练必用:

- 几何变换:随机翻转(水平/垂直)、随机裁剪、缩放、平移、旋转、透视变换

- 像素变换:调整亮度、对比度、饱和度、色温、灰度化

- 加噪处理:高斯噪声、椒盐噪声、模糊、锐化

- 高级增强:MixUp、CutMix、Mosaic(YOLO标配)、随机遮挡、擦除

举例:

一张人脸图,左右翻转、调暗一点、稍微旋转15度,标签还是人脸,多了3个训练样本。

2. 自然语言处理(NLP,大模型、文本分类)

文本不能随便翻转,讲究语义不变:

- 同义词替换、随机插入近义词

- 随机删除少量无关字词、语序打乱

- 回译增强:中文→英文→再译回中文

- 随机掩码、句式改写

3. 语音/时序数据

- 语速快慢调整、音调升降

- 加环境噪声、时间偏移、截断补全

五、数据增强分两大类

1. 离线增强

提前把原图生成好多张增强图,保存到本地,数据集直接变多。

- 优点:训练时不用实时计算,速度快

- 缺点:占用硬盘空间,增强样本固定,模型还是会记住

2. 在线增强(工业界常用、YOLO默认)

训练过程中实时随机变换:每一轮读取图片时,当场随机翻转、调亮度、做Mosaic,每次训练看到的图都不一样。

- 优点:不占硬盘、无限种组合,防过拟合效果最好

- 缺点:训练时多一点计算量

六、举个最直白的例子

假设你只有 100张猫咪照片,直接训练模型很容易过拟合。

做数据增强:

每张图随机做:翻转+微调亮度+小角度旋转,每张变出5种变体。

瞬间变成 500张训练图,标签全不用改,不用自己再拍、再标注。

模型见过正着、反着、亮的、暗的、歪着的猫,以后随便拍什么角度都能识别。

七、注意事项(避坑重点)

1. 不能改变标签语义

比如数字6不能旋转成9,猫不能增强成狗,否则标签和样本对不上,模型学废。

2. 增强幅度不能太大

过度调亮、过度旋转,样本失去原本特征,反而起反作用。

3. 测试集/验证集绝不做增强

只有训练集做增强,测试集要用原始真实数据评估模型真实水平。

4. 不同任务选合适增强

人脸识别不能随意翻转,车牌识别不能乱旋转,要贴合业务场景。

八、总结一句话

数据增强就是低成本、零标注成本,对原有样本做合理随机变换,造出海量等价训练数据,专治深度学习数据少、过拟合、实战效果差三大问题,是做CV、NLP项目必用的基础操作。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐