2021年3月22日 星期一

П-model 與 Temporal ensembling:半監督學習方法

本文要介紹的是一篇關於半監督學習(semi-supervised learning)的文章 [1],其中介紹了兩種方法:П-model 與 Temporal ensembling。這兩種方法的概念都是在 loss function 中加入一項 consistency regularization 來增加深度學習模型的表現力,意思是無論如何將輸入的圖片加入 noise 或使用各種 augmentation 來修改這張圖片,其對應的 label 都會是一樣的。而在半監督學習中我們只有少數的資料有 label,當一張圖片沒有 label 時我們就只能用此 consistency regularization 的關係來訓練模型,而詳細的式子會下面幾段中介紹。

П-model

以下是 [1] 文中 П-model 的架構圖及 pseudo code:

П-model
 
П-model code

  • 一個 batch 中有些圖片有 label,有些圖片沒有。如果有 label 的話就同時計算 supervised loss component(也就是 loss entropy)及 unsupervised loss component(也就是 consistency regularization);如果沒有 label 的話就只計算 unsupervised loss component。
  • \(w(t)\) 是一個 hyper-parameter,用來決定 unsupervised loss component 的權重。
  • \(z_i\) 跟 \(\widetilde{z_i}\) 是從同一張圖片 \(x_i\) 經由不同的 augmentation 產生的。

Temporal ensembling

Temporal ensembling 簡化了 П-model 的計算步驟,每次的 unsupervised loss component 都是由目前的 \(z_i\) 與以前所有 \(z_i\) 的加權平均來計算的。以下為架構圖及 pseudo code:

Temporal ensembling

Temporal ensembling code

  • Temporal ensembling 中只需一次 network forward pass,因此訓練速度會比較快。
  • 通過所有 \(z_i\) 的加權平均 \(\widetilde{z_i}\) 可以減少 noise。

實驗結果

results

參考資料

[1] Temporal Ensembling for Semi-Supervised Learning

[2] 我们真的需要那么多标注数据吗?半监督学习技术近年来的发展历程及典型算法框架的演进


沒有留言:

張貼留言