图神经网络时代的深度聚类
?PaperWeekly 原創 ·?作者|紀厚業
學校|北京郵電大學博士生
研究方向|圖神經網絡和推薦系統
聚類作為經典的無監督學習算法在數據挖掘/機器學習的發展歷史中留下了不可磨滅的印記。其中,經典的聚類算法 K-Means 也被選為數據挖掘十大經典算法。隨著深度學習的興起,一些工作嘗試將深度學習技術(如 Autoencoder )引入到傳統聚類算法中,也取得了不錯的效果。
近些年,圖神經網絡已經成為深度學習領域最熱門的方向之一, 也在推薦/自然語言處理/計算機視覺等很多領域得到了廣泛的應用。
那么,能不能利用圖神經網絡強大的結構捕獲能力來提升聚類算法的效果呢?本文梳理總結了圖神經網絡賦能的深度聚類算法,供大家參考。
IJCAI 2019
論文標題:Attributed Graph Clustering: A Deep Attentional Embedding Approach
論文來源:IJCAI 2019
論文鏈接:https://arxiv.org/abs/1906.06532
1.1 論文動機
本文認為之前的深度聚類算法都是 two-step 的:首先學習數據的特征表示 embedding,然后基于特征表示進行數據聚類。這樣所學習的數據 embedding 并不是任務導向的。那么,如果能夠在學習 embedding 的過程中,針對聚類任務做一些針對性的設計,那么學習到的 embedding 自然可以實現更好的聚類。
針對上述問題,本文提出了一種聚類導向的深度算法 Deep Attentional Embedded Graph Clustering (DAEGC)。DAEGC 一邊通過圖神經網絡來學習節點表示,一邊通過一種自訓練的圖聚類增強同一簇節點之間的內聚性。
下圖清晰的展示 two-step 和本文所提出的 DAEGC 的差異。
1.2 模型介紹
下圖展示了 DAEGC 的模型框架:
可以看出,整個 DAEGC 主要包含兩大模塊:帶有注意力機制的圖自編碼器+自訓練聚類。
1.3 帶有注意力機制的圖自編碼器
這里就是經典的 GAE 架構:通過對鄰居的聚合來學習節點表示,然后利用節點對的內積來重構原始網絡結構。比較有特色的部分就是結合注意力機制來學習鄰居的權重, 這樣可以更好的學習節點表示。
下式展示了融合注意力機制的 GAE 是如何聚合鄰居信息來更新節點表示的。本質上就是對鄰居的加權平均。
其中,,分別是聚合鄰居信息前后的節點的表示,?代表節點?的鄰居集合,?表示了節點對 (i, j) 之間的注意力權重。
有了節點表示后, GAE 可以通過計算節點對的內積來重構原始網絡結構,進而實現無監督的節點表示學習。
其中,可以理解為節點對?(i, j)?間存在邊的概率。最后,通過經典的 AE 重構損失?就可以對 GAE 進行訓練。
1.4 自訓練聚類
GAE 所學習到的節點表示只是為了更好的重構網絡結構,和聚類并沒有直接聯系。自訓練聚類模塊就是對 GAE 所學習到的 embedding 進行約束和整合,使其更適合于聚類任務。假定聚類中為?, 那么節點?屬于某個類別的概率?, 如下式所示:
這里,?可以看作是節點的分配的分布。進一步的, 為了引入聚類信息來實現聚類導向的節點表示, 我們需要迫使每個節點與相應的聚類中心更近一些,以實現所謂的類內距離最小,類間距離最大。因此,我們定義了如下的目標分布:
在目標分布中, 通過二次方?可以實現一種"強調"的效果(二次方后, 分布會變得更加尖銳,也更置信)。在訓練過程中,分布?實際起到了一種標簽的效果。最后,通過計算兩個分布之間的 KL 散度,來實現互相約束,也就是所謂的自訓練。
綜合起來,模型最終的損失函數為:
節點?的所處于的簇?(也可以理解為其標簽)可以通過下式計算:
1.5 論文實驗
作者在 3 個數據集上進行了實現, DAEGC 在大部分情況下都取得了最好的效果。
WWW 2020
論文標題:Structural Deep Clustering Network
論文來源:WWW 2020
論文鏈接:https://arxiv.org/abs/2002.01633
代碼鏈接:https://github.com/461054993/SDCN
2.1 論文動機
深度自編碼器可以通過多層非線性編碼來提取特征信息,而圖神經網絡可以聚合鄰居信息來充分挖掘結構信息。為了同時實現對特征的降維抽取和對結構信息的挖掘, 本文提出了 Structural Deep Clustering Network (SDCN)。
通過堆疊多層 GNN, SDCN 實現了對高階結構信息的捕獲。同時,受益于自編碼器和 GNN 的自監督, 這里的多層 GNN 并不會出現所謂的過平滑現象。過平滑現象指的是,隨著層數的增加,GNN 所學習到的節點表示逐漸變得不可區分。
2.2 模型介紹
在開始介紹模型之前,需要說明的是:如果數據集本身并沒有圖結構,作者將會通過計算節點之間的 Top-K 相似性利用 KNN 手動構建一張圖。下面是兩種相似性計算方法:Heat Kernel 和 Dotp roduct。
下圖展示了整個 SDCN 的模型架構圖。可以看出,整個模型主要包含 3 個部分:GCN 模塊,DNN 模塊和雙重自監督模塊。
2.3 DNN模塊
這里是一個經典的自編碼器。編碼器將輸入?(也就是??)通過神經網絡編碼為隱表示?;解碼器將隱表示?解碼為?(也就是?)。
可以看出,通過重構 loss 和多層非線性映射,?可以較好的反映節點的特征信息。
2.4 GCN模塊
另一方面, GCN 可以聚合鄰居信息來更新節點表示,其更新過程如下:
其中,?是第?層 GCN 學習到的表示,?是帶有自聯的鄰接矩陣,?。
截止到目前為止都是一些常規的 DNN 和 GCN。接下來就是 SDCN 的特色部分:第?層最終表示??實際上混合了初始 GCN 表示??和 DNN 的編碼表示?。
可以看出,在這一步,作者將 GNN 和 DNN 聯系了起來。第 L 層的最終表示可以進一步映射為一個類別概率,
其中,?可以看做是節點?屬于類別?的概率,其實是一個指示了節點處于不同類別的概率分布。
2.5 雙重自監督模塊
最后是一個雙重自監督模塊,其作用體現在兩個方面:(1)通過 GCN 部分和 DNN 部分的互相監督可以實現模型的無監督學習。(2)通過引入聚類信息來更好的學習任務導向的節點表示。
與上一篇 19 IJCAI Attributed Graph Clustering:A Deep Attentional Embedding Approach 類似, SDCN 也設計了兩個分布。這里不再贅述,詳見上一篇的解讀。
節點的類別分布為:
目標分布為:
同樣的,也是最小化兩個分布之間的 KL 散度:
這里,我們可以將?視為標簽來對 GCN 模塊進行監督。
總的來說, 分布?起到了一個橋接的作用,將 DNN 所學到的表示和 GCN 所學習到的表示進行約束。
模型完整損失函數如下:
節點?的標簽可以通過下式計算:
2.6 論文實驗
作者在 6 個數據集上做了大量的有效性實驗。可以看出, SDCN 在所有數據集上都取得了大幅的提升。
比較有意思的實驗是模型層數實驗,如下圖所示。可以看出,隨著層數的增加,模型的效果會有大幅度的提升,并沒有出現過平滑現象。
除此之外,作者還測試了不同的混合系數?對模型效果的影響。
IJCAI 2019
論文標題:Attributed Graph Clustering via Adaptive Graph Convolution
論文來源:IJCAI 2019
論文鏈接:https://arxiv.org/abs/1906.01210
3.1 論文動機
與上一篇 SDCN 相似,本文也利用了高階結構信息(多層 GNN)來提升聚類的效果。盡管這兩篇非常相似,它們也是有一些差異的:1) 本文所提出的AGC是從圖信號處理譜圖理論的角度來理解 GNN 并增強了聚類效果;2) 本文所涉及的 AGC 可以自適應的選擇高階信息的階數,而? SDCN 則需要手動指定超參數。
3.2 模型介紹
3.2.1 譜域的圖卷積
這里首先簡單回顧一下譜域的圖卷積:
其中,p(Λ) 是一個頻響函數,可以對?中的值(也就是特征值)進行放縮,?,分別是經過圖濾波器?卷積前后的圖信號。
這里,?可以看做一組基信號的加權, 而這組基是由拉普拉斯矩陣?分解得到的,
其中,?,,代表?個基向量,,,是一個對角陣,的大小可以反映基向量?的平滑程度。
為什么這里需要涉及到“平滑”這個概念呢?圖上的“平滑”程度反映了相鄰節點的相似程度。圖上的高頻意味著不平滑,特征值大; 圖上的低頻意味著平滑,特征值小。
那么在一組基中, 相對平滑的圖信號實際上是有利于聚類的。因為聚類的目的是把相似的節點放到一起。
如何實現對低頻信號的篩選(也就是對高頻信號的抑制)呢?其實很簡單,我們只要想辦法將較大特征進行壓縮。回想上面的頻響函數?()的作用, 我們可以設計恰當的?來實現我們的目的:
很明顯,?越大,?越小。相應的圖濾波?可以寫作:
一階圖卷積可以寫作:
那么,k 階圖卷積也呼之欲出,
到這里,也就可以聚合 k 階鄰居來學習節點表示了,也就是所謂的 k 階圖卷積。同時注意,卷積過程中抑制了高頻信號,更多的低頻信號(更符合聚類要求)被捕獲了。
3.2.2 自適應k選擇
現在還剩一個問題需要解決,圖卷積的 k 階該如何確定?
這里作者用了一個啟發式的方法:逐漸增加 k, 當類內距離開始變小時,停止搜索。內類距離如下所示:
可以看出,這里 k 的選擇也是比較符合聚類的要求(類內距離最小,類間距離最大)。
3.3 論文實驗
作者在 4 個經典數據集上進行了實驗。總的來說,AGC 的效果還是不錯的。
arXiv 2020
論文標題:Embedding Graph Auto-Encoder with Joint Clustering via Adjacency Sharing
論文來源:arXiv 2020
論文鏈接:https://arxiv.org/abs/2002.08643
4.1 論文動機
本文與之前幾篇的類似,也是用 GNN 來學習適合于聚類任務的節點表示。比較特別的是,本文同時考慮了 K-Mean 聚類和譜聚類來實現更好的聚類。
4.2 模型介紹
下圖展示了本文所提出的 Embedding Graph Auto-Encoder with JOint Clustering via Adjacency Sharing (EGAE-JOCAS) 的整體框架。
4.2.1 圖自編碼器
首先,作者利用圖卷積神經網絡來學習節點的表示?, 然后利用節點表示來嘗試重構原始圖結構。
略有不同的是,作者這里對?做了一個非線性變換。
作者認為?(函數曲線見下圖)可以更好的對節點對的內積進行映射。在?較大的時候,?可以更好的逼近?。
4.2.2 聯合聚類
聯合聚類的公式如下圖所示:
第一項是 K-Mean 聚類,其中是一個指示器, 實際上反映了節點屬于不同簇的概率。
第二項是譜聚類,直觀的理解就是,相近的節點應該屬于相同的簇。回顧上一篇的"平滑程度",可以發現它們有異曲同工之妙。
聯合之前 GAE 的重構損失,EGAE-JOCAS 最終的目標函數為:
4.3 論文實驗
最后,作者在四個數據集上進行了實驗。總的來說,EGAE-JOCAS 在所有數據集上都取得了明顯的提升。
總結
聚類是機器學習/數據挖掘的一個基礎性問題。從傳統聚類到深度聚類以及現在圖神經網絡賦能的聚類, 各種各樣的聚類算層出不窮,也在很多領域得到了廣泛的應用。
考慮到圖神經網絡對結構信息的捕獲能力,在涉及到群體結構的聚類任務上,本文所介紹的聚類算法應該會取得更大的提升。
點擊以下標題查看更多往期內容:?
圖自編碼器的起源和應用
ICLR 2020?| 多關系圖神經網絡CompGCN
圖神經網絡三劍客:GCN、GAT與GraphSAGE
如何快速理解馬爾科夫鏈蒙特卡洛法?
深度學習預訓練模型可解釋性概覽
ICLR 2020 | 隱空間的圖神經網絡
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
???? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的图神经网络时代的深度聚类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乌鲁木齐秦基澜城是毛坯房还是精装修?
- 下一篇: 极米 AURA 2 激光电视开启预售:0