論文閱讀筆記(15):Deep Subspace Clustering with Data Augmentation,深度子空間聚類+資料增強
- 摘要
- 1 介紹
- 2 相關工作
-
- 帶增強的聚類方法
- 具有一緻性損失的自監督
- 子空間聚類中的自表達模型
- 3 深度子空間聚類+資料增強
-
- 總結
- 4 尋找有效增強
2020年的NeruaIPS收錄文章
開源代碼:https://github.com/mahdiabavisani/DSCwithDA.git.
摘要
資料增強技術背後的想法是基于這樣一個事實:感覺的細微變化不會改變大腦的認知。在分類中,神經網絡利用這一事實,通過對輸入進行變換來學習預測相同的标簽。然而,在深子空間聚類(DSC)中,groud-truth标簽不可用,是以,人們無法輕松使用資料增強技術。我們提出了一種技術來利用DSC算法中資料增強的優點。我們學習對輕微變換的輸入保持一緻的子空間表示。特别地,我們在DSC算法的目标函數中引入了一個temporal ensembling元件,使DSC網絡能夠為輸入資料中的随機變換保持一緻的子空間。此外,我們還提供了一個簡單的無監督過程來尋找有效的資料增強政策。增強政策具有一定的幅度和機率應用于每個epoch中的每個圖像進行transform。我們在最常見的增強政策的搜尋空間中找到最佳政策,進而使DSC網絡在目标資料集的聚類結果中産生最高的平均輪廓系數(Silhouette Coefficient)。我們的方法在四個标準子空間聚類資料集上實作了最先進的性能。

