徐鈺坪,李治江,2*
(1.武漢大學(xué) 圖像傳播與印刷包裝研究中心,湖北 武漢 430079;2.武漢大學(xué) 信息管理學(xué)院,湖北 武漢 430072)
圖結(jié)構(gòu)數(shù)據(jù)在現(xiàn)實生活中十分常見,比如社交網(wǎng)絡(luò)數(shù)據(jù)、文獻(xiàn)引用網(wǎng)絡(luò)數(shù)據(jù)和生物化學(xué)領(lǐng)域的分子結(jié)構(gòu)等。但是在很多場景下的圖數(shù)據(jù)會出現(xiàn)標(biāo)注困難、訓(xùn)練數(shù)據(jù)匱乏等問題,比如在社交網(wǎng)路中,新注冊用戶的相關(guān)數(shù)據(jù)有限,需要根據(jù)少量的好友關(guān)系進(jìn)行用戶身份標(biāo)簽分類或者進(jìn)行興趣群組推薦;另外在用戶商品推薦網(wǎng)絡(luò)中,新用戶或新商品也需要基于極其有限的數(shù)據(jù)或拓?fù)潢P(guān)系進(jìn)行用戶商品分類。這些問題無法依賴傳統(tǒng)的大規(guī)模圖學(xué)習(xí)進(jìn)行解決,需要基于小樣本學(xué)習(xí)范式[1]模擬人類快速學(xué)習(xí)過程,僅通過少量的參考數(shù)據(jù)完成圖上的節(jié)點(diǎn)分類任務(wù)。與主流的小樣本學(xué)習(xí)方式相同,圖數(shù)據(jù)的小樣本學(xué)習(xí)也遵循兩類基本框架,并且都存在著明顯的問題:一是基于優(yōu)化的方法[2-5]需要進(jìn)行精心調(diào)參才能獲得較好的性能表現(xiàn),模型的魯棒性不足;二是基于度量的方法[6-8]在預(yù)測表現(xiàn)上遠(yuǎn)遠(yuǎn)比不上傳統(tǒng)的基于大規(guī)模訓(xùn)練數(shù)據(jù)的深度學(xué)習(xí)方法。
通過比較樣本與類別原型的相似程度來進(jìn)行分類是一類經(jīng)典的基于度量的小樣本學(xué)習(xí)方法[6-7],該方法高度依賴于樣本的編碼質(zhì)量,并且對于原型提取過程中的噪聲節(jié)點(diǎn)比較敏感[9-10]?;谝陨霞僭O(shè),本文主要從以下兩方面對圖數(shù)據(jù)的小樣本學(xué)習(xí)任務(wù)進(jìn)行優(yōu)化。首先,基于GNN編碼[11]的節(jié)點(diǎn)特征學(xué)習(xí)能夠充分利用圖數(shù)據(jù)的拓?fù)浣Y(jié)構(gòu)進(jìn)行消息傳播和更新,進(jìn)而更好地學(xué)習(xí)到圖的全局和局部特征;其次,為了降低噪聲節(jié)點(diǎn)在原型提取過程中的干擾,需要對支持集節(jié)點(diǎn)進(jìn)行重要性評估和權(quán)值分配。傳統(tǒng)原型提取方案是對支持集節(jié)點(diǎn)進(jìn)行均值化[7]或者加權(quán)求和[12],受到圖網(wǎng)絡(luò)全局節(jié)點(diǎn)的啟發(fā)[13],為了在獲取類別原型的過程中抑制噪聲干擾,并更好地關(guān)注到全部支持節(jié)點(diǎn)的信息。在支持集中引入啞節(jié)點(diǎn)作為初始原型節(jié)點(diǎn),再基于注意力機(jī)制進(jìn)行原型節(jié)點(diǎn)的自適應(yīng)權(quán)重分配和特征學(xué)習(xí)。
基于以上幾點(diǎn)考慮,本文提出增強(qiáng)自適應(yīng)原型重構(gòu)模型(Enhanced Self-adaptive Prototype Rebuilt , ESPR),即一個基于原型網(wǎng)絡(luò)框架的元學(xué)習(xí)模型,用來解決屬性圖上的小樣本節(jié)點(diǎn)分類問題。ESPR采用GCN[14]進(jìn)行節(jié)點(diǎn)編碼,并在原型提取過程中基于transformer[15]框架對原型節(jié)點(diǎn)進(jìn)行自適應(yīng)重構(gòu),最終度量查詢節(jié)點(diǎn)與原型節(jié)點(diǎn)的距離進(jìn)行標(biāo)簽預(yù)測。ESPR相比于目前最優(yōu)模型,在準(zhǔn)確率和F1值上獲得大幅提升,特別是在reddit這類大型圖數(shù)據(jù)集上獲得了超過20%的提升效果。總而言之,本文的貢獻(xiàn)主要有以下三點(diǎn):
① 提出了ESPR模型,高效、魯棒地解決了屬性圖上的小樣本圖節(jié)點(diǎn)分類問題。在4個數(shù)據(jù)集上進(jìn)行了對比測試實驗,結(jié)果表明ESPR能夠獲得3%~20%的性能提升;
② 提出了一種新的原型提取方式,通過構(gòu)造原型節(jié)點(diǎn)進(jìn)行類別表征,是對圖領(lǐng)域度量學(xué)習(xí)方法的有效補(bǔ)充;
③ 優(yōu)化了原型學(xué)習(xí)過程,通過增強(qiáng)自適應(yīng)方式進(jìn)行原型重構(gòu)和特征學(xué)習(xí),有效抑制了噪聲干擾。
本文的算法流程分為元訓(xùn)練和元測試兩個過程,整體的模型結(jié)構(gòu)如圖1所示。
圖1 ESPR模型整體結(jié)構(gòu)示意圖
在元訓(xùn)練過程中,首先構(gòu)建一個元訓(xùn)練任務(wù)作為一個Episode[6-8],Episode 是一種基本的小樣本學(xué)習(xí)范式,主要通過構(gòu)建訓(xùn)練任務(wù)的方式讓模型學(xué)習(xí)如何根據(jù)少量的參考樣本對未知樣本進(jìn)行分類。一個Episode由支持集和查詢集構(gòu)成,利用支持集中的參考樣本指導(dǎo)查詢集中樣本的分類,如式(1)所示。
(1)
式中,Tt表示一個任務(wù),St表示支持樣本集,Qt表示查詢樣本集,每個元學(xué)習(xí)任務(wù)針對N個類別的樣本進(jìn)行分類,其中支持集中的每個類別具有K個樣本,查詢集中的每個類別具有M個樣本。在訓(xùn)練過程中,模型不斷降低查詢集樣本的預(yù)測損失直到收斂,最終獲得對新任務(wù)的泛化能力。
在元測試過程中,也需要構(gòu)建與元訓(xùn)練任務(wù)類似的元測試任務(wù),不同的是該過程不需要進(jìn)行節(jié)點(diǎn)特征學(xué)習(xí),而是直接提取節(jié)點(diǎn)特征后構(gòu)造類別原型節(jié)點(diǎn),然后進(jìn)行原型節(jié)點(diǎn)的自適應(yīng)重構(gòu),最后進(jìn)行節(jié)點(diǎn)類別判斷。
圖編碼過程是對鄰居節(jié)點(diǎn)信息的迭代聚合和更新,學(xué)習(xí)圖結(jié)構(gòu)信息和節(jié)點(diǎn)特征信息以獲得每個節(jié)點(diǎn)新的特征向量。本文采用GCN作為節(jié)點(diǎn)特征學(xué)習(xí)器,通過對局部鄰居信息進(jìn)行循環(huán)聚合和壓縮來獲取節(jié)點(diǎn)的潛在語義表征,具體操作如下:
① 基于空間連接性獲取每個節(jié)點(diǎn)的直接鄰居集合;
② 對鄰居節(jié)點(diǎn)進(jìn)行聚合操作(如求和、求均值計算);
③ 使用聚合結(jié)果更新中心節(jié)點(diǎn)隱含狀態(tài)。
第l層GCN有如下定義, AGGREGATE表示步驟①和步驟②的聚合過程,UPDATE表示步驟③的更新過程:
(2)
(3)
在圖結(jié)構(gòu)中不同節(jié)點(diǎn)之間通過邊相連,而通過多條邊頭尾相連的節(jié)點(diǎn)之間存在長距離依賴關(guān)系,為了能夠獲取這些節(jié)點(diǎn)之間的長距離依賴關(guān)系,可以將幾個圖卷積層進(jìn)行堆疊。值得注意的是,如果堆疊層數(shù)過多可能會導(dǎo)致過平滑現(xiàn)象[16],所以本文中只使用了兩層GCN。
類別原型是指在一個樣本簇中,存在一個表征可以歸納描述該簇樣本的基本特點(diǎn),從而作為該簇的原型表征[7, 17]。但是對于常見的類別原型度量學(xué)習(xí),提取類別原型的過程只采用了簡單的、不可學(xué)習(xí)的方法,比如對支持集樣本進(jìn)行均值化[7, 18]??紤]到構(gòu)建支持集時是通過隨機(jī)采樣的方式進(jìn)行訓(xùn)練樣本的提取,采集到的部分樣本可能是噪聲或離群點(diǎn),即對類別原型正確表征的貢獻(xiàn)很小,甚至起了不良效果[19]。因此無參的、不可學(xué)習(xí)的類別原型提取方法是一種對噪聲高度敏感的、極度依賴訓(xùn)練樣本構(gòu)建質(zhì)量的方法[10]。針對以上問題,部分工作對原型提取過程進(jìn)行了優(yōu)化[12, 20-21],本質(zhì)上是通過評估每個標(biāo)簽的樣本信息率和重要程度來優(yōu)化原型提取的結(jié)果,實際上可以看作是一定程度的修正操作,但是這些方法尚不能達(dá)到令人滿意的效果。
(4)
(5)
為了能夠?qū)⑷蝿?wù)無關(guān)的編碼轉(zhuǎn)化為任務(wù)相關(guān)的編碼,一般將查詢節(jié)點(diǎn)和支持節(jié)點(diǎn)放入同一個序列中進(jìn)行轉(zhuǎn)化,或者同時基于查詢節(jié)點(diǎn)和支持節(jié)點(diǎn)的交互來獲取各個支持節(jié)點(diǎn)的權(quán)重分配[12, 22]。但是這些做法會在提取原型的過程中引入查詢節(jié)點(diǎn)的信息,最終會給與查詢節(jié)點(diǎn)類別不同的原型表征造成干擾。本文為了獲取純粹的類別原型,在原型提取的過程中不引入查詢節(jié)點(diǎn)的信息,而是基于自注意力機(jī)制只對支持集節(jié)點(diǎn)進(jìn)行自適應(yīng)學(xué)習(xí)。
(6)
經(jīng)過注意力分配和加權(quán)求和后得到的轉(zhuǎn)化啞節(jié)點(diǎn)作為最終的類別原型,如下所示:
(7)
利用這些學(xué)習(xí)到的類別原型可以構(gòu)建一個softmax分類器,通過比較查詢節(jié)點(diǎn)到各個類別原型的距離來獲取屬于相應(yīng)類別的可能性,如式(8)所示:
(8)
dEuclidean=‖vi-vj‖2。
(9)
在訓(xùn)練過程中,每個任務(wù)的目標(biāo)是減少查詢集中所有查詢樣本的分類損失,因此損失函數(shù)有如下定義:
(10)
2.1.1 數(shù)據(jù)集
目前常用的圖數(shù)據(jù)集包括引文網(wǎng)絡(luò)數(shù)據(jù)集(cora/citeseer/Pubmed)、社交網(wǎng)絡(luò)數(shù)據(jù)集(BlogCatalog/Reddit)、生物化學(xué)結(jié)構(gòu)數(shù)據(jù)集(PPI)等。由于本文研究的是圖結(jié)構(gòu)數(shù)據(jù)下的小樣本節(jié)點(diǎn)分類問題,而且要求節(jié)點(diǎn)是包含屬性特征的單標(biāo)簽節(jié)點(diǎn),所以實驗要求的數(shù)據(jù)集必須滿足以下三點(diǎn)要求,以驗證模型處理小樣本分類能力:① 具有節(jié)點(diǎn)特征的屬性圖;② 每個節(jié)點(diǎn)只能屬于一種標(biāo)簽;③ 整個數(shù)據(jù)集中包含的節(jié)點(diǎn)類別足夠多。
根據(jù)以上三點(diǎn)要求,本文選取了以下4個公開數(shù)據(jù)集。
① Amazon-Clothing[23-25]是根據(jù)亞馬遜上“Clothing, Shoes and Jewelry”相關(guān)商品構(gòu)建起來的圖結(jié)構(gòu)數(shù)據(jù),其中每個節(jié)點(diǎn)表示一個商品,節(jié)點(diǎn)的特征由商品的描述轉(zhuǎn)化而來,節(jié)點(diǎn)的標(biāo)簽是商品所屬的類別。邊關(guān)系表示兩個商品被同時瀏覽過。本文將數(shù)據(jù)集標(biāo)簽劃分40類訓(xùn)練樣本、17類驗證樣本和20類測試樣本。
② Amazon-Electronics[23-25]與上一個數(shù)據(jù)集類似,不同的是兩個電子商品之間的邊關(guān)系表示它們被一起購買過。數(shù)據(jù)集標(biāo)簽劃分成“訓(xùn)練/驗證/測試”的數(shù)目類別為“90/37/40”。
③ DBLP[26-27]是引文網(wǎng)絡(luò),網(wǎng)絡(luò)節(jié)點(diǎn)為文章,節(jié)點(diǎn)特征由文章摘要轉(zhuǎn)化得到,兩篇文章之間存在引用關(guān)系則構(gòu)建邊。最終數(shù)據(jù)集標(biāo)簽劃分成“訓(xùn)練/驗證/測試”的數(shù)目為“80/27/30”。
④ Reddit[14, 28]是一個基于大型在線論壇Reddit建立起來的post-to-post graph。節(jié)點(diǎn)表示用戶發(fā)的帖子,節(jié)點(diǎn)標(biāo)簽表示帖子所屬的社區(qū)或“subreddit”。當(dāng)兩個帖子被同一個用戶評論時則構(gòu)建邊關(guān)系。本文按照16/10/15的比例劃分訓(xùn)練集、驗證集和測試集。
2.1.2 模型設(shè)置
圖節(jié)點(diǎn)編碼模塊采用兩層GCN對節(jié)點(diǎn)特征進(jìn)行學(xué)習(xí),兩層GCN的輸出維度分別為64和32。自適應(yīng)原型重構(gòu)模塊直接采用transformer API進(jìn)行模型設(shè)計,其中transformer encoder layer 包含了4個頭,feedforward層的輸出維度為64。模型中的三個模塊均采用了相同的ReLU激活函數(shù),并且dropout都設(shè)置為0.5。在訓(xùn)練過程中,不同模塊有獨(dú)立的Adam優(yōu)化器,學(xué)習(xí)率均為0.005。
本文共采用了8種對比基線模型,各個模型的基本特點(diǎn)如表1所示。
表1 對比基線模型介紹
針對每種數(shù)據(jù)集,本文設(shè)計了兩種小樣本學(xué)習(xí)的任務(wù)場景:5 ways 5 shots和10 ways 5 shots。在測試過程中,查詢集的樣本數(shù)目與支持集樣本數(shù)目相同。為了避免實驗結(jié)果的偶然性,每個任務(wù)場景下都要隨機(jī)進(jìn)行50次meta-test tasks,并將這些測試結(jié)果的平均值作為模型在該場景下的性能評價。采用Accuracy(ACC)和Micro-F1(F1)兩個評價指標(biāo)作為實驗評價標(biāo)準(zhǔn)。
重復(fù)以上過程10次并求均值,最終獲得的模型評價結(jié)果如表2所示。
表2 4個數(shù)據(jù)集上不同模型的對比結(jié)果
通過對所有的實驗結(jié)果觀察分析,可以得到以下結(jié)論:
① 實驗結(jié)果表明,本文提出的方法均優(yōu)于所有的對比基線模型,不同的數(shù)據(jù)集提升的幅度不同,其中針對Reddit數(shù)據(jù)集的準(zhǔn)確率和F1值的提升最大,比原來最優(yōu)模型GPN的實驗結(jié)果最高提升了20%左右。即使是性能提升幅度較小的DBLP數(shù)據(jù)集,準(zhǔn)確率和F1值的提升幅度也在2%~3%左右。至于Amazon-Clothing數(shù)據(jù)集和Amazon-Electronics 數(shù)據(jù)集,MSPR獲得的性能提升效果也非常可觀,最終的測試結(jié)果充分證明了ESPR的有效性。
② 總體而言,DeepWalk和node2vec這兩種基于無監(jiān)督學(xué)習(xí)的圖編碼方式的測試表現(xiàn)最差。因為如果要讓所有的節(jié)點(diǎn)都獲得較好的特征編碼結(jié)果,往往需要構(gòu)造大量的節(jié)點(diǎn)序列進(jìn)行訓(xùn)練。當(dāng)面對像Reddit這種大型圖結(jié)構(gòu)數(shù)據(jù)時,計算效率十分低下。
③ GCN和SGC的表現(xiàn)也一般,但是由于是GNN-based的方法,利用了圖的拓?fù)浣Y(jié)構(gòu)進(jìn)行節(jié)點(diǎn)信息的傳播和特征的學(xué)習(xí),能夠有效提高特征學(xué)習(xí)效率和質(zhì)量,因此測試表現(xiàn)普遍優(yōu)于DeepWalk和node2vec。但是GCN和SGC這種半監(jiān)督學(xué)習(xí)方法往往依賴于大量的標(biāo)記樣本進(jìn)行訓(xùn)練,而在小樣本的場景中可用于訓(xùn)練的標(biāo)記樣本非常少,因此GNN-based的方法具有較大的局限性。
④ 對于PN、MAML這些元學(xué)習(xí)方法,在實驗中各有優(yōu)勢和不足。原型網(wǎng)絡(luò)是一種基于度量的小樣本學(xué)習(xí)方式,它對于樣本的特征十分敏感,當(dāng)出現(xiàn)節(jié)點(diǎn)的特征學(xué)習(xí)較差或者在計算類別原型時有噪聲節(jié)點(diǎn)干擾等情況時,模型的性能就會大大降低。MAML是一種基于參數(shù)優(yōu)化的元學(xué)習(xí)方式,模型表現(xiàn)的穩(wěn)定性不足,而且需要進(jìn)行大量的參數(shù)調(diào)優(yōu)才能獲得性能良好的模型。
⑤ Meta-GNN和GPN的表現(xiàn)均大幅優(yōu)于其他所有基線模型。Meta-GNN是將MAML與GNN進(jìn)行結(jié)合,能夠較好地適應(yīng)圖結(jié)構(gòu)數(shù)據(jù)上的小樣本節(jié)點(diǎn)分類問題。GPN將GNN與PN結(jié)合,使用GNN進(jìn)行節(jié)點(diǎn)表征學(xué)習(xí),同時引入節(jié)點(diǎn)重要性評分對提取的類別原型進(jìn)行優(yōu)化,所以能夠獲得相對穩(wěn)定且良好的實驗結(jié)果。相較于GPN,本文舍棄了節(jié)點(diǎn)評分器,而是對支持集中的每個樣本進(jìn)行自適應(yīng)權(quán)重分配,進(jìn)而獲得類別原型,最終結(jié)果表明MSPR大幅度優(yōu)于以上兩種對比模型。
為了證明各個模塊的有效性,本文還設(shè)計了額外的實驗進(jìn)行消融分析。在5 ways 5 shots測試場景中,將模型中的各個模塊進(jìn)行逐步去除或簡化,通過比較準(zhǔn)確率的變化來比較模型性能。
ESPR是本文提出的完整模型,MLP表示只采用簡單的全連接層對節(jié)點(diǎn)進(jìn)行編碼,w/GNN表示使用圖編碼模塊后的模型,w/PN表示使用本文提出的自適應(yīng)原型重構(gòu)模塊進(jìn)行小樣本學(xué)習(xí)。最終消融實驗的結(jié)果如表3所示。
表3 5 ways 5 shots任務(wù)上消融實驗結(jié)果
實驗結(jié)果表明,將GNN編碼替換全連接編碼后,各數(shù)據(jù)集上的預(yù)測準(zhǔn)確率得到了大幅提升,說明圖編碼層能高效地進(jìn)行節(jié)點(diǎn)的表征學(xué)習(xí),特別是對于Reddit這類大規(guī)模圖數(shù)據(jù),GNN算法比普通的MLP編碼學(xué)得更快,匯集的數(shù)據(jù)更多。另外,在不引入圖編碼,僅使用MLP編碼和原型學(xué)習(xí)時,模型也能夠獲得性能的明顯提升,表明所提出的原型提取模塊能夠有效抑制噪聲和其他無效信息的干擾,進(jìn)而提高模型的性能。
本文針對標(biāo)注數(shù)據(jù)匱乏時的圖節(jié)點(diǎn)分類問題提出了ESPR模型,為了獲得高質(zhì)量的節(jié)點(diǎn)編碼,采用雙層GCN進(jìn)行特征傳播和表征學(xué)習(xí);同時針對噪聲高度敏感問題,對所構(gòu)造的原型節(jié)點(diǎn)進(jìn)行自適應(yīng)重構(gòu),最后通過度量計算進(jìn)行節(jié)點(diǎn)分類。對比實驗和消融實驗充分驗證了ESPR模型的有效性,抑制了噪聲和離群點(diǎn)的干擾,是一種簡單的、可遷移性強(qiáng)的圖度量學(xué)習(xí)方法。