弱监督学习--半监督学习(3):Mean teachers are better role models

前言

论文链接:https://arxiv.org/pdf/1703.01780.pdf
github:https://github.com/CuriousAI/mean-teacher
Mean Teacher 模型是由芬兰的一家AI初创公司在2018年提出,该模型是在 Temporal ensembling Model 的基础上发展而来,其核心出发点仍然是一致性正则。希望使用利用未标记数据的正则化方法,有效减少在半监督学习中的过度适应。

Mean Teacher 模型主要想解决 Temporal ensembling Model 的一个突出问题,即无标签数据的信息只能在下一次 epoch 时才能更新到模型中。由此带来两个问题:

  • 大数据集下,模型更新缓慢;
  • 无法实现模型的在线训练;

这一模型的核心思想是:

模型既充当学生,又充当老师。作为老师,用来产生学生学习时的目标;作为学生,则利用教师模型产生的目标来进行学习。而教师模型的参数是由历史上(前几个step)几个学生模型的参数经过加权平均得到。

介绍

当输入的数据有一个微小的抖动的时候,人类基本可以认为是用一类物体,相应的分类模型应该能够对相似的数据提供一直输出的函数。实现这一目标的一种方法是向模型的输入添加噪声,为了能够使模型学习到更抽象的特征,噪声通常被添加到中间环节中。由此促使了很多正则化的方法例如Dropout。

由于对于未标记的示例未定义分类成本,因此噪声正则化本身不利于半监督学习。为了解决这一问题 ΓΓ model计算了每个数据点和噪声,然后计算了两个预测之间的consistency cost。在这种情况下,模型假设了Teacher和Student的两个角色。一个作为一个Student,它像以前一样学习;另一个作为一个Teacher,它产生目标,然后被作为学习的Student使用。由于模型本身产生目标,它们很可能是不正确的。如果给生成的目标赋予太多的权重,则不一致性的代价要大于错误分类的代价,从而阻碍了对新信息的学习。实际上,这种confirmation bias可能会使得模型的效果变差,但是这种危险可以通过提高目标的质量而得到缓解的。
弱监督学习--半监督学习(3):Mean teachers are better role models
带有两个标记示例(大蓝点)和一个未标记的示例,展示了未标记目标(黑色圆圈)的选择如何影响拟合函数(灰色曲线)
(a)没有正则化的模型*拟合任何预测标注的训练
(b)用噪声标签数据(小点)训练的模型学会围绕标记的数据点给出一致的预测
©模型本身产生目标,它们很可能是不正确的。如果给生成的目标赋予太多的权重,则不一致性的代价要大于错误分类的代价,从而阻碍了对新信息的学习。
(d)给予教师模型噪声误差在没有额外训练的条件下可以目标的偏差,预期的梯度下降方向是向单个噪声的平均值方向下降
(e)模型的集合给出了更好的预期目标

提高目标质量至少有两种方法

  • 一种方法是选择在representations上加扰动,但这并不仅仅是直接加加性或乘性的噪声。
  • 另一种方法是选择一个Teacher Model,而不是简单地复制Student Model

虚拟对抗训练(Virtual Adversarial Training)采用第一种方法并且可以产生令人印象深刻的结果。论文采取第二种方法,也表明它也提供了显著的效果。据论文所知,这两种方法是兼容的,它们的组合可能产生更好的结果。然而,对它们的综合影响的分析不在本文的讨论范围之内。

论文的目标是在没有额外训练的情况下,从Student Model中形成一个更好的Teacher Model。

Mean Teacher

这一模型的核心思想是:

模型既充当学生,又充当老师。作为老师,用来产生学生学习时的目标;作为学生,则利用教师模型产生的目标来进行学习。而教师模型的参数是由历史上(前几个step)几个学生模型的参数经过加权平均得到。
弱监督学习--半监督学习(3):Mean teachers are better role models
本文采用两个网络进行训练,连个网络模型结构一样,分别命名为teacher,student网络。student网络参数根据损失函数梯度下降法更新得到;teacher网络参数通过student网络的参数迭代得到。

训练数据:

有标签样本x1,y1,以及无标签样本x2.

训练策略:

将有标签数据x1,y1输入student,从而计算loss1.

将无标签数据x2输入student,从而计算得到label1

将无标签数据x2输入teacher,从而计算得到label2

我们希望两个网络的预测标签尽量相等,因此根据lable1,label2得到损失函数loss2.

根据loss=loss1+loss2更新student网络。

在每个step中,更新student网络参数后,再利用student网络的参数更新teacher网络参数,

因此,Mean Teacher 模型的目标函数的第二项为:
弱监督学习--半监督学习(3):Mean teachers are better role models
其中,模型参数 θ 的更新方式为:
弱监督学习--半监督学习(3):Mean teachers are better role models
注意,当 α=0 时,Mean Teacher 模型与 ΠΠ 模型在形式上等价;

由此可知,Mean Teacher 模型与 temporal ensembling 模型相比,主要区别及优势是:

  • 在 temporal ensembling 中,无标签数据的目标标签来自模型前几个epoch预测结果的加权平均。而在 Mean Teacher 中,无标签数据的目标标签来自 teacher 模型的预测结果。
  • 由于是通过模型参数的平均来实现标签预测,因此在每个step都可以把无标签中的信息更新到模型中,而不必像 temporal ensembling 模型需要等到一个 epoch 结束再更新。这一特点使得这一算法可以用在大数据集以及在线模型上。

接下来看一下实验结果:
弱监督学习--半监督学习(3):Mean teachers are better role models
上图是在 SVHN 数据集上的实验结果,有几点重要结论:

  • 随着标签数据的逐步减少,Mean Teacher 技术相对于纯监督模型带来的提升越来越显著,最佳情况下可以实现 22 个百分点的提升;
  • 对比完整标签集和250个标签集的情况,Mean Teacher 技术仅仅利用了不到 1% 的标签数据,就实现了 4.3 的错误率,仅比全标签集低 2 个百分点,这一点在数据标注昂贵的场景下很有价值。
  • 与其他技术方案相比,在某些情况下,Mean Teacher 技术 没有 VAT 的方案表现优秀。对于这一点,论文作者也提到,由于两个方案切入维度不同,因而二者完全可以互补,从而带来更大的模型提升。