Semi-Supervised Learning 部分技巧简介
最近看了几篇 Semi-Supervised Learning 的文章,感觉要达到 state-of-the-art 的话就是要把几个比较有效的技巧比较好地结合到一起,所以写一篇文章分别介绍一下这些技巧。文章总体的结构内容基于 MixMatch: A Holistic Approach to Semi-Supervised Learning (NeurIPS 2019),及一些适当的延伸。
我们主要讨论就是 Transductive Learning 的场景,即 在训练时
Entropy Minimization
在 Semi-Supervised Learning 中,一个常见的 Assumption 是,分类器的 decision boundary 不应该穿过数据分布中的 high-density 区域。一种直接的方式就是增加一个 loss term 来直接显式地降低 entropy。
Sharpening
对于unlabeled的数据,可以用 Sharpening 的技巧来隐式地降低Entropy。
其中,
由于
Consistency Regularization
简单来说就是把 data augmentation 的技巧运用到 Semi-Supervised Learning 中来。基于的基本想法就是对于一个sample,即使它被增强过,分类器输出的 class distribution 也应该是不变的。
Regularization with stochastic perturbations
这是最简单直接的方式,增加一个loss来控制不同的 stochastic transformations 对输出带来的影响:
Label Guessing
对于一个 unlabeled 的 sample,可以先用模型输出来为这个 sample 猜出一个 label 出来。然后这个猜出来的 label 可以用在 unsupervised loss 中(即 \(\mathcal{L}\mathcal{U}=\frac{1}{L\left|\mathcal{U}^\prime \right|} \sum{u, q \in \mathcal{U}^\prime}\left|q - p_{model}(y | u ; \theta)\right|_2^2 \) ,
实践中可以用
\[
\mathcal{L}{\mathcal{U}}=\frac{1}{\left|\mathcal{U}^{\prime}\right|} \sum{u, q \in \mathcal{U}^{\prime}}|q-p_{model}(y | u ; \theta)|_{2}^{2}.
\]
也有文章有讨论了 mean-teacher (即 averaging model weights instead of predictions),认为这种方式会更好。
Exponential Moving Average (EMA)
即是对模型输出的 predictions 进行 EMA 的计算来作为新的 target。
Virtual Adversarial Training (VAT)
Virtual adversarial loss is defined as the robustness of the conditional label distribution around each input data point against local perturbation.
首先 adversarial training 就是在输入中加入一个扰动
其中
至于 Virtual Adversarial Training,就是用当前模型的输出
其中 $$r_{\mathrm{vadv}}:=\underset{r ;|r|{2} \leq \epsilon}{\arg \max } D\left[p\left(y | x{*}, \hat{\theta}\right), p\left(y | x_{*}+r\right)\right]$$
Generic Regularization
有一些 Regularizaion 的方法就是给模型加上一些 constraint 使它避免“记住”训练数据,从而更好地 generalize 到别的 unseen data。最为常见的一种做法就是给模型参数加上一个
Mixup
简单来说,mixup 就是构造这样的虚拟training samples:
其中
把 mixup 应用到 Semi-Supervised Learning 的话,可以把 labeled data 和 unlabeled data 一起 mixup 起来,其中 unlabeled sample 的
Other Related Things
Why loss
用 cross entropy 的时候,需要先用 Softmax 计算出概率,但是如果所有输出值都加上一个常数的话,softmax 的结果是不变的。所以为了让两个向量尽可能相等,
Warmup of
整体的 loss function 是由监督loss和unlabeled data的loss组合起来的
References
- MixMatch: A Holistic Approach to Semi-Supervised Learning
- Semi-supervised Learning by Entropy Minimization
- Temporal Ensembling for Semi-Supervised Learning
- Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results
- mixup: Beyond Empirical Risk Minimization
本文标题:Semi-Supervised Learning 部分技巧简介
文章作者:Han Yang
发布时间:2020-03-21
最后更新:2022-09-06
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!
分享