論文分享 |《DeepCluster》

聚類(Cluster) 是一種經典的無監督學習方法,但是鮮有工作將其與深度學習結合。這篇文章提出了一種新的聚類方法DeepCluster,將端到端學習與聚類結合起來,同時學習網絡的參數和對網絡輸出的特徵進行聚類。作者將DeepCluster成功應用到大規模數據集和一些遷移任務上,性能超過了當前state of art的無監督工作。表明結合簡單的聚類算法,無監督方式也可以學習到很好的特徵。

背景

預訓練的卷積模型在各類任務中都發揮了極大的作用,比如目標檢測、語義分割,這些預訓練模型提取了一些很好通用的特徵,可以應用於不同的任務上。在這個過程中ImageNet起到了很好的助推,雖然ImageNet含有100萬+的圖片,但是在實際中這個數量還是很小的,並且ImageNet的多樣性不夠。如何去處理更大規模的無標籤數據,需要一種有效無監督學習的方法。

Method

框架

本文提出了一種將聚類與深度結合的方法,這種方法可以學習到一些有用的通用特徵,這個框架如下圖所示,整個過程包含對特徵進行聚類,然後基於聚類的結果作爲僞標籤,更新網絡的參數,讓網絡預測這些僞標籤,這兩個過程依次進行。這個過程看起來很簡單,但能夠取得比以往無監督方法更好的性能。

 

用數學公式表達整個過程就是下面兩個公式。第一個公式就是通過聚類產生僞標籤,第二個公式是計算基於僞標籤的損失值,然後更新網絡參數。

 

避免平凡解

上述交替聚類和模型更新這種方式容易使網絡找到一些取巧的方式,從而得到一些無意義的結果。

Empty clusters

具體來講,使用模型來預測僞標籤,可能使得網絡產生的特徵經過聚類都位於某個簇心周圍,而使得其他簇心沒有樣本,這個問題是由於沒有限制某個簇心不能沒有樣本。一個解決方法是限制每個簇心最少的樣本數,這需要計算整個數據集,代價太高;另一種方式是當某個簇心爲空時,隨機選擇一個非空的簇心,在其上加一些小的擾動作爲新的簇心,同時讓屬於非空簇心的樣本也屬於新的簇心。

Trivial parametrization

另外一個問題是大量的數據被聚類到少量的幾類上,一種極端場景是被聚類到一類上,這種情況下網絡可能對於任意的輸入都產生相同的輸出。解決這個問題的方法是根據類別(或僞標籤)對樣本進行均勻採樣。

實現細節

結構:AlexNet,使用BN代替LRN;VGG16+BN。
訓練數據:ImageNet;數據使用了一個基於Sobel的算子進行處理去除了顏色信息
優化:聚類的時候使用center crop的樣本特徵,訓練模型時使用數據增強(左右翻轉、隨機大小和長寬比的裁剪),其他訓練都是常見的配置。另外聚類時使用了PCA降維到256維。

實驗

Preliminary study

實驗部分首先來看隨着訓練過程的進行DeepCluster的一些變化。這裏採用NMI(Normalized Mutual Information)來度量兩個隨機變量的相互依賴性。比如當兩個隨機變量完全獨立,直到其中一個對推斷另一個不提供任何信息,NMI值也爲0。

下面來看簇心與圖片真實標籤(Fig 2(a))的關係,從Fig 2(a)可以看出簇心與label之間的依賴程度隨着訓練過程越來越高,表明特徵逐漸地包含了圖片類別的信息。

再來看第t-1epoch的簇心與第t epoch的簇心的關係(Fig 2(b)),從Fig 2(b)可以看出NMI在逐漸升高,表明簇心逐漸趨於穩定。但是最後NMI飽和值小於0.8,表明每個epoch都有一批樣本在頻繁的變換歸屬的簇心。

最後看一下選擇不同的K對精度的影響(Fig 2(c)).

基於激活值的線性分類

使用不同的卷積層特徵訓練一個線性分類器,在ImageNet 和 Places數據集上進行實驗,結果在下表中。在ImageNet上,DeepCluster在conv2 - conv5層的性能都不同幅度的超過了其他方法。

在數據集Pascal VOC 2007上實驗

將使用DeepCluster方法提取的特徵應用到數據集Pascal VOC 2007上,比較了不同任務下的性能,包括圖像分類,目標檢測,語義分割,實驗結果如下,可以看出DeepCluster在三個任務上都有不同程度的提升。

討論

上面的實驗都是基於ImageNet 和 AlexNet結構,下面來對比下使用不同數據集,不同結構下的結果。

ImageNet versus YFCC100M

ImageNet是一個面向目標的分類,它每個類別的分佈相對均勻,DeepCluster對於這種情況是比較適應的,並且聚類的數量與ImageNet的類別數量相匹配。爲了衡量這種數據分佈的影響,從YFCC100M中隨機選100萬張圖片來做預訓練,基於hashtag的統計表明這批數據不均勻。基於ImageNet 和 YFCC 100M的預訓練的特徵用在不同的任務上的性能。可以看出DeepCluster對於數據分佈是魯棒的,能夠得到一些較好的通用特徵。

AlexNet versus VGG

在監督學習中,越深的網絡往往有更好的性能,我們希望DeepCluster也有類似的效果。將在ImageNet訓練得到的特徵用於Pascal VOC 2007目標檢測上,可以看出VGG-16 能夠取得比AlexNet 更好的性能。

總結

本文提出了一種簡單有效的無監督方法,這種無監督的預訓練方法也能夠學習很好的通用特徵,使用這些特徵在transfer task上的性能越來越接近監督學習的方式。

參考文獻:

1. Caron, Mathilde, et al. "Deep Clustering for Unsupervised Learning of Visual Features." arXiv preprint arXiv:1807.05520 (2018).

 

歡迎關注我們的微信公衆號:geetest_jy

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章