1. 程式人生 > >《 Self-supervised Sample Mining》筆記

《 Self-supervised Sample Mining》筆記

CVPR2018論文:《Human-Machine Cooperation: Self-supervised Sample Mining
作者:加州大學洛杉磯分校(UCLA)博士後王可澤

Motivation

在許多應用場景中,已標註的資料集不是很多,但是未標註或部分標註的資料集非常多。在監督學習任務中,足夠多的標註資料對模型來說至關重要,因此使用未標註和部分標註的資料集的想法越來越重要。但是為未標註或部分標註的資料進行標註的成本很高,因為通常需要人力來標註,而且未標註的資料太多。同時,挑選出可以提高模型表現的好樣本不是一件簡單的工作。論文提出了一種Self-supervised Sample Mining(SSM)框架,可以使用未標註或部分標註的資料訓練模型。

Innovation

SSM借鑑了自主學習、主動學習和自監督學習的思想。
自主學習(Self-paced Learning, SPL)起源於課程學習(Curriculum learning, CL),靈感來自於人的認知過程,先學習簡單的知識(樣本),然後總結歸納,再學習複雜的知識(樣本),再總結歸納,如此重複學習。

自監督學習(Self-supervised Learning, SSL)是使用沒有額外的人工標註資料學習特徵的表徵,一般就是適合有未標註或部分標註資料集的任務。

主動學習(Active Learning, AL)也是使用未標註或部分標註的資料的學習演算法,但是AL重點在於主動提出標註請求,關注的是樣本選擇策略,關鍵是選擇能夠提高模型表現的好樣本。目前的樣本選擇策略大概可以分成兩種,分別是不確定性準則(uncertainty)和差異性準則(diversity)。資訊熵越大,就代表不確定性越大,包含的資訊量也就越豐富。不確定性策略就是要想方設法地找出不確定性高的樣本,因為這些樣本所包含的豐富資訊量,對我們訓練模型來說就是有用的。差異性策略是希望所選擇的樣本提供的資訊是全面的,各個樣本提供的資訊不重複不冗餘,即樣本之間具有一定的差異性,避免樣本資訊冗餘。

Advantage

之前的工作在單個樣本上下文之間計算樣本選擇指標,這種方法對模型偏差和樣本資料型別不平衡問題很敏感,魯棒性不行。SSM則可以在多個樣本上下文之間計算樣本選擇指標,提高了方法的魯棒性。而且之前的方法不支援mini-batch訓練,但是SSM支援。

根據SSM設計的SSM框架可以使用未標註或部分標註的資料進行模型訓練,而且可以最小化人力標註的成本。訓練出來的模型的表現效果比當前先進的方法要好。

Disadvantage

這是個人觀點。因為SSM涉及AL,模型的訓練過程需要人蔘與,為proposal人工標註,因此訓練過程會變慢。對於一些很龐大的訓練資料集(比如ImageNet),光是訓練就要好幾周。因為任務只有少量的已標註的資料集,因此SSM肯定需要遷移學習,SSM訓練的過程只是fine-tune,但是SSM在每次mini-batch之後都要選擇低一致性樣本,通過人工標註低一致性樣本,因此人工標註的速度對模型的訓練速度有很大的影響。

Method

論文提出的SSM框架的管道流圖如下
the pipeline of the proposed framework
這個框架有兩個階段,分別是通過SSM對高一致性樣本進行偽標註階段和通過AL選擇低一致性樣本階段。首先使用已標註的圖片對模型進行fine-tune,對未標註或部分標註的圖片提取region proposals(未標註樣本),把這些region proposals貼上到已標註的圖片中進行交叉圖片驗證,根據重新預測出來的置信度確定如何對未標註樣本進行標註。對於高一致性樣本,直接進行偽標註,對於低一致性樣本,通過AL挑選出來,讓相關人員進行標註。偽標註的樣本用於模型的fine-tune,而新標註的樣本新增到已標註的圖片中,同時也用於模型的fine-tune。

Formulation

我們先了解SSM使用的公式,從公式中獲取框架的具體細節。

在物體檢測問題中,假設我們有n個region proposals(指的是ground truth bb)和m個類別。定義訓練集為 D = { x i } i = 1 n R d \mathcal{D} = \{x_i\}_{i=1}^n \in R^d ,其中 x i x_i 表示第i個region proposal。我們有m個檢測器/分類器(包括背景),使用one-vs-rest策略識別region proposal。定義 x i x_i 的標籤為 y i = { y i } j = 1 m \mathbf{y}_i = \{y_i\}_{j=-1}^m ,是one-hot向量,其中 y i ( j ) { + 1 , 1 } y_i^{(j)} \in \{+1, -1\} 表示 x i x_i 是否屬於第j類。

大多數樣本的標籤 Y = { y i } i = 1 n \mathbf{Y} = \{y_i\}_{i=1}^n 是不知道的。初始化的已標註的圖片定義為 I \mathbf{I} 。資料 { x i } i = 1 n \{x_i\}_{i=1}^n 在訓練過程中會增加。

整個框架的損失函式為:
(1) Loss = L loc ( W ) + L cls AL ( W ) + L cls SSM ( W , V ) \text{Loss} = \mathcal{L}_{\text{loc}}(\mathbf{W}) + \mathcal{L}_{\text{cls}}^{\text{AL}}(\mathbf{W}) + \mathcal{L}_{\text{cls}}^{\text{SSM}}(\mathbf{W}, \mathbf{V}) \tag{1}
其中 L loc ( W ) \mathcal{L}_{\text{loc}}(\mathbf{W}) 定義bounding box的迴歸損失,和R-CNN的一樣。 L cls AL ( W ) \mathcal{L}_{\text{cls}}^{\text{AL}}(\mathbf{W}) L cls SSM ( W , V ) \mathcal{L}_{\text{cls}}^{\text{SSM}}(\mathbf{W}, \mathbf{V}) 是AL和SSM過程的損失。

論文定義
L cls AL ( W ) = 1 Ω I i Ω I j = 1 m i ( x i , W ) \mathcal{L}_{\text{cls}}^{\text{AL}}(\mathbf{W}) = \frac{1}{ \left | \varOmega_I \right |} \sum_{i \in \varOmega_I} \sum_{j=1}^{m} \ell _i(x_i, \mathbf{W})
其中 Ω I \varOmega_I 為當前已標註圖片I( I I I \in \mathbf{I} )的region proposal。 i ( x i , W ) \ell _i(x_i, \mathbf{W}) 表示proposal x i x_i 在第j個分類器的softmax損失:
i ( x i , W ) = ( 1 + y i ( j ) 2 log ϕ j ( x i ; W ) + 1 y i ( j ) 2 log ( 1 ϕ j ( x i ; W ) ) ) \ell _i(x_i, \mathbf{W}) = -\left ( \frac{1+y_i^{(j)}}{2} \log \phi_j (x_i; \mathbf{W}) + \frac{1-y_i^{(j)}}{2} \log (1 - \phi_j (x_i; \mathbf{W})) \right )
其中 W \mathbf{W}