【半監督學習】MixMatch、UDA、ReMixMatch、FixMatch

半監督學習(Semi-Supervised Learning,SSL)的 SOTA 一次次被 Google 刷新,從 MixMatch 開始,到同期的 UDA、ReMixMatch,再到 2020 年的 FixMatch。ide

這四篇深度半監督學習方面的工做,都是從 consistency regularization 和 entropy minimization 兩方面入手:學習

  • consistency regularization:一致性約束,給輸入圖片或者中間層注入 noise,模型的輸出應該儘量保持不變或者近似。
  • entropy minimization:最小化熵,模型在 unlabeled data 上的熵應該儘量最小化。Pseudo label 也隱含地用到了 entropy minimization。

Consistency Regularization

對於每個 unlabeled instance,consistency regularization 要求兩次隨機注入 noise 的輸出近似。背後的思想是,若是一個模型是魯棒的,那麼即便輸入有擾動,輸出也應該近似。blog

對於 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 近似人工標籤,那麼此時無標籤數據的熵確定也是較小的。ip

爲何這裏叫作人工標籤而不是僞標籤?通常而言,在半監督中,僞標籤(pseudo label)特指 hard label,即 one-hot 類型的或者經過 argmax 獲得的。[4] 而 MixMatch、UDA、ReMixMatch 獲得的人工標籤並非 hard label。ssl

Entropy minimization 能夠在計算 unlabeled data 部分的 loss 和 consistency regularization 一塊兒實現。ci

temperature sharpening 和 pseudo label 都獲得了 unlabeled data 的人工標籤,當前者 temperature=0 時,二者相等。pseudo label 要比 temperature sharpening 要簡單,由於少了一個 temperature 超參數。get

若是不考慮 entropy minimization,那麼 temperature sharpening 和 pseudo label 其實都是不須要的,只須要兩次隨機注入 noise 的 unlabeled instance 輸出近似,就能夠保證 consistency regularization。it

或者說,獲得 unlabeled data 的人工標籤,能夠使得 entropy minimization 和 consistency regularization 經過一項 loss 來完成。io

結合 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

相關文章
相關標籤/搜索