Deep Adversarial Subspace Clustering 翻譯
摘要:
大多數現有的子空間聚類方法都依賴於人工製作表示的自我表達,並且不知道潛在的聚類錯誤。因此,它們對具有複雜潛在子空間的實際資料處理的令人不滿意。為了解決這個問題,我們提出了一種新的深度對抗子空間聚類(DASC)模型,通過深度學習子空間聚類來學習更有利的樣本表示,更重要的是引入對抗學習來監督樣本表示學習和子空間聚類。具體而言,DASC由子空間聚類生成器和質量驗證鑑別器組成,它們相互學習。生成器生成子空間估計和樣本聚類。鑑別器通過檢查來自估計子空間的重新取樣資料是否具有一致的子空間屬性來評估當前聚類效能,並監督生成器逐步改進子空間聚類。手寫識別,面部和物件聚類任務的實驗結果證明了DASC優於淺層和不太深層的子空間聚類模型。此外,據我們所知,這是相似GAN模型在無監督子空間聚類中的首次成功應用,也為深度學習解決其他無監督學習問題鋪平了道路。
引言:
在本文中,我們的目標是為無監督子空間聚類問題開發新的深度學習解決方案。 與僅限於線性子空間的傳統“淺”子空間聚類方法相比,深度子空間聚類顯然是有利的。 它可以通過深度學習提供更強大的樣本表示,並有效地聚類來自非線性子空間的樣本,這可以極大地將子空間聚類擴充套件到更復雜的實際資料。
最近,提出了一種基於深度自動編碼器的子空間聚類模型,旨在學習更好的樣本表示。 然而,與那些傳統的“淺層”方法一樣,它仍然取決於作為監督的自我表示,這對於具有不友好分佈的樣本可能表現不佳(例如,內在子空間不是獨立的或具有顯著的交集)。 此外,現有的子空間聚類方法沒有考慮獲得的聚類的潛在的錯誤,導致學習的表示含噪聲,從而降低聚類效能。
在這項工作中,因為GAN最近在無監督資料生成方面取得的成功,我們基於GAN框架,基於現有方法的上述缺點開發了一種新的無監督深度子空間聚類模型。稱為深對抗子空間聚類(DASC)。它由子空間(和簇)生成器和鑑別器組成,鑑別器通過以無監督的方式評估聚類質量來監督生成器。如果生成器生成的簇是正確的,則同一簇中的樣本將全部位於相同的內部子空間中,這意味著它們的任何線性組合將依舊在這個子空間中並具有相同的子空間屬性,如眾所周知的線性子空間性質中所述。在這種情況下,鑑別器不能檢測來自內部子空間的重取樣資料與簇中的原始樣本之間的差異。否則,給定不準確的簇,如圖1(a)所示,取樣自同一簇內的跨越子空間偏離了樣本所在的內部子空間S1 *和S2 *。然後鑑別器能夠輕易地區分來自於子空間
圖1:我們的想法的例證。 鑑於(a)中當前的聚類錯誤,DASC中的鑑別器可以通過從當前聚類(即,生成器的估計子空間)生成的假樣本“”和原始的“”和“”樣本來識別其質量差,因為它們具有不一致的子空間屬性。 利用監督等評估資訊,DASC中的生成器逐步改進樣本表示學習,並在(b)中輸出正確的聚類結果。
特別是,生成器的作用是三重的。首先,它使用深度自動編碼器通過自表達層在位於聯合線性子空間中將原始輸入樣本轉換為更好的表示。通過這種方式,DASC有效地減輕了樣本上的線性子空間假設。其次,生成器基於內部自表達層產生的樣本親和度矩陣產生子空間聚類結果。第三,它通過從估計的聚類(或等效的跨越子空間)中取樣來生成新的“假”樣本,並將它們送到鑑別器以進行區分來相應地評估子空間聚類質量。另一方面,訓練鑑別器以將所生成的“偽”樣本與所提供的真實樣本區分開,並基於線性子空間屬性評估聚類結果的質量。它反饋評估資訊以監督生成器的子空間聚類。與相似GAN模型中的傳統鑑別器提供過複雜的分類邊界以準確利用子空間屬性來區分樣本不同,我們提出了一種基於能量的鑑別器,通過檢查它們與感興趣的子空間的匹配程度來檢測真實和偏離樣本。在這種鑑別器的監督下,生成器將學習更具判別力的表示並提高聚類效能。
手寫識別,面部和物件聚類任務的實驗結果很好地證明了我們的方法的優點。 綜上所述,本文做出了以下貢獻。
(1)我們提出了一種新的深度對抗子空間聚類方法,稱為DASC。 通過引入對抗性學習,DASC的鑑別器可以忠實地評估當前的聚類質量,並監督生成器的學習,從而為更好的子空間聚類產生更有利的表示。
(2)我們設計了一種簡單但有效的基於能量的鑑別器,以廣泛利用子空間屬性,這是對自動編碼器引入的自我表示損失的創新和補充。
相關工作:
迄今為止,已經開發了各種子空間聚類方法。 他們中的大多數利用自我表示來解決潛在的子空間和樣本聚類,這可以用以下統一的公式來構造:
但是,它們只能聚集線性子空間,這限制了它們的應用。 為了解決這個問題,已經開發了基於核的子空間聚類方法。 但很難選擇適當的核心捕獲潛在的子空間。 此外,所有這些現有方法僅尋求線性表示係數,這可能對於聚類任務不具有判別力。 相比之下,我們提出的DASC使用鑑別器來有效地評估聚類效能並監督生成器以學習更具判別力的表示。
最近,已經提出了幾種基於深度學習的聚類方法。 宋等人,將自動編碼器與k-means整合去學習和聚類潛在特徵。 同樣,謝等人,提出了一種深度嵌入式聚類方法。 但它們都不適用於子空間聚類。 最近,Ji等人,提出了一種深度子空間聚類網路(DSC-Net),它使用自動編碼器來學習輸入樣本的表示,並通過自我表示層獲得線性表示係數(如方程(1))。 儘管DSC-Net避免了線性子空間假設,但它無法根據當前的聚類結果進行自我調整以學習更好的表示。 相比之下,提出的DASC引入了鑑別器和生成器之間的對抗性學習,以強制後者通過學習更好的表示來改進當前的聚類結果。
深度對抗子空間聚類:
在本節中,我們將詳細介紹所提出的方法。 我們首先解釋網路構成,然後介紹每個部分,最後詳細說明其訓練和聚類過程。
網路構成:
如前所述,子空間聚類方法通過恢復多個低維子空間來聚類觀察到的樣本,以匹配和分離它們。 然而,對於複雜性質的實際資料,很難找到匹配其原始表示的子空間。 在這種情況下,來自不同子空間的樣本可能被錯誤地聚集到同一群集中,從而損害了聚類效果。 為了解決這種無監督的學習問題,現有的最先進的方法(例如,SSC 和LRR )通常依賴於同一子空間內的樣本自表示屬性,這通常對於具有不友好分佈的樣本(例如,內在子空間不是獨立的或具有顯著的交集)表現不佳 。 此外,這些方法不考慮所獲得的簇中的潛在錯誤,因此不能通過評估當前的聚類質量來改進自身。
為了在一個統一模型中解決上述關鍵問題,我們提出了深度對抗子空間聚類(DASC)模型,該模型通過深度學習學習子空間聚類的更好的樣本表示,並引入子空間對抗性學習來補充自我表示以獲得更好的樣本聚類。 如圖2所示,它由子空間(和簇)生成器和鑑別器組成,分別用G和D表示。
圖2:整體結構的例證。 DASC由一個相互學習的生成器和鑑別器組成。 特別地,該生成器包含一個用於學習樣本表示的自動編碼器 - 解碼器,一個用於產生樣本親和度矩陣和聚類的自我表示層,以及一個用於生成子空間質量評估所需的真實和偽造資料的取樣層。 子空間鑑別器接收生成的樣本並學習區分真實資料和假資料。
具體地,DASC通過其生成器G中的多層非線性編碼器來學習輸入樣本的潛在表示。為了迫使新表示比原始表示更適合子空間聚類,G引入自我表示層並最小化以下自我表示損失:
DASC旨在檢查來自噪聲的再生樣本與來自的真實樣本之間的差異,為聚類質量定義一個有效且可計算的度量,並獲得額外的監督。 形式上,DASC引入了一種新的判別損失來衡量聚類的質量:
是對於子空間的一個判別模型,通過最小化下面的判別損失來訓練:
這裡〜表示包括取樣和線性組合的複合操作,並且將在第3.2節中更詳細地解釋。 取樣和線性組合操作很重要,它們受子空間的關鍵屬性(在有效子空間內線性組合樣本不會產生邊遠樣本)啟發 。 DASC中的鑑別器被訓練來區分真實內在子空間的“真實”樣本和他的估計的“假”樣本。 與相似GAN模型中的傳統鑑別器不同,DASC中的鑑別器需要估計每個樣本屬於某個子空間的概率。 也就是說,它需要子空間方面的區別力。 我們在3.3節中引入了一種新的基於能量的鑑別器模型,滿足這樣一個關鍵要求。
如果來自簇的所有“假”樣本(包括線性組合)被鑑別器D分類為,即,等式(3)得到一個大值。則簇具有高質量。 否則,聚類簇是錯誤的。 通過將這種監督反饋給生成器G,然後強制G去最大化質量(等式(3))或均衡等式(4)的鑑別器損失(等於1/2,即無法判別真假), 來產生更好的聚類樣本表示和聚類結果,即內的樣本可與鑑別器D區分。在下面的小節中,我們解釋了關於生成器G和鑑別器D的細節,以實現上面介紹的方法。
3.2 生成器:
DASC的生成器G通過利用樣本的低維結構,學習有利於子空間聚類的判別表示,並生成子空間聚類結果。 特別是,它學會了將原始輸入樣本轉換為潛在表示空間,其中樣本可以通過線性子空間的並集很好地擬合,使用子空間成員集對樣本進行聚類,並且如上面所說從每個聚類生成“真實”和“假”樣本。
如圖2所示,生成器使用深度卷積自動編碼器將樣本非線性地變換為表示。 然後,它使用編碼器後面的自表示層來產生自表示係數(參見方程(2))。 隨後將新表示送到解碼器中。 這裡,解碼器具有與編碼器對稱的結構,其旨在從重建原始輸入以確保表示Z保留足夠的樣本資訊。 親和度矩陣用於聚類。
G的另一個重要功能是生成以簇(i = 1,...,K)為條件的“真實”和“假”樣本,其由圖2中的取樣層實現。基於通過自表示層學習的樣本親和度矩陣Λ,我們應用NCut演算法將(i = 1,...,n)聚類為K個簇。同時,如圖3所示,我們的鑑別器被設計成學習線性子空間以匹配簇的內部真實子空間。然後根據鑑別器學習的相應子空間上的資料點的對映殘差(參見3.3節中的方程(5)),鑑別器可以識別輸入資料是真實的還是假的。在3.3節中檢視鑑別器的詳細資訊 。因此,G中的取樣層計算簇中每個樣本的對應到上的對映殘差,並選擇具有較小殘差的個“實數”資料(圖3中的平坦點)。在3.4節中檢視的設定。以這種方式,所選擇的樣本以高概率大致位於正確的固有子空間中,並且用作跨越子空間的“真實資料”。此外,鑑別器足夠強大以處理這些所選實際資料中的可能噪聲。採用這種新穎的基於對映殘差的真實資料取樣策略,緊密結合用於聚類質量評估的基於能量的鑑別器,並通過實驗驗證了其有效性。
圖3:關於真/假取樣的插圖。從錯誤的簇中取樣真實資料(具有正確的聚類標籤)和假資料,該錯誤的簇跨越不準確的子空間估計。 真實資料對應於鑑別器所學習的子空間,具有比取樣的假資料對應於鑑別器所學習的子空間小得多的對映殘差,因此可以通過來區分它們。
為了產生假資料,對於每個簇,生成器中的取樣層從估計的子空間執行隨機取樣(參見圖3中的紫色點)。 由於直接取樣是不可微分的,我們採用[11]中的重新引數化技巧來實現可微分取樣。具體地,對於每個具有個樣本的簇,取樣層先從(0,1]均勻分佈中取樣個隨機向量,然後生成個假資料
表示的第j項。對於當前訓練階段是固定的,可以通過表示將梯度傳到編碼器。 與明確計算然後對假資料進行取樣相比,如上所述生成假資料更有效。
3.3 鑑別器:
我們構建鑑別器以實現能量函式,該能量函式將低能量分配給資料子空間附近的區域,並將更高的能量分配給其他區域。 因為對於每個聚類,鑑別器D旨在驗證其真實資料和偽資料是否屬於相同的內在子空間,它僅需要學習一個子空間判別模型,該模型為每個簇匹配期望的固有子空間。 對於簇,讓鑑別器學習的子空間的基由引數化,其中表示子空間維度。 然後如圖3所示,鑑別器可以通過它們在上的對映殘差來區分真實資料和偽資料:
因為如果簇不準確,真實樣本將比那些假樣本更接近子空間。我們使用上面的對映殘差來定義一個樣本屬於子空間的概率,也就是鑑別器的輸出,即,用它代替等式(4)給出以下目標函式來訓練簇的鑑別器.
為了在簇和之間建立一對一的對應關係以計算損失,對於所有候選,每個計算其在上的平均投影殘差並選擇一個最小的平均投影殘差。 如果多個簇競爭相同的,則將選擇具有最小平均對映的叢集。 對於沒有匹配的任何聚類,我們在由構成的特徵矩陣上使用QR分解來計算其對應的。 以這種方式,生成器和鑑別器的學習是一致的,因為在每次簇將總是找到最接近其固有子空間的。
為了促進對應於不同簇的子空間的可分離性,我們引入正則化項,其中 > 0是常數。 它還有利於通過鑑別器D,鼓勵生成器G產生對不同子空間有區別力的表示來進行聚類。 雖然我們不要求中的基是嚴格正交的,但我們仍然使用作為正則化來減少每個中的冗餘,其中 > 0是常數,是具有相容維度的單位矩陣。
因此對於鑑別器最終的訓練目標是
DASC中的鑑別器可以由兩個全連線層的K個線性網路實現。 此外,在每個網路中,兩個層共享它們的引數。 對於輸入資料,第一層和第二層的輸出分別是和。 通過最小化鑑別器損失,可以學習引數 。
顯然,DASC中的鑑別器是自動編碼器的變體,但比[1,37]中用於影象生成的鑑別器更簡單,因為我們只有兩個線性對映層。 這種吸引人的簡單性受益於G中的自表達層,這提供了利用線性子空間結構來設計鑑別器的便利性。 相比之下,[1,37]中的自動編碼器更深,涉及非線性對映,因為資料結構仍然未知,因此需要複雜的自動編碼器來學習資料結構。
3.4 訓練和聚類:
即,通過調整G的表示學習和子空間聚類結果,鼓勵生成的假資料更接近鑑別器學習的子空間,從而表明更高的聚類質量。 G的最終培訓目標是將這種對抗性損失與樣本重建損失和自我表示損失相結合。
表示所有的輸入樣本,自編碼器對的重構。這裡表示生成器的引數,包括編碼器和解碼器中的引數,以及自表達層中的表示係數。 第二項表示自動編碼器的重建損失,而後兩項對應於等式(2)中的自我表示損失。 在上採用F-範數懲罰,因為與非平滑懲罰項相比,例範數, 通常,它可以更容易學習,也可以達到相當的甚至更好的效能。
我們首先預先訓練發生器G而不考慮鑑別器D,即最小化等式(9)中的生成器損失,丟棄第一項。這樣,生成器可以產生相當好的初始表示。然後我們按如下方式訓練整個DASC網路。首先,我們通過以下方法初始化鑑別器引數。見第4節,設定。我們在親和度矩陣Λ上應用NCut以聚類潛在表示。然後我們使用簇中的表示,通過QR分解來計算。由於預訓練的生成器提供了相對較好的聚類結果,因此這種策略比隨機初始化更好地初始化模型。在鑑別器和生成器的聯合訓練期間,鑑於鑑別器的結構比發生器簡單得多,我們分別在每個時期內非同步更新D和G,為5次和1次。對於個數據點的聚類,我們將真實資料和假資料的數量設定為和(α∈[0.8,0.95]),這在所有實驗中都很有效。預訓練和微調都採用Adam演算法。但他們的學習率分別為,與[9]中一樣,。
在測試期間,我們對由生成器G輸出的學習到的親和度矩陣Λ執行譜聚類。為了公平性,我們使用[9]中的NCut演算法。