摘要
最近提出的Temporal Ensembling在几个半监督学习基准测试中取得了最先进的结果。它在每个训练样本上保持标签预测的指数移动平均,并惩罚与该目标不一致的预测。然而,由于目标只在每个epoch变化一次,当学习大型数据集时,Temporal Ensembling变得笨重。为了克服这个问题,我们提出了Mean Teacher,一种对模型权重进行平均而不是对标签预测的方法。作为额外的好处,Mean Teacher提高了测试准确性,并使得在比Temporal Ensembling更少的标签下进行训练成为可能。在不改变网络架构的情况下,Mean Teacher在SVHN数据集上使用250个标签实现了4.35%的错误率,优于使用1000个标签训练的Temporal Ensembling。我们还展示了良好的网络架构对性能至关重要。将Mean Teacher和残差网络相结合,我们将CIFAR-10数据集上使用4000个标签的最先进水平从10.55%提高到6.28%,并将ImageNet 2012数据集上使用10%的标签的错误率从35.24%降低到9.11%。
1.引言
深度学习在图像和语音识别等领域取得了巨大的成功。为了学习有用的抽象表示,深度学习模型需要大量的参数,这使得它们容易过拟合(图1a)。此外,手动向训练数据添加高质量标签通常是昂贵的。因此,在半监督学习中使用有效利用未标记数据的正则化方法来减少过拟合是可取的。
当感知被轻微改变时,人类通常仍然认为它是同一个对象。相应地,分类模型应该倾向于给出相似数据点的一致输出。实现这一目标的一种方法是向模型输入添加噪音。为了使模型学习更抽象的不变性,噪声可以添加到中间表示,这一观点激发了许多正则化技术,如Dropout [28]。正则化模型不是在输入空间的零维数据点上最小化分类成本,而是在每个数据点周围的流形上最小化成本,从而将决策边界推离标记的数据点(图1b)。
由于对于未标记的示例,分类损失是未定义的,单独的噪声正则化并不能帮助半监督学习。为了克服这一问题,Γ模型[21]对每个数据点进行有噪声和无噪声的预测,并应用两个预测之间的一致性成本。在这种情况下,模型扮演了一个双重角色,既是教师又是学生。作为学生,它像以前一样学习;作为教师,它生成目标,然后自己用作学生来学习。由于模型本身生成目标,它们可能是不正确的。如果赋予生成的目标太多权重,则不一致性的代价会超过误分类的代价,阻止新信息的学习。实际上,该模型遭受确认偏差(图1c),这是一种可以通过提高目标质量来缓解的危险。
这里有一个二元分类任务的草图,其中包含两个已标记的示例(大蓝点)和一个未标记示例,展示了未标记目标选择(黑色圆圈)如何影响拟合函数(灰色曲线)的情况。 (a) 一个没有正则化的模型可以拟合任何能够很好预测已标记训练示例的函数。(b) 通过噪声标记数据(小点)训练的模型学会在已标记数据点周围给出一致的预测。(c) 在未标记示例周围的一致性对噪声提供额外平滑。为了说明清晰,在教师模型(灰色曲线)首先拟合已标记示例,然后在学生模型训练过程中保持不变。为了清晰起见,我们将在图d和e中省略小点。(d) 在教师模型上的噪声降低了目标的偏差,而无需额外训练。随机梯度下降的预期方向是朝着各个噪声目标的均值(大蓝圆)方向前进。(e) 一组模型提供了更好的预期目标。时序集成和平均教师方法都使用这种方法。
有至少两种方法可以提高目标质量。一种方法是仔细选择表示的扰动,而不是简单地应用加性或乘性噪声。另一种方法是仔细选择教师模型,而不是简单地复制学生模型。与我们的研究同时进行,Miyato等人[16]采用了第一种方法,并显示虚拟对抗训练可以产生令人印象深刻的结果。我们采用了第二种方法,并将展示它也带来了显著的好处。据我们理解,这两种方法是兼容的,它们的结合可能会产生更好的结果。然而,对它们组合效果的分析超出了本文的范围。
因此,我们的目标是在不进行额外训练的情况下,从学生模型中形成一个更好的教师模型。首先考虑到,模型的softmax输出通常无法在训练数据之外提供准确的预测。这可以通过在推断时向模型添加噪声来部分缓解[4],因此,一个带有噪声的教师模型可以产生更准确的目标(图1d)。这种方法在伪集成协议[2]中被使用,并且最近已经证明在半监督图像分类[13, 23]中表现良好。Laine & Aila [13]将该方法命名为Π模型;我们将沿用这个名称,并以他们的版本作为我们实验的基础。
Π模型可以通过时序集成[13]进一步改进,其包含每个训练示例的指数移动平均(EMA)预测。在每个训练步骤中,该小批量中所有示例的EMA预测都会根据新的预测进行更新。因此,每个示例的EMA预测由模型的当前版本和之前评估相同示例的早期版本组成的集成所形成。这种集成提高了预测的质量,并将它们用作教师预测可以改善结果。然而,由于每个目标每次迭代只更新一次,学到的信息以缓慢的速度纳入训练过程中。数据集越大,更新的跨度越长,在在线学习的情况下,时序集成如何使用尚不清楚。(可以定期对所有目标进行多次评估,但保持评估跨度恒定将需要每个时代 O() 次评估,其中 n 是训练示例的数量。)
2.Mean Teacher
为了克服时序集成的局限性,我们提出了一种权重平均而非预测平均的方法。由于教师模型是连续学生模型的权重平均值,我们将其称为Mean Teacher方法(图2)。在训练步骤中对模型权重进行平均往往比直接使用最终权重产生更准确的模型[19]。我们可以利用这一点,在训练过程中构建更好的目标。教师模型不再与学生模型共享权重,而是使用学生模型的EMA权重。现在它可以在每个步骤之后聚合信息,而不仅仅是每次迭代。此外,由于权重平均改善了所有层的输出,而不仅仅是顶层输出,目标模型具有更好的中间表示。这些方面相比于时序集成具有两个实际优势:第一,更准确的目标标签导致学生模型和教师模型之间的反馈循环更快,从而提高了测试准确性。第二,该方法适用于大规模数据集和在线学习。
图2:Mean Teacher方法。该图描述了一个包含单个标记示例的训练批次。学生模型和教师模型都在计算过程中应用噪声(η,)对输入进行评估。学生模型的softmax输出与独热标签使用分类损失进行比较,并与教师输出使用一致性损失进行比较。在使用梯度下降更新了学生模型的权重之后,教师模型的权重会作为学生权重的指数移动平均进行更新。两个模型的输出都可以用于预测,但在训练结束时,教师的预测更有可能是正确的。使用未标记示例的训练步骤类似,只是不应用分类损失。
更正式地,我们将一致性成本 J 定义为学生模型(具有权重θ和噪声η)的预测与教师模型(具有权重和噪声
)的预测之间的期望距离。
Π模型、时间集成和均值教师之间的区别在于教师预测是如何生成的。而Π模型使用= θ,时间集成则利用连续预测的加权平均来近似f(x,
,
),我们将训练步骤t时的
定义为连续θ权重的指数移动平均(EMA)。
其中α是一个平滑系数超参数。三种算法之间的另一个区别是Π模型将训练应用于,而时间集成和均值教师在优化过程中将其视为常数。
我们可以通过使用随机梯度下降在每个训练步骤中对噪声η和进行采样,从而近似一致性成本函数 J。根据Laine和Aila [13]的方法,在我们的大部分实验中,我们使用均方误差(MSE)作为一致性成本。
3.实验
为了验证我们的假设,我们首先在 TensorFlow [1] 中复制了Π模型[13]作为我们的基线。然后,我们修改了基线模型,以使用加权平均的一致性目标。模型架构是一个包含13层卷积神经网络(ConvNet),具有三种类型的噪声:输入图像的随机平移和水平翻转、输入层的高斯噪声以及网络内的dropout。我们使用均方误差作为一致性成本,并在前80个epoch期间逐渐增加其权重值,从0逐渐增加至最终值。模型和训练过程的详细信息请参见附录 B.1。
3.1在SNVH和CIAFR-10上和其他模型比较
我们在使用了街景房屋数字(SVHN)和CIFAR-10基准数据集[17]进行实验。这两个数据集包含属于十个不同类别的32x32像素RGB图像。在SVHN中,每个示例是房屋号码的特写,类别代表图像中心数字的身份。在CIFAR-10中,每个示例是属于类别如马、猫、汽车和飞机等的自然图像。SVHN包含73257个训练样本和26032个测试样本。CIFAR-10包含50000个训练样本和10000个测试样本。
表1:在进行10次运行时(使用所有标签时为4次运行)的SVHN错误率百分比。在评估所有我们的模型时,我们使用指数移动平均权重。所有方法都使用类似的13层ConvNet架构。请参阅附录中的表5,了解没有输入增强时的结果。
表1和表2将结果与最近的最先进方法进行了比较。比较中的所有方法都使用类似的13层ConvNet架构。均值教师在半监督SVHN任务中提高了测试精度,优于Π模型和时间集成。均值教师还改善了在CIFAR-10上的结果,超过了我们的基线Π模型。
Miyato等人最近发表的虚拟对抗训练(Virtual Adversarial Training)[16]版本,在1000个标签的SVHN和4000个标签的CIFAR-10上表现甚至优于均值教师。正如引言中所讨论的,VAT和均值教师是互补的方法。它们的组合可能会比单独使用任何一个方法都能获得更高的准确性,但这一调查超出了本文的范围。
3.2 SVHN带有额外的未标记数据
前面我们提到均值教师在大型数据集和在线学习上的扩展性良好。此外,SVHN和CIFAR-10的结果表明它有效地利用了未标记的示例。因此,我们想测试一下是否我们已经达到了方法的极限。
除了主要的训练数据外,SVHN还包括一个额外的包含531131个示例的数据集。我们从主要训练集中挑选了500个样本作为我们的标记训练示例。我们将剩余的主要训练集以及额外的训练集一起用作未标记示例。我们使用了均值教师和我们的基准Π模型进行实验,并使用了0、100000或500000个额外示例。表3显示了结果。
3.3训练曲线分析
图3上的训练曲线帮助我们理解使用均值教师的效果。如预期,EMA加权模型(底部行的蓝色和深灰色曲线)在初始阶段之后比纯学生模型(橙色和浅灰色)给出更准确的预测。
在半监督设置中,使用EMA加权模型为教师可以改善结果。似乎存在一个良性反馈循环,即教师(蓝色曲线)通过一致性成本改进学生(橙色),学生通过指数移动平均改进教师。如果这种反馈循环被切断,学习速度会变慢,模作型会更早开始过拟合(深灰色和浅灰色)。
均值教师在标签稀缺时起到帮助作用。当使用500个标签(中间列)时,均值教师学习速度更快,并且在Π模型停止改进后继续训练。另一方面,在所有标记的情况下(左列),均值教师和Π模型的行为几乎相同。
均值教师比Π模型更有效地利用未标记的训练数据,这在中间列中可以看出。另一方面,使用额外的50万个未标记示例(右列),Π模型的改进持续时间更长。均值教师学习速度更快,最终收敛到更好的结果,但巨大的数据量似乎抵消了Π模型预测较差的影响。
3.4消融实验
为了评估模型各个方面的重要性,我们在SVHN数据集上进行了实验,使用250个标签,在保持其他参数不变的情况下,逐一或逐几个改变超参数。
去噪(图4(a)和4(b))。在引言和图1中,我们提出了Π模型通过对模型两侧添加噪声产生更好预测的假设。但在添加均值教师后,是否仍需要噪声呢?答案是肯定的。我们可以看到,输入增强或dropout对于可接受的性能是必要的。另一方面,在使用数据增强时,输入噪声并没有帮助。至少在使用输入增强时,教师端的dropout只提供了微小的好处。
EMA衰减和一致性权重的敏感性(图4(c)和4(d))。均值教师算法的关键超参数是一致性成本权重和EMA衰减α。算法对它们的值有多敏感?我们可以看到,在每种情况下,良好的值大致跨越一个数量级,在这些范围之外,性能会迅速降低。请注意,EMA衰减α = 0使模型成为Π模型的一种变体,尽管它有些低效,因为梯度仅通过学生路径传播。还要注意,在评估过程中,我们在启动阶段使用了EMA衰减α = 0.99,其余时间使用α = 0.999。我们选择这个策略是因为学生在训练早期很快改进,因此教师应该快速忘记旧的,不准确的学生权重。后来,学生的改进放缓,教师从更长的记忆中受益。
解耦分类和一致性(图4(e))。教师预测的一致性可能不一定是分类任务的良好代理,特别是在训练早期。到目前为止,我们的模型通过使用相同的输出来强烈耦合这两个任务。如果解耦这两个任务,算法的性能会如何改变?为了进行研究,我们改变了模型,使其具有两个顶层并产生两个输出。然后,我们将其中一个输出用于分类,另一个输出用于一致性。我们还在输出对数概率之间添加了均方差损失,并改变了该损失的权重,以控制耦合的强度。观察结果(使用分类输出的EMA版本报告),我们可以看到,强耦合版本表现良好,而耦合太松散的版本则表现不佳。另一方面,适度的解耦似乎有助于使一致性的逐渐增强变得多余。
改用KL散度代替均方差(Figure 4(f))。遵循Laine&Aila [13]的方法,我们将均方差(MSE)作为我们的一致性成本函数,但KL散度似乎是一个更自然的选择。哪一个效果更好?我们对成本函数族的实例进行了实验,范围从均方差(图中的τ = 0)到KL散度(τ = 1),发现在这种设置下,均方差的表现优于其他成本函数。有关成本函数族的详细信息以及我们为什么认为均方差表现出色,请参见附录C。
3.5在CIFAR-10和ImageNet上使用带有残差网络的均值教师模型
在上述实验中,我们使用了传统的13层卷积神经网络结构(ConvNet),这使得与早期工作的比较变得容易。为了探索模型架构的影响,我们在CIFAR-10数据集上使用了具有12个块(26层)的残差网络[8](ResNet)和Shake-Shake正则化[5]进行实验。模型的详细信息和训练过程描述在附录B.2中。如表4所示,使用更好的网络架构,结果有明显的提高。
为了测试方法是否适用于更自然的图像,我们使用了Imagenet 2012数据集[22]的10%标签进行实验。我们使用了一个50块(152层)的ResNeXt架构[33],并看到了比现有技术的明显改进。由于测试集不公开,我们使用验证集来衡量结果。
4.相关工作
噪声正则化神经网络是由Sietsma&Dow [26]提出的。最近,已经证明了几种类型的扰动能够有效地对深度学习中的中间表示进行正则化。对抗训练[6]会轻微改变输入,以使预测尽可能与原始预测不同。Dropout [28]会将层输出的随机维度归零。Dropconnect [31]通过将个别权重归零而不是激活来推广Dropout。随机深度[11]会删除残差网络的整个层,而Swapout [27]则是对Dropout和随机深度的推广。摇摇正则化[5]会复制残差路径,并在前向和后向传递期间独立地对它们的输出进行线性组合采样。
几种半监督方法基于训练模型预测与扰动一致。去噪源分离框架(DSS)[29]使用对潜在变量的去噪来学习它们的似然估计。Ladder Network的Γ变种[21]实现了用于分类任务的DSS深度学习模型。它生成了带有噪声的学生预测和干净的教师预测,并应用去噪层从学生预测中预测教师预测。Π模型 [13]通过去除显式的去噪层,并对教师预测也施加噪声,改进了Γ模型。类似的方法早在线性模型[30]和深度学习[2]中就已经被提出。虚拟对抗训练[16]类似于Π模型,但使用对抗性扰动代替独立噪声。
教师模型训练学生模型的想法涉及到模型压缩[3]和蒸馏[9]。复杂模型的知识可以通过用复杂模型的softmax输出来训练简单模型来进行转移。softmax输出包含关于任务的更多信息,而需要表示这种知识的要求会对简单模型进行正则化。除了在模型压缩中的应用外,蒸馏还可以用来使训练过的模型更加抵抗对抗性攻击[18]。蒸馏和一致性正则化之间的区别在于,蒸馏是在训练之后进行的,而一致性正则化是在训练时进行的。
5.结论
最近,时间集成、虚拟对抗训练和其他形式的一致性正则化在半监督学习中展现出了强大的能力。在这篇论文中,我们提出了"Mean Teacher"方法,它通过平均模型权重来形成一个生成目标的教师模型。与时间集成不同,"Mean Teacher"适用于大型数据集和在线学习。我们的实验证明,它提高了学习速度和训练网络的分类准确度。此外,它在最先进的架构和大尺寸图像上也表现出良好的可扩展性。
一致性正则化的成功取决于教师生成目标的质量。如果可以改善这些目标,就应该这样做。"Mean Teacher"和虚拟对抗训练代表了利用这一原则的两种方法。它们的结合可能会产生更好的目标。很可能还有其他未被发现的方法,可以进一步改善目标和训练模型。