論文解讀DEC《Unsupervised Deep Embedding for Clustering Analysis》

每天卷學習發表於2022-01-12

Abstract

  在本文中,我們提出了 Deep Embedded Clustering(DEC),一種使用深度神經網路同時學習 feature representations 和 cluster assignments 的方法。DEC學習從資料空間到低維特徵空間的對映,並在其中迭代地優化聚類目標。


1. Introduction

  What is Clustering???

  Some questions for Clustering in unsupervised methods: 

    • What defifines a cluster?
    • What is the right distance metric?
    • How to effificiently group instances into clusters?
    • How to validate clusters?
  DEC的目的:本文希望找到一種方案,可以聯合解決特徵空間學習與聚類關係判別。本文的 idea 是從一篇 CV 論文中獲得的,但是該論文采用的是監督學習的方法,然而 DEC 是無監督方法。  
  本文定義了一個從 data space $X$ 到 lower-dimensional feature space $Z$ 的引數化 non-linear mapping ,在其中優化了一個聚類目標。之前的工作主要在資料空間或淺層線性嵌入空間上操作,本文通過在聚類目標上的反向傳播使用隨機梯度下降(SGD)來學習對映,這是由深度神經網路引數化的。本文將這種聚類演算法稱為 Deep Embedded Clustering ,或DEC。

  本文貢獻:

    1. joint optimization of deep embedding and clustering;
    2. a novel iterative refifinement via soft assignment; 
    3. state-of-the-art clustering results in terms of clustering accuracy and speed.

2. Related work

  聚類在機器學習的  feature selection、distance functions、grouping methods 以及 cluster validation 方面得到了廣泛研究。

  流行的聚類方法的一個分支是 kmeans 和高斯混合模型(GMM)。這些方法速度快,可適用於範圍廣泛的問題。然而,它們的距離度量僅限於原始資料空間,當輸入維數較高時,它們往往會無效。

  Spectral clustering 及其變體最近得到了受歡迎。它們允許更靈活的距離度量,並且通常比 kmeans 表現得更好。Yang等人已經探索了 spectral clustering 和 embedding 的結合。 Tian 等人提出了一種基於 spectral clustering 的演算法,但用深度自編碼器代替特徵值分解,提高了效能,但進一步增加了記憶體消耗。

  Spectral clustering algorithms 需要計算全圖的  Laplacian matrix ,因此在資料點的數量上具有二次或超二次複雜度。

  最小化 data distribution 和 embedded distribution 之間的 KL   差異。 

  我們從引數化的  $t-SNE$  中獲得靈感。我們定義了一個 centroid-based  的概率分佈,並最小化其  $KL$  散度到輔助目標分佈,以同時改進聚類分配和特徵表示,而不是最小化  $KL$  散度以產生輔助目標分佈,從而產生忠實於原始資料空間中距離的嵌入。基於質心的方法也有將複雜度降低到  $O(nk)$  的好處,其中  $k$  是質心的數量。

3. Deep embedded clustering

  Consider the problem of clustering a set of  $n$  points  $\left\{x_{i} \in\right.   X\}_{i=1}^{n} $ into  $k$  clusters, each represented by a centroid  $\mu_{j}$, $j=1, \ldots, k $. Instead of clustering directly in the data space  $X$ , we propose to first transform the data with a nonlinear mapping  $f_{\theta}: X \rightarrow Z$ , where  $\theta$  are learnable parameters and  $Z $ is the latent feature space. The dimensionality of  $Z$  is typically much smaller than  $X$  in order to avoid the "curse of dimensionality" (Bellman, 1961). To parametrize  $f_{\theta}$ , deep neural networks (DNNs) are a natural choice due to their theoretical function approximation properties (Hornik, 1991) and their demonstrated feature learning capabilities (Bengio et al., 2013).
  The proposed algorithm (DEC) clusters data by simultaneously learning a set of  $k$  cluster centers  $\left\{\mu_{j} \in Z\right\}_{j=1}^{k}$  in the feature space  $Z$  and the parameters  $\theta$  of the DNN that maps data points into  $Z$ . DEC has two phases: (1) parameter initialization with a deep autoencoder (Vincent et al., 2010) and (2) parameter optimization (i.e., clustering), where we iterate between computing an auxiliary target distribution and minimizing the Kullback-Leibler (KL) divergence to it. We start by describing phase (2) parameter optimization  clustering, given an initial estimate of  $\theta$  and  $\left\{\mu_{j}\right\}_{j=1}^{k} $.

