知識可遷移圖神經(jīng)網(wǎng)絡(luò)及其在金融風(fēng)險預(yù)測中的應(yīng)用
一、圖遷移學(xué)習(xí)概要介紹
首先,來介紹一下圖遷移學(xué)習(xí)相關(guān)的背景知識,以及一些典型的應(yīng)用場景。
1、什么是圖數(shù)據(jù)
圖數(shù)據(jù)是一種非歐空間數(shù)據(jù),通常由節(jié)點(diǎn)和節(jié)點(diǎn)之間的邊構(gòu)成。圖數(shù)據(jù)廣泛存在于真實世界的各個場景當(dāng)中,例如引文網(wǎng)絡(luò)、社交網(wǎng)絡(luò)、交通網(wǎng)絡(luò)、分子圖、蛋白質(zhì)網(wǎng)絡(luò)、知識圖譜等等。圖結(jié)構(gòu)如此普遍,對圖結(jié)構(gòu)的建模是非常重要的。
2、圖表示學(xué)習(xí)
圖表示學(xué)習(xí)是當(dāng)前主流的圖學(xué)習(xí)方法之一,例如 network、embedding、圖神經(jīng)網(wǎng)絡(luò)(GNN)等圖算法。它們?yōu)閳D上的節(jié)點(diǎn)學(xué)習(xí)低維向量表示,并把學(xué)到的節(jié)點(diǎn)表示用于一系列下游任務(wù)。圖表示學(xué)習(xí)的下游任務(wù)通常根據(jù)圖上的組成元素被分為 3 個level,分別是:
(1)節(jié)點(diǎn)級別任務(wù),比如節(jié)點(diǎn)分類和節(jié)點(diǎn)性質(zhì)預(yù)測。
(2)邊級別任務(wù),比如連接預(yù)測。
(3)圖級別任務(wù),比如圖分類和圖性質(zhì)預(yù)測。
然而,目前的很多圖表示學(xué)習(xí)算法都是建立在獨(dú)立同分布圖的理想情況下,也就是圖數(shù)據(jù)的樣本數(shù)據(jù)分布服從獨(dú)立同分布,但這在實際應(yīng)用場景當(dāng)中通常是很難滿足的,真實的樣本之間往往存在著分布的遷移。在遷移學(xué)習(xí)領(lǐng)域大家常常稱這些分布不同的節(jié)點(diǎn)屬于不同的 domain。我們也可以認(rèn)為在同一個 domain 下的樣本,是服從 IID 假設(shè)的。而不同 domain 下的樣本則不服從 IID 假設(shè)。對于 None-IID 的圖,傳統(tǒng)圖表示學(xué)習(xí)算法的效果往往會明顯下降。
這也促使我們?nèi)ニ伎既绾问顾惴▽Σ煌?domain 的數(shù)據(jù)是魯棒的,或者能夠提升圖表示學(xué)習(xí)模型在新的 domain 上的泛化能力。
3、傳統(tǒng)遷移學(xué)習(xí)
已有的研究也表明,深度學(xué)習(xí)方法對數(shù)據(jù)的 distribution shift 問題是十分敏感的。有關(guān) distribution shift 的問題,大家可以參考圖中的 paper,其中詳細(xì)討論了各種 distribution shift 問題以及一些可行的解決方案。遷移學(xué)習(xí)是當(dāng)前解決 distribution shift 問題的一個主流做法,在 CV/NLP 領(lǐng)域也已經(jīng)被廣泛研究。
傳統(tǒng)的遷移學(xué)習(xí)通常將數(shù)據(jù)分成 source domain 和 target domain,而根據(jù)在訓(xùn)練階段可以使用的標(biāo)簽數(shù)量或者質(zhì)量,我們進(jìn)一步將遷移學(xué)習(xí)分成幾個子問題,分別是零樣本學(xué)習(xí)(Zero-shot learning)、少樣本學(xué)習(xí) (Few-shot learning)和弱樣本學(xué)習(xí)(Weak-shot learning)。其中零樣本學(xué)習(xí)是在訓(xùn)練階段不使用任何 target domain 的標(biāo)簽;少樣本學(xué)習(xí)是在模型訓(xùn)練階段使用少量的標(biāo)簽;而 Weak-shot learning 強(qiáng)調(diào)的不是 target domain 下樣本的標(biāo)簽數(shù)量的多少,而是強(qiáng)調(diào) target domain 樣本 標(biāo)簽的質(zhì)量差、有噪聲。不同于歐式數(shù)據(jù),圖上的分布遷移問題其實是更加復(fù)雜的,因為圖上的構(gòu)成元素本身也是更復(fù)雜的。
4、圖中的分布偏移
首先來講一下圖上的分布式如何定義,以及圖上的分布遷移。前面提到圖表示學(xué)習(xí)的任務(wù)通常分為 3 個 level:節(jié)點(diǎn)級、邊級別、圖級別。這里按照由粗到細(xì)的順序來介紹圖數(shù)據(jù)上的數(shù)據(jù)分布。
首先是圖級別的樣本分布。對于一個圖而言,如果圖結(jié)構(gòu)信息不同,那么幾何結(jié)構(gòu)會有完全不同的性質(zhì)。比如這里給了一個例子,在訓(xùn)練集當(dāng)中,圖數(shù)據(jù)都是這種三角結(jié)構(gòu)的,測試集里面的圖結(jié)構(gòu)是一些星形的圖結(jié)構(gòu),這就造成了 source domain 和 target domain 在圖結(jié)構(gòu)上的分布差異。此外,對于圖而言,其中的節(jié)點(diǎn)和邊可能有額外的屬性或者類別特征。即使是同樣的圖結(jié)構(gòu),如果圖上的結(jié)點(diǎn)或者邊的屬性,亦或是類別的分布不同,同樣也會導(dǎo)致圖數(shù)據(jù)的 distribution shift 問題。
除了圖級別的分布遷移,可以進(jìn)一步細(xì)分圖中的每一個節(jié)點(diǎn),也可以作為一個樣本,也會存在節(jié)點(diǎn)級別的分布遷移問題。
首先,圖中的節(jié)點(diǎn)是可以有屬性特征的,不同節(jié)點(diǎn)的屬性特征可能是非獨(dú)立同分布的。而圖數(shù)據(jù)一個最大的特點(diǎn)就在于節(jié)點(diǎn)之間不是相互獨(dú)立的,而是通過邊相互連接在一起。因此,相比于圖片這種樣本之間彼此相互沒有聯(lián)系的情況,圖中的節(jié)點(diǎn)就有了鄰居的概念。因而除了節(jié)點(diǎn)自身的屬性分布之外,還有鄰居的屬性分布。鄰居的分布又可以進(jìn)一步細(xì)分成鄰居的特征分布,鄰居節(jié)點(diǎn)的標(biāo)簽分布,以及局部節(jié)點(diǎn)特征。對于鄰居的特征分布,有很多種衡量的方式,例如最簡單的 GCN 用了均值聚合的策略。鄰居特征的均值就是一種最簡單的一階的分布統(tǒng)計量。
除此之外,鄰居的標(biāo)簽分布也是一個很重要的性質(zhì)。有大量研究表明,graph 的平滑性跟 GNN 模型的表現(xiàn)是密切相關(guān)的。比如這里提到的 homophily 或 heterophily 的性質(zhì),其實就是描述鄰居節(jié)點(diǎn)與當(dāng)前節(jié)點(diǎn)標(biāo)簽相同的節(jié)點(diǎn)的占比,這是一種鄰居標(biāo)簽分布的度量方式,而標(biāo)簽分布不同的節(jié)點(diǎn)在圖中也是經(jīng)常存在的。
最后還有節(jié)點(diǎn)的局部結(jié)構(gòu)性質(zhì),比如以某一個節(jié)點(diǎn)為中心,采樣一個局部的 Ego network 結(jié)構(gòu),對于節(jié)點(diǎn)表示的學(xué)習(xí)以及區(qū)分節(jié)點(diǎn)的不同 label 往往也是非常重要的。比如社交網(wǎng)絡(luò)里面的 popular node,通常它們的度會非常大。相比之下,另外一種 unpopular node,它的 degree 就會比較小,甚至是接近 0 的。這樣一種以節(jié)點(diǎn)為中心的局部結(jié)構(gòu)的分布遷移,在圖中也是常常發(fā)生的。
5、如何表示鄰域特征分布(NFD)?
這里分享一個我們之前在學(xué)習(xí)節(jié)點(diǎn)鄰居分布表征上的嘗試。正如前面提到的,鄰居節(jié)點(diǎn)的特征對應(yīng)節(jié)點(diǎn)的鄰居特征分布。如何表征一個鄰居特征分布呢?比如 GCN 采用鄰居的均值,其實就是鄰居特征分布的一階統(tǒng)計量。但是僅僅一階統(tǒng)計量往往不足以表示一個節(jié)點(diǎn)的鄰居的分布。比如最簡單的高斯分布,它的自由度是 2,所以它最少需要均值和方差這兩個統(tǒng)計量才能確定這樣一個分布。再加上大多數(shù)的圖本身是比較稀疏的,我們沒有辦法保證鄰居的分布近似為高斯分布。
所以我們需要一種更復(fù)雜的特征函數(shù)來表示一個分布。我們的嘗試是采用鄰居節(jié)點(diǎn)特征的多階矩來表示分布。有關(guān)鄰居分布表征的內(nèi)容,大家可以參考上圖列出的 paper。此外,我們的另外兩個工作當(dāng)中也涉及了鄰居分布的表征學(xué)習(xí),大家感興趣的話也可以去閱讀一下。
6、圖上現(xiàn)有的 OOD 泛化方法
已有一些相關(guān)工作研究了圖上的 distribution shift 問題,也提出了一些圖上的遷移學(xué)習(xí)方法。上圖中列出了最具代表性并且研究熱度比較高的兩種圖上的遷移學(xué)習(xí)方法。
一種是基于 invariant learning 不變性學(xué)習(xí)的方法。這種方法旨在學(xué)習(xí) domain invariant 知識,從而可以在已知的 domain 上訓(xùn)練模型。保留 domain invariant 的信息。從而可以更好地泛化到未知的或者信息量更少的 domain 上面。
另外一種研究比較多的方法是 OOD detection 方法。這種方法通常不是區(qū)分 source domain 或者 target domain,而是區(qū)分 in distribution 和 out distribution 的樣本。而且通常會假設(shè)數(shù)據(jù)集內(nèi)大多數(shù)樣本是 in distribution 的。通過檢測出數(shù)據(jù)中的 out of distribution 的樣本,并削弱它們的影響,從而使得模型在訓(xùn)練過程當(dāng)中更加關(guān)注 in distribution 的樣本,來達(dá)到增強(qiáng)模型魯棒性的目的。相關(guān)的工作也列了一部分在這里,大家感興趣也可以去閱讀調(diào)研。
有關(guān)圖遷移學(xué)習(xí)的背景知識就先介紹到這里,接下來分享我們基于真實世界數(shù)據(jù)發(fā)現(xiàn)的圖遷移學(xué)習(xí)領(lǐng)域的一個新問題,相關(guān)論文已經(jīng)被國際會議 ACM WebConference2023 接收。
二、VS-Graph:圖遷移學(xué)習(xí)新場景
這一章節(jié)中將介紹圖遷移學(xué)習(xí)中節(jié)點(diǎn)級任務(wù)的新場景,在這一新場景中,我們定義了一種全新的圖結(jié)構(gòu):VS-Graph。
在真實的場景當(dāng)中,訓(xùn)練數(shù)據(jù)通常是不完美的,往往會伴隨 data-hungry 的問題。例如有些樣本可能存在缺失特征,或者訓(xùn)練標(biāo)簽非常少。而且 data-hungry 問題也是非常普遍的。如果通過補(bǔ)充數(shù)據(jù)來緩解 data-hungry 問題是非常困難的。
其一,是因為有些數(shù)據(jù)根本觀測不到。其二,就算可以獲取到這些數(shù)據(jù),仍然需要花費(fèi)大量的時間、金錢去獲取這些數(shù)據(jù)。所以我們采用了一種折中的方式,最大化地利用已有其它類型或其他來源的數(shù)據(jù),并通過知識遷移的手段,把其它領(lǐng)域質(zhì)量相對較好的數(shù)據(jù)中的知識,通過技術(shù)手段遷移到質(zhì)量較差的數(shù)據(jù)當(dāng)中,從而改善模型在這些質(zhì)量差的樣本上的效果。
基于這樣一個背景,我們提出了 VS-Graph 這樣一個全新的場景。VS-Graph 全稱為 Vocal Silent Graph。顧名思義,VS-Graph 上有兩類節(jié)點(diǎn),一類節(jié)點(diǎn)我們稱之為 silent node,也叫小 v 節(jié)點(diǎn);對應(yīng)的另一類就是 vocal node,也叫大 v 節(jié)點(diǎn)。類似于現(xiàn)實生活中,大 v 或者明星節(jié)點(diǎn)是數(shù)量比較少的,而小 v 通常占據(jù)了大多數(shù)。此外,大 v 節(jié)點(diǎn)通常是比較 popular 的,它們的信息量更全。而小 v 節(jié)點(diǎn)通常是 unpopular 的,信息量更少。例如我們在檢索網(wǎng)站中去搜索一個明星,可以搜到很多結(jié)果,但如果搜索一個普通人可能就搜不到。對應(yīng)到 VS-Graph 里面,大 v 節(jié)點(diǎn)的 feature 和 label 是非常充足的,而小 v 節(jié)點(diǎn)的 feature 可能存在缺失或者不可觀測的情況,它們的 label 也是比較少的。
此外,大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)的屬性特征之間往往存在顯著的分布遷移。比如一個明星的日?;顒痈粋€普通人的日常活動的差別是非常大的。就像上圖中子圖(b)展示的一樣,其中綠色節(jié)點(diǎn)就代表大 v 節(jié)點(diǎn),它有完全可觀測的屬性特征和已知的節(jié)點(diǎn) label。而灰色的小 v 節(jié)點(diǎn),只有少量的節(jié)點(diǎn) label 以及一部分不可觀測的屬性特征。
我們把同時包括大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)這樣的圖結(jié)構(gòu)稱之為 VS-Graph。我們的目標(biāo)就是預(yù)測在 VS-Graph 上小 v 節(jié)點(diǎn)這樣的標(biāo)簽,同時通過從大 v 節(jié)點(diǎn)向小 v 節(jié)點(diǎn)傳遞知識的方式,來提升模型在小 v 節(jié)點(diǎn)上的分類性能。
VS-Graph 在現(xiàn)實中是非常常見的,接下來以兩個現(xiàn)實應(yīng)用場景為例,來介紹 VS-Graph。
1、VS-Graph:“預(yù)測圖上沉默的大多數(shù)”
第一個例子是政治選舉的社交網(wǎng)絡(luò)的場景。在 Twitter 社交網(wǎng)絡(luò)中,存在兩類用戶,一類是像特朗普、拜登這樣的政治家,另一類是一些普通用戶。這兩類用戶日常都會在 Twitter 上去發(fā)言,而他們發(fā)表的文字可以作為各自的特征。但是通過其它方式還可以獲取到政治家們更全面的個人信息,例如他們的個人主頁或者在維基百科中搜索的結(jié)果。對于普通用戶,這些是獲取不到的,但是普通用戶的數(shù)量遠(yuǎn)高于政治家。所以在這樣一個場景下,我們希望預(yù)測普通用戶的政治傾向,也就是他是民主黨還是共和黨。大部分普通用戶的政治傾向是不明確的,因此我們只能獲得其中少量的具有明確政治傾向的用戶標(biāo)簽。所以可以基于 Twitter 的社交網(wǎng)絡(luò)去構(gòu)建一個 VS-Graph。大 v 節(jié)點(diǎn)就是政治家,小 v 節(jié)點(diǎn)就是普通用戶。而節(jié)點(diǎn)之間的邊則表示 Twitter 用戶之間的 follow 關(guān)系。
除了社交網(wǎng)絡(luò)的場景,還有金融場景下的 VS-Graph。比如公司的投資網(wǎng)絡(luò)上面存在著上市公司和非上市公司這兩類不同類型的公司,而上市公司的規(guī)模更大,非上市公司的規(guī)模較小,所以這兩種公司的特征數(shù)據(jù)分布往往是存在顯著的分布偏移的。此外,上市公司每年每季度都會公布他們的財務(wù)報表,我們可以通過財務(wù)報表來獲取上市公司的財務(wù)信息。而非上市公司沒有披露財務(wù)報表的義務(wù),我們就無法獲取到一部分信息。此外,上市公司受到新聞媒體的關(guān)注度也是比較高的,他們的風(fēng)險事件和風(fēng)險標(biāo)簽是比較透明的。但是對于非上市公司,他們的風(fēng)險標(biāo)簽則不易獲取。在金融場景下的公司風(fēng)險評估任務(wù)當(dāng)中,上市公司可以作為大 v 節(jié)點(diǎn),而非上市公司則可以作為小 v 節(jié)點(diǎn)。他們之間的投資關(guān)系則可以作為 VS-Graph 的邊,進(jìn)而我們可以通過從上市公司向非上市公司遷移知識來提升模型在非上市公司風(fēng)險評估任務(wù)上的表現(xiàn)。
在 VS-Graph 上,我們的最終目標(biāo)是預(yù)測小 v 節(jié)點(diǎn),所以給這一任務(wù)也取了一個比較有意思的名字,就是在圖上去預(yù)測沉默的大多數(shù)。我們基于這兩個場景,分別用從真實應(yīng)用場景中的獲取數(shù)據(jù)構(gòu)造了 VS-Graph,并做了一系列的分析和實驗。
2、基于真實世界 VS-Graph 的數(shù)據(jù)分析
在剛才提到的兩個場景當(dāng)中,小 v 節(jié)點(diǎn)屬性不可觀測以及標(biāo)簽稀少的問題是天然存在的,所以我們主要是證明大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)在共有的屬性特征上,確實存在著明顯的分布遷移問題。
上圖中的圖(a)展示了公司風(fēng)險場景下 VS-Graph 的節(jié)點(diǎn)屬性分布,這三幅箱型圖對應(yīng)三個屬性,分別是公司的注冊資本、真實資本以及核心的員工人數(shù)。x 軸區(qū)分了上市公司和非上市公司。紅色和藍(lán)色分別代表有風(fēng)險和無風(fēng)險,也就是對應(yīng)正負(fù)利益標(biāo)簽。從圖中可以看出來兩個事情,一個是上市公司和非上市公司之間確實存在著非常顯著的分布差異,另一個則是有風(fēng)險公司和無風(fēng)險公司在屬性分布上也表現(xiàn)出一定的相關(guān)性。
第二幅圖是 Twitter 社交網(wǎng)絡(luò)和 company 公司網(wǎng)絡(luò)上對大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)的共有特征做的一個 T-SNE 的可視化分析。圖 (a) 和 圖 (d) 展示了大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)的分布差異,橙色點(diǎn)和青色點(diǎn)分別對應(yīng)大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)。圖 (b) 和圖 (e) 分別是區(qū)分大 v 節(jié)點(diǎn)中的正例和負(fù)例,紅色和藍(lán)色分別代表正例和負(fù)例。圖 (c) 和 (f) 則是小 v 節(jié)點(diǎn)的正例和負(fù)例。
從這兩幅圖中能說明的一個問題就是,在 VS-Graph 的場景下,大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)的特征確實存在著非常顯著的分布差異。在 Twitter 社交網(wǎng)絡(luò)的場景下,主要是由于政治家和普通用戶的發(fā)言內(nèi)容及主題差異導(dǎo)致的。而在 company 金融數(shù)據(jù)網(wǎng)絡(luò)上,主要是由于公司的規(guī)模大小差異,導(dǎo)致上市公司和非上市公司這兩種類型的公司的數(shù)據(jù)分布存在一個數(shù)據(jù)分布的遷移問題。
三、知識可遷移圖神經(jīng)網(wǎng)絡(luò)
接下來介紹我們基于 VS-Graph 提出的一種新型的知識可遷移圖神經(jīng)網(wǎng)絡(luò)模型,最后我們也會分享我們的論文和代碼鏈接。
1、在 VS-Graph 上的知識轉(zhuǎn)移
首先簡單總結(jié)一下 VS-Graph 的挑戰(zhàn)以及我們的目標(biāo)。VS-Graph 上的挑戰(zhàn)可以總結(jié)為三點(diǎn):
(1)小 v 節(jié)點(diǎn)屬性缺失或者不可觀測。
(2)小 v 節(jié)點(diǎn)的標(biāo)簽很稀少。
(3)大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)之間存在天然的分布遷移問題,但卻通過邊相連構(gòu)成了整個圖,所以它們之間并不是相互獨(dú)立的。
我們希望基于 VS-Graph 實現(xiàn)從大 v 節(jié)點(diǎn)向小 v 節(jié)點(diǎn)的知識遷移,從而使得模型能夠在小 v 節(jié)點(diǎn)的分類任務(wù)上的效果更好。針對上面提出的 3 個挑戰(zhàn),我們總結(jié)了 3 個需要解決的問題以及它們的解決方案。
首先,由于大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)之間存在顯著的分布差異,應(yīng)該考慮對數(shù)據(jù)分布的建模。這里我們通過領(lǐng)域自適應(yīng)的方式,將大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)分別視為兩個不同的 domain,去建模它們的分布差異。其次,由于小 v 節(jié)點(diǎn)的部分屬性是不可觀測的,而這部分屬性對大 v 節(jié)點(diǎn)而言來又是可觀測的,所以希望基于大 v 節(jié)點(diǎn)的完全的特征來補(bǔ)全小 v 節(jié)點(diǎn)缺失的特征。最后則是要完成最后的知識遷移。以圖結(jié)構(gòu)為媒介,可以將大 v 節(jié)點(diǎn)的知識以圖神經(jīng)網(wǎng)絡(luò)中消息傳遞的形式遷移到小 v 節(jié)點(diǎn),并且需要在消息傳遞的過程當(dāng)中考慮每一條邊的原節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的領(lǐng)域差異。
2、WWW2023:知識可轉(zhuǎn)移圖神經(jīng)網(wǎng)絡(luò)
基于上述問題,我們設(shè)計了這樣一個知識可遷移的圖神經(jīng)網(wǎng)絡(luò) KTGNN 模型。上圖展示了 KTGNN 的整體結(jié)構(gòu)。可以看到 KTGNN 的 pipeline 可以分為三個部分。在每一部分,都考慮了大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)之間的領(lǐng)域分布差異的建模。
第一步,考慮到小 v 節(jié)點(diǎn)相比大 v 節(jié)點(diǎn)存在部分不可觀測的特征,我們首先完成小 v 節(jié)點(diǎn)缺失屬性補(bǔ)全。
第二部分,進(jìn)一步完成在 VS-Graph 上的消息傳遞,包括大 v 節(jié)點(diǎn)和大 v 節(jié)點(diǎn)之間、小 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)之間的領(lǐng)域內(nèi)消息傳遞,以及大 v 和小 v 節(jié)點(diǎn)之間的跨領(lǐng)域消息傳遞。在消息傳遞的過程當(dāng)中,不同于之前遷移學(xué)習(xí)常用的不變性學(xué)習(xí)只保留了 domain invariant 的信息,我們的方法會保留不同領(lǐng)域節(jié)點(diǎn)的領(lǐng)域差異,而不是丟棄掉那些跟 domain 相關(guān)的信息,同時在保留不同領(lǐng)域節(jié)點(diǎn)的領(lǐng)域差異的情況下,去完成知識遷移。
第三部分,對來自不同領(lǐng)域的節(jié)點(diǎn)去訓(xùn)練參數(shù)可遷移的分類器模塊。
接下來詳細(xì)介紹這三個部分。
3、第一步:領(lǐng)域自適應(yīng)特征補(bǔ)全(DAFC)
首先考慮到小 v 節(jié)點(diǎn)相比于大 v 節(jié)點(diǎn)的缺失了部分維度的屬性特征。比如像非上市公司,觀測不到其財務(wù)報表信息。所以要做的第一件事情就是通過特征完全的大 v 節(jié)點(diǎn)來補(bǔ)全圖中的小 v 節(jié)點(diǎn)缺失部分的特征。對此,我們設(shè)計了一個迭代的補(bǔ)全式算法。
具體而言,對于 VS-Graph 上的每一個小 v 節(jié)點(diǎn),都通過從它的大 v 鄰居節(jié)點(diǎn)來向它遷移知識。在這個過程當(dāng)中,考慮了兩方面的因素。一個是大 v 鄰居節(jié)點(diǎn)和小 v 節(jié)點(diǎn)之間存在一個數(shù)據(jù)分布的差異,所以需要先有一個領(lǐng)域差異矯正的過程,也就是消除原節(jié)點(diǎn)的領(lǐng)域分布差異,再把原節(jié)點(diǎn)的信息傳遞給目標(biāo)節(jié)點(diǎn)。
領(lǐng)域差異矯正的計算過程在下面的紅框當(dāng)中,首先會計算一個平均領(lǐng)域差異 Δx,再用大 v 節(jié)點(diǎn)的 feature 減去 rescale 后的領(lǐng)域差異變量 Δx。從而得到矯正后的原節(jié)點(diǎn)特征,用于補(bǔ)全目標(biāo)節(jié)點(diǎn)的特征。同時也考慮到一個小 v 節(jié)點(diǎn)可能有多個大 v 節(jié)點(diǎn)鄰居,所以除了校正領(lǐng)域差異之外,還考慮了鄰居的重要性因子。通過大 v 原節(jié)點(diǎn)和小 v 目標(biāo)節(jié)點(diǎn)共有的屬性,計算 attention 系數(shù)作為鄰居重要性因子,最終用鄰居重要性因子乘上矯正過后的大 v 原節(jié)點(diǎn)特征,再傳遞給小 v 目標(biāo)節(jié)點(diǎn),從而補(bǔ)全小 v 目標(biāo)節(jié)點(diǎn)所缺失的那部分特征。但是也考慮到并不是所有的小 v 節(jié)點(diǎn)都會有大 v 鄰居節(jié)點(diǎn),所以還會在此基礎(chǔ)上繼續(xù)去迭代。通過已經(jīng)補(bǔ)全的小 v 節(jié)點(diǎn)繼續(xù)去補(bǔ)全剩余的還沒有補(bǔ)全的小 v 節(jié)點(diǎn)。只不過在從第二輪迭代開始的補(bǔ)全過程當(dāng)中,由于原節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)已經(jīng)都是小 v 節(jié)點(diǎn)了,所以也不再需要考慮領(lǐng)域遷移的問題,只需要考慮鄰居重要性因子這樣一個因素就可以了。
為了保證補(bǔ)全后的小 v 目標(biāo)節(jié)點(diǎn)仍然是屬于小 v 節(jié)點(diǎn)的 domain,而不與大 v 節(jié)點(diǎn)的 domain 混淆,在這一步添加了領(lǐng)域分布差異的一致性保障損失,損失函數(shù)的計算過程在黃框當(dāng)中,有關(guān)這一部分的詳細(xì)解釋,大家感興趣也可以去參考我們的原文。
4、第二步:領(lǐng)域自適應(yīng)消息傳遞(DAMP)
通過上面一步,在保留了大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)領(lǐng)域差異的情況下,已經(jīng)補(bǔ)全了小 v 節(jié)點(diǎn)不可觀測的那部分特征。接下來將會以圖神經(jīng)網(wǎng)絡(luò)消息傳遞的形式,進(jìn)一步將大 v 節(jié)點(diǎn)的豐富知識傳遞給小 v 節(jié)點(diǎn),從而增強(qiáng)小 v 節(jié)點(diǎn)的表示學(xué)習(xí)。
上一步中只考慮了從大 v 節(jié)點(diǎn)向小 v 節(jié)點(diǎn)去做知識遷移。而在消息傳遞模塊,消息傳遞方向可以分為 4 種,其中兩種是領(lǐng)域內(nèi)的消息傳遞,包括大 v 節(jié)點(diǎn)到大 v 節(jié)點(diǎn)的消息傳遞,以及小 v 節(jié)點(diǎn)向小 v 節(jié)點(diǎn)的消息傳遞。另外兩種則是跨領(lǐng)域的消息傳遞,包括大 v 節(jié)點(diǎn)向小 v 節(jié)點(diǎn)的消息傳遞,以及小 v 節(jié)點(diǎn)向大 v 節(jié)點(diǎn)的消息傳遞。每次消息傳遞同樣也包括兩個因素,分別是領(lǐng)域差異的矯正和鄰居重要性因子。用矯正后的原節(jié)點(diǎn)特征乘以鄰居重要性因子之后,再將 message 傳遞給目標(biāo)節(jié)點(diǎn),從而去更新目標(biāo)節(jié)點(diǎn)的向量表示。領(lǐng)域差異因子和鄰居重要性因子的計算過程,也分別列在了紅框和綠框當(dāng)中。
5、第三步:領(lǐng)域可遷移分類器(DTC)
在第二步當(dāng)中每次消息傳遞的時候,就會先通過這樣一個領(lǐng)域差異校正完之后,再去傳遞給目標(biāo)節(jié)點(diǎn),這一過程依然保留了大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)的領(lǐng)域差異,又通過消息傳遞進(jìn)一步將圖拓?fù)涞男畔⒕幋a到了所學(xué)到的大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)的表示向量當(dāng)中。
接下來最后一步,還需要訓(xùn)練一個下游任務(wù)的分類器。我們最終的目標(biāo)是對標(biāo)簽稀少的小 v 節(jié)點(diǎn)去做節(jié)點(diǎn)分類。在這一步驟當(dāng)中,將大 v 節(jié)點(diǎn)視為 source domain,而將小 v 節(jié)點(diǎn)視作 target domain。核心的 idea 在大 v 節(jié)點(diǎn)樣本上訓(xùn)練一個好的分類器,再把分類器的參數(shù)遷移到 target domain。也就是站在巨人的肩膀上,在大 v 節(jié)點(diǎn)分類器的基礎(chǔ)上去生成一個小 v 節(jié)點(diǎn)的分類器,從而在標(biāo)簽稀少的這樣小 v 節(jié)點(diǎn)上也能實現(xiàn)很好的分類效果。
如圖所示,首先會分別訓(xùn)練一個大 v 節(jié)點(diǎn)分類器(藍(lán)色)和小 v 節(jié)點(diǎn)分類器(橙色)。在這樣一個過程當(dāng)中,大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)分類器的訓(xùn)練過程是互不影響的。同時還會有一個圖中綠色方塊所示的參數(shù)遷移模塊。通過對藍(lán)色的大 v 節(jié)點(diǎn)分類器的參數(shù)進(jìn)行非線性變換,可以生成一個綠色的新的目標(biāo)域分類器。同時這 3 個分類器都會通過分類損失作為進(jìn)一步的指導(dǎo)。
為了保證圖中綠色的從源域分類器生成的目標(biāo)域分類器能夠同時保留藍(lán)色的大 v 分類器和橙色的小 v 分類器各自的領(lǐng)域知識,我們對生成的目標(biāo)域分類器的輸出分別與另外兩個分類器的輸出去計算 KL 散度損失,形成一個對抗和制衡的效果。最終會用綠色的這個新生成的分類器,去作為最終的小 v 節(jié)點(diǎn)的分類器,用于后續(xù)的評估任務(wù)。
這一過程不同于 feature-based 的遷移學(xué)習(xí)方法,這里是 parameter-based 的遷移學(xué)習(xí)方法。Feature-based 的遷移學(xué)習(xí)方法通常會學(xué)習(xí)一個 domain invariant 的 表示空間,并丟棄那些與 domain 相關(guān)的信息。而我們這里遷移的是分類器的參數(shù)。最終的損失函數(shù)由三部分構(gòu)成,分別是分類損失、KL 損失,以及在第一步中用到的領(lǐng)域差異一致性的保障。從第一步到第三步,我們是采用端到端的訓(xùn)練模式,并行地去優(yōu)化模型各個模塊的參數(shù)。
最終,我們的模型在 Twitter,社交網(wǎng)絡(luò)和 company 金融網(wǎng)絡(luò)當(dāng)中都取得了顯著的效果提升。
第一張圖是模型最終的分類效果。以 F1 score 和 AUC 作為分類性能的指標(biāo),模型在這兩個數(shù)據(jù)集上比其它模型的效果都有了顯著的提升。在 Twitter 上提升了4%,在 company 上提升了 5%。
同時也考慮到很多 base 模型其實不能夠自動地去補(bǔ)全存在屬性缺失的節(jié)點(diǎn)。所以為了公平比較,我們也將這些 GNN 模型和一些啟發(fā)式的特征補(bǔ)全算法進(jìn)行了結(jié)合。例如用 0 向量去補(bǔ)全,或者用鄰居特征的均值去進(jìn)行補(bǔ)全,再去 train 一些這樣的 base GNN 模型。不同的 base 模型結(jié)合不同的特征補(bǔ)全方法的實驗結(jié)果也展示在了上圖當(dāng)中。最終會為每個 base 模型選擇最佳的特征補(bǔ)全策略,再與我們的模型進(jìn)行對比。
上圖中,表 1 展示了模型在對一些 borderline case 的驗證性實驗??紤]到我們的模型其實是借助跨領(lǐng)域的連邊,也就是大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)之間的連邊來實現(xiàn)知識遷移的,所以通過隨機(jī)刪除這種跨領(lǐng)域連邊,并逐漸增大刪除的跨領(lǐng)域連邊的比例,來驗證模型的魯棒性。在實驗結(jié)果中,即使是在刪除了 70% 的跨領(lǐng)域連邊的情況下,我們的 KTGNN 仍然能夠相比于其它模型有一定的提升。
表 2 當(dāng)中顯示了我們的消融實驗的結(jié)果。通過刪除 KTGNN 中一些不同的子模塊,驗證刪除模塊后模型的分類效果。實驗結(jié)果表明,完整的 KTGNN 總能達(dá)到一個最優(yōu)的效果。
右圖是模型學(xué)到的樣本特征進(jìn)行 T-SNE 可視化的結(jié)果。子圖 (a) 和 (d) 當(dāng)中的橙色點(diǎn)代表大 v 節(jié)點(diǎn),青色點(diǎn)代表小 v 節(jié)點(diǎn)。KTGNN 學(xué)到的表示仍然保留了大 v 節(jié)點(diǎn)和小 v 節(jié)點(diǎn)的領(lǐng)域分布差異。對應(yīng)在圖中分別是兩個不同的 cluster。在圖 (b) 和圖 (e) 當(dāng)中,大 v 節(jié)點(diǎn)中的正負(fù)例區(qū)分情況也比原來的 RAW feature 有了一個很大的提升。KTGNN 學(xué)到的表示也可以較好地區(qū)分小 v 節(jié)點(diǎn)的正負(fù)例。即使小 v 節(jié)點(diǎn)的信息量比較少,學(xué)出來的小 v 節(jié)點(diǎn)表示仍然可以有一個比較好的正負(fù)例樣本之間的區(qū)分。
這里簡單介紹一下我們做的另外一個工作,也是在金融場景下,在公司風(fēng)險評估任務(wù)上的一個嘗試。在這里考慮了上市公司更多的數(shù)據(jù)類型,但沒有考慮非上市公司,前文所介紹的工作,也是在這篇工作基礎(chǔ)上,發(fā)現(xiàn)了上市公司和非上市公司的數(shù)據(jù)存在顯著的分布偏移,所以才萌生了做圖上的遷移學(xué)習(xí)的任務(wù)。大家感興趣的話可以去閱讀這篇論文。
在這一工作中除了使用上市公司的財報數(shù)據(jù)之外,還使用了公司的股權(quán)網(wǎng)絡(luò)和新聞等多源異構(gòu)數(shù)據(jù),我們也把非上市公司,結(jié)合多源異構(gòu)數(shù)據(jù),同時考慮圖遷移學(xué)習(xí)工作,作為我們未來的工作之一。
四、總結(jié)與展望
接下來分享對有關(guān)圖遷移學(xué)習(xí)未來可能的研究方向的一些看法。我們之前嘗試了 VS-Graph 上的 transductive learning 的場景,但在 VS-Graph 上的 inductive learning 其實也是很重要的。比如在實際部署模型當(dāng)中,要考慮從來沒有在訓(xùn)練集中出現(xiàn)過的節(jié)點(diǎn)。這些節(jié)點(diǎn)的信息量可能是更少的,而且模型在訓(xùn)練過程當(dāng)中從來沒有見到過這些節(jié)點(diǎn),這樣的場景也是比較有挑戰(zhàn)的。
除此之外,之前的大多數(shù)圖遷移學(xué)習(xí)工作,以及我們之前對 VS-Graph 上的嘗試,討論的主要也是 graph level 和 node level 的遷移學(xué)習(xí)問題。有關(guān)圖上的邊級別的遷移學(xué)習(xí)任務(wù),其實也是一個有待挖掘的領(lǐng)域。例如在 VS-Graph 的場景上,圖上的邊既有 source domain 的領(lǐng)域內(nèi)連邊,也有 target domain 的領(lǐng)域內(nèi)連邊,還有 source domain 和 target domain 之間的跨領(lǐng)域連邊。對于 graph 上,在做 link prediction 的時候,source node 和 target node 所屬的 domain 不同的情況也是很值得討論的。
上述兩個問題都是定義在靜態(tài)圖的場景上面,也就是圖結(jié)構(gòu)是不隨時間而變化的。但其實在很多真實的應(yīng)用場景當(dāng)中,圖結(jié)構(gòu)可能是隨時間動態(tài)變化的。如何定義一個 dynamic 的 VS-Graph,在定義了這樣一個動態(tài)的 VS-Graph 之后,所有的 node level,edge level 或者 graph level 的遷移學(xué)習(xí)任務(wù)都要再額外考慮時間的因素。以及時間維度上,本身它可能也存在分布偏移的問題。比如在不同的時間段上,圖結(jié)構(gòu)或者屬性變化的過程可能會發(fā)生改變。如何建模這些維度的數(shù)據(jù)分布的遷移,也是一個很有挑戰(zhàn)很有意思的任務(wù)。