Deep Clustering for Unsupervised Learning of Visual Features



Title: Deep Clustering for Unsupervised Learning of Visual Features
Authors: Mathilde Caron, Piotr Bojanowski, Armand Joulin, Matthijs Douze
Link: https://arxiv.org/abs/1807.05520
Github: https://github.com/facebookresearch/deepcluster

摘要

Clustering是一種常用的非監督學習演算法,能夠在沒有人工標記的情況下把相似的資料歸為一類,達成資料分群的效果,其中K-means是一種典型的演算法。這篇論文嘗試結合Clustering及Deep learning已達到非監督學習的效果。


非監督式學習

再談這篇的框架之前,先讓我們了解一下非監督式學習的重要性。

ImageNet就夠了嗎?

目前ImageNet已是非常普遍的資料集,且許多預訓練的模型都是基於ImageNet,但是ImageNet的1400萬張照片就足以代表這個世界了嗎?更何況這個這1400萬張都是針對某些特定領域的照片,假使未來有一個比ImageNet更大的人工標注資料集,我們也不能保證機器能夠依賴“有限”的資料去瞭解這個“近乎無窮”的世界。

人工標注(Labeling)是很貴的

在機器學習領域的熱潮下,我們渴望機器能夠實現更多的應用,因此需要的標注不只是這張圖片的類別,我們更希望知道這張圖片包含哪些物件、物件的座標、景象的深度、人物的動作、人與物體之間的互動等等,因此人工標注是需要花大量的成本及時間才能夠完成的,而在此只提到圖像上的人工標註,其他領域如自然語言可能需要的人力遠遠高於電腦視覺。

細粒度分類問題

細粒度分類(fine-grained image recognition)是分類任務的一個分支,主要的任務內容為“在基於某種類別下,分辨其子類別”例如輸入是一隻北極燕鷗,
則我們希望機器能夠準確的判定他就是“北極燕鷗”,而不單單只是“鳥”這個類別。在這個問題下我們所需要的人工標註就更加嚴苛,標註人員可能需要該領域專業的人員或長時間的訓練才能夠給出正確的標記。基於成本及時間上的考量,細粒度分類問題無非是一大難題。

註:北極燕鷗是徙路線最長的動物(飛得最遠的鳥類)


DeepCluster

模型的框架如上圖所示,整個過程包含輸入圖像透過卷積網路取特徵,接著對這些特徵進行聚類,然後基於聚類的結果,給予每一個輸入一個對應的虛擬標籤(Pseudo-labels),隨後就是利用梯度更新網路。與以往非監督式學習的方法相比,這種訓練方式可以達到端對端的訓練,且過程直觀,但卻比以往的方法都得到較好的成績。

訓練流程:
1.“所有圖片”經過Convnet取得特徵。
由於這個模型需要做聚類,因此沒辦法使用批訓練,簡單來說就是所有的輸入都需要先計算出特徵,不能批量處理,因此這個方法的更新次數可能會較其他方法少。

2.對所有圖片進行聚類。
接著我們將所有的特徵進行聚類,而類別數量是超參數,論文中以1000為例,需要特別注意的是,第i次迭代中某一類的中心會在第i+1次中繼續使用,但是對於某一圖片來說,第i+1次的特徵可能會和第i次相差很遠啊,這有可能會造成個中心並沒有任何資料的問題,我們可以透過限制每個類心的最少資料量解決這個問題。

3.給予Pseudo-labels。
在這時候我們每一筆資料都有了所屬的類別,儘管這些類別並無真實意義,他只告訴我們哪些資料是屬於同一類的,但這樣就足夠我們訓練網路的參數了。由於每一筆資料在每次迭代可能會有不同的Pseudo-labels,因此每次迭代時的Softmax層必須重新訓練,這也拉長了整體訓練的時間。

4.利用梯度更新參數。
在機器學習中資料不平衡的問題是指各類別中的數量有巨大的差距導致訓練失敗,通常可以使用平均採樣來解決這個問題,但是在非監督式學習中真實資料的標籤根本無從得知,平均採樣並不能夠運用在非監督是學習中,幸運的是這個方法有了Pseudo-label,所以更新時並不用計算每一筆資料的cross entropy,只需要對每一類平均採樣即可。


實驗結果

圖a中的y軸代表該方法預測的準確度,可以看到隨著迭代次數的增加,網路確實學習到類級別的特徵。
圖b則是表示每次迭代之間,Pseudo-labels的變動程度,y軸的值越大代表變動程度低,在代表隨著網路學習到的特徵趨於穩定。
圖c討論了超參數K對於mAP的影響。

作者分別在ImageNet及Placce上測試這個模型的能力,原因是作者認為將網路放在”大資料集(ImageNet)”訓練上後,應用於“小資料集(Places)”比較符合現實中的情境。
所以雖然在ImageNet上測試的結果都比其他非監督模型來得好,但還是輸給了監督式的學習(conv5: 50.5 vs 38.2),但是在較符合”現實情境”情況下卻略勝監督式學習(conv4: 39.4 vs 39.8)。
除此之外作者還發現不知道為什麼大多數的非監督學習方法在conv4取得的特徵都比conv5還要好。


總結

這篇文章提出流程比較容易的非監督學習方法,而且也取得很好的效能,但由於是透過聚類的方法決定Pseudo labels,所以整體訓練時間可能較長,若站在實際應用的角度上可能還是使用預訓練好的模型會有比較好的結果。

Source: Deep Learning on Medium