3.1. Clustering with KL divergence

  給定非線性對映  $f_{\theta}$  和初始聚類質心 $ \left\{\mu_{j}\right\}_{j=1}^{k}$  的初始估計,我們建議改進聚類使用在兩個步驟之間交替的無監督演算法。 第一步,我們計算  embedded points  和  cluster centroids  之間的  soft assignment 。 第二步,我們更新深度對映  $f_{\theta}$  並通過使用輔助目標分佈從當前的高置信度分配中學習來細化叢集質心。 重複此過程,直到滿足收斂標準。

3.1.1. Soft assignment 

  我們使用 Student’s t-distribution 作為核來衡量 embedded point  $z_i$  和質心  $\mu_{j}$  之間的相似性:

    $q_{i j}=\frac{\left(1+\left\|z_{i}-\mu_{j}\right\|^{2} / \alpha\right)^{-\frac{\alpha+1}{2}}}{\sum_{j^{\prime}}\left(1+\left\|z_{i}-\mu_{j^{\prime}}\right\|^{2} / \alpha\right)^{-\frac{\alpha+1}{2}}} \quad \quad\quad\quad (1)$

  其中:$z_{i}=f_{\theta}\left(x_{i}\right) \in Z$  是嵌入後的  $x_{i} \in X$  ,$\alpha$  是  Student's  t  distribution 的自由度,$q_{i j}$  可以解釋為將樣本 $i$ 分配給聚類 $j$ 的概率(即軟分配)。由於我們不能在無監督設定下的驗證集上交叉驗證  $\alpha $,並且學習它是多餘的,我們讓  $α=1$  用於所有實驗。

3.1.2. KL Divergence minimization

  我們建議在  auxiliary target distribution 的幫助下,通過學習  high confidence assignments 來迭代地細化  clusters 。具體來說,我們的模型是通過匹配軟分配到目標分佈來訓練的。為此,我們將我們的目標定義為軟分配  $q_i$  和輔助分佈  $p_i$  之間的KL散度損失如下:

    $L=\mathrm{KL}(P \| Q)=\sum \limits_{i} \sum \limits_{j} p_{i j} \log \frac{p_{i j}}{q_{i j}} \quad \quad\quad\quad (2)$

  目標分佈  $P$  的選擇是  DEC  的效能的關鍵。一種簡單的方法是將超過置信閾值的資料點的每個  $p_i$  設定為一個  $delta$  分佈(到最近的質心),而忽略其餘的。然而,由於  $q_i$  是軟任務,所以使用較軟的概率目標更自然和靈活。

  具體來說,我們希望我們的  target distribution  具有以下特性:

  1. strengthen predictions (i.e., improve cluster purity).
  2. put more emphasis on data points assigned with high confidence.
  3. normalize loss contribution  of each centroid to prevent large clusters from distorting the hidden feature space.

  在我們的實驗中,我們計算  $p_i$,首先將  $q_i$  提高到二次冪,然後按每個簇的頻率歸一化:

    ${\large p_{i j}=\frac{q_{i j}^{2} / f_{j}}{\sum_{j^{\prime}} q_{i j^{\prime}}^{2} / f_{j^{\prime}}}} \quad \quad\quad\quad (3)$

  其中  $f_{j}=\sum \limits _{i} q_{i j}$   是 soft cluster frequencies 。關於L和P的經驗性質的討論,請參考第5.1節。

