淺談零樣本網絡表示學習 AAAI2018 & TKDE2020

1、什麼是零樣本網絡表示學習

這個問題主要來自兩篇論文 AAAI 2018 和 TKDE 2020,在正式開始介紹零樣本網絡表示學習(Zero-shot Graph Embedding, ZsGE)之前,我們首先介紹一下什麼是零樣本學習。
在這裏插入圖片描述
論文來源:AAAI2018
論文鏈接:https://zhengwang100.github.io/pdf/2018/AAAI18_RSDNE.pdf
代碼鏈接:https://github.com/zhengwang100/RSDNE
在這裏插入圖片描述
論文來源:TKDE2020
論文鏈接:https://zhengwang100.github.io/pdf/TKDE20_wzheng.pdf
代碼鏈接:https://github.com/zhengwang100/RECT

假設這樣一個場景,現在我們有了一個訓練用的數據集,裏面有 A、B、C 三類樣本,可是在測試的時卻需要我們去識別 D 和 E 兩種未見過的類的樣本。這就是零樣本學習 Zero Shot Learning (ZSL) 所需要解決的問題。

而在之前的研究中,ZSL 的研究主要侷限於計算機視覺領域,也是 CV 領域非常熱門的一個研究方向。這是由於自然界包含太多物品和場景了,我們需要 AI 系統有強大的泛化能力,即能夠識別那些未見到的類(unseen class)。

在網絡表示學習中,同樣存在着類似情況。由於網絡的複雜性,標註樣本很可能無法涵蓋所有的節點類別,甚至我們根本不知道網絡中有多少類別。本文將介紹如何在網絡中利用 ZSL的思維來學習到 unseen 類別節點的網絡表示。

1.1、問題定義

在這裏插入圖片描述
如上圖所示,零樣本網絡表示學習(Zero-shot Graph Embedding,ZsGE)是指標註樣本無法覆蓋所有類別時的網絡節點特徵學習問題。這裏,“zero-shot”強調所設計的算法應該能夠處理那些來自不可見類的節點,這種場景也可以被稱爲完全非平衡標註場景。

這個問題非常具有實際意義,特別是當圖很大且節點的類別很多的場景。比如在真實社交網絡中,用戶的類別可能很多,我們也很難找出每一類用戶,甚至我們根本就不知道網絡中到底有多少種用戶。

1.2、現有方法無法處理ZsGE

在這裏插入圖片描述
論文 TKDE 2020 測試了兩個經典的監督網絡表示學習算法:LSHM 和 GCN。爲了模擬圖上的零樣本場景(ZsGE),在每次測試中,都從訓練數據中移除 1-2 個類,然後進行網絡表示學習,可以發現這兩個方法的分類精度下降的很快 [10%-35%]。爲什麼會發生這個情況呢?論文是這樣解釋的:
在這裏插入圖片描述
簡單來說,由於網絡中 unseen 和 seen 類別的節點是相關連的,只在 seen 類別的節點上訓練一個分類模型,只能得到一個全局的次優解。由此可以得到結論,傳統的監督網絡表示學習方法在處理未知樣本時性能表現較差。

2、解決方案

2.1、RSDNE淺層算法

在這裏插入圖片描述
首先,AAAI 2018 給出了一個淺層方法 RSDNE。如上圖所示,其思想是放鬆類內相似性(intra-class similarity)和類間差異性(inter-class dissimilarity)的約束。

具體的,對於類內相似性,在嵌入的空間中,該方法只需保證同一類的節點處於同一個流形上,即每個標註節點只需和 k(比如 k=5)個相同標註的節點相近,而不需要和所有相同標註的節點都相近。

對於類間差異性,在嵌入的空間中,此方法不要求不同標註的節點之間的距離非常大,只希望他們離得別太近即可。其公式包含三個部分:

1、保持原有網絡結構信息:
在這裏插入圖片描述
公式 (4) 就是 DeepWalk 的矩陣分解形式,其中 U 就是我們最終要求的網絡表示(Graph Embedding),H 爲上下文表示(context embedding),M 的具體定義爲:
在這裏插入圖片描述
2、relaxed類內相似性
在這裏插入圖片描述
公式 (5) 是對類內關係 (intra-class) 進行建模,保證屬於同一類的樣本之間在同一個“流形”上的相似性。這裏矩陣 S 描述了這種類內相似性,uiu_{i}是 U 矩陣中的值,代表第 i 個節點的特徵。

