論文解讀(IDEC)《Improved Deep Embedded Clustering with Local Structure Preservation》

cute_Learner發表於2022-02-13

Paper Information

Title:《Improved Deep Embedded Clustering with Local Structure Preservation》
Authors:Xifeng Guo, Long Gao, Xinwang Liu, Jianping Yin
Sources:2017, IJCAI
Other:69 Citations, 71 References
Paper:Download 
Code:Download 


Abstract

  本文解決的問題:先前根據不同情況設計聚類損失函式的工作可能破壞了特徵空間,產生無意義的特徵表示從而降低了聚類效能。

   本文解決的思路:

    • 使用聚類損失函式指導代表特徵空間的 points 分佈;
    • 採用 under-complete autoencoder 維護資料的區域性結構;
    • 聯合 聚類損失  AE 損失 來訓練。
  IDEC 既可以很好的實現聚類任務,還可以學到能保持區域性結構的表示(Representation)。

1 Introduction

  聚類任務的劃時代傑作:

    • 1967 MacQueen 的  k-means ;
    • 2006 Bishop 的 gaussian mixture model ;
    • 2007 Von Luxburg 的 spectral clustering ;

  由於輸入資料的維度很大,通常會有很多不可靠的特徵資料,這嚴重影響力聚類效果。所以一個被普遍接受的想法是:將高維空間的輸入資料對映到低維空間,然後再進行聚類。

  Q1:為什麼傳統降維方法如 PCA 、LDA等學習表示的能力有限?

  A1:知道的可以再評論區抒發見解。

  由於深度學習的發展,DNN model 能很好的實現 feature transformation ,學到有用的表示。

  然後介紹 DEC ,可以參考《論文解讀(DEC)Unsupervised Deep Embedding for Clustering Analysis》。

  本文貢獻:

    • 提出了一種深度聚類演算法,可以聯合進行聚類學習具有區域性結構儲存的代表性特徵
    • 通過實證證明了區域性結構儲存在深度聚類中的重要性
    • IDEC 在很大的優勢上優於最新的對手。

2 Related Work

2.1 Deep Clustering

  目前階段的聚類演算法:

    1. Two-stage work that applies clustering after having learned a representation;[ 該方法基於良好的表示 ]
    2. Approaches that jointly optimize the feature learning and clustering;[ 特徵學習的時候同時進行聚類 ]

  對於 1 舉例:

    • Tian et al., 2014 :先使用 AE 學到低維有用表示,然後使用 k-means 進行聚類;
    • Chen, 2015 :層級訓練深度信念網路(DBN),然後將 non-parametric maximum-margin 聚類應用於學習到的中間表示;
    • Peng et al., 2016 : 使用稀疏自編碼器,同時自適應學習區域性和全域性結構資訊的表示,再採用傳統的聚類演算法進行聚類;

  對於 2 舉例:

    • Yang et al., 2016 :proposes a recurrent framework in deep representations and image clusters, which integrates two processes into a single model with a unified weighted triplet loss and optimizes it end-to-end. 
    • Xie et al.,2016 :DEC 通過深度神經網路學習從觀測空間到低維潛在空間的對映,可以同時獲得特徵表示和聚類分配;

2.2 Autoencoder

  AE 有兩個部分:

    • Encoder:編碼器函式為  $z=f_{W}(x)$  ,輸出表示 $z$ 。
      $z=f_{W}(x)$
    • Decoder:解碼器函式為  $x^{\prime}=g_{W^{\prime}}(z) $,根據表示 $z$ 重構原始輸入 $x$ 。

      $x^{\prime}=g_{W^{\prime}}(z)$

  兩種常見的自編碼器:

    • 欠完備自編碼器( Under-complete autoencoder):$z$ 的維度要小於原始輸入的維度。
    • 去噪自編碼器( Denoising autoencoder):$L=\left\|x-g_{W^{\prime}}\left(f_{W}(\tilde{x})\right)\right\|_{2}^{2} \quad \quad \quad (1)$

  Reference:

    1. 欠完備自編碼器:從自編碼器獲得有用特徵的一種方法是限制  $h$  的維度比 $x$ 小,這種編碼維度小於輸入維度的自編碼器稱為欠完備(undercomplete)自編碼器。學習欠完備的表示將強制自編碼器捕捉訓練資料中最顯著的特徵。
    2. 去噪自編碼器(denoising autoencoder,DAE)是一類接受損壞資料作為輸入,並訓練來預測原始未被損壞資料作為輸入的自編碼器。

