Neural Collaborative Subspace Clustering(ICML 2019)
Abastract:
l discovers clusters of data points drawn from a union of low dimensional subspaces
l runs without the aid of spectral clustering, This makes our algorithm one of the kinds that can gracefully scale to large datasets
l At its heart, our neural model benefits from a classifier which determines whether a pair of points lies on the same subspace or not
Essential to our model is the construction of two affinity matrices, one from the classifier and the other from a notion of subspace self-expressiveness, to supervise training in a collaborative scheme.
Related work
l Subspace clustering 大數據和非線性的解決方法
Subspace Clustering (aim to cluster data points drawn from a union of low-dimensional subspaces in an unsupervised manner)
在子空間上應用譜聚類的關鍵挑戰之一是構造合適的相似矩陣。我們可以根據相似矩陣的構造方法將算法分為三大類:基於因子分解的方法,基於模型的方法,基於自我表達的方法,其基本思想是一個點可以用同一子空間中其他點的線性組合表示。與其他方法相比,該方法具有以下幾個優點:對噪聲和異常值具有更強的魯棒性;計算復雜度不隨子空間的數目及其維數呈指數增長;它也利用非本地信息,而不需要指定鄰域的大小
針對數據點不是線性子空間而是非線性子空間的問題,提出了若干解決方案。核稀疏子空間聚類(KSSC)得益於預定義的Kernel函數,如多項式或徑向基函數(RBF),將問題投射到高維(可能是無限的)可再生Kernel Hilbert空間中。然而,如何為不同的數據集選擇合適的核函數仍然不清楚,也不能保證由核技巧生成的特征空間非常適合於線性子空間聚類。
最近研究:DSC:解決了非線性問題但是還是使用了譜聚類在大數據集上不適用。
The SSC-Orthogonal Matching Pursuit:用OMP算法代替大規模的凸優化過程來表示關聯矩陣。但是,為了加快計算速度,SSC-OMP犧牲了clustering performance,當數據點數量非常大時,它仍然可能失敗
k-Subspace Clustering Networks:可以將子空間聚類技術應用在大數據集上,避免構造相似矩陣避免使用譜聚類,提出iterative method of k-subspace clustering into a deep structure 雖然k-SCN開發了兩種方法來更新子空間和網絡,但它與迭代方法有相同的缺點,例如,它需要良好的初始化,並且對於異常值似乎很脆弱
l In this paper:特點:非線性、可伸縮
我們首先將子空間聚類表示為一個分類問題,然后將譜聚類步驟從計算中去除。我們的神經模型由兩個模塊組成,一個用於分類,一個用於相似度學習。這兩個模塊在學習過程中相互協作。在訓練過程和每次迭代中,我們使用子空間自表達生成的相似矩陣來監督分類部分計算的相似矩陣。同時,利用分類部分提高自表達能力,通過協同優化構建更好的相似矩陣。
Model fitting
In learning theory, distinguishing outliers and noisy samples from clean ones to facilitate training is an active research topic
例如:
經典的做法是Random Sample Consensus: fitting a model to a cloud of points corrupted by noise
Curriculum Learning:開始從簡單的樣本中學習模型,並逐步使模型適應更復雜的樣本
Ensemble Learning:嘗試通過訓練不同的模型來提高機器學習算法的性能,然后將它們的預測集合起來
distilling knowledge: learned from large deep learning models can be used to supervise a smaller model
l Deep clustering
許多研究論文都探索了利用深度神經網絡進行聚類,例如:
DEC: pre-train a stacked auto-encoder, and fine-tune the encoder with a regularizer based on the student-t distribution to achieve cluster-friendly embeddings. 缺點是,DEC對網絡結構和初始化很敏感
各種形式的GAN:
Info-GAN和ClusterGAN等算法進行聚類,都是為了增強潛在空間的判別特征,同時生成和聚類圖像
The Deep Adaptive image Clustering (DAC):
使用全卷積神經網絡作為初始化進行自監督學習,取得了顯著的效果。但對網絡結構的敏感
In this paper:
通過圖像分類和子空間關聯學習兩個模塊的協同學習,將子空間聚類問題轉化為分類問題。我們沒有對整個數據集進行譜聚類,而是以隨機的方式訓練模型,從而得到一個可伸縮的子空間聚類。
Proposed Method

To design a scalable SC algorithm, our idea is to identify whether a pair of points lies on the same subspace or not 在獲得這些知識之后(對於足夠大的一組對),一個深度模型可以優化它的權重來最大化這些關系(是否位於子空間)。這可以很好地轉換為一個二元分類問題。
由於沒有標簽信息我們使用兩個置信度圖作為監督信號
l Binary classification

We propose to use a multi-class classifier which consists of a few convolutional layers (with non-linear rectifiers) and a softmax output layer然后將其轉化為基於相似性的神經協同子空間聚類
通過分類器得到樣本的i、j的one-hot 分類向量,兩向量相乘得到兩樣本的相似度,如此,我們就學到了相似矩陣,因為分類器最后一層為softmax層(得到屬於每一類的概率向量長度為1),所以可以將解釋為、的余弦相似度介於[0,1]
l Self-Expressiveness affinity
概念:從線性子空間中提取的一個數據點xi可以由同一子空間中其他點的線性組合表示將所有點疊加到數據矩陣X的列中,其自表達性可以簡單地描述為X = XC,其中C為系數矩陣。

為了解決子空間的非線性映射,一種解決方式是使用全卷積網絡將data X映射到 Z, 並將自表達性轉化為一個線性層(無非線性激活和偏置參數),稱為自表達層 ;在Z空間中子空間表達還是線性的 但因為樣本X做了非線性映射,所以在 X 空間,樣本屬於非線性子空間映射。這使得我們可以利用自編碼器端對端地學習到子空間相似度,C為自表達權值矩陣

l Collaborative learning
協作學習的目的是充分利用不同模塊的優勢,分類模塊傾向於提取更抽象、更具鑒別性的特征,而自表達模塊更側重於捕捉數據樣本之間的成對相關性;通過分類模塊計算的兩樣本相似度接近於0 說明有很大地可能兩樣本屬於不同子空間;而自表達模塊計算出的兩樣本相似度接近於1 表明兩樣本有可能屬於同一子空間。所以我們用來增強negtive ,用來增強postive關系;u、l為閾值

l Loss function
網絡由四個主要部分組成:(i)一個卷積編碼器,它將輸入數據X映射為一個潛在的表示Z;(ii)通過權值C學習子空間相似矩陣線性自表達層;(iii)將數據映射到自表達層之后的卷積解碼器,即,ZC,回到輸入空間;(iv)輸出k維預測向量的多類分類器,利用k維預測向量構造分類相似矩陣。

總損失:collaborative learning loss + subspace learning loss

subspace learning loss=自表達損失+重構誤差+懲罰項

collaborative learning loss
訓練結束后可以用分類層結果作為最終聚類結果,不需要做譜聚類,所以在大數據集適用(不過還是生成相似度矩陣,內存消耗沒有避免)
Optimization and training
1.通過最小化重構誤差對自編碼進行預訓練,從而獲得良好的子空間聚類初始化效果
2.基於子空間的獨立性假設,自表達矩陣具有塊對角結構,為了說明這一點,我們確保潛在空間(Z)的維數大於(子空間固有維數)×(簇數),對圖像進行降采樣,同時增加圖層上的通道數,保持潛在空間維數較大。
3.由於我們已經對自動編碼器進行了預訓練,所以在執行協作學習時,我們在自動編碼器中使用更小的學習率
4. 我們采用了三階段訓練策略:首先,利用subspace learning loss中的損耗對自編碼器和自表達層進行訓練,更新;其次,我們訓練分類器最小化collaborative learning loss。(5);第三,我們對整個網絡進行聯合訓練,使總損失最小化。