3.1.3. Optimization

  我們利用具有動量的隨機梯度下降(SGD)聯合優化了聚類中心  $\left\{\mu_{j}\right\} $  和DNN引數  $\theta  $。$L$ 對每個資料點  $z_i$  和每個聚類質心  $\mu_{j}$  的特徵空間嵌入的梯度計算為:

    $\frac{\partial L}{\partial z_{i}}=\frac{\alpha+1}{\alpha} \sum \limits _{j}\left(1+\frac{\left\|z_{i}-\mu_{j}\right\|^{2}}{\alpha}\right)^{-1}\quad \quad\quad\quad (4)$

    $\frac{\partial L}{\partial \mu_{j}}=-\frac{\alpha+1}{\alpha} \sum \limits _{i}\left(1+\frac{\left\|z_{i}-\mu_{j}\right\|^{2}}{\alpha}\right)^{-1}\times\left(p_{i j}-q_{i j}\right)\left(z_{i}-\mu_{j}\right)\quad \quad\quad\quad (5)$

  梯度  $\partial L / \partial z_{i}$  然後被傳遞給DNN,並用於標準的反向傳播來計算  DNN  的引數梯度  $\partial L / \partial \theta$。為了發現叢集分配,當連續兩次迭代之間改變叢集分配的點小於  $tol  \%$  時,我們停止我們的過程。

3.2. Parameter initialization

  到目前為止,我們已經討論了  DEC  如何處理  DNN  引數$θ$  和簇質心  ${µ_j}$  的初始估計。現在我們將討論引數和質心是如何初始化的。

  我們使用堆疊自動編碼器(SAE)初始化DEC,因為最近的研究表明,它們在真實資料集上始終產生具有語義意義和分離良好的表示。因此,SAE學習到的無監督表示自然地促進了使用DEC進行聚類表示的學習。

  我們一層一層地初始化SAE網路,每一層都是一個去噪自動編碼器,在隨機損壞後重建前一層的輸出。去噪自動編碼器是一種兩層神經網路,其定義為:

    $\tilde{x} \sim \operatorname{Dropout}(x) \quad \quad\quad\quad (6)$

    $h=g_{1}\left(W_{1} \tilde{x}+b_{1}\right) \quad \quad\quad\quad (7)$

    $\tilde{h} \sim \operatorname{Dropout}(h) \quad \quad\quad\quad (8)$

    $y=g_{2}\left(W_{2} \tilde{h}+b_{2}\right)\quad \quad\quad\quad (9)$

  其中,$\operatorname{Dropout}(\cdot)$  是一個隨機對映,它將其輸入維度的一部分隨機設定為0,$g_{1}$  and  $g_{2}$ 分別為編碼層和解碼層的啟用函式,$\theta=\left\{W_{1}, b_{1}, W_{2}, b_{2}\right\}$  為模型引數。訓練是通過最小化最小二乘損失  $\|x-y\|_{2}^{2}$  來完成的。在訓練了一層後,我們使用它的輸出有輸入來訓練下一層。我們在所有編碼器/解碼器對中使用校正線性單元(ReLUs),除了第一對的  $g_{2}$ (它需要重建可能有正負值的輸入資料,如零均值影像)和最後對的  $g_{1}$  (因此最終資料嵌入保留完整資訊)。

  經過  greedy layer-wise training  後,我們將所有編碼器層和所有解碼器層,按反向層訓練順序連線起來,形成一個深度自動編碼器,然後對其進行微調,使其最小化重構損失。最終的結果是一箇中間有一個瓶頸編碼層的多層深度自動編碼器。然後我們丟棄解碼器層,並使用編碼器層作為資料空間和特徵空間之間的初始對映,如 Fig. 1 所示。

    

  為了初始化聚類中心,我們將資料通過初始化的DNN傳遞,得到嵌入的資料點,然後在特徵空間  $Z$  中執行標準的  $k-means$  聚類,得到  $k$  個初始質心  $\left\{\mu_{j}\right\}_{j=1}^{k}$。

4. Experiments

