Google半监督发展:MixMatch、UDA、ReMixMatch、FixMatch
文章目录
-
Google列举的三个SSL常用组成部分
-
一致性正则化技术(Consistency Regularization)
-
数据增强技术(Data augmentation)
-
Entropy Minimization
-
Standard Regularization
-
整体方法一览
-
Reference
-
Google总结的三个SSL常用组成部分
Consistency Regularization
基于假设:模型输出在输入注入一定量的噪声后表现出很强的鲁棒性。注入噪声的方式包括:依赖于模型本身的随机性(例如 dropout)或直接添加噪声(例如 Gaussian noise),以及采用数据增强技术。
从UDA(Unified Data Augmentation)时代的开始, 实验数据显示, 应用更具强化性的增强手段能够显著提升一致性正则化的效果. 进一步而言, 除了基于ReMixMatch的方法之外, 后续三种主要方法均采用了在该框架下定义Augmentation Anchoring的方式, 以提升一致性正则: 其中一种方法是利用弱增强图像生成的结果作为指导目标去训练强增强模型.
衡量数据一致性程度的方法通常包括l_2 loss(MixMatch)、KL散度指标(UDA)以及CE loss(如ReMixMatch和FixMatch)。值得注意的是,在经历强烈增强后的情况中,通过消融实验表明,在经历强烈增强后的情况中,l_2 loss的表现并不理想。
Data augmentation
- Weak form of data augmentation: conventional flip-and-shift technique.
- Strong data augmentation methods typically originate from AutoAugment variants, though they are not suitable for SSL scenarios.
RandAugment:有单独的一篇,UDA和FixMatch都有采用
从一堆变换中随机为mini-batch中的每个样本选择N种变换形式;针对失真度参数M而言,在每一个训练阶段(而非固定地应用同一标准)从预定义的范围内随机采样一个数量级;这种策略特别适用于半监督学习场景。
CTAugment采用了ReMixMatch方法,在其设计中借鉴了控制理论的核心理念以替代对AutoAugment中增强学习的需求
由18种不同的变换操作组成的集合中包含多种多样的幅度变化范围(bins),其中每个变化范围都被赋予了一个特定的加权系数(weight)。初始状态下,每个权重区域(bin)均赋予相同的归一化权重值。随后采用一种基于随机采样策略,在候选操作集中均匀概率地选择两个不同的变换操作来生成一个两阶段的操作序列。对于每一个选定的操作,在其对应的幅度变化范围内随机选取一个具体的缩放因子范围(amplitude bin)。经过上述两步增强操作后,在训练过程中将增强后的样本输入模型进行学习训练。通过比较模型预测结果与真实标签之间的差异程度来动态调整各幅值区域(bins)对应的权重参数。
在整个训练阶段中观察到
Entropy Minimization
假设条件:分类器的决策面应避免穿过数据分布密集区域,从而以较高区分度将各类别区分开来。因此要求模型输出的概率分布具有较低的熵值(即具有较高的置信度)。
预测人工标签是一种类似于self-training的方式,以此结合EntMin方法,而一致性正则化是与预测人工标签独立的
其中通过模型对未标注数据进行预测并赋予人工标签的过程类似于自监督学习(self-supervised learning)的方法,并在此基础上结合了EntMin方法。值得注意的是,在这一过程中引入的一致性正则化作为一种独立于预测人工标签的技术手段被引入
MixMatch、UDA和ReMixMatch均基于 temperature sharpening 技术实现 EntMin 操作;而FixMatch则采用 argmax 方法生成 one\text{-}hot 伪标签,并通过设定特定阈值来选择有效的样本。
Standard Regularization
在训练这四种SSL方法时,都应用了当前较为先进的正则化手段:最终模型采用EMA(指数移动平均法)以及weight decay等方式。
而MixMatch和ReMixMatch进一步采用了Mixup凸组合正则化方法,在基于简化版的FixMatch实验结果下对其决定性作用的可靠性存在疑问
整体方法一览
这四种基于SSL的方法通过融合一致性正则项以及降低了熵的思想,在流程上均可被视为对未标注数据进行人工标签预测的过程。随后通过监督式训练的方式进行模型优化。
在实操场景中,在半监督学习方法中提到的无标记数据通常会将所有训练数据集用于此目的。同时也会将带标签的数据视为无标记样本参与这一过程。
以下为针对无标签样本的训练方法:
| 人工标签预测 | 监督训练方式 | |
|---|---|---|
| MixMatch | K次弱增强后平均,再sharpen | 一次弱增强,与标注数据Mixup |
| UDA | 一次弱增强,再sharpen | 一次强增强 |
| ReMixMatch | 一次弱增强,经过分布对齐(DA),再sharpen | 多次强增强(K=8个版本),与标注数据Mixup |
| FixMatch | 一次弱增强,再argmax得到one-hot伪标签,筛选大于阈值的 | 一次强增强 |
实际是FixMatch的无监督loss项
实际是FixMatch的无监督loss项
ReMixMatch在传统有监督损失与无监督损失的基础上,在标签数目稀少的情况下稳定性及性能微小提升的目标下,在现有基础上新增了两项损失。其中一项为未进行mixup处理的强增强样本基于预测伪标签计算其损失【实际上是指FixMatch中的无监督损失项
Reference
该研究提出了一种名为"MixMatch"的系统化方法,在半监督学习范式中展现出卓越的效果。
[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). 采用无监督数据增强技术以促进一致性训练的研究者提出了相关方法,并可在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
半监督学习
semi-supervised learning
semi-supervised learning
[6] 可视化展示半监督学习中的FixMatch方法,并说明仅需标注数据集CIFAR-10中的少量图像即可实现模型训练 <>
