项目 | 内容 |
---|---|
论文名 | Mean teachers are better role models:Weight-averaged consistency targets improvesemi-supervised deep learning results |
作者 | Antti Tarvainen,Harri Valpola |
主要内容 | 提出对Temporal Ensembling的改进方法,对模型的权重进行平均,而不是对预测标签进行平均 |
发表时间 | 2017年 |
Abstract
Temporal Ensembling对每个训练样本的预测标签进行指数滑动平均(EMA),并惩罚与这个目标不一致的预测,得到了SOTA的结果。但是目标每一代仅改变一次,当学习较大的数据集时Temporal Ensembling变得笨拙。
作者提出Mean Teacher方法来解决上述问题。Mean Teacher方法对模型的权重而不是预测标签进行平均,获得了准确性的提升。
Introduction
深度学习模型需要大量的参数去学习有用的特征抽象,这使得他们容易产生过拟合。然而,手工添加高质量标签的成本是非常高的。因此,需要在半监督学习中使用正则化方法有效利用未标记的数据去减小过拟合效应。
当一个被感知的对象轻微改变,人类依然能够认为它是同样的对象。所以分类模型应该能够对相似数据点有一致的输出。正则化方法就是在为了在输入数据上添加噪声,使模型学习到这种不变性。
因为无标签样本的分类损失无法定义,噪声本身的正则化在半监督学习中不能提供帮助。为了克服这个问题, Γ \Gamma Γ模型对每个数据点包含噪声和不包含噪声的情况进行评估,在它们之间应用了一个一致性损失(consistency cost)。模型假定了一对角色:老师和学生。学生像以前一样学习;老师生成标签,并将这些标签用于学生的训练。由于标签是模型自己生成的,所以它有很大可能是不对的,这就影响模型提升精度,需要通过提升标签的质量来优化。
有至少两种方法提升标签的质量。一种是更精心的选择表示的扰动,而不是仅仅使用加性和乘性噪声。另一种方法是更精心的选择教师模型,而不是仅仅复制学生模型。对于第一种方法,有人已经提出了Virtual Adversarial Training。作者研究第二种方法,作者表示这两种方法并不冲突,是可以结合的,但是不在改论文的讨论范围之内。
Π \Pi Π model在推理时对模型加入噪声,减轻了模型对无标签数据产生错误预测标签的情况,一个加入了噪声的教师模型可以产生更精确的目标。
Π \Pi Π model的升级版是Temporal Ensembling,它对每一个训练样本维持了一个指数滑动平均。每个训练步骤,这个批次中样本的EMA预测值将通过新的预测值更新。但每个目标在每一代只被更新一次,更新速度较慢。并且越大的数据集,更新越慢。
Mean Teacher的具体实现方法
作者提出对模型的权重而不是预测值进行平均来克服Temporal Ensembling的局限性,这样就可以在每一个训练步骤之后对学习到的信息进行整合,而不是在每一代之后。并且,因为权重平均改进了每一层的输出,而不仅仅是最高层的输出,所以最终的模型有着更好的中间层表示。
比起Temporal Ensembling,Mean Teacher的改变带来了两个优点:第一,越准确的目标标签使得学生和教师模型之间的反馈环循环更快,可获得更好的测试准确性;第二,方法可以被用在大数据集和在线学习中去。
一致性损失(consistency cost)
J
J
J 被定义为学生模型的预测(包含权重
θ
\theta
θ和噪声
η
\eta
η)和教师模型的预测(包含权重
θ
′
\theta'
θ′和噪声
η
′
\eta'
η′)之间的期望距离(这里作者使用的是均方误差MSE)。
Π
\Pi
Π model、Temporal Ensembling和Mean Teacher之间的不同就在于教师预测的生成方法。
Π
\Pi
Π model使用
θ
′
=
θ
\theta'=\theta
θ′=θ,即教师模型完全复制学生模型;Temporal Ensembling使用对连续的每一代预测值的加权平均来近似
f
(
x
,
θ
′
,
η
′
)
f(x,\theta',\eta')
f(x,θ′,η′);作者定义
θ
t
′
\theta_t'
θt′来表示第
t
t
t个训练步骤的权重,它是连续的每一代的
θ
\theta
θ权重的指数滑动平均(EMA):
这里的
α
\alpha
α是一个超参数‘平滑系数’。
另外一点不同是,
Π
\Pi
Π model会对
θ
′
\theta'
θ′进行训练,而Temporal Ensembling和Mean Teacher会在优化时把它视为常数。
Mean Teacher的整体框架如下图所示:
对一幅有标记的输入图像来说,它会分别被送入学生模型和教师模型中去,两个模型会分别对输入图像添加噪声
η
\eta
η和
η
′
\eta'
η′。学生模型的输出会与真实的标签一起计算分类损失,并与教师模型的输出一起计算一致性损失,最后将这两部分损失通过加权和合并在一起。之后通过梯度下降法更新学生模型,通过EMA来更新教师模型。
对于无标记的样本来说,整个过程是类似的,唯一不同在于无标记样本的训练过程没有分类损失。