了解称为平均教师的半监督技术

机器算法验证 机器学习 神经网络 深度学习 半监督学习
2022-04-06 14:07:08

我试图理解本文中描述的应用半监督学习。

描述本文中描述的最终配方:

  1. 采用受监督的架构并复制它。让我们称原始模型为学生,新模型为老师。

  2. 在每个训练步骤中,使用相同的小批量作为学生和教师的输入,但分别向输入添加随机增强或噪声。

  3. 在学生和教师输出之间增加额外的一致性成本(在 softmax 之后)。

  4. 让优化器正常更新学生的权重。

  5. 让教师权重为学生权重的指数移动平均值 (EMA)。也就是说,在每个训练步骤之后,将教师权重向学生权重更新一点。

我想特别了解这个数字:

在此处输入图像描述

我对它的理解是:

我们有两个示例(DL1、DL2)(大蓝点)。Y 轴 = 第 2 类的预测概率,X 轴 = 特征。基于阈值集,图像的蓝色一半是第 1 类,粉色一半是第 2 类。

(a) 模型 (Ma) 正在学习将介于 DL1 和 DL2 之间的数据点分类为负类,这是我们不想要的

(b) 我们通过向 DL1 和 DL2 添加噪声来创建新点(小蓝点)来扩充数据集。我们将第 1 类分配给这些新数据点,现在当我们训练模型 (Mb) 时,它学会了在 DL1 和 DL2 周围有些非变异,以便预测小蓝点的第 1 类

(c) 一个未标记的示例 DU1 已进入图片。模型 (Mc1) 将其预测为第 1 类,但在第 1 类和第 2 类之间的边界附近。Mc1 = 细尖的灰色曲线。现在,我们通过向未标记的 DU1 添加噪声来扩充数据集,并创建未标记的数据点(小黑点)并训练模型(Mc2),并在噪声未标记数据点的预测和DU1。现在,它学会了在曲线顶部有一个平滑的边界,而不是它之前学习的尖曲线。Mc2 = 粗灰色曲线。DU1 仍然在预测边界附近进行预测。为什么这个模型比(b)中的模型好?

(d)没有得到它。请解释

(e)没有得到它。请解释

1个回答

我会回答它,以防有人偶然发现需要理解相同的问题。我给这篇论文的作者 Antti Tarvainen 发了邮件,他是这样回复的:

你好,

感谢您的提问。我可能试图在这个数字中包含太多内容,因此可能很难解释我们的意思。我会尽力澄清。

(a) 模型 (Ma) 正在学习将介于 DL1 和 DL2 之间的数据点分类为负类,这是我们不想要的

差不多吧。碰巧的是,该模型实际上可能已经准确地学习了我们试图建模的真实功能。(真正的函数是指我们试图建模的实际现实世界现象。它通常被称为目标函数,但在这种情况下会令人困惑。)但这不太可能,因为有无限数量的替代函数适合数据。因此,我们想要正则化,即使模型更有可能学习可能的真实函数。以下四个子图试图解释基于噪声和一致性的正则化方案(例如均值教师)如何执行有用的正则化。

(b) 我们通过向 DL1 和 DL2 添加噪声来创建新点(小蓝点)来扩充数据集。我们将第 1 类分配给这些新数据点,现在当我们训练模型 (Mb) 时,它学会了在 DL1 和 DL2 周围有些非变异,以便预测小蓝点的第 1 类

是的。

(c) 一个未标记的示例 DU1 已进入图片。模型 (Mc1) 将其预测为第 1 类,但在第 1 类和第 2 类之间的边界附近。Mc1 = 细尖的灰色曲线。现在,我们通过向未标记的 DU1 添加噪声来扩充数据集,并创建未标记的数据点(小黑点)并训练模型(Mc2),并在噪声未标记数据点的预测和DU1。现在,它学会了在曲线顶部有一个平滑的边界,而不是它之前学习的尖曲线。Mc2 = 粗灰色曲线。DU1 仍然在预测边界附近进行预测。为什么这个模型比(b)中的模型好?

对,那是正确的。(很抱歉标题中的“灰色曲线”很模糊,恭喜您解读正确。细曲线是老师,粗曲线是学生。)

我真的应该画出两个像(c)(和(b)一样)的图形:一个模型恰好是“幸运”的,另一个模型恰好是“不幸”的。事实上,我只画了一个倒霉的(c),这让人很困惑。运气不好会激发(d)和(e),但是(c)确实比(b)更糟糕。

(c)非常不走运的原因是它恰好在未标记示例所在的位置达到峰值。如果它在其他地方达到峰值,则未标记数据点周围的噪声会平滑该峰值,并使其更接近未标记数据点的预测以及真实值。

所以有时a(c)比a(b)好,有时更差。我们不想依赖运气,这激发了(d)和(e)。

(d)没有得到它。请解释

在 (c) 中,我们很不走运,因为我们碰巧选择了最糟糕的目标。我们不想倒霉,所以我们对目标预测进行了多次采样。我们也通过在教师输入中添加噪声来做到这一点。然后,模型学习将围绕未标记数据点的预测平滑到该邻域中的预期预测。与任何单个预测相比,预期的预测噪声较小,并且可能是更好的目标。

(e)没有得到它。请解释

在 (d) 中,我们通过对每个未标记数据点的邻域进行平均来减少目标噪声(因此在输入维度的空间中)。但是模型参数中也存在噪声。我们可以通过对模型参数进行平均来减少对运气的依赖。平均教师这样做的方式是通过对训练步骤中的模型参数进行平均。

(可以说,dropout 也会给模型参数增加噪声,因此是改进预期模型估计的另一种方式。但在本文中,我们认为它是一种输入噪声,而不是参数噪声。)

我希望这能澄清它。