MixMatch、UDA、ReMixMatch、FixMatch

2024-06-10 08:18

本文主要是介绍MixMatch、UDA、ReMixMatch、FixMatch,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转自:【半监督学习】MixMatch、UDA、ReMixMatch、FixMatch

半监督学习(Semi-Supervised Learning,SSL)的 SOTA 一次次被 Google 刷新,从 MixMatch 开始,到同期的 UDA、ReMixMatch,再到 2020 年的 FixMatch。

目录

  • Consistency Regularization
  • Entropy Minimization
  • 结合 Consistency Regularization 和 Entropy Minimization
  • FixMatch: Simplifying SSL with Consistency and Confidence
  • References

 

这四篇深度半监督学习方面的工作,都是从 consistency regularization 和 entropy minimization 两方面入手:

  • consistency regularization:一致性正则,给输入图片或者中间层注入 noise,模型的输出应该尽可能保持不变或者近似。
  • entropy minimization:最小化熵,模型在 unlabeled data 上的熵应该尽可能最小化。Pseudo label 也隐含地用到了 entropy minimization。

Consistency Regularization

对于每一个 unlabeled instance,consistency regularization 要求两次随机注入 noise 的输出近似。背后的思想是,如果一个模型是鲁棒的,那么即使输入有扰动,输出也应该近似。

对于 consistency regularization 来说,如何注入 noise 以及如何计算一致性,就是每个方法的不同之处。注入 noise 可以通过模型本身的随机性(如 dropout)或者直接加入噪声(如 Gaussian noise),也可以通过 data augmentation;计算一致性的方法,可以使用 L2,也可以使用 KL divergency、cross entropy。

Entropy Minimization

MixMatch、UDA 和 ReMixMatch 通过 temperature sharpening 来间接利用 entropy minimization,而 FixMatch 通过 Pseudo label 来间接利用 entropy minimization。可以认为,只要通过得到 unlabeled data 的人工标签然后按照监督学习的方法(如 cross entropy loss)来训练的,都间接用到了 entropy minimization。因为人工标签都是 one-hot 或者近似 one-hot 的,如果 unlabeled data 的 prediction 近似人工标签,那么此时无标签数据的熵肯定也是较小的。

为什么这里叫做人工标签而不是伪标签?一般而言,在半监督中,伪标签(pseudo label)特指 hard label,即 one-hot 类型的或者通过 argmax 得到的。[4] 而 MixMatch、UDA、ReMixMatch 得到的人工标签并不是 hard label。

Entropy minimization 可以在计算 unlabeled data 部分的 loss 和 consistency regularization 一起实现。

temperature sharpening 和 pseudo label 都得到了 unlabeled data 的人工标签,当前者 temperature=0 时,两者相等。pseudo label 要比 temperature sharpening 要简单,因为少了一个 temperature 超参数。

如果不考虑 entropy minimization,那么 temperature sharpening 和 pseudo label 其实都是不需要的,只需要两次随机注入 noise 的 unlabeled instance 输出近似,就可以保证 consistency regularization,如 Π-model。

或者说,得到 unlabeled data 的人工标签,可以使得 entropy minimization 和 consistency regularization 通过一项 loss 来完成。

结合 Consistency Regularization 和 Entropy Minimization

一般来说,半监督学习中的 unlabeled data 会使用全部训练数据集,即有标签的样本也会作为无标签样本来使用。

半监督学习中,labeled data 的标签都是给定的,而 unlabeled data 的标签都是不知道的。那么如何获得 unlabeled data 的人工标签(artificial label),MixMatch、UDA、ReMixMatch 和 FixMatch 的做法或多或少都不相同:

  • MixMatch:平均 K 次 weak augmentation(如 shifting 和 flipping)的 predictions ,然后经过 temperature sharpening;
  • UDA:一次 weak augmentation 的 prediction,然后经过 temperature sharpening;
  • ReMixMatch:一次 weak augmentation 的 prediction,然后经过 distribution alignment,最后经过 temperature sharpening;
  • FixMatch:一次 weak augmentation 的 prediction,然后 argmax 得到 hard label(pseudo label)。

Fig.1 MixMatch 人工标签 (soft label)

得到了人工标签,我们就可以按照监督学习的方式来训练,这种思考方式就利用了 entropy minimization。而从 unlabeled data 的 consistency regularization 角度思考,我们需要注入不同的 noise,使得 unlabeled data 的 predictions 和它们的人工标签一致。

MixMatch、UDA、ReMixMatch 和 FixMatch 都利用 data augmentation 改变输入样本来注入 noise,不同的是 data augmentation 的具体方式和强度:

  • MixMatch:一次 weak augmentation 得到 prediction,这就和正常的监督训练一样,只是 unlabeled loss 用的是 L2 而已;
  • UDA:一次 strong augmentation(RandAugment) 得到 prediction;
  • ReMixMatch:多次 strong augmentation(CTAugment)得到 predictions,然后同时参与 unlabeled loss 的计算,即一个 unlabeled instance 一个 step 多次增强后计算多次 loss;
  • FixMatch:一次 strong augmentation(RandAugment 或 CTAugment)得到 prediction。