3、relaxed類間差異性
在這裏插入圖片描述
公式 (6) 是對類間關係 (inter-class) 進行建模,保證屬於不同類別的樣本之間的區別性。這裏 W 的定義非常簡單:只是把原有描述網絡結構的 M 中標籤不同的節點的權重置零。

此外,AAAI 2018 也給出了一個 light 版本,把公式 (5) 的 S 矩陣的構造簡單化了,比如在其提供的 python 版本的源代碼中,直接事先預構造一個近鄰矩陣 S 來表示同一類的流形結構。

此文給出的方法是一個基於矩陣分解的方法,不過類似的思想很容易擴展到 DeepWalk 這種非矩陣算法上,比如用少量單位長度的相同標籤的 path 來近似描述內類相似性;將連續包含不同標籤節點的 path 從不同標籤處斷開從而近似保持類間差異性。

2.2、RECT深層算法

在這裏插入圖片描述
其次,TKDE 2020 的工作給出了一個深度的方法 RECT。該方法可以進一步的處理帶屬性的圖和多標籤場景。如上圖所示,RECT 算法的核心是訓練一個語義圖神經網絡(Semantic GNN)。

具體的,受 ZSL 的啓發,該方法將原始的二值標籤映射到語義空間來訓練一個 GNN 模型。值得注意的是,與 CV 中的 ZSL 方法不同,這裏的類別語義直接從原始圖中得到,即不依賴於任何的人工標註或者第三方語言工具。

具體來說,該方法首先使用 GNN layer 進行圖卷積和 MLP 進行映射,之後最後定義了兩個 Loss Function:

1、語義空間描述損失:
在這裏插入圖片描述
公式 (17) 希望預測得到的語義向量與樣本真實的語義向量儘量的相似。這裏真實語義是通過一個 readout 函數得到的:。在實驗中,這個 readout 函數被簡化成了 mean 函數,非常容易計算。

2、網絡結構保持損失:
在這裏插入圖片描述
公式 (18) 希望得到的網絡表示能夠保持原有的網絡結構。這是個無監督的模型,這裏 M 是上面提到的 DeepWalk 的矩陣形式,U 是我們最終要求的網絡表示。

3、實驗結果

在這裏插入圖片描述
TKDE 2020 的論文一共在五個數據集上做了實驗,包含不帶屬性,帶屬性,單標籤,多標籤的網絡。

3.1、零樣本場景下的實驗結果

在這裏插入圖片描述
可以看到在該場景下,RSDNE 的方法要優於那些淺層的有監督方法。同時 RECT 方法效果最好,要明顯優於那些深層的監督 GNN 方法,相比 GCN 精度提升 [30%-300%]。

零樣本下的可視化(前兩個類作爲unseen,50%label rate)
在這裏插入圖片描述
從圖中可以看到傳統的監督算法(LSHM和GCN)的 seen 類分的比較開,但是 unseen 類完全的雜糅在了一起。相對應的,RSDNE 的效果就好很多,並且呈現出一種“流形”的感覺。此外,RECT 的效果最好,是因爲考慮了節點的屬性信息。

3.2、平衡場景下的實驗結果

這裏平衡場景是指傳統的有監督的方法所要求的標註數據覆蓋所有網絡節點類別。
在這裏插入圖片描述
從結果上來看,當標籤能夠覆蓋所有類時,RSDNE/RECT 方法也和當下最好的淺/深層方法效果持平。甚至 RECT 仍然優於著名的 GCN 算法 30%~300%。這意味着 ZsGE 的方法有很好的魯棒性和普適性。

論文是這樣解釋的,GCN 和 APPNP 這些使用分類模型的有監督方法很容易被真實場景中標籤數據的非平衡所影響;然而 RECT 這類語義方法則不會,這是由於在語義空間的各個維度上各種類別的分佈是大致平衡的。

直觀可以這樣理解,比如可能身高超過 2m 的人很少,不過所有人在“身高”這個語義維度上都有定義。

4、 思考

零樣本學習作爲遷移學習的一個新興研究方向,在傳統 CV 領域已經嶄露頭角,但如何將這種“零樣本”思想轉換到網絡表示學習中,還處於初始探究的狀態。

由於網絡表示學習處理的目標是圖結構數據,這又與傳統 CV 存在很大的差別,相關理論還不完整,這給我們的研究帶來了非常多的有趣的挑戰。

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