4.1. Datasets

  我們在一個文字資料集和兩個影像資料集上評估了所提出的方法(DEC),並將其與其他演算法包括  $k-means$、$LDGMI$ 和  $SEC$  進行比較。$LDGMI$  和$SEC$  是基於  spectral clustering  的演算法,它們使用拉普拉斯矩陣和各種變換來提高聚類效能。

  • MNIST:MNIST資料集由280000畫素大小的70000個手寫數字組成。這些數字居中並進行尺寸歸一化(LeCun等,1998)。
  • STL-10: 96 x 96彩色影像的資料集。有10個類別,每個類別有1300個樣本。它還包含100000張相同解析度的無標籤影像(Coates等,2011)。訓練自動編碼器時,我們還使用了無標籤的集合。與Doersch等人(2012)相似,我們將HOG特徵和8×8色圖連線起來,用作所有演算法的輸入。
  • REUTERS: REUTERS包含大約810000個以類別樹標籤的英語新聞報導(Lewis等,2004)。我們使用了四個根類別:公司/工業,政府/社會,市場和經濟學作為標籤,並進一步修剪了由多個根類別標籤的所有文件以得到685071個文章。然後,我們根據2000個最常見的詞幹計算tf-idf特徵。由於某些演算法無法擴充套件到整個Reuters資料集,因此我們還抽樣了10000個樣本的隨機子集,我們將其稱為REUTERS-10k,以進行比較。

    

4.2. Evaluation Metric

  我們使用標準的無監督評估  metric  和   protocol  來與其他演算法進行評估和比較。對於所有的演算法,我們將聚類的數量設定為 ground-truth  類別的數量,並以無監督的聚類精度(ACC)來評估效能:

    $A C C=\max _{m} \frac{\sum_{i=1}^{n} 1\left\{l_{i}=m\left(c_{i}\right)\right\}}{n}\quad \quad\quad\quad (10)$

  其中 $ l_{i}$  是ground-truth label ,$c_{i}$ 是該演算法產生的聚類分配,$m$ 是將  $c_{i}$ 進行聚類對映。

4.3. Implementation

  實驗引數補充,略........

4.4. Experiment results

  我們定量和定性地評估了我們的演算法的效能。在 Table 2 中,我們報告了每種演算法的最佳效能,超過9個超引數設定。

    

  請注意,DEC的效能優於所有其他方法,有時會有很大的優勢。為了證明端到端訓練的有效性,我們還展示了在聚類過程中凍結非線性對映  $f_θ$  的結果。

  為了研究超引數的影響,我們繪製了每種方法在所有 $9$ 種設定下的準確性( Fig.2)。

    

   我們觀察到,與  LDGMI  和  SEC  相比,DEC  在超引數範圍內更為一致。對於  DEC,超引數  $λ=40$  在所有資料集上都給出了接近最優的效能,而對於其他演算法,最優超引數變化很大。此外,DEC可以用GPU加速處理整個  REUTERS  資料集,而第二好的演算法LDGMI和SEC則需要數月的計算時間和 TB 的記憶體。事實上,我們不能在完整的  REUTERS  資料集上執行這些方法,並在  Table 2  中報告N/A(這些方法的GPU適應不是重要的)。

  

   在  Fig. 3  中,我們顯示了  MNIST  和  STL  中每個聚類中10張得分最高的影像。每一行對應一個  cluster,影像根據它們到  cluster center  的距離從左到右進行排序。我們觀察到,對於  MNIST,DEC  的  cluster assignment  很好地對應自然叢集,除了混淆4和9,而對於STL,DEC對飛機、卡車和汽車大多是正確的,但在動物類別時,部分注意力花在姿勢上而不是類別上。


5. Discussion

