深度聚類算法淺談

 目錄

1 深度嵌入聚類(ICML, 2016)

1.1 動機

1.2 貢獻

1.3 實驗分析

1.4 我的想法

2 神經協同子空間聚類(ICML, 2019)

2.1 動機

2.2 貢獻

2.3 實驗分析

2.4 我的想法

3 基於魯棒學習的改進的無監督圖像聚類 (CVPR, 2021)

3.1 動機

3.2 貢獻

3.3 實驗分析

3.4 我的想法

4 拓展衍生

 

 

傳統的聚類算法可以分爲劃分式聚類算法(例如K-means),基於圖的聚類算法(例如譜聚類),基於層次的聚類算法等[1][2]。

傳統的聚類算法應用最廣泛的兩種算法:K-means聚類和譜聚類。

K-means聚類通過確定簇心,並計算各個數據點到簇心的距離,來劃分類別的歸屬。

譜聚類是最流行的聚類算法之一,它的實現簡單,而且效果往往勝過傳統的聚類算法,如K-means。它的主要思想是把所有數據看作空間中的點,這些點之間用帶權重的邊相連,距離較遠的點之間的邊權重較低,距離較近的點之間邊權重較高,通過對所有數據點和邊組成的圖進行切圖,讓切圖後不同子圖間邊權重和儘可能低,而子圖內邊權重和儘可能高來達到聚類的目的[3]。

然而傳統的聚類算法對於高維數據集很難達到理想的聚類效果。例如,譜聚類算法對於高維數據集,會需要很高的內存計算消耗,在實際的大數據集聚類中不適用。雖然目前也有相關方法對原始高維數據執行降維,但是相關降維方法只能對線性數據執行降維處理,而不能夠對原始高維數據進行非線性關係映射處理。針對該問題,基於深度學習的聚類算法在近些年引發了衆多學者的研究興趣。

深度聚類的核心:可以視爲特徵表示的預訓練+微調。

預訓練:採用深度神經網絡(例如卷積自動編碼器),將原始高維數據,映射爲一個低維的特徵表示。

微調:通過KL散度損失[4]、K-means損失[5]、子空間損失[6]和交叉熵損失[7]等,對預訓練獲取的表示進行微調,使之在聚類過程中更加具有判別性。

本文主要記錄自己閱讀的三篇關於深度聚類的問題,分別是ICML2016, ICML2019, CVPR2021。其中ICML2016算是深度聚類領域的開創性文章,ICML2019則是爲了解決譜聚類方向的一個比較有意思的文章,CVPR2021則是當前採用僞標籤執行半監督分類的最新聚類文章。

此處推薦一個關於聚類方向記錄最新頂會文章和開放源碼的GitHub倉庫(目前已累計1.1k個Star)

 


1 深度嵌入聚類(ICML, 2016)

原文鏈接代碼

1.1 動機

傳統的基於距離(distance functions)和組(grouping algorithms)劃分的聚類算法在實際場景中被廣泛應用。然而,很少有工作聚焦於採用學習的表示執行聚類。

痛點分析:

1)  直接採用K-means等傳統基於距離度量的距離算法,在原始像素高維圖像數據集上計算歐式距離不夠高效,即當維度很高時,計算非常耗時;

2)  傳統的先降維後聚類的算法,只能對原始數據執行線性嵌入學習,導致很多重要特徵丟失;

3)  譜聚類算法雖然能夠在高維數據集中很好地執行聚類,但是當數據集變大時,其計算特徵矩陣時的內存和運算資源會暴增。

1.2 貢獻

針對傳統聚類算法不能很好地對高維大數據執行聚類,本文提出了一種深度嵌入聚類算法,能夠採用深度神經網絡同時學習特徵表示和執行聚類。主要貢獻可以分爲以下三點:

1)  聯合優化深度嵌入特徵表示和聚類分配結果

2)  提出了一種新穎的迭代細化的軟標籤

3)  在高維大數據集上的聚類實驗表明,本文提出的DEC算法具有最先進的準確率和運行速度

本文最大的亮點:

採用KL散度損失函數,來衡量微調過程中表示的軟標籤,從而使得最終的聚類效果得到提升。該方案的初衷是:深度神經網絡參數的學習一般是依靠有監督的標籤來指導學習,而在無監督聚類過程中,則不能使用標籤來指導網絡的參數更新。因此,本文通過KL散度損失函數來指導網絡參數的更新。

