【论文阅读】Dual Student: Breaking the Limits of the Teacher in Semi-supervised Learning

DualStudent是一种半监督学习方法,通过引入第二个学生模型替代教师模型并定义稳定约束,解决了传统方法中的性能瓶颈问题。该方法提出了稳定样本的概念,并定义了稳定损失函数,使知识在两个独立的学生模型间更高效地传递。
摘要由CSDN通过智能技术生成

《Dual Student: Breaking the Limits of the Teacher in Semi-supervised Learning》

1. 摘要

最近,基于一致性的方法在半监督学习(SSL)中取得了最先进的结果。这些方法总是涉及两个角色,显式或隐式教师模型和学生模型,并通过一致性约束来惩罚不同扰动下的预测。然而,这两个角色的权重是紧密耦合的,因为老师本质上是学生的指数移动平均线 (EMA)。在这项工作中,我们表明耦合的 EMA 教师会导致性能瓶颈。为了解决这个问题,我们引入了 Dual Student,它用另一个学生代替了老师。我们还定义了一个新概念,稳定样本,然后为我们的结构设计了一个稳定约束,使其可训练。此外,我们讨论了我们方法的两种变体,它们产生了更高的性能。

Notice:

  1. 这篇论文是基于Mean Teacher进行改进的。
  2. 本文表达在原有的Mean Teacher中,Teacher和Student两个模型是耦合在一起的,随着epoch的增加,会导致瓶颈。
  3. 本文的贡献,就是提出两个独立模型参与训练,因为是独立的,所以提出稳定约束来约束知识在两个模型之间的传输。

2. 算法描述

在这里插入图片描述

看懂Loss函数的定义,就看懂了方法。本次的介绍采用自顶向下的顺序。
L i = L c l s i + λ 1 L c o n i + λ 2 L s t a i \mathcal{L}^i = \mathcal{L}^i_{cls}+\lambda_1\mathcal{L}^i_{con}+\lambda_2\mathcal{L}^i_{sta} Li=Lclsi+λ1Lconi+λ2Lstai

其中,总体损失可以分为三个部分:

  • L c l s i \mathcal{L}^i_{cls} Lclsi有监督损失
  • L c o n i \mathcal{L}^i_{con} Lconi一致性损失,模型针对扰动是否稳定
  • L s t a i \mathcal{L}^i_{sta} Lstai 稳定损失,也是本文的主要贡献

值得注意的是,稳定损失的设定是为了可靠的经验在两个模型之间流动。其中主要涉及到两个问题:

  1. 怎样才是可靠的?
  2. 经验如何流动?

2.1 怎样才是可靠的?

Definition 4.1 (Stable sample). Given a constant ξ ∈ [ 0 , 1 ) \xi \in [0, 1) ξ[0,1),
a dataset D ⊆ R m \mathcal{D} \subseteq \mathbb{R}^m DRm that satisfies the smoothness assumption
and a model f : D → [ 0 , 1 ] n f : \mathcal{D} \rightarrow [0, 1]^n f:D[0,1]n that satisfies ∥ f ( x ) ∥ 1 = 1 \|f(x)\|_1 = 1 f(x)1=1 for
all x ∈ D x \in \mathcal{D} xD, x x x is a stable sample with respect to f f f if:

  1. ∀ x ‾ ∈ D \forall \overline{x} \in \mathcal{D} xD near x x x, their predicted labels are the same.
  2. x x x satisfies the inequality: ∥ f ( x ) ∥ ∞ > ξ \|f(x)\|_{\infty} > \xi f(x)>ξ .

上面的只是定义,在实际的数据集上如何计算呢?

R x i = { P x i = P x ‾ i } & ( { M x i > ξ } 1 ∥ { M x ‾ i > ξ } 1 ) , where M x i = ∥ f ( θ i , x ) ∥ ∞ (1) \mathcal{R}^i_x = \{\mathcal{P}^i_x = \mathcal{P}^i_{\overline{x}}\} \& (\{\mathcal{M}^i_x > \xi\}_1 \| \{\mathcal{M}^i_{\overline{x}} > \xi\}_1) , \text{where} \mathcal{M}^i_x = \| f(\theta_i, x) \|_{\infty} \tag{1} Rxi={Pxi=Pxi}&({Mxi>ξ}1{Mxi>ξ}1),whereMxi=f(θi,x)(1)

Eq1,定义了对于模型怎么样的数据算是稳定的。

2.2 有多可靠?

ϵ x i = ∥ f ( θ i , x ) − f ( θ i , x ‾ ) ∥ 2 (2) \epsilon^i_x = \| f(\theta_i, x) − f(\theta_i, \overline{x}) \|^2 \tag{2} ϵxi=f(θi,x)f(θi,x)2(2)

Eq2, 量化稳定性,使得同一数据在不同模型上的稳定性能够比较。

2.3 f θ i f_{\theta_i} fθi怎么变得像 f θ j f_{\theta_j} fθj一样可靠?

最后,给出稳定损失的定义:
L s t a i = { { ϵ x i > ϵ x j } 1 L m s e ( x ) , R x i = R x j = 1 R x j L m s e ( x ) , otherwise . (3) \mathcal{L}^i_{sta}= \begin{cases} \{\epsilon^i_x > \epsilon^j_x\}_1\mathcal{L}_{mse}(x), & \mathcal{R}^i_x = \mathcal{R}^j_x = 1 \\ \mathcal{R}^j_x\mathcal{L}_{mse}(x), &\text{otherwise}. \end{cases}\tag{3} Lstai={{ϵxi>ϵxj}1Lmse(x),RxjLmse(x),Rxi=Rxj=1otherwise.(3)

L m s e ( x ) = ∥ f ( θ i , x ) − f ( θ j , x ) ∥ 2 \mathcal{L}_{mse}(x) = \| f(\theta^i, x) − f(\theta^j, x) \|^2 Lmse(x)=f(θi,x)f(θj,x)2

Notice:

  1. 这里的损失定义就是将数据在最稳定的模型预测值作为基线。
  2. 值得注意的是,稳定损失不涉及到有标记数据,一致性损失涉及到整个数据集。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日可期1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值