2.3 Deep Embedded Clustering

  深度嵌入式聚類(DEC) [Xieetal.,2016] 首先對自動編碼器進行預訓練,然後刪除解碼器。其餘的編碼器通過優化以下目標進行微調:

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

  其中:

    • $q_{i j}$ 是表示  $z_{i}$  和聚類中心  $\mu_{j}$  之間的相似度。定義為:

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

    • Eq.2 中的 $p_{ij}$  是目標分佈,定義為:

      ${\large p_{i j}=\frac{q_{i j}^{2} / \sum_{i} q_{i j}}{\sum_{j}\left(q_{i j}^{2} / \sum_{i} q_{i j}\right)}}\quad \quad\quad(4) $

  DEC演算法:

    • 首先,對原始資料集  $X$ ,跑一遍 AE ,獲得 Encoder 生成的表示  $z_{i}=f_{W}\left(x_{i}\right)$ ;
    • 其次,基於  ${z_i}$ ,使用傳統的  $k-means$ ,獲得若干聚類中心 ${\mu _j}$;
    • 然後,根據 Eq.3Eq.4 計算得的  $q_{ij}$  和  $p_{ij}$  去計算  Eq.2 中的 $L$;
    • 最後,根據  $q_{ij}$  進行  $label$  分配。

3 Improved Deep Embedded Clustering

  • Consider a dataset  $X$  with  $n$  samples and each sample  $x_{i} \in   \mathbb{R}^{d}$  where  $d$  is the dimension.
  • The number of clusters  $K$  is a priori knowledge and the  $j$  th cluster center is represented by  $\mu_{j} \in \mathbb{R}^{d}$ . Let the value of  $s_{i} \in\{1,2, \ldots, K\}$  represent the cluster index assigned to sample  $x_{i}$ .
  • Define nonlinear mapping  $f_{W}: x_{i} \rightarrow z_{i}$  and  $g_{W^{\prime}}: z_{i} \rightarrow x_{i}^{\prime}$  where  $z_{i}$  is the embedded point of  $x_{i}$  in the low dimensional feature space and  $x_{i}^{\prime}$  is the reconstructed sample for  $x_{i}$ .

  目標:尋找最佳的 $f_{W}$ 來獲得更好的  $\left\{z_{i}\right\}_{i=1}^{n}$  ,以便更好的做聚類任務。

  本文 model 有兩個必不可少的部分:

    • Autoencoder;
    • clustering loss;

  模型架構如 Fig.1. 所示:

  

  目標函式定義為:

    $L=L_{r}+\gamma L_{c}\quad\quad \quad (6)$

  其中:

    • $L_{r} $  是重構損失;
    • $L_{c}$  是聚類損失;
    • $ \gamma>0$  是控制 the degree of distorting embedded space 的係數,當  $\gamma=1$  或  $L_{r} \equiv 0$  即是DEC的目標函式;

  Q2:$ \gamma$  這個係數為什麼這麼加,看過很多文章這麼寫,但是不知道為什麼一定加這?

  A2:知道的可以再評論區抒發見解。

3.1 Clustering loss and Initialization

  回顧 DEC 聚類損失函式(參考前面提到的 Eq.2. 、Eq.3.、Eq.4.):

    $L_{c}=K L(P \| Q)=\sum\limits_{i} \sum\limits _{j} p_{i j} \log \frac{p_{i j}}{q_{i j}}\quad\quad \quad (7)$

  通過 DEC model  給的啟發:

    • 預訓練:使用堆疊降噪自編碼器(stacked denoising autoencoder)。
    • 然後基於預訓練生成的有效表示  $\left\{z_{i}=f_{W}\left(x_{i}\right)\right\}_{i=1}^{n}$  使用  $k-means $ 獲得聚類中心  $\left\{\mu_{j}\right\}_{j=1}^{K}$ 。     

3.2 Local structure preservation

  由於 DEC 直接丟棄 Decoder 並通過聚類損失 $L_{c}$  直接微調編碼器,可能造成嵌入空間的扭曲。[ 說白了就是研究  Decoder 的影響 ]

  所以本文提出保持解碼器不變,直接將聚類損失加到嵌入空間中去。

   本文將堆疊降噪自編碼器替換為欠完備自編碼器 [ 理由是聚類需要乾淨的資料,個人感覺就是那個實驗效果好選那個 ],重構損失  [  Mean Squared Error ]  :

    $L_{r}=\sum\limits _{i=1}^{n}\left\|x_{i}-g_{W^{\prime}}\left(z_{i}\right)\right\|_{2}^{2}\quad \quad \quad (8)$

  這裡建議  $ \gamma$  最好小於 $1$ ,這將在在 4.3 節通過實驗證明。