DEC (Deep Embedding Clsuting)模型的框架如下圖:

本文模型的思路:

1)  採用encoder-decoder的自動編碼器預訓練,將原始的MNIST 784維非線性映射爲10維的特徵表示;

2)  採用預訓練的特徵表示輸入到K-means中執行聚類,得到一組簇中心初始化聚類的簇;

3)  採用初始化的簇結合預訓練的特徵表示,採用KL散度損失函數對Encoder網絡參數進行微調,旨在學習一組更加具有判別性的表示。

軟標籤的概率計算和分配公式如下:

 

即對每個數據點,計算一個概率q,用於衡量當前樣本屬於不同簇的概率。

接着,依據軟標籤概率p,結合初始化設定的目標分佈p,採用KL散度損失來衡量微調的聚類效果,具體公式如下:

 

最後,通過反向傳播算法,對初始化設定的簇中心u和初始化的特徵表示z進行微調優化,其反向傳播更新的公式如下:

1.3實驗分析

本文采用的數據集信息如下:

實驗結果如下:

 

分析表3中的AE+k-means和表2中的K-means聚類結果可知,本文算法相比傳統譜聚類算法取得較大提升的地方在於採用AE(自動編碼器)能夠學習到一組很好的特徵表示,而採用AE+DEC的微調的提升幅度在MNIST上只有3%左右。

此外,本文實驗的最大亮點在於對聚類簇中心和表示進行了可視化,來解釋本文軟標籤的實際作用,我認爲該實驗基本是爲本文的實驗結果可解釋性方面提升了一個臺階,具體如下圖:

 

上圖X軸表示軟標籤q的概率值,Y軸表示梯度的更新幅度值。默認是q越大,越靠近簇中心數字5,相關手寫的圖像數字5也越規範清晰,並且梯度更新幅度也越大。反之,q越小,手寫數字5越像數字8,並且所佔梯度更新值越小,即越可能被認定爲數字8。

1.4 我的想法

上述模型的方法存在一個較嚴重的問題:最終模型的聚類結果和學習的特徵表示初步聚類效果有較大的關聯關係。即如果原始的特徵表示聚類效果不理想,最終的聚類效果提升不會太大。另外,對於CIFAR-10等其它圖像數據集,本文的自動編碼器不能夠提取到理想的差異性表示。

此外,我自己對原文網上開源的Pytorch復現版本,採用縮小版的MNIST數據集執行聚類時,發現最終的聚類效果要比採用原始完整的MNIST數據集差很多(PS: 數據集縮小幅度越大,聚類效果下降的越多)。初步的原因推測:和自動編碼器結構和參數的設定有較大關係,即原文的自動編碼器結構和參數是經過精細化調參後設定的,但其並不具備一般性,即該模型的參數具有較大的偏見性。初步的實驗代碼見鏈接:代碼

雖然本文存在上述問題,但是本文在寫作,實驗和創新點方面可以被認爲是深度聚類研究方面最有代表性的一篇文章,並且基本是目前所有最新關於深度聚類文章實驗中的baseline方法。

 


2 神經協同子空間聚類(ICML, 2019)

原文鏈接會議的講解視頻鏈接

代碼:已發郵件詢問作者,但是未得到回覆,估計是沒有公開版本源碼。

2.1 動機

子空間聚類是從高維空間中部分空間維度進行特徵判別性的搜索,從而將原始的高維數據劃分爲認定的K個簇。已有的工作需要依賴譜聚類算法,導致在大數據集上的運行和內存消耗較大。

痛點分析:

1)  子空間聚類一般需要構造親和力(affinity)矩陣,然而其在大數據集上的構建代價很高。一般需要O(n^2)內存,O(kn^2)計算複雜度,其中k是簇的個數,n是數據點個數;

2)  譜聚類一般需要對原始數據矩陣計算奇異值矩陣(SVD),然而其在大數據集上計算獲取SVD是苛刻的,即計算代價很高。

2.2 貢獻

爲了避免在大數據集上直接計算獲取親和力矩陣,並繞過譜聚類算法執行聚類操作,本文提出一種神經協同子空間聚類算法,主要貢獻如下:

1)  爲了提高子空間聚類的可擴展性,本文將子空間聚類變爲了一個分類問題,從而能夠去除譜聚類導致高計算量的問題;