5.1. Assumptions and Objective

  DEC的基本假設是,初始分類器的高置信度預測大部分是正確的。為了驗證該假設對我們的任務是否成立,以及我們對  $P$  的選擇是否具有所需的屬性,我們針對每個嵌入點  $\left|\partial L / \partial z_{i}\right|$  ,對其軟分配  $q_{ij}$  ,繪製了  $L$  的梯度大小到隨機選擇的  MNIST  聚類  $j$(Fig4)。

    

   我們觀察到靠近聚類中心(較大  $q_{ij}$  )的點對梯度的貢獻更大。我們還顯示了按  $q_{ij}$   排序的每個10個百分位數的10個資料點的原始影像。如相似度更高的例項“ 5”。隨著置信度的降低,例項變得更加模稜兩可,最終變成錯誤標籤的 ”8”,表明我們的假設是正確的。

5.2. Contribution of Iterative Optimization

  在  Fig.5  中,我們視覺化了訓練過程中  MNIST  隨機子集的嵌入式表示的進度。為了視覺化,我們將  t-SNE應用於嵌入點  $z_i$。顯然,聚類之間的隔離度越來越高。 Fig.5(f)  顯示了在SGD epoch  相對應的精度如何提高。

  

5.3. Contribution of Autoencoder Initialization

  為了更好地理解每個元件的貢獻,我們在 Table 3 中展示了所有具有自編碼器特徵的演算法的效能。我們觀察到,SEC  和  LDMGI  的表現並沒有隨  autoencoder feature  而顯著變化,而  $k-means$  有所改善,但仍低於  $DEC$  。這證明了採用提議的  $KL$  散度目標進行深度嵌入的能力以及微調的好處。

    

5.4. Performance on Imbalanced Data

  為了研究不平衡資料的影響,我們對具有不同保留率的  MNIST  子集進行了取樣。對於最小保留率  $r_{\min } $,類別  $0$  的資料點將以  $r_{\min } $的概率保留,類別  $9$  將以  $1$  的概率保留,而其他類別的資料點之間則保持線性關係。結果,最大的簇將是最小簇的  $1 / r_{\min }$  倍。從  Table 4  中我們可以看到  DEC  對於簇大小的變化具有相當強的魯棒性。我們還觀察到,在自動編碼器和  k-means  初始化(顯示為AE+k-means)之後,KL散度最小化(DEC)不斷提高了聚類精度。

    

5.5. Number of Clusters

   到目前為止,我們已經假定給出自然簇的數量是為了簡化演算法之間的比較。但是,實際上,此數量通常是未知的。因此,需要一種確定最佳簇數的方法。為此,我們定義兩個度量:

  • 標準度量,歸一化互資訊(NMI),用於評估具有不同聚類數量的聚類結果:

    $N M I(l, c)=\frac{I(l, c)}{\frac{1}{2}[H(l)+H(c)]}$

  其中  $I$  是互資訊度量,$H$ 是熵。

  • 泛化性(G)定義為訓練損失與驗證損失之間的比率:

    $G=\frac{L_{\text {train }}}{L_{\text {validation }}}$

  當訓練損失低於驗證損失時,$G$  很小,這表明高度過擬合。

   Fig. 6  顯示了當簇數從  $9$ 增加到  $10$  時,泛化性急劇下降,這表明  $9$ 是最優的簇數。我們確實觀察到NMI得分最高為  $9$,這表明泛化性是選擇簇數的良好指標。 NMI最高是  $9$,而不是  $10$,因為  $9$  和  $4$  在文字上相似,DEC認為它們應該組成一個聚類。這與我們在  Fig. 3  中的定性結果非常吻合。

    


6. Conclusion

  本文提出了深度嵌入式聚類,即DEC,一種在聯合優化的特徵空間中聚集一組資料點的演算法。DEC的工作原理是迭代優化基於KL散度的聚類目標和自訓練目標分佈。我們的方法可以看作是半監督自我訓練的無監督擴充套件。我們的框架提供了一種方法來學習專門的表示,而沒有基本聚類成員標籤。

  實證研究證明了我們所提出的演算法的有效性。DEC提供了更好的效能和魯棒性,這在無監督任務中尤其重要,因為交叉驗證是不可能的。DEC還具有資料點數量的線性複雜性的優點,這使得它可以擴充套件到大型資料集。


『總結不易,加個關注唄!』 


 

相關文章