?

基于偽標簽糾正的半監督深度子空間聚類

2023-10-12 04:08鮑兆強王立宏
關鍵詞:標簽聚類深度

鮑兆強,王立宏

(煙臺大學計算機與控制工程學院,山東 煙臺 264005)

深度學習多年來引起眾多研究者的重視,因其在很多領域達到了近似人的識別和判斷能力,如語音識別[1]、圖像分類[2]及自動駕駛[3]等。深度學習被認為是非常有價值的學習方法,其多層網絡結構能夠通過投影變換逐漸提純輸入數據中的內在特征,最終輸出希望的結果。目前深度學習的研究主要集中在分類問題等有監督的學習方面,通常以訓練樣本的網絡實際輸出和期望輸出之間的差別來判斷網絡的訓練情況,同時以正則化方法來約束模型的復雜程度,避免出現過擬合現象。在聚類等無監督學習方面,深度學習的研究相對較少。最近有研究將深度學習和無監督學習結合起來,在聚類方面得出很好的結果[4-8]。這些研究的主要思想是用深度學習來得到輸入數據的高層表示,然后利用現有的算法完成聚類。這些工作的主要區別在于采用了不同的神經網絡結構和目標函數。

高維數據的簇結構通常存在于低維的子空間中,子空間聚類是發現高維數據真實結構的有效手段。在子空間聚類中,一個基本假設是子空間的自表達性質,即一個子空間內的點可以由該子空間內的其他點線性表示[9]。子空間聚類的基本思想是獲取合適的自表達系數矩陣,以該矩陣構造的相似矩陣進行聚類。如果將深度學習和子空間自表達聯合起來求解,就會憑借深度學習得出的高層表示和子空間聚類的自表達性質,有效發現線性子空間或非線性子空間,從而得出比目前淺子空間聚類更好的結果[4-7]。深度學習在高維數據的子空間聚類方面已有一些研究,如自編碼(AE,AutoEncoder)結構的神經網絡[4],在編碼結束時加入自表達層,編碼數據輸入自表達層,自表達層的輸出輸入解碼層。AE要求網絡輸出應盡量還原輸入數據(即解碼功能),二者的誤差項是優化的目標項之一。針對該自表達層的數據進行稀疏、低秩等正則化約束就可以達到較好的聚類結果[4,10-11]。PENG等在實驗中發現,輸出不一定必須還原輸入數據,這樣就可以只用一個多層前向網絡來不斷提純輸入數據,在輸出層上完成各種正則約束的子空間聚類[12]。

本文擬從子空間聚類和深度學習相結合出發,采用對比學習和偽標簽糾正機制,在訓練網絡時充分利用用戶給定或自動獲取的少量先驗信息,提高聚類的性能,最后在4個測試數據集上驗證所提方法的有效性。

1 深度子空間聚類

在缺乏數據點標簽的情況下,自監督 (self-supervision)和偽監督(pseudo-supervision)是兩種提高聚類性能的可行方法。自監督學習是無監督的一種方式,通常需要預設一個任務,其目標函數不需要監督信息即可計算,自監督學習可獲取后續分類等任務需要的高層語義信息。ZHANG等提出了自監督的卷積子空間聚類網絡S2ConvSCN[13],在沒有標簽數據的情況下直接用譜聚類結果作為標簽來監督子空間聚類和深度網絡的學習。孫浩等提出一種基于自監督對比學習的深度神經網絡來提升對抗魯棒性,最大化訓練樣本與其無監督對抗樣本間的多隱層表征相似性,增強了模型的內在魯棒性[14]。偽監督學習可以是無監督的[15],也可以是半監督的[16]。文獻[16]同時采用少量標簽點數據和大量無標簽數據訓練網絡,把無標簽點的標簽預測結果當作真實的標簽使用,在各類之間找到低密度的分隔邊界,從而提高泛化性能。LV等提出偽監督的深度子空間聚類PSSC[15],其中沒有標簽點數據,屬于無監督學習。PSSC網絡由局部保持模塊、自表達模塊和偽監督模塊組成。模型需要多次迭代訓練,在每次迭代中,模型使用上一次迭代的預測來重新標記樣本,為此在編碼器的后面引入了一個分類模塊,該模塊利用學習到的潛在表示和相似圖來構建偽標簽,用來監督特征學習。