2)  爲了避免直接採用全部數據計算親合力矩陣,本文通過訓練的分類器,結合batch分組訓練,能夠有效降低計算親和力矩陣的時間和內存消耗;

3)  通過分類器學習的親和力矩陣,聯合自我表示層獲取的親和力矩陣,進行協同優化,使得分類部分能夠改進自我表達部分創建一個更好的親和力矩陣,能夠對含噪聲和異常的數據具有更高的魯棒性,從而提高最終的聚類效果。

本文創新點最大的亮點:

分類模塊能夠提取更加抽象和鑑別的特徵,而自我表示模塊能夠捕獲相似樣本間的聯繫,能夠提高對噪聲和異常數據點的聚類效果。具體模型框架如下圖:

上圖中Ac表示分類模塊獲取的消極親和力矩陣,其計算方式如下:

採用Softmax對Encoder的隱藏層表示執行分類,其在概率大的認定爲目標簇,而此處的消極親和力是指哪些概率極低,即很大可能不屬於對應目標簇的分類結果,即概率越低標記的顏色越接近黑色,具體分類演示如下圖:

 

上圖中的As表示採用Encoder學習的特徵表示Z和ZC通過子空間聚類獲取的積極親和力矩陣。其顏色越接近白色,表示概率越大,越屬於對應的簇。該矩陣返回哪些無限接近白色的數據點。其計算的公式如下所示:

本文通過協同優化計算Ac中大概率不屬於某個簇的數據loss,和As中大概率屬於某個簇的數據loss,來執行聚類,從而提高最終的聚類效果。協同優化的Loss定義如下:

最後,本文通過子空間聚類損失聯合協同選取親和力矩陣中數據點Loss執行最終的聯合優化,具體公式和算法如下:

 

 

2.3 實驗分析

本文采用了MNIST, Fashion-MNIST和Stanford Online Products三種數據集執行了聚類分析,並和DEC等深度聚類算法進行對比。具體結果如下:

 

 

由表1和表2可以,相比DEC,本文提出的聚類算法效果要高很多。

2.4 我的想法

本文的創新點和問題分析比較容易理解,但是本文沒有公開版的源碼。另外,本文的實驗部分做的有些簡單,只是從最終的聚類結果性能進行對比分析,對於其採用的分類模塊和自我表達模板獲取的親和力矩陣訓練的loss作用及核心原理沒有進行可視化分析,導致讀者很難對本文的創新點進行深入理解(PS:即只看聚類結果,大概率只能從黑盒理論的視角來對本文的模型進行分析和理解)。 

 


3 基於魯棒學習的改進的無監督圖像聚類 (CVPR, 2021)

原文鏈接代碼

3.1 動機

無監督圖像聚類,經常會出現錯誤的預測結果和過於自信的結果。

痛點分析:

1)  深度神經網絡如果在初始化時,相關數據點被認定爲錯誤的簇時,隨着訓練的進行,會出現錯誤累積傳播的現象,從而導致過於自信的錯誤預測結果。

2)  現有的半監督聚類算法[8](ICLR,2020),直接採用原始獲取的僞標籤作爲ground-truth值,導致容易出現次優結果。

3.2 貢獻

本文受到魯棒學習(PS:關於魯棒學習的概述,可以見參考資料[9])的啓發,提出了一種從含噪聲和錯誤分類結果樣本中提取僞標籤的聚類方法。主要貢獻如下:

1)  通過已存在的聚類算法的聚類結果結合再訓練能夠避免過於自信的預測結果;

2)  採用本文魯棒無監督學習獲取的僞標籤指導聚類算法,能夠有效提高現有半監督分類聚類算法的最終聚類效果;

3)  本文的消融實驗表明,本文提出的三種基於自信度量、基於基準度量和基於混合機制的乾淨樣本選擇機制,能夠很好地緩解噪聲樣本的影響。

本文最大的亮點:通過魯棒學習的思想,把原始的聚類僞標籤結果,劃分爲乾淨樣本集和不乾淨樣本集。然後,通過乾淨樣集指導半監督分類的聚類算法執行聚類,從而提高最終的聚類效果。具體如下圖:


乾淨樣本的不乾淨樣本的選擇機制如下圖:

 本文提出了三種機制,用於選擇乾淨樣本:

1)  Confidence-based strategy

採用無監督指導的分類器分類結果來判定,即分類的概率大於閾值時,認定爲乾淨樣本。

2)  Metric-based strategy

採用Encoder獲取的嵌入表示,輸入到兩個K-NN中執行分類,如果兩個分類結果一致,則認定爲乾淨樣本。

3)  結合1)和2)方法,選取交集爲乾淨樣本

本文的魯棒學習機制,通過對標籤加入魯棒的噪聲,具體如下所示:

 

最後,通過定義的損失函數來優化選取乾淨樣本和不乾淨樣本集,具體如下:

 

3.3 實驗分析

本文實驗採用了CIFAR10, CIFAR100和ImageNet-50三種圖像數據集執行了聚類實驗,並結合半監督分類思想的TSUC和SCAN聚類算法執行了聚類,可以看出本文學習的僞標籤能夠較大幅度提高最終的聚類效果。

3.4 我的想法

本文最大的貢獻在於表明了DEC未探討和挖掘的原始數據包含噪聲和聚類結果中容易出現過於自信的預測結果問題,並提出了本文的接近方案,從而進一步提升深度聚類效果。針對該問題,本文提出了魯棒的無監督聚類算法來學習一組更加具有判別性的標籤。

另外,本文的工作基礎是一篇ICLR2020文章,該文章也有源碼,具體請參考文獻[8]。

 


4 拓展衍生

此處,簡單介紹兩篇最新的聚類文章,也是我後續計劃深入看的文章。

1)arXiv 2021

文章鏈接代碼

簡介:本文也是探討採用僞標籤進行聚類的文章,其目標在於學習一組更加具有判別性的僞標籤,但是該文章的路線好像是和上述介紹的CVPR2021不一樣。

 

2)AAAI 2021

文章鏈接代碼

簡介:本文采用對比學習的思想,對圖像上的高維數據集執行聚類。通過最大化積極組內點的相似度,並最小化消極組內點的相似度,從而提高最終的聚類效果。該思路,我初步感覺和本文重點提到的ICML 2019的協同子空間聚類算法有些類似。

 


參考文獻

[1]  “常用聚類算法綜述,” 知乎專欄. https://zhuanlan.zhihu.com/p/78382376 (accessed Apr. 14, 2021).

[2]   “用於數據挖掘的聚類算法有哪些,各有何優勢? - 知乎.” https://www.zhihu.com/question/34554321 (accessed Apr. 14, 2021).

[3]   “譜聚類(spectral clustering)原理總結 - 劉建平Pinard - 博客園.” https://www.cnblogs.com/pinard/p/6221564.html (accessed Apr. 14, 2021).

[4]   J. Xie, R. Girshick, and A. Farhadi, “Unsupervised Deep Embedding for Clustering Analysis,” Nov. 2015, Accessed: Jan. 25, 2021. [Online]. Available: https://arxiv.org/abs/1511.06335v2.

[5]   Q. Ma, J. Zheng, S. Li, and G. Cottrell, “Learning Representations for Time Series Clustering,” Dec. 2019.

[6]   T. Zhang, P. Ji, M. Harandi, W. Huang, and H. Li, “Neural Collaborative Subspace Clustering,” in International Conference on Machine Learning, May 2019, pp. 7384–7393, Accessed: Apr. 05, 2021. [Online]. Available: http://proceedings.mlr.press/v97/zhang19g.html.

[7]   S. Park et al., “Improving Unsupervised Image Clustering With Robust Learning,” arXiv:2012.11150 [cs], Mar. 2021, Accessed: Apr. 05, 2021. [Online]. Available: http://arxiv.org/abs/2012.11150.

[8]   D. Gupta, R. Ramjee, N. Kwatra, and M. Sivathanu, “Unsupervised Clustering using Pseudo-semi-supervised Learning,” presented at the International Conference on Learning Representations, Sep. 2019, Accessed: Apr. 14, 2021. [Online]. Available: https://openreview.net/forum?id=rJlnxkSYPS.

[9]   哈工大SCIR, “魯棒表示學習簡述,” 微信公衆平臺. http://mp.weixin.qq.com/s?__biz=MzU2OTA0NzE2NA==&mid=2247554282&idx=3&sn=b07b18f25c000ed0143904d42257e77f&chksm=fc86f5f9cbf17cef931bf666091b485851475fec9b861269aa6742165577741e5558daa378e1#rd (accessed Apr. 15, 2021).

 

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