Try   HackMD

Conservative-Progressive Collaborative Learning for Semi-supervised Semantic Segmentation

Siqi Fan, Fenghua Zhu, Zunlei Feng, Yisheng Lv, Mingli Song, Fei-Yue Wang

Introduction

SSL技術主要有兩種典型的作法,Entropy minimization和consistency regularization,兩種做法都仰賴於pseudo supervision,導致不正確的pseudo label產生confirmation bias,大部分方法為了解決此問題而使用預測分數(設立threshold)來選擇可信賴的pseudo label,這樣的作法可能使大量的unlabel data資源被浪費。

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Teacher-Student和Student-Student是兩種典型的double branch學習方式,Student-Student訓練時的兩種網路結構容易有模型偶合的問題產生,導致錯誤的結果和限制性。
作者提出Conservative-Progressive Collaborative Learning (CPCL),平行使用兩種相同結構的網路但使用不同初始值,Conservative只使用高質量的pseudo label做intersection(交集) supervision; Progressive則使用大數量的pseudo label做union supervision。藉由這兩個網路的預測結果生成pseudo label,且兩個網路是在相異知識下進行訓練,因此可降低偶合的問題。
除此之外預測結果的信心值被使用在 loss re-weighting當中,為了解決不可避免的noisy pseudo labels。

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Contribution

  • CPCL在使用union supervision保留相異部份時也透過intersection supervision尋找共通點已達成保守評估和進步挖掘兩方面的合作,且由與兩個網路結構在相異知識下訓練的性質可有效解決耦合問題。
  • 使用class-wise的不一致指標用來產生不一致部分的pseudo label,且基於信心值對loss做re-weighting,避免noise pseudo label造成的錯誤太巨大

Framework

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Problem Definition

Dl={(Xl1,G1), ...,(XlN,GN)},
N
為label data數量

Dl={(Xu1), ...,(XuM)},
M
為unlabel data數量,且
MN

Xln,XumRH×W, GnRC×H×W

label data使用傳統的supervised方式做訓練,此篇論文著重將unlabel data

Du在兩個相同結構但不同初始值的
fθc(X)
fθp(X)
做訓練

Data augmentation

作者採用srtong augmentation的cutmix方式,將任兩張圖片做隨機區塊裁切上

mix( a, b, mask)=( 1mask)a+mask  b

Xs=mix(X1, X2, mask), 取得強化後的
Xs

兩個網路分支的前處理近乎相同,首先會先輸入三張影像
(X1,X2,Xs)
,以
fθc()
來舉例:
Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Ycw1argmyaxfθc(y | X1)
Ycw2argmyaxfθc(y | X2)

Ycsargmyaxfθc(y | Xs)

接著利用

Ycw1
Ycw2
做cutmix,取得
Ycw
:
Ycw=mix(Ycw1, Ycw2, mask),

相同作法也在Progressive分支下取得

Yps
Ypw
,利用
Ycw
Ypw
來生成pseudo label

pseudo label generation

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

agreement={True     ycwi=ypwiFalse     otherwise
根據每個pixel判斷若經由兩網路結果相等則此pixel為agreement,否則為disagreement

Agreement

Iai=ycwi, if ycwi=ypwi
Iai
為agreement
La
部分的第i個pixel,
Linter
直接使用
La
當作pseudo label

Disagreement

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

先計算出class-wise的pseudo label指標,上圖的矩陣縱軸及橫軸分別為不同網路預測的結果,

Mj,k為A網路預測結果為第j類別及B網路預測結果為第k類別的pixel總數量,對角線綠色區塊為agreement的預測類別數量,紅色為disagreement

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Idi 為第i個pixel最後的pseudo label,A網路預測的class為j;B網路預測為k,根據計算出來的指標若
IjIk
,選擇
ycwi
作為該pixel的pseudo label,
IjIk
,則選擇
ypwi