在面對實際數據集時,用戶或多或少會了解一些數據信息,或者通過少量標記數據獲得一些有類標簽的數據點。這些先驗信息如果能加入到子空間的聚類中,會引導聚類過程得出更精確的聚類結果。李超杰研究了半監督深度聚類算法,包括基于標簽自適應策略算法和基于成對預測的半監督深度聚類算法。算法利用標簽信息指導簇心優化調整,或者基于已知的成對約束信息對數據集中無標記樣本對的關系進行預測,在此基礎上完成聚類任務[17]。

2 基于偽標簽糾正的半監督深度子空間聚類

2.1 算法描述

2.1.1 算法思想 深度子空間聚類通常采用自編碼器AE來完成輸入數據的非線性變換和特征抽取,本文也是如此。對AE的訓練要求可以是對輸入數據的重建誤差進行約束[6],也可以是對數據的局部保持誤差進行約束[15]。深度子空間聚類通常在AE網絡的編碼層后面設置自表達層,然后設置解碼層,編碼結束后通過自表達矩陣來表示數據點之間的相似性。本文提出的算法結構如圖1所示。

圖1 基于偽標簽糾正的半監督深度子空間聚類算法(SCPC)

圖1顯示算法包括4個模塊,第一個是局部保持模塊,用于約束重建誤差L1,同時保持數據點之間的相似性,這個模塊和PSSC表達不同,但是目的是相同的;第二個是自表達層的約束,通常對自表達矩陣C進行自表達誤差約束L2,這個模塊是和PSSC相同的。第三個是本文新增的對比學習模塊,該模塊利用現有的少量標簽數據來控制自表達矩陣C,希望該矩陣能出現塊對角的性質,即同一個類中的數據點之間的相似度盡可能高,而不同類的數據點之間的相似度盡可能低,其中的損失約束為L3。最后一個模塊是基于偽標簽糾正的交叉熵模塊,利用給出的少量標簽數據來匹配偽標簽并糾正偽標簽中可能出現的錯誤,并通過最小化網絡分類層softmax給出的概率分布和糾正后的偽標簽之間的交叉熵L4,來約束網絡的迭代和權重更新,從而得到更準確的網絡表達。最后對數據點之間的相似度矩陣W=(|C|+|CT|)/2進行譜聚類得出數據集的聚類結果。

2.1.2 算法步驟 圖1所示算法整理如下:

算法 基于偽標簽糾正的半監督深度子空間聚類算法 (SCPC) 輸入:數據集X 已知樣本標簽XL 超參數γ1,γ2,γ3和γ4 需要聚類的簇數:K輸出:聚類結果G 1. 隨機初始化自編碼器參數; 2. 預訓練自編碼器網絡; 3. 隨機初始化自表達層參數; 4.While 沒有達到最大訓練次數 5. 利用偽標簽糾正策略訓練整個網絡; 6. 利用Adam優化器優化更新網絡參數; 7. End while 8.計算相似度矩陣W=(|C|+|C|T)/2; 9.對相似度矩陣W進行譜聚類,得到聚類結果G。

2.2 模塊描述

下面詳細介紹每個模塊的計算過程,本文用到的符號見表1。

表1 本文所用符號

(1)

2.2.2 自表達模塊 子空間聚類方法都是利用數據的自表達性質,將每一個數據點由處在同一子空間中的其他數據點的線性組合進行表示,所以在編碼器和解碼器之間加了一個全連接層,就是所謂的自表達層,如圖1所示。其權重表示系數矩陣為C,自表達損失函數為

(2)

其中,系數矩陣C表示數據的子空間結構,C中結構塊的數量表示簇的數量,因此系數矩陣C對聚類效果至關重要。Cij=0表示樣本Xi和Xj不處于同一子空間,為了消除C=I的平凡解,添加了對角線約束diag(C)=0。