3.3 Optimization

  Eq.6 採用小批量隨機梯度下降法優化,有三個引數需要優化,分別是:

    1. 自編碼器的權重引數
    2. 聚類中心  $u_j$ 
    3. 目標分佈  $P$

  首先闡述:更新自編碼器權重引數和聚類中心
  固定目標分佈 $P$ ,優化

    $\frac{\partial L_{c}}{\partial z_{i}}=2 \sum\limits _{j=1}^{K}\left(1+\left\|z_{i}-\mu_{j}\right\|^{2}\right)^{-1}\left(p_{i j}-q_{i j}\right)\left(z_{i}-\mu_{j}\right)\quad\quad\quad (9)$

    $\frac{\partial L_{c}}{\partial \mu_{j}}=2 \sum\limits _{i=1}^{n}\left(1+\left\|z_{i}-\mu_{j}\right\|^{2}\right)^{-1}\left(q_{i j}-p_{i j}\right)\left(z_{i}-\mu_{j}\right)\quad\quad\quad (10)$

  然後根據上式可以計算出:
    • 聚類中心更新公式:
      $\mu_{j}=\mu_{j}-\frac{\lambda}{m} \sum\limits _{i=1}^{m} \frac{\partial L_{c}}{\partial \mu_{j}}\quad \quad \quad (11)$
    • 解碼器權重引數更新公式:
      ${\large W^{\prime}=W^{\prime}-\frac{\lambda}{m} \sum\limits _{i=1}^{m} \frac{\partial L_{r}}{\partial W^{\prime}}} \quad\quad\quad(12)$
    • 編碼器權重更新公式為:

      ${\large W=W-\frac{\lambda}{m} \sum\limits _{i=1}^{m}\left(\frac{\partial L_{r}}{\partial W}+\gamma \frac{\partial L_{c}}{\partial W}\right)}\quad \quad \quad (13)$ $

  然後闡:更新目標分佈

  由於目標分佈  $P$  是基於 soft label [ $p_{ij}$ 依託於 $q_{ij}$ ]  ,頻繁更新容易造成不穩定,所以  $P$  的更新並沒有在每個  iter  中更新,而是在每個  batch  中更新。但是實際上,本文是在 每  T iterations  進行更新。label 分配方法如下:

    $s_{i}=\arg \; \underset{j}{max}\; \; q_{i j}\quad \quad \quad (14)$

  這裡當連續兩次分配的百分比小於 $\delta$  將停止訓練。

  整個演算法被總結在演算法1中。
  
  IDEC 的演算法複雜度為  $O\left(n D^{2}+n d K\right)$  ,其中 $D$、$d$、$K$  分別為隱層中神經元的最大數量、嵌入層的維數和 cluster 的數量。通常  $ K \leq d \leq D$  ,所以時間複雜度可以簡化為  $O\left(n D^{2}\right)$ 。

4 Experiments

4.1 DataSets

  • MNIST [影像資料集]:70000張手寫數字圖
  • USPS [影像資料集]:9298張灰度手寫數字圖
  • REUTERS-10K [文字資料集]:810000篇有標籤新聞報導,這邊取樣10000篇報導。

  

4.2 Results

  實驗1:實驗結果如  Table 2  所示:

  

  結論:

    • 深度聚類方法: AE+k-means, DEC和 IDEC 表現明顯優於傳統方法,但這三種方法之間仍存在很大的差距。
    •  AE+k-means 和 DEC 相比證明了聚類損失的指導意義,DEC 和 IDEC 相比證明了自編碼器可以提高聚類效能。

  實驗2:DEC IDEC 對比實驗:

  

  結論:

    • IDEC 聚類精度高於 DEC ;
    • IDEC 收斂慢於 DEC ;
    • IDEC 聚類損失高於 DEC ;
    • 最後幾次迭代重構損失和初始迭代損失相差不大;

  實驗3:DEC 和 IDEC 視覺化對比實驗:

  

  上下行分別是 IDEC 和  DEC  的  t-SNE 視覺化結果。

  實驗4:DEC 和 IDEC 引數  $\lambda$ 和  $ \gamma$  的對比實驗:

  

  結論:

    • IDEC在最佳學習率  $\lambda=0.1$  的情況下優於 DEC 在最佳學習率  $\lambda=0.01$ 當  $ \gamma \in [0.05,1.0]$ ;
    • 對於較大的  $\lambda$  需要搭配較小的 $\lambda$ ;

5 Conclusion

  本文提出了改進的深度嵌入式聚類(IDEC)演算法,該演算法聯合進行了聚類,並學習了適合於聚類的嵌入式特徵,並保留了資料生成分佈的區域性結構。IDEC通過優化基於KL散度的聚類損失來操縱特徵空間來散射資料。它通過合併一個自動編碼器來維護區域性結構。實驗實驗表明,結構儲存對深度聚類演算法至關重要,有利於聚類效能。未來的工作包括:在IDEC框架中新增更多的先驗知識(如稀疏性),併為影像資料集合並卷積層。

 

Last modify :2022-02-13  17:54:31

 

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

 論文解讀(IDEC)《Improved Deep Embedded Clustering with Local Structure Preservation》

 

相關文章