数据增强
数据增强是对已有训练数据进行少量修改或变换,以增加新的训练样本。它让模型无需重新收集数据,也能见到并学习更多样的情况。
通俗解释 这就像做完一本数学习题册后,只改动同一道题的数字或换一种表述,编出更多练习题来做。不过它有局限:原习题册里没有的题型并不会因此新增。
工作原理
保持原始数据的“正确答案”不变,只改变外观。把猫的照片左右翻转、稍作裁剪或调整亮度,它仍然是猫,因此一张照片可以得到多个训练样本。对于文本,可以用不同表达改写同一个意思,或使用回译——翻译成另一种语言再译回来。对于语音,可以混入背景噪声或改变语速。近来也常让 LLM 新写一些类似的示例来扩充数据,这与合成数据的边界有所重叠。
按数据类型划分的增强方法
- 数据增强
- 图像
- 左右翻转
- 裁剪
- 调整亮度
- 文本
- 改写
- 回译
- 用 LLM 生成示例
- 语音
- 混入噪声
- 改变语速
为什么重要
模型往往只在与训练时所见数据相似的情况下表现良好。数据较少时,模型容易把训练数据整个记下来,导致在新数据上成绩下降,即出现过拟合。数据增强通过展示同一对象的多种样貌,帮助模型专注于“本质特征”。在医学影像、缺陷品照片等数据难以收集、标注成本高的领域,效果尤为明显。
注意事项
如果变换改变了正确答案,反而有害。把数字“6”倒过来就成了“9”;改写句子时漏掉否定词,意思就会相反。因此,哪些变换是安全的,需要针对每种数据和任务分别判断。此外,数据增强只是在原始数据的范围内增加多样性,无法补上一开始就缺失的情况(例如完全没有夜间照片)。评估数据中不应混入增强数据,才能如实衡量模型水平。
示例
在构建工厂缺陷品检测 AI 时,缺陷照片远少于正常照片。这时把为数不多的缺陷照片经旋转、放大、亮度调整扩充为多张来训练,就能得到即使光照或角度略有不同也能准确找出缺陷的模型。在聊天机器人意图分类模型中,也会用 LLM 把“我想退款”这样的示例扩展成“能把钱退给我吗?”等多种表达来训练。