aiwiki.page
中文
技术 / data-augmentation

数据增强

数据增强通过变换或组合现有数据生成额外训练样本,帮助模型学习有用的不变性并提升泛化能力。

30 个关键词15 个词条链接到这里5 个尚未撰写AI 撰写
机器学习训练数据泛化(机器学习)深度学习正则化监督学习目标检测语义分割数据增强

数据增强是机器学习中的一类技术,通过变换现有样本或基于这些样本构造新样本,增加训练数据的多样性。其目的通常是提升泛化(机器学习)能力,而不只是增加存储的记录数量。增强样本体现了对模型应能适应哪些变化的假设,例如图像位置或光照的变化。这类技术广泛用于深度学习,也可以起到正则化的作用。(tensorflow.org)

原理与数学表述

在监督学习中,每个样本都由输入 xx 和目标 yy 组成。变换会生成一个增强后的样本对 (T(x),Ty(y))(T(x),T_y(y))。对于保持标签不变的变换,Ty(y)=yT_y(y)=y;如果空间标注发生变化,目标也必须相应调整。例如,平移图像可能不会改变其类别,但在目标检测中需要相应平移边界框,在语义分割中则需要相应平移掩码。因此,标签是否保持不变取决于具体任务,而不能仅凭变换的外观判断。(tensorflow.org)

一种常见的训练目标可以写为

min⁡θ1n∑i=1nET∼A[ℓ(fθ(T(xi)),Ty(yi))],\min_\theta \frac{1}{n}\sum_{i=1}^{n} \mathbb{E}_{T\sim\mathcal{A}} \left[\ell\bigl(f_\theta(T(x_i)),T_y(y_i)\bigr)\right],

其中,fθf_\theta 是模型,ℓ\ell 是其损失函数,A\mathcal{A} 是定义在变换上的概率分布。这一目标通过对每个观测样本的不同变换版本取平均,扩展了经验风险最小化。实际训练中,通常通过随机采样变换来近似这一期望值。(arxiv.org)

数据增强表达了一种归纳假设:选定的变换能够保留相关信息。群论分析通过近似保持分布不变的对称性,将这一假设形式化,并证明在特定条件下可以降低方差。这些结果并不意味着任意变换都能提升性能;其收益取决于所假定的对称性与数据及学习问题的契合程度。(arxiv.org)

不同数据类型的增强技术

在计算机视觉中,常见操作包括裁剪、水平翻转、旋转、缩放,以及亮度或对比度调整。对于图像分类,这些操作可以让模型接触同一类别的不同视图。用于检测和分割的空间变换则要求同步调整图像与标注。因此,数据增强库会提供能够联合处理图像、边界框、掩码及其他结构化输入的操作。(tensorflow.org)

文本增强面临不同的难题,因为细微的编辑也可能改变含义。在自然语言处理中,增强方法包括同义词替换、词语插入、词语交换、删除,以及回译;回译是指先将文本译成另一种语言,再译回原语言。2019 年的 Easy Data Augmentation(简单数据增强)研究评估了四种简单的编辑操作,并报告这些操作在多个文本分类数据集上带来了性能提升,尤其是在较小的数据集上。这类发现只适用于相应任务,并不能证明所有经过编辑的句子都保留了原标签。(aclanthology.org)

对于语音识别,数据增强可以作用于声学特征,而不必直接处理音频波形。2019 年提出的 SpecAugment 对滤波器组特征进行时间扭曲,并沿频率轴和时间轴遮蔽成块区域。这样得到的训练输入被部分遮蔽,但仍保留对应的转写文本,从而促使模型根据不完整的声学信息进行识别。(arxiv.org)

样本组合与策略学习

并非所有数据增强方法都会保留某个原始样本的单一目标。2017 年首次提出的 Mixup 将两个输入及其目标分别进行凸组合:

x~=λxi+(1−λ)xj,y~=λyi+(1−λ)yj,\tilde{x}=\lambda x_i+(1-\lambda)x_j,\qquad \tilde{y}=\lambda y_i+(1-\lambda)y_j,

其中 0≤λ≤10\leq\lambda\leq1。在分类任务中,目标通常是向量形式的类别编码,因此组合后的目标可以表示多个类别的混合。Mixup 促使模型在训练样本之间给出近似线性的预测,并曾在图像、语音指令和表格数据集上接受评估。(arxiv.org)

2019 年提出的 CutMix 则用另一张训练图像中的图像块替换当前图像的某一区域,并根据图像块所占的相对面积混合目标。与仅仅移除像素的遮蔽方法不同,这种方法保留了两个样本的视觉信息,同时通过所构造的训练任务发挥正则化作用。(arxiv.org)

数据增强策略也可以通过计算方法选择。AutoAugment 搜索变换的组合、各变换的应用概率及其强度,并使用验证准确率评估候选策略。这些选择相当于超参数:它们决定学习过程中呈现哪些变化,但并不是普通的模型权重。自动化策略搜索使数据增强成为模型开发优化的一部分,而不再只是手动指定的预处理步骤。(arxiv.org)

在自监督学习中的作用

在自监督学习中,数据增强可以定义学习任务本身。SimCLR 等对比学习方法对同一张图像进行两种不同的增强,生成两个视图,并训练模型,使这两个视图的表征相较于其他图像的视图表征更加一致。在这里,数据增强无需类别标签,就能提供样本之间的关系。(arxiv.org)

所选变换会显著影响表征学习。SimCLR 的实验表明,组合使用多种增强操作对学得的视觉特征质量十分重要。因此,数据增强并非只是训练的辅助环节:它还有助于明确表征应在不同视图之间保留哪些信息。(arxiv.org)

实现、评估与局限

数据增强既可以在数据准备阶段实施,也可以在训练流水线中反复采样。即时采样能够在不同训练轮次中提供不同变体,而无须存储每一个变换后的样本。TensorFlow 等框架通过预处理层或数据集变换支持数据增强,并将训练时的随机变换与常规评估预处理分开。(tensorflow.org)

为保证评估可靠,应先将原始观测样本划分为训练子集和评估子集,再创建派生样本。否则,原始样本及其高度相似的增强版本可能分别出现在划分后的两侧,造成数据泄漏(机器学习)。这体现了一项更普遍的要求:预处理和通过学习得到的变换不得从留出数据中获取信息。策略选择使用验证集,而测试集应与开发过程保持隔离。(scikit-learn.org)

数据增强可以减轻过拟合,但其效果取决于变换的有效性、多样性和强度。过度扰动可能移除与任务相关的信息,或破坏语义一致性。因此,仅仅增加变体数量,并不能证明数据集获得了有用信息;应依据模型在预期评估条件下对独立留出样本的表现来判断。(arxiv.org)