小樣本利器5. 半監督集各家所長:MixMatch,MixText,UDA,FixMatch

2023-01-07 12:00:43

在前面的幾個章節中,我們介紹了幾種基於不同半監督假設的模型優化方案,包括Mean Teacher等一致性正則約束,FGM等對抗訓練,min Entropy等最小熵原則,以及Mixup等增強方案。雖然出發點不同但上述優化方案都從不同的方向服務於半監督的3個假設,讓我們重新回顧下(哈哈自己抄襲自己):

  • moothness平滑度假設:近朱者赤近墨者黑,兩個樣本在高密度空間特徵相近,則label應該一致。優化方案如Mixup,一致性正則和對抗學習
  • Cluster聚類假設:高維特徵空間中,同一個簇的樣本應該有相同的label,這個強假設其實是Smoothness的特例
  • Low-density Separation低密度分離假設:分類邊界應該處於樣本空間的低密度區。這個假設更多是以上假設的必要條件,如果決策邊界處於高密度區,則無法保證簇的完整和邊緣平滑。優化方案入MinEntropy

MixMatch則是集各家所長,把上述方案中的SOTA都融合在一起實現了1+1+1>3的效果,主要包括一致性正則,最小熵,Mixup正則這三個方案。想要回顧下原始這三種方案的實現可以看這裡

本章介紹幾種半監督融合方案,包括MixMatch,和其他變種MixText,UDA,FixMatch

MixMatch

針對無標註樣本,MixMatch融合了最小熵原則和一致性正則, 前者最小化模型預測在無標註樣本上的熵值,使得分類邊界遠離樣本高密度區,後者約束模型對微小的擾動給出一致的預測,約束分類邊界平滑。實現如下

  1. Data Augmentation: 對batch中每個無標註樣本做K輪增強\(\hat{u_{b,k}}=Augment(u_b)\),每輪增強得到一個模型預測\(P_{model}(y|u_{b,k};\theta)\)。針對圖片作者使用了隨機翻轉和裁剪作為增強方案。
  2. Label Guessing: Ensemble以上k輪預測得到無標註樣本的預估標籤

\[\overline{q_b}=\frac{1}{k}\sum_{k=1}^{K}P_{model}(y|\hat{u_{b,k}}; \theta) \]

  1. Sharpening:感覺Sharpen是搭配Ensemble使用的,考慮K輪融合可能會得到置信度較低的標籤,作者使用Temperature來降低以上融合標籤的熵值,促使模型給出高置信的預測

\[Sharpen(\overline{q_{i}}, T) = \overline{q_{i}}^{\frac{1}{T}}/\sum_{j=1}^L\overline{q_{j}}^{\frac{1}{T}} \]

針對有標註樣本,作者在原始Mixup的基礎上加入對以上無標註樣本的使用。

  1. 拼接:把增強後的標註樣本\(\hat{X}\)和K輪增強後的無標註樣本\(\hat{U}\)進行拼接得到\(W=Shuffle(Concat(\hat{X},\hat{U}))\)
  2. Mixup:兩兩樣本對融合特徵和標籤得到新樣本\(X^`,U^`\),這裡在原始mixup的基礎上額外約束mixup權重>0.5, 感覺這個約束主要針對引入的無標註樣本,保證有標註樣本的融合以原始標籤為主,避免引入太多的噪聲

\[\begin{align} \lambda &\sim Beta(\alpha, \alpha) \\ \lambda &= max(\lambda, 1-\lambda )\\ x^` &= \lambda x_1 + (1-\lambda)x_2 \\ p^` &= \lambda p_1 + (1-\lambda)p_2 \end{align} \]

最終的損失函數由標註樣本的交叉熵和無標註樣本在預測標籤上的L2正則項加權得到

\[\begin{align} L_x &= \frac{1}{X^`}\sum_{x \in X^`} CrossEntropy(p, P_{model}(y|x;\theta)) \\ L_x &= \frac{1}{k \cdot U^`}\sum_{u \in U^`}||q - P_{model}(y|u;\theta)||^2 \\ L & = L_x+ \lambda_u L_u \end{align} \]

Mixmath因為使用了多種方案融合因子引入了不少超引數,包括融合輪數K,溫度引數T,Mixup融合引數\(\alpha\), 以及正則權重\(\lambda_u\)。不過作者指出,多數超慘不需要根據任務進行調優,可以直接固定,作者給的引數取值,T=0.5,K=2。\(\alpha=0.75,\lambda_u=100\)是推薦的嘗試取值,其中正則權重作者做了線性warmup。

