文獻閱讀(17)KDD2016-Structural Deep Network Embedding

本文是對《Structural Deep Network Embedding》一文的淺顯翻譯與理解,原文章已上傳至個人資源,如有侵權即刻刪除。
更多網絡表示學習相關文章,請移步:文獻閱讀總結:網絡表示學習

Title

《Structural Deep Network Embedding》
——KDD2016
Author: DaiXin Wang

總結

文章提出了SDNE(Structural Deep Network Embedding)算法,該算法使用半監督學習,一方面用監督學習從鄰接矩陣中得到表示一階相似度的局部結構,一方面用無監督學習得到表示二階相似度的全局結構,首次將深度學習模型引入到網絡表示學習中。

1 定義

對圖G=(V,E),每條邊e存在權重s_ij>=0,當節點i和j之間無連接時,s爲0,其餘情況都大於0,具體值視有向圖和無向圖變化。

對一階相似度,若兩節點之間存在邊,即s>0,則視爲節點間存在一階相似度。
對二階相似度,給出節點u的鄰居序列Nu={s_u1,…,s_u|V|},則節點u與v各自鄰居序列的相似程度即爲二階相似度。
則目標函數即使得嵌入yi和yj之間的相似性,能夠清晰表達節點i和j之間的一階和二階相似度。

文章提出了半監督的深度模型,爲捕捉高階非線性網絡結構,用多層非線性映射函數構成模型,框架如圖所示:
在這裏插入圖片描述
對每個節點,模型的有監督部分學習節點一階相似度,無監督部分學習節點的二階相似度。
下表爲所需符號的定義:
在這裏插入圖片描述

2 二階相似度

對二階相似度,給出鄰接矩陣S,可引入傳統的深度自編碼器來保持二階相似度。
深度自編碼器分爲兩部分,編碼器和解碼器。編碼器由多層非線性函數組成,將輸入數據映射到表徵空間中;解碼器同樣由多層非線性函數組成,將表徵從表徵空間映射到重構空間中。給出輸入Xi,每一層的隱藏表徵爲:
在這裏插入圖片描述
得到yi(k)後,就可以通過逆轉編碼器的計算過程,從而得到輸出^Xi,自編碼器的目的就在於最小化輸入和輸出之間的重構誤差,損失函數如下:
在這裏插入圖片描述
如果直接將輸入x等同於鄰接矩陣S,雖然擁有相似鄰居結構的節點能夠有相似的節點表徵,但事實上鄰接矩陣中的邊,是可以被觀察到的一部分,在網絡結構中,還有很多邊沒有被觀察到。這就導致鄰接矩陣中非0值要比0少得多,過於稀疏,如果直接作爲輸入,更容易將S中的0值重構。
爲解決此問題,算法爲非0值加入了更多的罰項,則損失函數變化如下:
在這裏插入圖片描述
中間的運算操作即哈達瑪積,對bi,當s_ij=0,b_ij=1,否則b_ij=β>1。

3 一階相似度

一階相似度的損失函數借鑑了拉普拉斯特徵映射,當相似節點映射較遠時會得到罰項,從而能夠保持一節相似度,函數如下:
在這裏插入圖片描述
對一階和二階相似度的損失函數進行共同最小化,即:
在這裏插入圖片描述
其中Lreg爲防止過擬合的正則化L2範數,定義如下:
在這裏插入圖片描述

4 優化

對上述損失函數進行優化,即求Lmix關於兩個W矩陣的偏導數,即:
在這裏插入圖片描述
以下爲具體拆分推導:
在這裏插入圖片描述
至此,關於L2nd的偏導數部分,就已經得到,接下來進行L1st的偏導數部分推導,首先有:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
對Lreg的偏導數通過上文公式易得,至此,就得到了參數的偏導數部分。給出一個初始化的參數,可以使用隨機梯度下降進行優化,但由於模型的高階非線性,可能會得到局部最優。因此,算法引入了深度置信網絡對參數進行預訓練,可以視爲基本參數初始化。
算法全過程如下:
在這裏插入圖片描述
輸入爲圖G=(V,E),鄰接矩陣S,參數a和v;輸出爲網絡表徵Y和更新後的參數θ。
首先在深度置信網絡中進行預訓練得到初始化參數,令X=S,重複以下步驟直到收斂:根據式(1)得到X和Y=Yk,得到損失函數Lmix,根據式(6)進行反向傳播,得到更新後的參數θ。
至此,就得到了網絡表徵Y。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章