張 卓,陳花竹
(中原工學(xué)院 理學(xué)院,鄭州 450007)
子空間聚類是高維數(shù)據(jù)聚類的有效方法之一,廣泛應(yīng)用于人臉聚類[1-2]、運動分割[3-4]、圖像分割[5]等實際應(yīng)用中。子空間聚類是基于高維數(shù)據(jù)近似分布在幾個低維線性子空間的假設(shè),將來自不同子空間的高維數(shù)據(jù)分割到本質(zhì)上所屬的低維子空間。傳統(tǒng)的基于譜聚類的子空間聚類(Subspace Clustering Based on Spectral Clustering,SCBSC)方法主要包括兩個步驟:首先,通過自表示學(xué)習(xí)從高維數(shù)據(jù)中學(xué)習(xí)一個相似度矩陣;其次,對相似度矩陣使用譜聚類算法來分割數(shù)據(jù)。第一步是最重要的,因為譜聚類算法的成功在很大程度上依賴于構(gòu)建一個較好的相似度矩陣。本文關(guān)注的是第一步即如何得到一個較好的相似度矩陣。基于SCBSC 方法具有無須預(yù)先設(shè)定子空間的維度、對初始化和數(shù)據(jù)噪聲不敏感的優(yōu)勢而得到了科研工作者越來越廣泛的關(guān)注。傳統(tǒng)的SCBSC雖然取得了很好的結(jié)果,但這些工作主要集中在聚類線性子空間上,在實際應(yīng)用中,數(shù)據(jù)不一定符合線性子空間模型的要求。例如,在人臉圖像聚類中,反射率通常是non-Lambertian 的,人臉圖像通常包含了不同的姿勢和表情,在這些條件下,人臉圖像更可能位于非線性子空間(或子流形)中[6]。
由于深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)能夠有效地挖掘深層特征并且具有強大的表示能力,近年來,受深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)的啟發(fā),許多深度子空間聚類方法[6-8]被提出。深度子空間聚類(Deep Subspace Clustering,DSC)網(wǎng)絡(luò)[6]是基于深度自編碼器(Deep Auto-Encoder,DAE)發(fā)展的網(wǎng)絡(luò),該方法通過一系列的自編碼器學(xué)習(xí)深層的自表示系數(shù)矩陣。在DSC 的基礎(chǔ)上,很多方法[7-12]被提出。雖然這些方法在一定程度上都增強了數(shù)據(jù)聚類的性能,但還是存在一些不足。在基于DAE 的子空間聚類中,較淺的層學(xué)習(xí)更多的像素級信息,較深的層提取更多的語義級或抽象級信息。然而文獻(xiàn)[7-9,11-12]方法只考慮了最深層提取的特征,忽略了較淺層次中有用的特征。Kheirandishfard 等[13]提出了深度子空間聚類的多級表示學(xué)習(xí)(Multi-Level Representation learning for Deep Subspace Clustering,MLRDSC),該方法在各編碼層和對應(yīng)的解碼層之間都插入了一個全連接層,通過學(xué)習(xí)各層的自表示系數(shù)矩陣提取不同尺度的特征信息,同時該方法引入偽標(biāo)簽矩陣提升聚類精度。MLRDSC 相較于已有的方法,提高了聚類精度,但是它只考慮了多尺度特征的一致性,沒有深度分析多尺度特征的多樣性。同時,它也沒有考慮多級的輸入數(shù)據(jù)和輸出數(shù)據(jù)的重構(gòu)損失。
本文仍然利用DAE 獲得的不同尺度的自表示系數(shù)矩陣解決子空間聚類的問題,為了能夠充分利用多尺度的特征表示,通過深入分析不同尺度特征之間的區(qū)別以及多尺度之間的自表示特征存在的多樣性的特點,能夠有效增強最終的聚類性能?;谝恢滦院投鄻有缘亩喑叨茸员硎緦W(xué)習(xí)的深度子空間聚類(Multiscale Self-representation Learning with Consistency and Diversity for Deep Subspace Clustering,MSCDDSC)與MLRDSC 相比,主要區(qū)別在于本文方法將多級別的自表示特征進行互補,同時對于優(yōu)化目標(biāo)進行改進,使多級編碼器能夠充分提取有利于最終聚類任務(wù)的特征,進而增強最終的聚類效果。主要工作包含以下幾個部分:
1)將輸入數(shù)據(jù)的重建損失函數(shù)替換為多級重建損失函數(shù),監(jiān)督不同級別編碼器參數(shù)的學(xué)習(xí)。
2)提出了一個新的正則項,該正則項有利于加強多尺度特征之間的聯(lián)系。
3)增加了特有的自表示矩陣的多樣性模塊,該模塊能夠使每層嵌入特征對應(yīng)的自表示矩陣更具有塊對角性。
4)對4 個常用的數(shù)據(jù)集進行實驗,實驗結(jié)果表明本文方法可以有效地處理來自非線性子空間的數(shù)據(jù)聚類,并且它在大多數(shù)子空間聚類問題上的表現(xiàn)優(yōu)于很多方法。
表1 對本文主要使用到的符號進行了說明。
表1 符號說明Tab.1 Symbol description
DSC 網(wǎng)絡(luò)以DAE 為基礎(chǔ)將傳統(tǒng)子空間聚類方法與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合,整體由堆疊編碼器、自表達(dá)層和堆疊解碼器3 部分組成。堆疊編碼器使用卷積自動編碼器,能使堆疊編碼器中的參數(shù)比全連接層的參數(shù)更少,更容易訓(xùn)練網(wǎng)絡(luò);在卷積中使用2×2 的卷積核;自表達(dá)層由無偏置值和線性全連接層構(gòu)成,節(jié)點之間使用線性權(quán)值進行全連接,修正線性單元(Rectified Linear Unit,ReLU)激活函數(shù)作為編碼層、解碼層的非線性激活函數(shù)。整體網(wǎng)絡(luò)將輸入數(shù)據(jù)通過堆疊的卷積自動編碼器進行編碼,映射到潛在子空間,再經(jīng)過自表達(dá)層學(xué)習(xí)權(quán)重,最后通過堆疊的反卷積自動解碼器將潛在子空間的數(shù)據(jù)還原到原始數(shù)據(jù)空間。
在DSC 基礎(chǔ)上很多模型被提出,如過完備深度子空間聚類網(wǎng)絡(luò)(Overcomplete Deep Subspace Clustering network,ODSC)[10]將數(shù)據(jù)并行輸入完備編碼層以及普通編碼層,融合它們輸出的特征矩陣,再通過自表示層學(xué)習(xí)自表示矩陣,使特征表示更具有魯棒性;具有雙域正則化的子空間聚類網(wǎng)絡(luò)(Robust Subspace Clustering Network with dual-domain regularization,RSCN)[11]將雙流行約束納入深度子空間聚類,使模型在有噪聲的情況下顯著提高了性能;基于局部拓?fù)淝度氲膱D像深度聚類(Image Deep Clustering based on localtopology embedding,IDC)[12]通過建立數(shù)據(jù)本身特征與局部拓?fù)湫畔⒈硎局g的聯(lián)系,增強了特征表示。
與上述方法不同,MLRDSC 在每一層的編碼器與其對應(yīng)的解碼器之間都添加全連接層,并以此捕獲多尺度的特征,它的優(yōu)化目標(biāo)如下所示:
其中:原始數(shù)據(jù)X∈RN×C×H×W,N、C、H、W分別表示輸入數(shù)據(jù)數(shù)量、通道數(shù)、高度和寬度是X經(jīng)過DAE 后的解碼數(shù)據(jù);θe是編碼器、解碼器及全連接層的參數(shù);L是網(wǎng)絡(luò)的深度;表示數(shù)據(jù)經(jīng)過編碼層后通過改變形狀成為矩陣后的行數(shù),Ml=Cl×Hl×Wl)是第l層網(wǎng)絡(luò)的嵌入特征;C∈RN×N是所有網(wǎng)絡(luò)層的嵌入特征共有的自表示系數(shù)矩陣;Dl∈RN×N(l=1,2,…,L)是第l層的嵌入特征特有的自表示系數(shù)矩陣;Q=(Qij) ∈RN×K是偽標(biāo)簽矩陣,Qij表示第i個數(shù)據(jù)屬于第j類的可能性是為了使解碼后數(shù)據(jù)與原始數(shù)據(jù)盡可能地接近是為了找出第l層的嵌入特征的自表示矩陣用于將從輸入數(shù)據(jù)的初始為標(biāo)簽中獲得的信息利用在網(wǎng)絡(luò)中;正則化項使相似度矩陣與各層的數(shù)據(jù)都有關(guān)聯(lián)性。
但是MLRDSC 沒有深度分析Dl之間的多樣性,同時,MLRDSC 雖然引入了多尺度嵌入特征,但只考慮了輸入數(shù)據(jù)和輸出數(shù)據(jù)的重構(gòu)損失,而忽略了不同層嵌入特征的重構(gòu)損失。這些對于最終的聚類效果都會有影響。
MLRDSC 學(xué)習(xí)了網(wǎng)絡(luò)層的多尺度特征,本文將這些多尺度特征分為所有網(wǎng)絡(luò)層嵌入特征共有的自表示系數(shù)矩陣(Common Self-Representation Matrix,CSRM)和特有的自表示矩陣(Special Self-Representation Matrix,SSRM)兩部分。由于較淺的層學(xué)習(xí)更多的像素級信息,較深的層提取更多的語義級或抽象級信息,所以每個網(wǎng)絡(luò)層的SSRM 之間應(yīng)該具有多樣性,但是MLRDSC 沒有深度分析這些SSRM 之間的多樣性;其次,LRR(Low-Rank Representation)[14]指出,自表示矩陣應(yīng)具有塊對角性,由于MLRDSC 中每一層的自表示矩陣是CSRM 和SSRM 的和,所以二者之和同樣具有塊對角性;最后,MLRDSC 只考慮了輸入數(shù)據(jù)和輸出數(shù)據(jù)的重構(gòu)損失,不能保證各網(wǎng)絡(luò)層的編碼器能夠恢復(fù)對應(yīng)層輸入的數(shù)據(jù),所以應(yīng)該建立不同層嵌入特征的重構(gòu)損失,監(jiān)督不同級別編碼器參數(shù)的學(xué)習(xí),從而促進每層嵌入特征的學(xué)習(xí)。
由于MLRDSC 忽略了多尺度特征的多樣性,本文方法為了深入分析不同網(wǎng)絡(luò)層的SSRM 之間的多樣性,在MLRDSC的基礎(chǔ)上,進行了如下改進:1)對于特征提取模塊,增加了不同層嵌入特征的重構(gòu)損失;2)對于多尺度自表示模塊,本文提出了一個新的正則項,該正則項有利于加強多尺度特征之間的聯(lián)系;3)增加了SSRM 的多樣性模塊,該模塊能夠使每層嵌入特征對應(yīng)的自表示矩陣更具有塊對角性。
MSCD-DSC 網(wǎng)絡(luò)主要由特征提取模塊、多尺度自表示模塊、多樣性的多尺度特征模塊以及譜聚類模塊組成。其中:特征提取模塊主要由自編碼器組成,負(fù)責(zé)提取多尺度特征;多尺度自表示模塊加強共有以及特有的自表示矩陣的聯(lián)系,獲得自表示矩陣;多樣性的多尺度特征模塊用來獲取不同尺度的特征的多樣性,學(xué)習(xí)更多有利的特征。本文的網(wǎng)絡(luò)架構(gòu)如圖1 所示。
2.2.1 特征提取模塊
本文方法采用DAE 架構(gòu),即利用多個卷積層構(gòu)造對稱的編碼器和解碼器。第l(l=1,2,…,L)層編碼器的輸入為和Wl分別表示數(shù)據(jù)的數(shù)量、第l層的通道數(shù)、高度和寬度),其中并且下一層的輸入為上一層的輸出;第(ll=1,2,…,L)層解碼器的輸出為整個網(wǎng)絡(luò)的重構(gòu)損失函數(shù)為:
2.2.2 多尺度自表示模塊
2.2.3 多樣性的多尺度特征模塊
首先給出排他性的定義。(Vij) ∈Rn×n的排他性定義如下:
定義1排他性[15]。兩個矩陣U=(Uij) ∈Rn×n和V=
其中:⊙是Hadamard 積,即兩個矩陣對應(yīng)元素的乘積。
由定義1 可知,排他性的目的是使兩個矩陣盡可能地具有多樣性,即如果Uij≠0,則對應(yīng)Vij≠0。由于矩陣Dl是第l層嵌入的SSRM,所以本文希望不同層的SSRM 也具有這樣的多樣性,即:
但是‖ ? ‖0具有非凸性和離散性,本文將‖ ? ‖0松弛為‖ ? ‖1,因此在這一模塊中,定義如下優(yōu)化目標(biāo):
這樣網(wǎng)絡(luò)可以學(xué)到具有多樣性的特有的自表示矩陣。以三層網(wǎng)絡(luò)為例,如圖2 所示,其中Dl(l=1,2,3),D=D1+D2+D3。
圖2 第l層特有的自表示矩陣Fig.2 Unique self-representation matrix of lth layer
2.2.4 網(wǎng)絡(luò)優(yōu)化目標(biāo)
綜上所述,整個網(wǎng)絡(luò)的優(yōu)化目標(biāo)為:
其中:λ1、λ2和λ3是調(diào)節(jié)參數(shù)。與MLRDSC 相比,本文方法增加了SSRM 矩陣多樣性模塊,考慮了每層嵌入特征的CSRM 和SSRM 和的塊對角性,同時增加了每個網(wǎng)絡(luò)層的重構(gòu)損失函數(shù)。其中將重構(gòu)損失設(shè)置為多層的重構(gòu)損失累加求和,這樣的目的是深度自編碼器能夠盡可能還原每一層的原始輸入數(shù)據(jù),監(jiān)督編碼層參數(shù)的學(xué)習(xí),提高特征學(xué)習(xí)的能力。
最后將W用在譜聚類算法[16]中得到最終的聚類結(jié)果。
本文提出的MSCD-DSC 的求解算法總結(jié)如下:
算法1 MSCD-DSC 的求解算法。
輸入 原始數(shù)據(jù)X,更新周期T0,最大迭代次數(shù)T,隨機初始化自編碼器網(wǎng)絡(luò)參數(shù)θ,t=0;
本文的MSCD-DSC 網(wǎng)絡(luò)是在Python 中使用Pytorch 實現(xiàn),同時優(yōu)化方法采用自適應(yīng)動量的梯度下降算法Adam(Adaptive momentum)進行優(yōu)化,在實驗中的學(xué)習(xí)率設(shè)置為1.0 × 10-3訓(xùn)練網(wǎng)絡(luò)參數(shù),對于DAE 中的卷積層,設(shè)置步幅為2 的濾波器,使用ReLU 為激活函數(shù),對于自表示層使用線性無偏移值的全連接層。不同數(shù)據(jù)集的網(wǎng)絡(luò)結(jié)構(gòu)如表2 所示,在本文中,為了與MLRDSC 進行有效的比較,對于網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)置與MLRDSC 的網(wǎng)絡(luò)結(jié)構(gòu)保持一致。為了評估本文方法的效果,通過3 個用于子空間聚類的基準(zhǔn)的人臉數(shù)據(jù)集(Extended Yale B[17]、ORL[18]和Umist[19])以及物體數(shù)據(jù)集(COIL20[20])進行大量實驗,這4個數(shù)據(jù)集的部分圖像見圖3。
圖3 不同數(shù)據(jù)集采樣圖像Fig.3 Sampled images from different datasets
表2 不同數(shù)據(jù)集的網(wǎng)絡(luò)結(jié)構(gòu)Tab.2 Network structures of different datasets
本文對數(shù)據(jù)集進行了多個子空間聚類實驗,并且將以下幾個網(wǎng)絡(luò)作為基線與MSCD-DSC 網(wǎng)絡(luò)的聚類性能進行比較,包 括DSC[6]、EDSC(Efficient Dense Subspace Clustering)[7]、DASC(Deep Adversarial Subspace Clustering)[8]、MLRDSC[13]、LRR[14]、LRSC(Low Rank Subspace Clustering)[21]、SSC(Sparse Subspace Clustering)[22]、AE+SSC(SSC with the pretrained convolutional Auto-Encoder features)、KSSC(Kernel Sparse Subspace Clustering)[23]、SSC-OMP(SSC by Orthogonal Matching Pursuit)[24]、AE+EDSC(EDSC with the pre-trained convolutional Auto-Encoder features)。需要注意的是,所有對比方法的實驗結(jié)果所使用的網(wǎng)絡(luò)參數(shù)都依照原文設(shè)置,或者直接參考原文中的實驗結(jié)果。
Extended Yale B 數(shù)據(jù)集作為流行的子空間聚類基準(zhǔn),采集自38 個不同的受試者。每個受試者在不同光照條件下獲得64 個正面的面部圖像,為了與DSC 等算法對比,采取與文獻(xiàn)[11,14,25]中相同的實驗方案,對原始人臉圖像從192×168 下采樣到48 × 42,并且逐漸增加類別個數(shù)n進行測試,即n∈{10,15,20,25,30,35,38}。與文獻(xiàn)[8,14,24]中一樣給出每個(39 -n)實驗的均值聚類誤差,即當(dāng)類別個數(shù)為n時,報告了(39 -n)個實驗的平均聚類誤差。
由于本文方法要與目前表現(xiàn)較好的MLRDSC 算法進行比較,在網(wǎng)絡(luò)結(jié)構(gòu)上使用與之相同的自編碼器模型,即由3個堆疊的卷積編碼器組成,過濾器和卷積核分別是10、20、30 以及5×5、3×3、3×3。
在參數(shù)的選擇上,λ1=1 × 10(n/10-1),λ2=40,多樣性的多尺度模塊對應(yīng)的參數(shù)項λ3=10,T=100,將最大的迭代次數(shù)設(shè)置為1 500。
不同比較算法的聚類錯誤率如表3 所示。從表3 中的數(shù)據(jù)觀察到,在所有列出的比較方法中,本文的MSCD-DSC 算法能顯著降低聚類錯誤率,并在n∈{25,30,35,38}時達(dá)到最低的聚類誤差,在n=38 時,相較于MLRDSC 降低了15.44%。特別當(dāng)n=30 時,MSCD-DSC 獲得了1.09%的聚類誤差,比次優(yōu)的MLRDSC 降低了38.76%。此外,MSCD-DSC在n∈{10,15,20}時也比絕大多數(shù)算法的效果好,這意味著MSCD-DSC 網(wǎng)絡(luò)從DAE 中學(xué)到了比較多有用的信息。對于n∈{10,15,20}的聚類結(jié)果,猜測是由于該算法對于較小的數(shù)據(jù)集使DAE 提取的多尺度特征不穩(wěn)定而導(dǎo)致的。
表3 不同算法在Extended Yale B數(shù)據(jù)集上的聚類錯誤率 單位:%Tab.3 Clustering error rates of different algorithms on Extended Yale B dataset unit:%
表4 Extended Yale B上的消融實驗結(jié)果Tab.4 Ablation experiment results on Extended Yale B
ORL 數(shù)據(jù)集包含40 個受試者的面部圖像,其中每個受試者在不同的光照條件下有10 張面部圖像,具有不同的面部表情(睜眼/閉眼、微笑/不微笑)以及面部細(xì)節(jié)(戴眼鏡/不戴眼鏡),如圖3(b)所示。由于人臉圖像是在不同的面部表情和細(xì)節(jié)下拍攝的,與Extended Yale B 相比,ORL 數(shù)據(jù)集存在子空間更加非線性并且數(shù)據(jù)集規(guī)模更小的特點,因此對于子空間聚類就更具有挑戰(zhàn)性。為了易于比較,本文采取與DSC 一致的處理方式:將ORL 數(shù)據(jù)集的人臉圖像從112×92降采樣到32×32。
COIL20 數(shù)據(jù)集由20 個物體的圖像構(gòu)成,每個物體對應(yīng)72 張圖像,每張圖像都是由黑色背景下的不同角度拍攝照片構(gòu)成,大視點變化可能對這兩個數(shù)據(jù)集的子空間聚類問題構(gòu)成嚴(yán)重挑戰(zhàn),如圖3(c)所示。
Umist 數(shù)據(jù)集包含20 個受試者的面部圖像,共計480 張,每張圖像都采用非常不同的姿勢,如圖3(d)所示。在使用數(shù)據(jù)集時本文將每個圖像都下采樣到32×32。
為了分析出不同的損失項對于實驗結(jié)果的影響,以O(shè)RL數(shù)據(jù)集為例,進行如下的參數(shù)分析:
1)令超參數(shù)λ1、λ2、λ3初始值為1。
2)通過固定λ1、λ2的值來調(diào)整λ3的值,使λ3在{10-2,10-1,1,10,100}范圍內(nèi)取值,找到λ3的最佳取值。
3)用同樣的方式調(diào)整λ1、λ2的取值,獲取相對較好的取值為λ1=10,λ2=100,λ3=1。
4)進一步調(diào)整參數(shù)λ2的取值范圍為{5,10,15,20},調(diào)整方法與2)相同,獲取相對更好的取值,從而獲得最佳的參數(shù)取值。
為了分析得出不同損失項對于實驗的影響,本文以O(shè)RL數(shù)據(jù)集為例對參數(shù)進行消融實驗,結(jié)果如表5 所示。
表5 ORL上的參數(shù)消融實驗結(jié)果Tab.5 Parameter ablation experiment results on ORL
最終在數(shù)據(jù)集ORL、COIL20 和Umist 中λ1的值分別為10、170 和1,λ2的值分別為75、100 和1,λ3的值分別為1、65和1,T的值分別為10、5、10,最大迭代次數(shù)分別為1 110、85和130。ORL、COIL20 和Umist 數(shù)據(jù)集上不同方法的實驗結(jié)果如表6 所示。
表6 在數(shù)據(jù)集 ORL、COIL20和Umist上的聚類的錯誤率 單位:%Tab.6 Clustering error rates for datasets ORL,COIL20 and Umist unit:%
由表6 可知,本文提出的MSCD-DSC 網(wǎng)絡(luò)仍然比絕大多數(shù)的聚類方法的聚類錯誤率低,相較于次優(yōu)的MLRDSC 降低了2.22%、3.37%與13.17%,這也說明本文方法有利于最終的聚類結(jié)果。
本文在MLRDSC 網(wǎng)絡(luò)的基礎(chǔ)上通過分析不同尺度特征的多樣性,利用每層嵌入特征的CSRM 和SSRM 和的塊對角性、不同層的SSRM 之間的多樣性和每個網(wǎng)絡(luò)層的重構(gòu)損失函數(shù),提出基于一致性和多樣性的深度子空間聚類算法,使不同尺度的多樣性自表示特征不能充分利用的問題得到了有效的改善。所提算法在Extended Yale B、ORL、COIL20 和Umist 數(shù)據(jù)集上的實驗結(jié)果表明,該算法能有效處理非線性子空間中的聚類問題,對比同類的算法中取得了較好的結(jié)果,驗證了算法的有效性。在之后的研究工作中,會在本算法的基礎(chǔ)上繼續(xù)研究多尺度的多樣性自表示特征信息對于深度子空間聚類效果的影響。