論文分享 | Signed Graph Convolutional Network
當前的眾多工作主要集中在,對unsigned graph使用GCN學習上。然而,隨著線上社交媒體的日益流行,符號圖表正在變得無處不在。現階段針對unsigned graph的GCN無法普及到signed graph上來。作者重新設計了GCN模型,根據平衡理論,定義平衡路徑,維護‘friend’表示和‘enemy’表示,一起作為頂點的表達。
Balanced Path
實現GCN從unsigned graph 到 signed graph的跨越,需要解決兩個問題:
第一是signed graph中符號為負的邊,如何處理。unsigned中的一些基本假設在signed graph中不成立,例如趨同性。
第二是,如何在一個模型中,整合兩類邊的資訊。這種合併是必不可少的,因為在網路結構中,符號為正和負的邊不是相互隔離的,而是以複雜的方式相互影響。作者根據平衡理論,定義了平衡路徑。以此為基礎提出SGCN。
平衡理論,直觀的講就是,朋友的朋友,就是我的朋友。敵人的朋友就是我的敵人。這一理論將一個signed graph的週期分類為平衡或者不平衡。平衡的週期包含偶數條負連線,反之,如果一個週期包含奇數條負連結,被認為是不平衡。
如圖1中,圖AB,負邊個數為偶數,是平衡週期。圖CD,負邊個數是奇數,是不平衡週期。
基於平衡理論,提出平衡路徑的定義, 一個平衡的路徑是由偶數條負連結組成。同理,一個不平衡的路徑是由奇數條負連結組成。 基於這個定義,可以看到,如果一個長度為L的路徑,是從頂點 到頂點
,它擁有偶數個負連結,平衡理論建議這兩個頂點之間的路徑為正。比如圖1中的B,頂點i和j之間(通過k連線)存在兩個負連結,因此平衡理論建議這兩個頂點之間的路徑是正的。也即是‘敵人的敵人,就是我的朋友’。
上圖2,可知,如果存在一個長度L,從 到
的平衡路徑,設
,那麼,所有的正路徑的鄰居
必然包含在
中。因為在平衡路徑中加入一個正邊,依舊得到平衡路徑,只是增加了長度。同理,增加了一個負邊,就會得到不平衡路徑。
先定義 是使用者
的正鄰居的集合。類似地,定義
是使用者
的負鄰居的集合。我們可以遞迴的得到一個長度為l+1的,從節點
出發的平衡路徑的鄰居集合
和不平衡路徑的鄰居集合
。
SGCN
回顧unsgned GCN,聚合中心節點的一階鄰居的資訊,得到中心節點的單獨表示。通過疊加多層網路,在圖資料結構上傳播,使中心節點整合k階鄰居的資訊。但是在signed 網路中,無法對中心節點的鄰居做到一視同仁。與中心節點直接以正邊相關連的節點集合,被視為“朋友”,直接以負邊相關聯的節點集合,被視為‘敵人’。同理,對中心節點的平衡鄰居集合,平衡理論也將他們視為‘朋友’,不平衡鄰居集合,平衡理論建議將他們視為‘敵人’。這種現象如圖2中所示。
因此,我們與其維護每個節點的一個單一表示,還不如同時儲存他們的‘friend’表達和‘enemy’表達。這樣,對於給定的user,就成功整合了正連結和負連結的資訊。
通過圖3可知,第一層卷積中, 的兩個正邊鄰居的資訊將被整合到“friend”表達中,聚合函式使用
。同樣的,
的一個負邊鄰居資訊,使用聚合函式U(1)整合到“enemy”表達中。如此,通過GCN的第二層,我們可以整合2階鄰居的資訊。有一個需要注意的關鍵點,聚合鄰居資訊,需要遵守平衡理論。也就是需要依賴與我們定義的中心節點的平衡鄰居集合、不平衡鄰居集合。因此,分別採用聚合函式
和
,作用在節點
的二度平衡鄰居
和二度不平衡鄰居
上,得到
的二度鄰居資訊。
在SGCN中,資訊的傳遞和聚合,每層將維持兩個表達: 一個對應user的平衡鄰居集合,另一個對應不平衡鄰居集合。 所以,每一層的聚合函式也分別兩個部分。與unsigned GCN中一樣,我們使用 表示節點
的初始化
維特徵向量。那麼,針對任意的節點
,第一層卷積聚合如下:
需要注意的是引數 ,它們分別將來自中心節點的平衡鄰居
和不平衡鄰居
,轉化為中心節點的“friend”表達,“enemy”表達。來自鄰居的表達與中心節點本身的特徵,使用拼接的方式組合。
當模型網路深度增加時,由於定義的 和
會更加複雜,所以,聚合函式也會更加複雜。尤其要注意到圖2中負連線交叉的情況。如下,針對任意的節點
,定義
時的聚合函式:
此時,線性變換矩陣 ,因為需要轉化的資訊來自三個部分。以公式(5)為例,要得到節點
在第L層的“friend”特徵表達,需要聚合節點本身的在
層的‘friend’特徵表達,符號正邊連線的
度平衡鄰居資訊(朋友的朋友)和符號負邊連線的
度不平衡鄰居資訊(敵人的敵人)。
基於以上,在signed graph中聚合,傳播的方法,提出完整的SGCN框架,分為三步:
1、對於graph中的每個節點 ,初始化節點
的表示,並賦值給
。
2、第一層卷積聚集層,計算節點 的‘friend’表示,‘enemy’表示。
3、L次迭代計算,更新節點 的‘friend’表示,‘ememy’表示。
作者希望節點的特徵表示能夠理解signed graph的嵌入空間中的使用者對之間的關係。基於這個目的,設計了目標函式。分為兩個部分:第一項來自模型附加的MLG分類器。希望分類節點pair之間的連線關係。也即,對於一個三元組 判斷連線關係S的類別。第二項的依據是平衡理論。目的是,讓正邊連線的user節點在特徵空間中的距離比沒有連線的user節點更近,而沒有連線的user節點之間的距離比有負邊連線的user節點之間的距離更近。整個目標函式如下:
其中, 表示SGCN引數,
表示MLG分類器的引數,
表示節點之間連線型別的權重。
和
分別代表取樣有正/負邊連線的節點對
,並且對於節點
進一步取樣跟
沒有連線的節點
。目標函式最後一項
為正則化項。
實驗
作者在真實資料集Bitcoin-Alpha 1 , Bitcoin-OTC 2 , Slashdot 3 and Epinions上設計了節點之間邊的型別預測實驗,並且將當前state-of-the-art的baseline方法做了對比,研究了單層SGCN或者不利用平衡理論的SGCN框架變體。驗證了兩個問題,SGCN能夠高效的學習到節點的潛在表達;基於平衡理論,長路徑上的聚合函式能夠提升節點表達的效果。
SGCN-1只使用單層網路,並且不使用平衡理論和作者定義的平衡路徑,SCN-1+ 也不使用平衡理論,但是包含兩層網路。SGCN-2為作者提出的SGCN框架。比較各個baseline模型和SGCN-1,SGCN-1+,SGCN-2的AUC和F1值,發現SGCN框架和其變體普遍具有比其他模型更好的效果。而且SGCN-1+的效果優於SGCN-1,SGCN-2又優於SGCN-1+,可以表明平衡理論和定義的平衡路徑提升了表達效果。
參考論文:
https://arxiv.org/abs/1808.06354