mixup:样本对插值的经验风险最小化.

大型神经网络可能对样本集过拟合,表现为对训练样本具有记忆性,并且对对抗样本非常敏感。作者提出了mixup作为一种数据增强方法,用于缓解以上问题。mixup表示为成对样本及其标签的凸组合。实验表明该方法能够有效地提高网络的通用性,减小了对训练样本的记忆,增强了模型对对抗样本的鲁棒性,并进一步提高了GAN的训练稳定性。

1. mixup的提出

神经网络的训练目标是在训练数据集上实现平均误差最小化,即经验风险最小化(empirical risk minimization, ERM)原则。学习理论指出如果学习器的大小(如参数量或VC复杂度)不随训练数据的数量增强而增加,则ERM的收敛性可以得到保证。然而*ERM无法保证在与训练数据不同的测试集分布上的泛化性。这是因为ERM允许大型神经网络记忆训练数据,当其在训练分布之外的数据上评估时,预测结果会有大幅度的改变。

数据增强是指在类似但不同于训练数据的数据集上进行训练的方法,即邻近风险最小化(vicinal risk minimization, VRM)原则。VRM是指通过人类知识构建训练数据中每个样本附近的邻域区域,然后从训练样本的邻域分布中采样额外的样本,以扩大训练样本的分布范围。虽然数据增强能够提高模型的泛化性,但它依赖于数据集,需要一定的专家知识。此外数据增强只能产生相同类别的样本,不能建立不同类样本之间的邻近关系。

作者提出了mixup作为一种数据扩充方法,其先验假设是特征向量的线性插值将导致目标标签的线性插值,因此使用两个样本的凸组合构造新的样本:

x^=λxi+(1λ)xj y^=λyi+(1λ)yj

2. mixup的建模

监督学习是指寻找一个函数fF描述服从联合分布P(X,Y)的特征向量X和目标向量Y之间的关系。定义损失函数l衡量预测结果f(x)和实际目标y之间的差异。对于数据分布P中的样本(x,y),目标是最小化损失函数的平均值,即期望风险(expected risk):

R(f)=l(f(x),y)dP(x,y)

在实践中分布P是未知的,因此从分布中采样训练数据D={(xi,yi)}i=1n,通过训练样本近似P的经验分布(empirical distribution):

Pδ(x,y)=1ni=1nδ(x=xi,y=yi)

进一步可以用经验风险(empirical risk)代替期望风险:

Rδ(f)=l(f(x),y)dPδ(x,y)=1ni=1nl(f(xi),yi)

通过最小化上式学习函数f的过程即为经验风险最小化ERM原则。对分布P的近似还有其它形式,比如在邻近风险最小化VRM原则中,分布P近似为:

Pν(x~,y~)=1ni=1nν(x~,y~|xi,yi)

其中ν是邻近分布(vicinity distribution),用于衡量样本(x~,y~)出现在样本(xi,yi)附近的概率。常用的邻近分布有高斯邻近ν(x~,y~|xi,yi)=N(x~xi,σ2)δ(y~=yi),即对训练样本增加高斯噪声。

从分布P的近似中采样训练数据Dν={(x~i,y~i)}i=1m,则目标为最小化经验邻近风险(empirical vicinal risk):

Rν(f)=1mi=1ml(f(x~i),y~i)

这篇论文的主要贡献是提出了一种通用的邻近分布,即mixup

μ(x~,y~|xi,yi)=1njnEλ[δ(x~=λxi+(1λ)xj,y~=λyi+(1λ)yj)]

其中λ~Beta(α,α)。超参数α控制两个样本的插值强度,当α=0λ=1,上式恢复为ERM

mixup实现简单,计算开销少。使用Pytorch实现mixup

# y1, y2 should be one-hot vectors
for (x1, y1), (x2, y2) in zip(loader1, loader2):
    lam = numpy.random.beta(alpha, alpha)
    x = Variable(lam * x1 + (1. - lam) * x2)
    y = Variable(lam * y1 + (1. - lam) * y2)
    optimizer.zero_grad()
    loss(net(x), y).backward()
    optimizer.step()

作者进一步指出,构造三个及以上样本的凸组合不能再带来进一步的增益。在实践中可以使用单个数据加载器提供的一个minibatch,随机打乱后将mixup应用在相邻的样本之间,这样做能够减少I/O需求。实验发现,仅在相同类别的样本中使用mixup不能显著地提高性能。

mixup能够有效地减少对训练样本之外的样本预测的振荡,且复合奥卡姆剃刀的归纳偏置。 对于下图所示的样本集,绿色表示类别0,橙色表示类别1。经验风险最小化ERM构造了硬分类的决策边界,蓝色区域代表模型分类为1的区域;而mixup实现软分类的决策边界,对于中间的区域,从一个类别过渡到另一个类别,提供更平滑的不确定性估计。

作者在相同的训练条件下分别按照ERMmixup训练模型。左图统计了对于插值样本x=xi+(1λ)xj,预测结果不属于{yi,yj}的预测遗漏统计值,结果表明mixup具有更少的预测遗漏。右图表示对于插值样本,mixup具有更小的梯度范数。结果表明mixup模型预测和模型训练时更稳定。