通過消融實驗,作者證明了LabelGuessing,Sharpening,Mixup在當前的方案中缺一不可,且進一步使用Mean Teacher沒有效果提升。

效果上對比單一的半監督方案,Mixmatch的效果提升十分顯著

MixText

MixText是MixMatch在NLP領域的嘗試,關注點在更適合NLP領域的Mixup使用方式,這裡只關注和MixMatch的異同,未提到的部分基本上和MixMatch是一樣的

  1. TMix:Mixup融合層
    這一點我們在Mixup章節中討論過,mixup究竟應該對哪一層隱藏層進行融合,能獲得更好的效果。這裡作者使用了和Manifold Mixup相同的方案,也就是每個Step都隨機選擇一層進行融合,只不過對選擇那幾層進行了調優(煉丹ing。。。), 在AG News資料集上選擇更高層的效果更好,不過感覺這個引數應該是task specific的
  1. 最小熵正則
    MixText進一步加入了最小熵原則,在無標註資料上,通過penalize大於\(\gamma\)的熵值(作者使用L2來計算),來進一步提高模型預測的置信度

\[\begin{align} L_{margin} &= E_{x \in U} max(0, \gamma - ||y^u||^2)\\ L_{MixText} &= L_{TMix} + \gamma_{m} L_{margin} \end{align} \]

  1. 無標註損失函數
    MixMatch使用RMSE損失函數,來約束無標註資料的預測和Guess Label一致,而MixText使用KL-Divergance, 也就是和標註樣本相同都是最小化交叉熵

UDA

同樣是MixMatch在NLP領域的嘗試,不過UDA關注點在Data Augmentation的難易程度對半監督效果的影響,核心觀點是難度高,多樣性好,質量好的噪聲注入,可以提升半監督的效果。以下只總結和MixMatch的異同點

  1. Data Augmentation
    MixMatch只針對CV任務,使用了隨機水平翻轉和裁剪進行增強。UDA在圖片任務上使用了複雜度和多樣性更高的RandAugment,在N個圖片可用的變換中每次隨機取樣K個來對樣本進行變換。原始的RandAugment是搜尋得到最優的變換pipeline,這裡作者把搜尋改成了隨機選擇,可以進一步增強的多樣性。
    針對文字任務,UDA使用了Back-translation和基於TF-IDF的詞替換作為增強方案。前者通過調整temperature可以生成多樣性更好的增強樣本,後者在分類問題中對核心關鍵詞有更好的保護作用,生成的增強樣本有效性更高。這也是UDA提出的一個核心觀點就是資料增強其實是有效性和多樣性之間的Trade-off

  2. Pseudo Label
    針對無標註樣本,MixMatch是對K次弱增強樣本的預測結果進行融合得到更準確的標籤。UDA只對一次強增強的樣本進行預測得到偽標籤。

  3. Confidence-Based Maskin & Domain-relevance Data Filtering
    UDA對無標註樣本的一致性正則loss進行了約束,包括兩個方面

  • 置信度約束:在訓練過程中,只對樣本預測概率最大值>threshold的樣本計算,如果樣本預測置信度太低則不進行約束。這裡的約束其實和MixMatch的多次預測Ensemble+Sharpen比較類似,都是提高樣本的置信度,不過實現更簡潔。
  • 樣本篩選:作者用原始模型在有標註上訓練,在未標註樣本上預測,過濾模型預測置信度太低的樣本
    核心是為了從大量的無標註樣本中篩選和標註樣本領域相似的樣本,避免一致性正則部分引入太多的樣本噪聲。效果上UDA比MixMatch有進一步的提升,具體放在下面的FixMatch一起比較。

FixMatch

和MixMatch出自部分同一作者之手,融合了UDA的強增強和MixMatch的弱增強來優化一致性正則,效果也比MixMatch有進一步提升,果然大神都是自己卷自己~
  1. Pseudo Label

在生成無標註樣本的偽標籤時,FixMatch使用了UDA的一次預測,和MixMatch的弱增強Flip&Shift來生成偽標籤,同時應用UDA的置信度掩碼,預測置信度低的樣本不參與loss計算。

  1. 一致性正則

一致性正則是FixMatch最大的亮點,它使用以上弱增強得到的偽標籤,用強增強的樣本去擬合,得到一致性正則部分的損失函數。優點是弱增強的標籤準確度更高,而強增強為一致性正則提供更好的多樣性,和更大的樣本擾動覆蓋區域,使用不同的增強方案提高了一致性正則的效果

效果上FixMatch相比UDA,MixMatch和ReMixMatch均有進一步的提升