Mean teachers are better role models
Mean teachers are better role models
最近提出的时间集成在几个半监督学习基准中取得了最新的结果。它在每个训练示例上保持标签预测的指数移动平均,并惩罚与此目标不一致的预测。然而,由于目标每一个epoch只改变一次,当学习大的时候,时间集合变得很难处理数据集。到为了克服这个问题,我们提出了Mean-Teacher,一种平均模型权重而不是标记预测的方法。作为一个额外的好处,Mean-Teacher提高了测试的准确性,并使训练比临时集合的标签更少。在不改变网络结构的情况下,Mean-Teacher在250个标签的SVHN上获得了4.35%的错误率,优于1000个标签训练的时间集合。我们还表明,良好的网络架构对性能至关重要。结合平均教师和残差网络,我们将CIFAR-10上4000个标签的最新技术从10.55%提高到6.28%,ImageNet 2012上10%的标签从35.24%提高到9.11%。
1 Introduction
深度学习在图像和语音识别等领域取得了巨大成功。为了学习有用的抽象,深度学习模型需要大量的参数,因此容易过度拟合(图1a)。此外,手动向训练数据添加高质量的标签通常很昂贵。因此,在半监督学习中,需要使用正则化方法来有效地利用未标记的数据来减少过度拟合。
当感知被稍微改变时,人类通常仍然认为它是同一个物体。相应地,分类模型应该支持为相似数据点提供一致输出的函数。实现这一点的一种方法是在模型的输入中添加噪声。为了使模型能够学习更多的抽象不变性,可以将噪声添加到中间表示中,这是一种激发了许多正则化技术的见解,例如Dropout[28]。正则化模型不是在输入空间的零维数据点上最小化分类损失,而是在每个数据点周围的流形上最小化损失,从而将决策边界从标记的数据点平滑(图1b)。
由于未标记样本的损失未定义,噪声正则化本身不利于半监督学习。为了克服这一点,T模型[21]评估每个有噪声和无噪声的数据点,然后在两个预测之间应用一致性成本。在这种情况下,模型承担着教师和学生的双重角色。
作为一个学生,它像以前一样学习;作为一个教师,它产生目标,然后用于学生模型的学习。由于模型本身生成目标,它们很可能是错误的。如果对生成的目标赋予太多权重,则不一致的损失将超过错误分类的损失,从而阻止新信息的学习。实际上,该模型存在确认偏差(图1c),通过提高目标质量可以减轻这种风险。
至少有两种方法可以提高目标质量。一种方法是仔细地选择特征表示的扰动,而不是仅仅应用加法或乘法噪声。另一种方法是仔细选择教师模式,而不是勉强复制学生模式。[16]采取了第一种方法,并表明虚拟对抗性训练可以产生令人印象深刻的结果。我们采取第二种方法,并将表明它也提供了显著的好处。据我们理解,这两种方法是兼容的,它们结合起来可能会产生更好的结果。然而,对它们的联合效应的分析超出了本文的范围。
因此,我们的目标是从学生模型中得到一个更好的教师模型,而不需要额外的训练。第一步,考虑模型的softmax输出通常不能在训练数据之外提供准确的预测。这可以通过在推理时向模型中添加噪声来部分缓解[4],因此有噪声的教师可以产生更精确的目标(图1d)。
2 Mean Teacher
由于教师模型是连续学生模型的平均值,我们称之为平均教师方法(图2)。
图2:平均教师法。该图描述了一个带有一个标记样本的training batch 。学生和教师模型都在计算中应用噪声来评估输入。学生模型的Softmax输出与的One-Hot Label使用分类损失,与教师输出使用一致性损失。用梯度下降法更新学生模型的权重后,教师模型的权重被更新为学生权重的指数移动平均值。两个模型的输出都可以用于预测,但在训练结束时,教师的预测更可能是正确的。带有未标记样本的训练步骤与此类似,但不应用分类损失。
与直接使用最终权重相比,在训练步骤中平均模型权重往往产生更精确的模型[19]。我们可以在训练中利用这一点来构建更好的目标。教师模型使用学生模型的EMA(指数平均)权重,而不是与学生模型共享权重。现在它可以在每一步而不是每一个epoch之后聚合信息。此外,由于权重平均值提高了所有层的输出,而不仅仅是顶部输出,因此目标模型具有更好的中间表示。与时间整合相比,这些方面带来了两个实际优势:第一,目标标签越精确,学生和教师模型之间的反馈回路就越快,从而获得更好的测试精度。第二,该方法适用于大数据集和在线学习。
更正式地,我们将一致性损失 定义为学生模型 (权重为 噪声为)预测和教师模型(权重为 噪声为)的预测之间的预期距离 ,
我们用表示训练时间t的连续EMA权重:
是平滑系数超参数。
我们可以通过在随机梯度下降的每个训练步骤采样噪声来近似一致性损失函数。在大多数实验中,我们使用均方误差(MSE)作为一致性损失。
3 Experiments
为了验证我们的假设,我们首先复制了TensorFlow[1]中的模型[13]作为我们的基线。然后,我们修改了基线模型,使用加权平均一致性目标。模型结构是一个13层卷积神经网络(ConvNet),包含三种噪声:输入图像的随机平移和水平翻转、输入层上的高斯噪声和网络中应用的dropout。我们使用均方误差作为一致性成本,并在前80个时期将其权重从0增加到其最终值。模型和培训程序的详细信息见附录B.1。
最近由Miyato等人出版的虚拟对抗训练版本。[16] 在1000个标签的SVHN和4000个标签的CIFAR-10上,表现甚至比普通教师还要好。如导言中所述,增值税和普通教师是免费的方法。它们的组合可能比单独使用其中任何一种都能获得更好的精度,但这项研究超出了本文的范围。
3.2 SVHN with extra unlabeled data
以上,我们建议教师对大数据集和在线学习有很好的适应能力。此外,SVHN和CIFAR-10的结果表明,它有效地使用了未标记的示例。因此,我们想测试一下我们的方法是否达到了极限。
除了原始训练数据外,SVHN还包括一个额外的531131个例子的数据集。我们从初级训练中挑选了500个样本作为我们标记的训练示例。我们将其余的初级训练集和额外的训练集一起用作未标记的示例。我们用Mean-Teacher和基线 模型进行了实验,并使用了0、100000或500000个额外的示例.表3显示结果。
3.3 Analysis of the training curves
图3中的训练曲线有助于我们理解使用平均值教师的效果。正如预期的那样,EMA加权模型(最下面一行的蓝色和深灰色曲线)在初始阶段后给出的预测比裸学生模型(橙色和浅灰色)更准确。
教师使用EMA加权模型提高半监督教学的效果设置。那里似乎是教师(蓝色曲线)通过一致性成本改善学生(橙色)和学生通过指数移动平均改善教师的良性反馈循环。如果这个反馈周期被分离,则学习速度会变慢,并且模型会更早地开始过拟合(深灰色和浅灰色)。
当标签少的时候,Mean Teacher会帮忙。当使用500个标签(中间一栏)时,意味着教师学习更快,并且在 模型停止改进后继续培训。另一方面,在所有标记的情况下(左栏),Mean Teacher和 模型的行为实际上是相同的。
3.4 Ablation experiments
为了评估模型各个方面的重要性,我们在SVHN上用250个标签进行了实验,一次改变一个或几个超参数,同时保持其他超参数不变。
但在加了Mean Teacher之后,还需要噪音吗?对。我们可以看到,无论是输入增强或dropout都有助于提高性能。另一方面,当使用增强时,输入噪声没有帮助。教师方面的dropout只比学生方面的dropout提供了边际效益,至少在有数据增广的情况下是这样。
图4:250标签SVHN在每个超参数设置四次运行时的验证错误及其平均值。在每个实验中,我们改变了一个超参数,其余的使用表1的评估运行超参数。评估运行中使用的超参数设置用粗体字体标记。详见正文。
**Sensitivity to EMA decay and consistency weight (Figures 4© and 4(d)).**Mean-Teacher算法的基本超参数是一致性代价权重和EMA衰减 。算法对它们的值有多敏感?我们可以看到,在每种情况下,好的值大约跨越一个数量级,而在这些范围之外,性能会迅速下降。注意,EMA decay 使模型成为 模型的一个变体,尽管它有点低效,因为梯度只通过学生路径传播。还要注意,在评估运行中,我们在ramp-up阶段使用EMA衰减a=0.99,其余训练使用a=0.999。我们选择这个策略是因为学生在训练初期进步很快,因此老师应该很快忘记旧的、不准确的学生体重。之后,学生的进步会减慢,老师也会从更长的记忆中受益。
**Decoupling classification and consistency (Figure 4(e)).**教师预测的一致性未必能很好地代表分类任务,特别是在训练早期。到目前为止,我们的模型通过对这两个任务使用相同的输出来实现这两个任务的强耦合。分离任务将如何改变算法的性能?**为了进行研究,我们将模型修改为有两个顶层并产生两个输出。然后我们训练一个输出进行分类,另一个进行一致性训练。**我们还添加了输出logits之间的均方误差损失,然后改变该损失的权重,从而允许我们控制耦合的强度。
个输出。然后我们训练一个输出进行分类,另一个进行一致性训练。**我们还添加了输出logits之间的均方误差损失,然后改变该损失的权重,从而允许我们控制耦合的强度。
在Laine&Aila[13]之后,我们使用均方误差(MSE)作为一致性成本函数,但KL发散似乎是更自然的选择。哪一个更好?结果是MSE效果更好。