为什么数据增强被归类为一种正则化?

机器算法验证 神经网络 正则化 数据增强
2022-03-28 10:40:35

在深度学习论文中,数据增强通常被视为一种正则化。例如,在 ICLR17 上的 Chiyan Zhang 和合著者的演讲中对此进行了探讨,Understanding deep learning requires rethinking generalization为什么给出这个分类?直观地说,我将数据扩充视为扩展数据集的一种方式,但正则化是一种修改训练算法以(希望)改善泛化错误的方法。

3个回答

正则化(传统上在收缩的背景下)将先验知识添加到模型中;从字面上看,为参数指定了先验。增强也是向模型添加先验知识的一种形式。例如图像被旋转,知道这不会改变类标签。增加训练数据(与增强一样)会降低模型的方差。正则化也减少了模型的方差。他们以不同的方式这样做,但最终都减少了正则化错误。

Goodfellow 等人的Deep Learning的第 5.2.2 节提出了一个更广泛的定义:

正则化是我们对学习算法所做的任何修改,旨在减少其泛化误差,而不是训练误差。

由于术语“lp norm正则化”,有一种将正则化与收缩联系起来的趋势......也许“增强正则化”同样有效,尽管它并没有从舌头上滚下来。

User99889 有一个很好的答案(+1),我会添加一些评论来阐述要点。

正则化的目标是在Bias Variance Trade Off中减少 Variance 并增加 Bias 可以通过不同的方式实现,这里有一些例子:

  • 增加数据量,收集新数据或从现有数据/数据扩充中获取新数据。
  • 降低模型的复杂度。例如,减少隐藏层或隐藏层中的单元数量。
  • 将约束放入系数/参数中。例如,L1 或 L2 正则化。

我们将进一步解释为什么 User99889 提到“添加先验/领域知识”。MNIST 数据为例,我们可以利用以下知识创建更多数据:

  • 如果我们重新缩放数字,标签不会改变
  • 如果我们移位数字,标签不会改变

然后,我们有更多的数据使用领域知识,模型将有更多的偏差。

正则化的目的是提高模型的泛化能力(换句话说,它在看不见的数据上表现良好的能力)。正则化可以是显式的或隐式的。第一种情况是指可以限制模型的有效容量以减少过度拟合的技术。示例包括在标准统计估计器中添加惩罚项,例如 OLS 或深度学习中的权重衰减和丢失。在第二种情况下(隐式正则化),我们使用间接方法而不是显式限制模型的容量。一个例子是使用 SGD 训练线性模型,因为它总是收敛到具有小范数的解决方案(https://arxiv.org/pdf/1611.03530.pdf)。类似地,数据增强(有多种形式,例如添加预测变量、添加人工创建的数据、重采样)将有助于模型更好地泛化,因此被认为是一种隐式正则化方法。