2.2.3 對比學習模塊 對比學習是近些年來提出的潛在空間學習方法[19-20],通過數據增廣獲取同一個樣本的不同版本,這些版本的潛在空間表達應該是相似的。對比學習以此為約束信息,獲取魯棒的數據表達。盧紹帥等提出了一種用于小樣本情感分類任務的弱監督對比學習方法,旨在學習海量帶噪聲的用戶標記數據中的情感語義,同時引入對比學習策略來捕獲少量有標注數據的對比模式[21]。根據對比學習的思想,在半監督的背景下,相同標簽的樣本之間應該是相似的,而不同類標簽的樣本之間應該有較大差異。本文假定已經獲取了少量樣本的標簽信息,為了充分利用這些先驗知識,將這些標簽轉換為成對約束信息,即must-link和cannot-link,如圖2所示。實線連接的點Xi和Xj表示must-link,即樣本Xi和Xj具有相同的類標簽,聚類結果應處于同一簇內;虛線連接的點表示cannot-link,兩個樣本點具有不同的類標簽,聚類結果一定處于不同簇內。實心點是已標簽點,沒有連線的點對之間關系未知。

圖2 標記樣本內的成對信息

利用得到的標簽點信息,可得到成對約束矩陣ML和CL,大小均為n×n。如果樣本點Xi和Xj具有相同類標簽,則Xi和Xj為must-link,即ML(i,j)=1。如果Xi和Xj具有不同的類標簽,則Xi和Xj為cannot-link,即CL(i,j)=1。具體公式如下:

(3)

為了使系數矩陣C擁有更好的塊對角結構,利用成對約束矩陣給C施加約束,具體損失函數L3為

(4)

其中,γ2和γ3是損失項的系數,⊙為Hadamard積運算符。E=max(0,m-C)為懲罰矩陣,當樣本Xi和Xj為must-link時,為了將Xi和Xj聚類到同一個簇,Cij的值應該大一些,如果Cij的值較小,就對當前的Cij進行懲罰,m為懲罰度。同理樣本Xi和Xj為cannot-link時,Cij的值應該小一些才能避免將Xi和Xj聚類到同一個簇,因此對Cij的值進行懲罰。成對約束的損失函數L3最小化可以使得C有更好的塊對角結構,從而得到更好的聚類效果。

2.2.4 偽標簽的糾正模塊 分類層softmax的引入,是為了能夠獲取有益的偽標簽來監督網絡的訓練,從而提高聚類的效果。但是分類層產生的偽標簽是不精確的,因此不能夠穩定地提高特征表示的質量。為了解決上述問題,本文提出了偽標簽糾正算法。利用少許已標記的數據點對分類層產生的不精確偽標簽進行糾正,從而進一步穩定提高特征表示的質量。

由于預測出來的偽標簽標記規則不同,需要利用Kunhn-Munkres算法[22]把預測標簽映射為真實標簽。具體來說,將預測出來的每一類標簽與每一種真實標簽一一對比,形成一個代價矩陣,然后利用Kunhn-Munkres算法計算出代價最低的映射關系,根據映射關系把預測標簽映射為真實標簽,再利用已知的標簽對映射后的偽標簽進行糾正。

例如:已知8個樣本點的真實標簽為B1=(1,1,3,3,2,2,1,1),整個數據集共16個點,假定前8個是已標記的樣本點。數據集的預測標簽為B2=(2,3,1,1,2,3,2,2,1,1,1,2,3,2,2,3),真實標簽的種類為LB1={1,2,3},預測標簽的種類LB2={1,2,3}。

利用Kunhn-Munkres求出預測標簽與真實標簽的映射關系f={1→3,2→1,3→2},即需要把預測標簽中的1,2,3分別與真實標簽3,1,2匹配,此時預測偽標簽B2映射為B2r=(1,2,3,3,1,2,1,1)。很明顯,映射后的標簽存在兩個錯誤(圖3中用下劃線標識),利用已知的真實標簽B1對B2r中的錯誤進行糾正,糾正后整個數據集的預測結果為B2t。

圖3 偽標簽的匹配和糾正

在實現的過程中,在特征提取模塊(編碼器)的后面添加了一個帶有softmax層的全連接層作為一個分類模塊,它利用編碼器學習到的特征表示Z轉換成p(Z),其中p(Zi)∈K表示對Zi預測的分類結果概率分布,K表示簇數。p(Zi)t表示第i個樣本屬于t簇的概率,表示為

(5)

將偽標簽描述為

li=argmax[p(Zi)]k,

(6)

其中[·]k表示預測向量的第k個元素,它對應的預測偽標簽的概率為

pi=max[p(Zi)]k。

(7)

在實際中通過設置閾值,篩選出可信度較高的偽標簽來幫助網絡的訓練,為概率pi設置了一個較大的閾值t0,來選擇可信度較高的偽標簽進行監督:

(8)

對應的損失函數為

(9)

其中,損失函數Ll是交叉熵函數,li是糾正后的偽標簽。

聯合四個模塊,得到本文總損失函數:

s.t. diag(C)=0,

(10)

其中,γ1,γ2,γ3和γ4為損失項的系數,在網絡微調階段,采用網格搜索這四個系數,找出最優系數組合。

3 實驗及結果分析

3.1 數據集及評價指標

為了測試算法的聚類效果,對4個基準數據集進行了實驗,分別是ORL和Umist兩個人臉數據集、COIL20和COIL40兩個物體數據集,數據集的詳細情況見表2。

表2 實驗數據集詳細信息

(1)ORL數據集:該數據集由40個人的面部圖像組成,每個人在不同的光照條件下有10個面部圖像,在拍攝圖像時伴有光線和面部表情和姿勢的變化。

(2)Umist數據集:這個數據集由20個人的480張人臉圖像組成,每個人的圖像數量為24張,每張圖像都有姿勢的變化,數據集的每個圖像像素都調整為32×32。

(3)COIL20和COIL40:COIL20數據集包含20種不同形狀物體的1440張灰度圖像,而COIL40由40種不同形狀物品的2880張32×32像素的灰度圖像組成。

本實驗采用三個標準指標來評估算法性能,包括準確率ACC(Accuracy)[23]、歸一化互信息NMI(Normalized Mutual Information)[24]和純度 PUR(Purity)[25]。三個指標的值越高,代表聚類效果越好。三個指標的表達式分別為

(11)

其中,Yi表示第i個樣本的標簽,map(Qi)代表第i個樣本聚類結果Qi映射的真實標簽。

(12)

其中,Y為樣本點的真實標簽,Q為聚類標簽,M計算的是Y和Q之間的互信息,H用來分別計算真實標簽和聚類標簽的熵。

(13)

其中,N是樣本數量,ωi表示聚類結果中第i個簇中的所有樣本,cj表示真實類別中第j個類別中的真實樣本。

3.2 實驗方案與結果

將本文方法與一些常見的子空間聚類算法進行對比,包括低秩表示(LRR)[26]、低秩子空間聚類(LRSC)[27]、稀疏子空間聚類(SSC)[28]、具有l1范數的DSC(DSC-L1),具有l2范數的DSC(DSC-L2)[4],深度嵌入聚類(DEC)[29]以及偽監督深度子空間聚類(PSSC)[15]。為了測試偽標簽糾正機制和L3模塊的影響,通過去掉偽標簽糾正和L3模塊進行消融實驗。

首先,在沒有自表達網絡層和softmax分類層的情況下預訓練自動編碼器卷積網絡,網絡架構信息如表3所示。然后添加自表達網絡層和softmax分類層對整個網絡進行微調,在訓練過程中利用已知標簽對生成的偽標簽進行糾正來監督網絡的訓練。預訓練階段設置學習率為1.0×10-3,在微調階段設為1.0×10-4。為提高預測偽標簽的可信度,把閾值t0設置為0.8。使用基于自適應動量的梯度下降法Adam[30]來最小化損失函數。在得到C之后計算相似度矩陣W,完成譜聚類。

表3 數據集的網絡設置

表4記錄了本文算法SCPC和對比算法在4個測試數據集上的聚類結果,其中SCPC在4個數據集上的標簽點個數為50個。關于標簽點比例的討論見3.3節。如表4所示,SCPC在4種常見的數據集上表現出了良好的聚類效果。與非深度學習模型LRR,LRSC和SSC相比,SCPC在4個數據集上的ACC、NMI和PUR均增加了約10%及以上,這也證明了基于卷積神經網絡結構的自編碼器能夠提取更加良好的特征表示。

表4 不同算法在四個數據集上的聚類結果

相較于DSC-L2,算法SCPC在COIL20數據集上的ACC、NMI和PUR分別增加了3.89%、3.8%和3.6%。與PSSC相比,SCPC在Umist、COIL20和COIL40三個數據集上的聚類表現都更好,這也驗證了本文提出的偽標簽糾正機制和成對約束信息能夠提高子空間聚類的性能。

3.3 消融實驗