Fig.2 FixMatch 流程图

从 UDA 和 ReMixMatch 开始,strong augmentation 引入了半监督训练。UDA 使用了作者之前提出的 RandAugment 的 strong augmentation 方式,而 ReMixMatch 提出了一种 CTAugment。FixMatch 就把 UDA 和 ReMixMatch 中用到的 strong augmentation 都拿来用了一遍。

Fig.3 weak augmentaion、strong augmentation 及 temperature sharpening 使用情况

对于 unlabeled data 部分的 loss:

  • MixMatch:L2 loss;
  • UDA:KL divergency;
  • ReMixMatch:cross entropy(包括自监督的 rotation loss 和没有使用 mixup 的 pre-mixup unlabeled loss);
  • FixMatch:带阈值的 cross entropy。

FixMatch: Simplifying SSL with Consistency and Confidence

FixMatch 简化了 MixMatch、UDA 和 ReMixMatch,然后获得了更好的效果:

  • 首先,temperature sharpening 换成 pseudo label,这是一个简化;
  • 其次,FixMatch 通过设定一个阈值,在计算 unlabeled loss 时,对 prediction 的 confidence 超过阈值的 unlabeled instance 才算入 unlabeled loss,这样使得 unlabeled loss 的权重可以固定,这是第二个简化。

Fig.4 Error rates for CIFAR-10, CIFAR-100 and SVHN on 5 different folds.

References

[1] Berthelot, D., Carlini, N., Goodfellow, I., Papernot, N., Oliver, A., Raffel, C. (2019). MixMatch: A Holistic Approach to Semi-Supervised Learning arXiv https://arxiv.org/abs/1905.02249
[2] Berthelot, D., Carlini, N., Cubuk, E., Kurakin, A., Sohn, K., Zhang, H., Raffel, C. (2019). ReMixMatch: Semi-Supervised Learning with Distribution Alignment and Augmentation Anchoring arXiv https://arxiv.org/abs/1911.09785
[3] Xie, Q., Dai, Z., Hovy, E., Luong, M., Le, Q. (2019). Unsupervised Data Augmentation for Consistency Training arXiv https://arxiv.org/abs/1904.12848
[4] Sohn, K., Berthelot, D., Li, C., Zhang, Z., Carlini, N., Cubuk, E., Kurakin, A., Zhang, H., Raffel, C. (2020). FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence arXiv https://arxiv.org/abs/2001.07685

这篇关于MixMatch、UDA、ReMixMatch、FixMatch的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047632

相关文章

谷歌提出新型半监督方法 MixMatch

事实证明,半监督学习可以很好地利用无标注数据,从而减轻对大型标注数据集的依赖。而谷歌的一项研究将当前主流的半监督学习方法统一起来,得到了一种新算法 MixMatch。该算法可以为数据增强得到的无标注样本估计(guess)低熵标签,并利用 MixUp 来混合标注和无标注数据。实验表明,MixMatch 在许多数据集和标注数据上获得了 STOA 结果,展现出巨大优势。例如,在具有 250

图解半监督学习FixMatch,只用10张标注图片训练CIFAR10

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:amitness 编译:ronghuaiyang 导读 仅使用10张带有标签的图像,它在CIFAR-10上的中位精度为78%,最大精度为84%,来看看是怎么做到的。 深度学习在计算机视觉领域展示了非常有前途的结果。但是当将它应用于实际的医学成像等领域的时候,标签数据的缺乏是一个主要的挑战。 在实际环境中,对数据做标注是一个耗

domain adaption(DA) 、UDA

在阅读 Self-supervised Augmentation Consistency for Adapting Semantic Segmentation 时,突然发现不太清楚无监督领域自适应 领域自适应 迁移学习中的一种代表性方法,利用源域的丰富样本提升目标域模型的性能。问题:他们的分布不同。不同阶段的方法不同[1] 无监督领域自适应 领域自适应的关键是如何减小source和t

ICCV2019语义分割/UDA:ACE: Adapting to Changing Environments for Semantic SegmentationACE:适应变化环境下的语义分割

ACE: Adapting to Changing Environments for Semantic Segmentation ACE:适应变化环境下的语义分割 0.摘要1.概述2.相关工作2.1.无监督领域适应2.2.图像合成和风格化2.3.终身学习2.4.元学习 3.方法3.1.通过编码器和生成器进行样式化3.2.语义分割网络3.3.记忆单元和风格回放3.4.通过自适应元学习实现更快的

FDMEE UDA直连Oracle DB, Generate Template Package 时报错问题 An error occurred

给FDMEE 11.1.2.4打了210补丁,据说100补丁就支持UDA了,反正我是没用过。按照最新的官方文档【Working with a Universal Data Adapter in FDMEE】,step by step地做下来,在创建Source Adapter的时候还是遇到了问题。。。。 创建完成Source Adapter,点击保存Safe后,再去点击Generate Temp