參考了論文Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks

對於unlabeled date,選擇預測概率最大的作為該樣本的偽label,如下式:

y = egin{cases} 1 &	ext{if } i = argmax_{i} f(x) \ 0 &	ext otherwise end{cases}

不同的是:pseudo label用在了fine-tune階段。

Pre-trained Model用labeled和unlabeled的數據一起訓練

總結的Loss形式如下:

L = frac{1}{n}sum_{m=1}^{n}sum_{i=1}^{C}L(y_i^m,f_i^m)+alpha(t)frac{1}{n}sum_{m=1}^{n}sum_{i=1}^{C}L({y}_i^m,{f}_i^m)

n和n為mini batch的大小,C為類別個數,f為網路輸出,y和y分別為Label和pseudo label,α為平衡係數,是關於訓練時間t的函數。首先,在一開始α為0,模型只訓練有標記的樣本,從而儘快學習,之後α開始緩慢增加,知道達到某個迭代次數後,停止增加。從而實現半監督學習。

alpha(t) = egin{cases} 0 &	ext{ } t<T_1 \ frac{t-T_1}{T_2-T_1}alpha_f &	ext{} T_1 le t le T_2 \ alpha_f &	ext{} T_2 le t end{cases}


使用pseudo label作為ground truth來訓練下一個網路,看了師兄paper reading上講的那兩篇,都是用Unlabeled data先過一遍網路得到pesudo label,後面的訓練在用這些pesudo label作為GT進行有監督的學習,損失函數的形式也是各個部分以平衡係數相加。

1. Multiple Instance Detection Network with Online Instance Classifier Refinement (ICCV2017)

- 輸入:使用SS生成大約2000個object proposals

  • 網路組成:一個base network(MIDN)用來作為基礎的instance分類網路,loss為多分類交叉熵,輸出的結果進一步進行多次refinement,文章進行了兩次refinement
  • loss:總的形式:

第一項為基礎網路的交叉熵loss,其中 φc由加權的sum pooling得到,值在(0,1)之間

第二項為各輪refinement的Loss和,第k輪的refinement的Loss形式如下:

其中 y{cj}^k = 1 代表第j個proposal在k輪refinement中與Proposal (j{c}^{k-1}) 的交疊比很高,則令proposal j為第c類。R為proposal集合

2.Tell Me Where to Look: Guided Attention Inference Network

  • 網路框架

  • loss三部分構成

L_{ext}=L_{cl}+alpha L_{am}+wL_e

Attention mining loss

L_{am}=frac{1}{n}sum_{c}s^c(I^{*c})

其中是 I^{c} 是在attention map上生成的soft mask s^c(I^{c})I^{*c} 對於c類的預測分數,n是該圖像的GT label的個數,

L_{cl} 使用的是多標籤的soft margin loss

對於額外的有監督的學習,額外的加了下面的Loss

L_e = frac{1}{n}sum_c(A^c-H^c)

其中 H^c是額外的有監督學習,如pixel-level的segmentation Mask


推薦閱讀:
相關文章