為了進一步驗證偽標簽糾正機制和成對約束對子空間聚類效果的影響,通過分別去除對比學習模塊和偽標簽糾正機制,然后在4個數據集上進行測試,結果如表4中的SCPC1和SCPC2。其中,SCPC1是只去掉對比學習模塊時的聚類結果;而SCPC2是只去掉偽標簽糾正模塊時的聚類結果。通過表4中的消融實驗結果可以觀察到,僅保留偽標簽糾正機制或對比學習模塊得到的聚類結果要比SCPC的結果差一些。從實驗結果看,偽標簽糾正模塊對提高聚類性能的作用更明顯一些,同時也證實了偽標簽糾正機制和對比學習模塊的聯合作用對提高子空間聚類性能的有效性。

另外,實驗記錄了不同個數的標簽點對聚類結果的影響,假定最多只擁有50個標簽點。表5記錄了SCPC算法在各數據集的半監督聚類結果。從表5可以看出,在各個數據集上隨著標記數據點個數的增加,各項聚類指標均有不同程度的增加,只有一種情況有輕微的下降。因為標簽點的隨機性,對聚類的影響程度是不確定的,但標簽點的介入總體上能提升聚類性能。

表5 半監督聚類結果

3.4 最優參數搜索

SCPC的損失函數L有γ1、γ2、γ3和γ4四個參數,通過網格搜索法尋找每個數據集上的最優參數。由于三個指標度量聚類性能的角度不同,同時滿足三個指標最優的參數很可能是不存在的,因此本文選擇聚類準確率ACC這個直觀的指標作為最優參數搜索的依據。實驗中固定兩個參數的值來研究另外兩個參數對SCPC的影響。如圖4、5所示,SCPC算法對參數γ2、γ3、γ4不敏感,即γ2、γ3、γ4的變化對聚類性能影響不大。當γ1、γ2、γ3、γ4都取104時,在ORL數據集上ACC取得最大值;當γ1=10,γ2=10-4,γ3=10-1、γ4=10-4時,ACC在COIL40數據集上取得最大值。按照相同的方法搜索,得出數據集COIL20和Umist的最優參數,見表6。

表6 參數設置

圖5 參數對COIL40數據集ACC的影響

為了將滿足must-link的點對(i,j)聚到同一個簇中,用懲罰矩陣E=max(0,m-C)對較小的Cij進行懲罰。圖6是在γ1、γ2、γ3和γ4設置如表6所示下對m進行的測試。從圖6可以看出,m對Umist數據集效果影響不大,故任取m為1,在COIL20和ORL數據集上m設置為5能取得較好的效果,而COIL40數據集在m=7時能取得較好的效果。每個數據集經過自編碼器編碼后都會得出其潛在的數據表示,這個潛在表示再用自表達矩陣進行重新表示,就得到了自表達系數矩陣C。從這個過程看,C和數據集本身、網絡的自編碼器,以及自表達過程都是密切相關的。COIL20數據集在不同的m值上ACC取值變化較大,反映出該數據集的自表達矩陣元素取值范圍較廣,適當的懲罰度m能有效促進聚類結果的改變,這也是深度子空間聚類算法能得出較好結果(如SCPC算法的ACC達到0.975 7)的原因。

圖6 懲罰度m對ACC的影響

4 結 論

本文提出的算法SCPC是一種半監督的學習算法,該方法充分利用少量已知樣本標簽來獲得更好的特征表示和相似度矩陣W。一方面基于對比學習的思想,利用這些已知樣本標簽來獲得成對的約束信息,來約束系數矩陣C的塊對角結構,從而獲得更好的聚類性能;另一方面用這些真實標簽來糾正網絡分類層產生的偽標簽,通過反復訓練來監督整個網絡的訓練,糾正網絡權重的值。實驗表明,算法SCPC的性能優于或接近先進的子空間聚類算法。同時也證明了利用半監督信息和對比學習方法在提高子空間聚類性能上的可行性和有效性。以后的工作會繼續研究用不同方式來嵌入先驗信息來提升子空間聚類的性能。

猜你喜歡
標簽聚類深度
深度理解一元一次方程
深度觀察
深度觀察
無懼標簽 Alfa Romeo Giulia 200HP
深度觀察
不害怕撕掉標簽的人,都活出了真正的漂亮
基于DBSACN聚類算法的XML文檔聚類
基于高斯混合聚類的陣列干涉SAR三維成像
標簽化傷害了誰
基于多進制查詢樹的多標簽識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合