[mean teacher笔记]Mean teachers are better role models

目录

Abstract

1 Introduction

2 Mean Teacher

3 Ablation experiments

论文地址

代码地址


Abstract

最近提出的时间集成在几个半监督学习基准中取得了先进的成果。它在每个训练示例上保持标签预测的指数移动平均值,并惩罚与此目标不一致的预测。然而,由于目标在每个时代只改变一次,当学习大型数据集时,时间集成变得笨拙。

为了克服这个问题,作者提出了mean teacher,一种平均模型权重而不是平均预测标签的方法。mean teacher提高了测试的准确性,并且能够使用比时间集成更少的标签进行训练。作者还证明了良好的网络架构对性能至关重要

1 Introduction

在mean teacher方法中,模型承担了教师和学生的双重角色。作为学生,它像以前一样学习;作为教师,它生成目标,然后作为学生使用这些目标进行学习。由于模型本身产生的目标,它们很可能是错误的。 如果对生成的目标赋予过多的权重,不一致的代价就会超过错误分类的代价,从而阻碍了新知识的学习。实际上,该模型存在确认偏差,这种风险可以通过提高目标的质量来减轻

至少有两种方法可以提高目标质量。一种方法是仔细选择表示的扰动,而不是仅仅应用噪声。另一种方法是仔细选择教师网络,而不是仅仅复制学生网络。

2 Mean Teacher

为了克服时间继承的缺陷,作者提出了平均模型权重的方法。因为教师模型是连续学生模型的平均值,所以作者称之为mean teacher方法。如下图所示:

[mean teacher笔记]Mean teachers are better role models_第1张图片

该图描述了带有单个标记示例的训练批次。学生和教师模型都在其计算中应用噪声(η,η‘)来评估输入。使用分类成本将学生模型的softmax输出与独热标签进行比较,使用一致性成本将学生模型的soft max输出与教师输出进行比较。在用梯度下降更新了学生模型的权重之后,教师模型权重被更新为学生权重的指数移动平均值。两种模型输出都可以用于预测,但是在训练结束时,教师的预测更有可能是正确的。除了不应用分类成本之外,具有未标记示例的训练步骤将是类似的。 

平均模型权重得出的结果往往比直接使用模型权重得出的结果要更加准确,我们可以在训练中利用好这一点来构建更好的模型。教师模型使用学生模型的EMA权重,而不是与学生模型共享权重。现在它可以在每一步之后聚合信息,而不是每个epoch。此外,由于权重平均改进了所有层的输出,而不仅仅是顶层的输出,因此目标模型具有更好的中间表示。这些方面导致了相对于时间集成的两个实际优势:首先,更准确的目标标签导致学生和教师模型之间更快的反馈循环,从而导致更好的测试准确性。第二,该方法适用于大型数据集和在线学习。

作者将一致性代价J定义为学生模型的预测结果(权重为θ,噪声η)与教师模型的预测结果(权重为\theta ^{​{}'},噪声\eta ^{​{}'})之间的期望距离。 

 设在t步连续权重\theta的EMA为\theta _{t}^{​{}'},则:

α是平滑系数超参数 。

3 Ablation experiments

[mean teacher笔记]Mean teachers are better role models_第2张图片

Removal of noise:(图4(a)和4(b))。作者提出了一个假设,即Π模型通过在两边的模型中添加噪声可以产生更好的预测。那么在mean teacher方法中,需要加入噪声吗?从图中可以看出无论是数据增强还是dropout都可以带来性能提升。但是当使用了数据增强的方法时,加入的噪声不能提升模型的性能。

Sensitivity to EMA decay and consistency weight(图4(c)和4(d))mean teacher的基本超参数是一致性成本权重和EMA衰减α。算法对它们的值有多敏感?我们可以看到,在每种情况下,好的值大约跨越一个数量级,在这些范围之外,性能会迅速下降。请注意,EMA decay α = 0使模型成为π模型的变体,尽管这种模型有些低效,因为梯度仅通过学生路径传播。还要注意,在评估运行中,我们在上升阶段使用EMA衰减α = 0.99,在其余训练阶段使用α = 0.999。我们选择这个策略是因为学生在训练的早期进步很快,因此老师应该很快忘记旧的、不准确的学生权重。后来,学生的进步放缓,老师受益于更长的记忆。

Decoupling classification and consistency (Figure 4(e))与教师预测的一致性不一定是分类任务的良好代理,尤其是在训练的早期。到目前为止,我们的模型通过对两个任务使用相同的输出,将这两个任务强耦合在一起。解耦任务会如何改变算法的性能?为了进行研究,我们将模型更改为具有两个顶层并产生两个输出。然后我们训练一个输出用于分类,另一个用于一致性。我们还在输出逻辑之间添加了均方误差成本,然后改变该成本的权重,从而允许我们控制耦合的强度。查看结果(使用EMA版本的分类输出报告),我们可以看到强耦合版本表现良好,而过于松散耦合的版本则表现不佳。另一方面,适度的分离似乎有利于使一致性增加变得多余。

Changing from MSE to KL-divergence (图 4(f)):作者使用均方误差(MSE)作为一致性成本函数,但KL-divergence似乎是一个更自然的选择。哪个效果更好?我们对范围从MSE(图中τ = 0)到KL-divergence (τ = 1)的成本函数族的实例进行了实验,并且发现在该设置中MSE比其他成本函数表现得更好。

论文地址:

https://arxiv.org/pdf/1703.01780.pdf

代码地址:

GitHub - CuriousAI/mean-teacher: A state-of-the-art semi-supervised method for image recognition

你可能感兴趣的:(论文,半监督学习,1024程序员节)