1 介紹
最近的技術為計算機視覺和機器學習應用提供了大量複雜的高維資料。高維數會帶來負面影響,包括不相關維數的算法混亂、維數災難以及計算時間和記憶體增加。這促使我們探索用低維表示高維資料的技術。在許多實際應用中,高維資料可以通過低維子空間的并集來表示。子空間聚類問題的目的是尋找這些子空間。子空間聚類的目标是找到子空間的數目、它們的基和維數,并将資料配置設定給這些子空間。
傳統的子空間聚類算法假設資料位于線性子空間。然而許多真實資料集用非線性流形模組化更合适。為了解決這個問題,許多模型都結合了投影和核技巧來表達非線性。最近提出了深度子空間聚類(DSC)方法通過将資料投影到線性子空間中的潛在空間來學習無監督非線性映射。深度子空間聚類網絡在各種資料集上表現出了良好的性能。
深度學習技術容易過拟合。資料增強通常作為一種正則化來緩解這個問題。雖然基于深度學習的方法的資料增強已被證明是有益的,但目前的DSC網絡架構無法充分利用資料增強。在這項工作中,我們修改了DSC架構,并提出了一個可以将資料增強納入DSC的模型。
子空間聚類與有監督任務中的資料增強之間的一個重要差別是,子空間聚類算法中的樣本沒有ground-truth。在有監督的深度學習模型中,與對象即使稍微變換也保持不變這一事實相對應,現有樣本的變換被訓練為使用與原始樣本的ground-truth類似的一緻标簽進行預測。在一個無監督的子空間聚類任務中,如果資料沒有ground-truth,如何表示這種一緻性的屬性?
DSC模型應為相似資料點提供一緻輸出的函數。為了實作這一點,我們優化了基于temporal ensembling的一緻性損失。我們将現有樣本的合理transform輸入到模型中,并要求模型的自動編碼器(AE)将變換後的樣本映射到與原始資料的子空間相似的一緻子空間。
有效的增強政策提高了深度網絡的性能,但有效的增強政策可能因資料集而異。在有監督學習中,驗證集通常用于手動搜尋變換,如旋轉、水準翻轉或平移幾個像素,以找到有效的增強。手動增強需要事先的知識和專業知識,并且隻能在少數預定義的試驗中進行搜尋。有些方法自動搜尋分類網絡。然而,這些方法隻針對分類任務而設計,不能應用于子空間聚類任務。這是因為我們在子空間聚類中沒有驗證或訓練集。我們克服了這個問題,提供了一種簡單而有效的方法,通過貪婪搜尋找到有效的擴充政策,并使用平均輪廓分數來評估不同擴充政策對我們提出的模型性能的影響。
2 相關工作
帶增強的聚類方法
最近提出了一種用于具有增強的深度嵌入式聚類算法的技術。在預訓練階段訓練自動編碼器時使用增強,在微調階段鼓勵增強的資料與相應的資料具有相同的質心。據我們所知,本文是第一次為深子空間聚類算法提出擴充架構。
具有一緻性損失的自監督
對于未标記資料的不同轉換,學習一緻性特征的思想已經在許多工作中得到了應用,主要是在半監督和自監督學習文獻中。
子空間聚類中的自表達模型
由于其簡單性、理論正确性和經驗成功性,基于自表達特性的子空間聚類方法非常流行。自表達特性可以表述為:
X = X C , s . t . d i a g ( C ) = 0 {\bf X=XC},s.t. diag(\textbf C)=0 X=XC,s.t.diag(C)=0
可能存在許多滿足自表達條件的系數矩陣。其中,基于自表達的子空間聚類方法特别關注子空間保持解。子空間保持特性表明,如果C中的元素非零,則X中與該系數對應的兩個資料點位于同一子空間中。結合這兩個屬性,需要解決如下形式問題:
其中 λ 1 λ_1 λ1是正則化常數, L S . E . \mathcal L_{S.E.} LS.E.和 L S . P . \mathcal L_{S.P.} LS.P.分别施加自表達特性和子空間保持特性。大多數線性方法使用 L S . E . ( C , X ) = ∣ ∣ X − X C ∣ ∣ F 2 \mathcal L_{S.E.}({\bf C,X})=\vert \vert {\bf X− XC}\vert \vert^2_F LS.E.(C,X)=∣∣X−XC∣∣F2,而 L S . P . \mathcal L_{S.P.} LS.P.可以是 ℓ 1 , ℓ 2 \ell_1,\ell_2 ℓ1,ℓ2或核範數。
近年來,深度神經網絡擴充了自表達性的模型。對于這些方法, x i x_i xi不需要從線性子空間的并集中提取。相反,他們使用自動編碼網絡将資料點映射到潛在空間,其中資料點位于線性子空間的并集中,并利用潛在空間中的自表達性和子空間保持特性。 Z ∈ R d × N Z∈\mathbb R^{d×N} Z∈Rd×N為在自動編碼器中編碼的潛在空間特征。深度子空間聚類網絡解決了以下形式的問題:
差別在于, Θ \Theta Θ是可訓練參數,編碼器輸出的 X ^ \bf \hat X X^是對 X \bf X X的重建 L R e c . ( X , X ^ ) = ∣ ∣ X − X ^ ∣ ∣ F 2 \mathcal L_{Rec.}(\bf X,\hat X)=\vert \vert {\bf X-\hat X}\vert \vert^2_F LRec.(X,X^)=∣∣X−X^∣∣F2。一旦找到合适的 C \bf C C就将譜聚類應用于 W = ∣ C ∣ + ∣ C ∣ ⊤ \bf W=|C|+|C|^\top W=∣C∣+∣C∣⊤來得到對 X X X的分割。
3 深度子空間聚類+資料增強
當在有監督的深度學習模型中使用資料增強時,對現有transform的樣本進行訓練,以預測與原始樣本的ground-truth标簽相似的一緻性标簽。我們認為DSC模型應該支援為相似資料點提供一緻輸出的函數。當對資料點應用增強政策時,我們通過保持資料點的估計子空間成員隸屬關系的一緻性來處理這一性質。在訓練過程中,我們通過對先前疊代中估計的affinity矩陣進行temporal ensembling來平滑子空間成員關系(即C的元素 c i j c_{ij} cij)的預測。
對于資料 X = [ x 1 , . . . , x N ] ∈ R D × N X=[x_1,...,x_N]\in \mathbb R^{D\times N} X=[x1,...,xN]∈RD×N,在第 t t t次疊代時對 X X X應用資料增強政策得到的資料為 X t X^t Xt,有 X t = [ x 1 t , . . . , x N t ] X^t=[x^t_1,...,x^t_N] Xt=[x1t,...,xNt]
我們的模型可以應用于各種DSC網絡。在這一節中,我們考慮一個通用形式,它包括以 X t X^t Xt作為輸入并生成潛在空間特征 Z t Z^t Zt的編碼器。潛在空間特征 Z t Z^t Zt由參數為 C t C^t Ct的自表達層重建。也就是說, Z t C t Z^tC^t ZtCt被饋送到解碼器以産生 X ^ t \hat X^t X^t,這是 X t X^t Xt的重構。圖1顯示了該模型的概述。請注意,這樣的模型包括一個全連接配接層,該層連接配接小批量中的所有樣本(自表達層)。是以,在訓練期間,資料點的數量及其順序不能改變。我們保留一個占位符,其中有N個字段對應于現有樣本。
如前所述,我們的目标是一個自動編碼器,它對輕微變換輸入的子空間成員隸屬關系一緻。設 C t C^t Ct為子空間聚類算法第 t t t次疊代時構造的系數矩陣。此外,設 Q ^ \hat Q Q^是子空間隸屬度矩陣的現有估計,它的行表示将樣本配置設定給的不同子空間的one-hot向量。 Q ^ T \hat Q^T Q^T和 ∣ C t ∣ |C^t| ∣Ct∣的乘法給出了一個矩陣,其第 ( i , j ) (i,j) (i,j)元素顯示了配置設定給第 i i i子空間的樣本在重構第 j j j樣本時的貢獻。對于完美的子空間保持系數矩陣, Q ^ T ∣ C t ∣ \hat Q^T|C^t| Q^T∣Ct∣每行隻有一個非零元素(one-hot的)。
是以,在疊代t處的子空間成員矩陣的預測可以如下計算:
即對 Q ^ t ∣ C t ∣ \hat Q^t|C^t| Q^t∣Ct∣的每行進行Softmax,我們将 Q t Q^t Qt稱為時态子空間隸屬矩陣。
時态子空間隸屬度矩陣 Q t Q^t Qt估計目前觀測 X t X^t Xt的子空間隸屬度。注意,由于随機增加的輸入,系數矩陣 C t C^t Ct可能在不同的時間範圍内發生突然變化。雖然對于資料的輕微變換可以使用不同的系數矩陣,但我們對保持持久子空間成員的矩陣 Q t Q^t Qt感興趣。是以,我們提出了子空間成員一緻性損失。
我們保持系數矩陣的指數項移動平均(exponential moving average, EMA),為系數矩陣提供平滑的時态集合(temporal ensembling)。是以,除了時态子空間隸屬度矩陣外,在每個epoch中,我們可以計算與先前疊代中系數矩陣的時态集合相對應的另一個隸屬度矩陣。我們将此成員隸屬度矩陣稱為 Q E n s . t Q^t_{Ens.} QEns.t。
令 C E M A t − 1 C^{t−1}_{EMA} CEMAt−1為系數矩陣的EMA,直到 t − 1 t−1 t−1次疊代,且 C t C^t Ct是第 t t t次疊代時計算更新的系數矩陣。EMA可如下更新:
其中 0 < α < 1 0<\alpha<1 0<α<1為平滑因子,是以 Q ^ E n s . t \hat Q^t_{Ens.} Q^Ens.t可如下計算:
注意,與 Q t Q^t Qt相比, Q E n s . t Q^t_{Ens.} QEns.t提供了更一緻的子空間成員預測。為了鼓勵自動編碼器支援保留子空間成員隸屬的函數,即使對于不同的transform的觀測值 X t X^t Xt,我們提出子空間成員隸屬一緻性損失如下:
其中 C E CE CE表示交叉熵函數。 L C o n s . \mathcal L_{Cons.} LCons.懲罰了子空間成員隸屬的時态變化與子空間成員隸屬的時态集合 Q E n s . t Q^t_{Ens.} QEns.t的不一緻性。
總結
我們通過子空間聚類和子空間成員一緻性兩個步驟對網絡進行疊代訓練。在每次疊代t時,我們用以下算法訓練:
4 尋找有效增強
增強政策的選擇對網絡的性能起着重要的作用,我們将尋找最佳增強政策的問題描述為一個離散搜尋問題。
我們的方法由三部分組成:得分、搜尋算法和具有可行設定 n s n_s ns的搜尋空間。搜尋算法對資料增強政策 S i S_i Si進行采樣,該政策包含有關要使用的圖像處理操作、在每次疊代中使用該操作的機率以及操作的大小的資訊。政策 S i S_i Si将用于訓練具有固定體系結構的子深子空間聚類網絡。經過訓練的子網絡将傳回一個分數,該分數指定對輸入資料應用政策 S i S_i Si對深度子空間聚類任務性能的影響。最後,所有測試的政策 { S i } 1 n s \{S_i\}_1^{n_s} {Si}1ns将根據得分排序。