Try   HackMD

Switching Temporary Teachers for Semi-Supervised Semantic Segmentation

論文 : NeurIPS2023
原文 : Switching Temporary Teachers for Semi-Supervised Semantic Segmentation

類別:

  1. Semi-Supervised
  2. Semantic Segmentation
  3. teacher-student

目的:

teacher-student 之主要概念為:
不需要 pretrain

  1. 將已標註資料送入 student 得到 loss1
  2. 將未標註資料分別套用 weak aug 及 strong aug 送入 teacher 及 student ,以 teacher 的結果作為 pseudo mask ,他們輸出結果應要一致,得到 loss2

使用 student 使用一般 back propagation 去更新權重,而 teacher 則用 student 的 EMA 權重更新

EMA (exponential moving average)
moving 的意思為移動,將考慮歷史資料,而 exponential 因在分母,代表越久以前的資料影響越小。

而會這樣使用 teacher-student 是因為標註資料過少,利用 teacher 產生較好的 mask 去作為 pseudo mask 以做訓練,而 student 因為初始是使用標註資料做訓練, teacher 使用 student 權重做更新,因此可以得到自身資料集的 feature 進而產出更好的 mask 。

而作者認為此種方法有以下問題:

  1. teacher 及 student 會過於親近 (因為teacher 使用 student 權重更新其權重) ,導致到一段時間後不會有一個較好的模型去學習,無法有較好的學習表現,陷入瓶頸。
  2. 上述問題在會在複雜的 label (即 segmentation 的 mask ) 情況下仍使用較少的標註資料會更嚴重。

此篇沒有提到以下問題解法:
student 會累積誤差預測,在 EMA 更新後會導致 teacher 提供錯誤的 pseudo-labels 給 student 並造成不可挽回的分類錯誤。

因此這篇論文提出了 Dual Teacher ,想要減輕 teacher 及 student 過於親近的問題。

最後可以達到在 PASCAL VOC, Cityscapes 及 ADE20K 皆達到 SOTA 並且使用更少的訓練時間,並且此方法可以用在 CNN 及 transformer 上。

Survey

一般 teacher student:
image

對於 : semantic segmentation 之 labeled data
image
每一張 labeled image 計算 per-pixel (student predition 對 ground truth) cross entropy 再取平均 ( 皆要做除以 pixel 數及 labeled 圖片數量 )。

對於 : semantic segmentation 之 unlabeled data
image
將 per-pixel 計算 cross entropy 的對象改為 student predition 對 pseudo label ( 來自 teacher prediction )

image
λu 為調整 Lunsup 的超參數

將上面兩 loss 合併後對 student model 做 back propagation ,再使用 EMA 更新 teacher model 。

image
α 為一超參數

Temporal Ensembling:
此方法參考了 Temporal Ensembling 的概念。
而此方法探討的是 Π model 的缺點,一張圖需要經過不同 augmentation 及 regularization 後 froward (兩種處理都會輸入),希望他們兩個預測出來應要一致,這是相當耗時間的動作。

image

從這張圖可以看到 Π model 的 Xi 有分支輸入,但 Temporal Ensembling 只有一個,那麼他要跟誰比呢?

image
注意最底下兩行 : 累積組合預測,這裡會使用 EMA 累積前面所做的 prediction ,再利用誤差修正 (其實就是根據前面的 epoch 可能沒什麼好的 performance 、相近的 epoch 差別不大的概念,去修正組合 prediction ,而因 α < 0 , t 越小,將上面一行的 Z 帶入後發現前期更依賴 EMA prediction,訓練越後期,分母越趨近 1 ,越能相信當下模型的 prediction ) 產出組合 prediction。
而模型因此不需要 froward 兩次,僅需一次,卻還有 target ( 組合 prediction ) 可以算 loss 。

方法:

目標是緩解 Teacher Student 模型過於緊密導致 performance 瓶頸的問題。

Dual Teacher
image

作者使用了 2 個 temporary teacher teacher models 及 1 個 student model,每一個 epoch student 從 Strong augmentation pool 選擇不同的 strong aug ,並且會換另一個 teacher 以產生 pseudo label 。

Strong augmentation pool:
顧名思義,裡面有很多種 strong augmentation ,同時也包含不同尺度的 strong augmentation ( 細: fine class-level 例: ClassMix 和 粗: coarse region-level 例: CutMix ),每個 epoch 皆會取一個 Strong augmentation ,並且兩個 epoch 不連續取同一種 strong augmentation 。

Implicit Consistency Learning:
這裡的 implicit 是指使用 stochastic depth ( 隨機去掉一些層數,以克服 resnet 需要大量時間訓練的問題 ) 的 student model 內一部分層,這些稱為 sub-models ,然後作者希望他們能與 teacher models 預測結果一致 (此方法也可用在 transformer )。

image
其中 θsθt 分別為部分 student model 權重及 teacher model 所有權重

這裡的 pij(θs) 並非指輸入權重,而是指僅取用一部分權重,即student model 利用 stochastic depth 所得出之 sub-model 的輸出。而 yij(θt) 為 teacher model 輸出。

這裡不同於前面的 student model 輸入 strong aug 、 teacher model 輸入 weak aug ,而是兩者皆輸入 weak aug 。

這裡也是使用 teacher model 之 pseudo-label

而此 loss Lcons 會與 Lunsup 一同更新 student model 。

結果:

image
image
image
image
在不同資料集中以不同的 labeled 數量幾乎都可以取得 SOTA 的成績。

探討:

真的有解決 Teacher Student 模型過於緊密的問題嗎 ?
image
是的,兩者有著明顯的預測差距,最後才趨於相近。

Teacher 越多越好或輸入圖片的 Aug 使用越多越好嗎 ?
image
否,左圖很明顯就不是,而右圖可以看出在 ± 號之後的變異性明顯為 Dual teacher 更大,作者認為這是因為 augmentation 沒辦法選到一個好的組合讓他們更有多樣性。

組合 teachers 還是交換 teachers ?
image
否,組合會因此失去多樣性。

stochastic depth 所使用的 drop rate 策略影響
image

Performance 及訓練時間比較
image

跨領域:

  1. Unsupervised domain adaptation
  2. Syntheticto-Real: GTA5→Cityscapes
  3. Pretrained on MS COCO
    image

在 PASCAL VOC 上可以看到不太會有不同 class 夾雜在一起的問題
image