[論文閱讀筆記] Structural Deep Network Embedding


[論文閱讀筆記] Structural Deep Network Embedding


本文結構

  1. 解決問題
  2. 主要貢獻
  3. 算法原理
  4. 參考文獻

(1) 解決問題

現有的表示學習方法大多采用淺層模型,這可能不能捕獲具有高度非線性的網絡結構,導致學習到一個局部最優的節點向量表示。


(2) 主要貢獻

Contribution: 提出一個半監督的深度模型SDNE,包含多個非線性層,同時優化一階和二階相似度的目標函數來保留原始網絡的局部和全局網絡結構,因此可能能夠捕獲高度非線性的網絡結構。


(3) 算法原理

簡單來說SDNE利用一階和二階相似度來保留網絡結構。 二階相似度作為無監督部分被用來捕獲全局結構。一階相似度作為監督部分被用來捕獲局部結構。通過利用半監督的深層模型聯合優化以上兩個目標可以保留局部和全局網絡結構。

詳細來說SDNE的總體框架如下圖所示(圖中的Local structure preserved cost和Global structure preserved cost應該是標反了!!!):

SDNE可以看成一個自編碼器框架,上圖中紅框框部分可以看成編碼器,中間綠色框框部分為編碼器的輸出,為節點的對應的嵌入向量,紫色框框部分為對應的解碼器部分。了解了SDNE的框架組成部分之后,我們來看看各個部分是怎么設計的。

SDNE的無監督部分由深層自編碼器組成。其中,編碼器由多個非線性層組成,可以映射輸入數據到表示空間。解碼器也由多個非線性層組成。即,給定輸入x,編碼器每一隱藏層的輸出如下:

解碼器重構輸入xi為x~。因此
自編碼器的目標就是最小化以下輸出x~與原始輸入x的重構損失,損失函數如下:

如果使用鄰接矩陣作為自編碼器的輸入x,即每一行代表一個節點,因為鄰接矩陣反應的是對應節點的鄰居結構信息,這使得重構構成會使得有相似鄰居結構的節點有相似的向量表示(即該無監督組件(自編碼器)保留了網絡中的二階相似度信息)。但是,如果直接使用鄰接矩陣S作為傳統自編碼器的輸入,則模型更容易重構鄰接矩陣中的零元素(因為網絡的稀疏性,鄰接矩陣中的零元素數目遠遠大於一的數目)。然而我們更關注的是鄰接矩陣中代表鄰居的1元素,為了解決這個問題,SDNE對非零元素的重構誤差增加更多懲罰(即加了一個權重項bi,對非零元素的重構誤差賦予更大的懲罰項)。新的目標函數(保留二階相似度信息)如下

一個圈圈一個點的符號代表哈達瑪積(矩陣對應位相乘),如果鄰接矩陣Sij>0,那么賦予相應的bij=1,否則bij=β>1,即更大的懲罰權重。以上便是SDNE的無監督模塊,其通過二階相似度試圖保留全局網絡結構。

然而,局部網絡結構的保留也是必要的。以下介紹SDNE的用來保留一階相似度的監督模塊。 監督模塊的一階相似度的損失函數如下,這保證在原始網絡中有連邊的節點在嵌入空間中也比較相近(yi是對應的節點嵌入向量,即編碼器的輸出)。

SDNE總的目標函數如下(包含一階相似度和二階相似度):

Lreg為L2正則項,懲罰神經網絡的復雜性,防止模型過擬合,如下所示:

以上,SDNE模型就介紹完啦,目標函數優化部分請自行查看原始論文。


(4) 參考文獻

Wang D, Cui P, Zhu W. Structural deep network embedding[C]//Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining. 2016: 1225-1234.



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM