周 麗,申國偉,趙文波,周雪梅
(1.貴州大學計算機科學與技術(shù)學院,貴州 貴陽 550025; 2.貴州省智能醫(yī)學影像分析與精準診斷重點實驗室,貴州 貴陽 550025)
近年來,網(wǎng)絡表示學習[1-3]成為無監(jiān)督學習領(lǐng)域中的研究熱點。網(wǎng)絡表示學習的目標是將網(wǎng)絡的節(jié)點或者關(guān)系投影到低維空間中,以求能最大化保留原始網(wǎng)絡的結(jié)構(gòu)信息、屬性信息和語義信息等,為節(jié)點分類、連接預測、聚類和可視化等下游任務奠定基礎(chǔ)。
2014年,Perozzi等人[4]借鑒word2vec的思想,提出了一種基于深度學習的網(wǎng)絡表示學習方法DeepWalk。隨后幾年,LINE[5]、node2vec[6]和MMDW[7]等方法相繼被提出,成為了同構(gòu)信息網(wǎng)絡表示學習的經(jīng)典方法。
然而,在現(xiàn)實生活中,論文引用網(wǎng)絡、新聞評論網(wǎng)絡等異構(gòu)信息網(wǎng)絡包含多類實體和關(guān)系,蘊含更為豐富的結(jié)構(gòu)信息和語義信息。因此,異構(gòu)信息網(wǎng)絡表示學習也受到學者廣泛的關(guān)注。
2014年,Jacob等人[8]將異構(gòu)信息網(wǎng)絡變成同構(gòu)信息網(wǎng)絡來處理,此類方法會丟失較多重要信息。2015年,Tang等人[9]提出了PTE方法,這種方法只適用于異構(gòu)文本網(wǎng)絡,不適用于大多數(shù)異構(gòu)信息網(wǎng)絡。2016年,一種基于元路徑的同類型節(jié)點間的相似性搜索方法ESim[10]被提出,其依賴用戶自定義的元路徑和路徑權(quán)重,以此為指導學習節(jié)點的隱含表示。2017年,2種比較經(jīng)典的基于元路徑的異構(gòu)信息網(wǎng)絡表示學習方法Metapath2vec[11]和HIN2Vec[12]被提出,它們都使用了元路徑的游走來捕獲不同類型節(jié)點之間的關(guān)系。但是,這2種方法中對元路徑的指定存在主觀性,會導致一些語義信息丟失。2019年,RHINE[13]方法中根據(jù)結(jié)構(gòu)特性定義了2種關(guān)系,以達到保留異構(gòu)信息網(wǎng)絡結(jié)構(gòu)和語義信息,但是關(guān)系數(shù)量限定了其應用。
綜上,目前大多異構(gòu)信息網(wǎng)絡表示學習方法局限于使用元路徑或者設置適合某種網(wǎng)絡的關(guān)系結(jié)構(gòu)來保留異構(gòu)信息網(wǎng)絡的語義信息。由于需要人工定義元路徑或者關(guān)系結(jié)構(gòu),主觀因素會導致最終得到的節(jié)點表示包含噪聲,從而導致下游任務的效果不好。
2014年10月,Goodfellow等人[14]提出了GAN(Generative Adversarial Network)模型,該模型被用于各種應用中,以學習穩(wěn)健的潛在表示[15-16]。GAN包含了生成模型(Generative Model)與判別模型(Discriminative Model),通過生成模型和判別模型的相互競爭,不僅可以學習底層的數(shù)據(jù)分布,還可以使模型對有噪聲的數(shù)據(jù)具有更強的魯棒性。鑒于這些優(yōu)勢,研究者已經(jīng)在基于GAN的網(wǎng)絡表示學習方面進行了一些初步的嘗試[17-21]。
2018年,Dai等人[20]把GAN方法用在了網(wǎng)絡表示學習領(lǐng)域,提出了ANE方法。該方法是一種同構(gòu)信息網(wǎng)絡表示學習方法,其主要用于保留網(wǎng)絡的結(jié)構(gòu)信息和增強表示的健壯性。同樣,2018年,Yu等人[19]提出了一種基于GAN的網(wǎng)絡表示學習的方法,該方法也是針對同構(gòu)信息網(wǎng)絡的,不適于異構(gòu)信息網(wǎng)絡。2019年,胡斌斌等人[22]提出了HeGAN方法,該方法把GAN用在了異構(gòu)信息網(wǎng)絡表示學習上,以增強異構(gòu)信息網(wǎng)絡的語義信息表示。該方法考慮了節(jié)點間的語義信息,但忽視了網(wǎng)絡中所有節(jié)點的整體分布情況。
綜上分析可知,目前異構(gòu)信息網(wǎng)絡的表示學習的研究還存在以下問題:
1)現(xiàn)有方法需要人為地定義一些關(guān)系結(jié)構(gòu)或元路徑去保留異構(gòu)信息網(wǎng)絡的語義信息,會因為主觀原因?qū)е伦詈蟮墓?jié)點表示含有噪聲,不能很好地保留原始網(wǎng)絡中的真實信息。
2)現(xiàn)有方法著重考慮了節(jié)點間的語義信息,沒有綜合考慮整個異構(gòu)信息網(wǎng)絡的節(jié)點分布情況。
為了解決上述問題,本文提出一種基于GAN的異構(gòu)網(wǎng)絡信息表示學習方法HINGAN,其利用GAN博弈的過程,不僅增強了異構(gòu)信息網(wǎng)絡的語義信息表示,還考慮了異構(gòu)信息網(wǎng)絡所有節(jié)點的分布情況,使得最后節(jié)點向量表示所包含的信息更為全面。
對于異構(gòu)信息網(wǎng)絡數(shù)據(jù),本文抽象表述為:HIN=(V,E,T),其中,每個節(jié)點v和每條邊e與它們相關(guān)聯(lián)映射函數(shù)φ(v):V→TV和φ(e):E→TE。TV和TE表示對象和關(guān)系類型的集合,其中|TV|+|TE|>2。
圖1 HINGAN模型圖
本文提出的基于GAN的異構(gòu)信息網(wǎng)絡表示學習模型如圖1所示,其主要包括3個部分:數(shù)據(jù)準備、對抗學習和下游任務。數(shù)據(jù)準備部分,首先采用隨機游走獲得游走序列Seq,根據(jù)游走序列Seq生成關(guān)系對,同時,初始一個N×d的矩陣W,其中N為網(wǎng)絡節(jié)點數(shù),d為節(jié)點表示的維度。對抗學習部分,首先,把上一階段的數(shù)據(jù)送入Generator模型,生成服從于q(Z)的異構(gòu)信息網(wǎng)絡表示矩陣Z作為假數(shù)據(jù),采樣服從高斯分布p(Z)的矩陣Z′作為真數(shù)據(jù),然后把Z和Z′同時送入Discriminator模型,Discriminator模型則去判斷輸入的是Z還是Z′。然后,根據(jù)判別情況,繼續(xù)訓練Generator模型。通過迭代訓練的過程,得到包含更多信息的網(wǎng)絡表示,最后用于節(jié)點分類、鏈接預測等下游任務。
在本模型中,GAN模型的整體損失函數(shù)定義如公式(1)所示:
(1)
Generator模型包含2個部分,一部分用于保留節(jié)點間的語義信息,一部分用于生成接近真實數(shù)據(jù)的假數(shù)據(jù)。語義信息保留部分,通過判斷2個節(jié)點之間是否有某種關(guān)系來實現(xiàn)。模型如圖2所示。
圖2 語義信息保留模型
(2)
如果節(jié)點u和v間有關(guān)系r,那么L(u,v,r)=1表示節(jié)點間有關(guān)系r,反之L(u,v,r)=0表示節(jié)點間沒有關(guān)系r。因此Generator模型的保留語義信息的損失函數(shù)如公式(3)所示:
(1-L(u,v,r))log(1-p(r|u,v))
(3)
同時,為了生成接近真實數(shù)據(jù)的假數(shù)據(jù),即為了增強網(wǎng)絡的表示,在Generator模型中定義了另一個損失函數(shù),如公式(4)所示:
(4)
Generator模型總的損失函數(shù)如公式(5)所示:
(5)
本文中,Discriminator模型采用的是一個簡單的3層神經(jīng)網(wǎng)絡來實現(xiàn)的,如公式(6)所示:
(6)
LD=EZ′~p(Z)(logD(Z′))+EZ~q(Z)(log(1-D(Z)))
(7)
算法1為本文方法的整體訓練過程,主要包括了判別模型訓練過程和生成模型訓練過程。
算法1基于GAN的異構(gòu)信息網(wǎng)絡表示學習訓練模型。
Input: number of generator and discriminator trainings per epoch:nG,nD; number of samples:n; walk length:l
Output:θGandθD
1: InitializeθGandθDforGandD, respectively
2: while not converge do
3: forn=0;n 4: Sample a real distributionZ′~p(Z) 5: Generate a fake distributionZ~q(Z) 6: UpdateθDaccording to Equation(7) 7: end for 8: forn=0;n 9: Generate a fake distributionZ~q(Z) 10: UpdateθGaccording to Equation(5) 11: end for 12: end while 13: returnθGandθD 如算法1所示,判別模型主要是根據(jù)公式(7)來判斷輸入是生成的假數(shù)據(jù)還是從高斯分布采樣的真數(shù)據(jù),然后,更新相關(guān)參數(shù)。生成模型則是生成接近真實數(shù)據(jù)的假數(shù)據(jù),然后根據(jù)公式(5)來更新相關(guān)參數(shù)。 本次實驗選取了2個經(jīng)典的數(shù)據(jù)集DBLP和Yelp,下面分別介紹這2個數(shù)據(jù)集: 1)DBLP是收集了計算機領(lǐng)域內(nèi)對研究的成果以作者為核心的一個計算機類英文文獻的數(shù)據(jù)集。在本文中,主要從數(shù)據(jù)庫、數(shù)據(jù)挖掘、機器學習和信息檢索4個研究領(lǐng)域的20個會議中抽取了2018年發(fā)表的論文,構(gòu)成以論文(P)、作者(A)、會議(C)為節(jié)點,以論文作者(P-A)、論文地點(P-C)為邊的網(wǎng)絡,該網(wǎng)絡的網(wǎng)絡模式如圖3(a)所示。 2)Yelp是一個社交媒體數(shù)據(jù)集,包含了美國最大點評網(wǎng)址Yelp的數(shù)據(jù),在Yelp數(shù)據(jù)集挑戰(zhàn)中發(fā)布。本次實驗提取了商戶最多的5個城市(Las Vegas、Phoenix、Toronto、Charlotte、Scottsdale)的數(shù)據(jù),形成了以用戶(U)、商戶(B)、類別(T)和城市(C)為節(jié)點,以商鋪城市(B-C)、用戶評論關(guān)系(B-U)和商鋪類別關(guān)系(B-T)為邊的網(wǎng)絡,該網(wǎng)絡的模式圖如圖3(b)所示。 圖3 構(gòu)建的網(wǎng)絡模式圖 本文實驗中,從上述2個網(wǎng)絡中抽取的節(jié)點數(shù)統(tǒng)計于表1中。 表1 節(jié)點數(shù)統(tǒng)計 datasetsdatasetconstituentsDBLPPaperAuthorConf4469727620YelpUserBusinessCategoryCity106701374710305 本文將對以下3種方法開展對比實驗和分析:HIN2Vec[12]、Esim[10]、本文方法HINGAN。 1)HIN2Vec。 該框架的核心是一個神經(jīng)網(wǎng)絡模型,旨在利用節(jié)點之間不同類型的關(guān)系來捕獲HINs中嵌入的豐富語義。同時聯(lián)合學習了節(jié)點和關(guān)系的表示,以保留豐富的語義信息。 2)Esim。 基于元路徑的同類型節(jié)點間的相似性搜索方法,模型接受用戶定義的元路徑,以此為指導學習節(jié)點的隱含表示,然后使用向量的余弦相似性度量節(jié)點間的相似性。 3)本文方法HINGAN。 該方法通過引入GAN,通過GAN的生成模型和判別模型的博弈過程,得到保留更多信息的表示。 本文的默認參數(shù)選擇了2種對比方法的原論文中設置的最優(yōu)參數(shù)。對于HIN2Vec方法,節(jié)點向量的維數(shù)d設置為128,負采樣數(shù)n設置為5,上下文窗口w設置為3,學習率r設置為0.025。對于Esim方法,節(jié)點向量的維數(shù)d設置為50,負采樣數(shù)n設置為5,上下文窗口w設置為4,學習率r設置為0.025。在本文方法中,節(jié)點分類和鏈接預測任務使用了同樣的參數(shù),其中維度d設置為128,判別模型和生成模型的學習率r都設置為0.001。語義保留模型的學習率r設置為0.05,負采樣數(shù)n設置為5,上下文窗口w設置為3,游走長度l設置為10。 本文的評估指標選用節(jié)點分類和連接預測常用的評估指標。節(jié)點分類任務選用宏觀f1值(macro-f1)、微觀f1值(micro-f1)和精確度(precision),鏈接預測選用AUC評分平均精度(AP)。 4.4.1 節(jié)點分類 節(jié)點分類是評估網(wǎng)絡表示學習模型的方法之一。在本實驗中,使用的分類器是一個具有五折交叉驗證的線性SVM分類器。標簽設置如下: 在Yelp中,選擇餐廳類別中的10種主要菜系作為標簽,對餐廳節(jié)點打標簽。在DBLP中,使用4個研究領(lǐng)域作為標簽,如果作者在某個會議上發(fā)表了該領(lǐng)域的文章,就為他分配一個標簽,形成一個標簽數(shù)據(jù)集,用于對作者進行分類。對于節(jié)點分類任務,當學習節(jié)點的表示時,在Yelp中去掉類別節(jié)點T、DBLP中刪除會議節(jié)點C。 本節(jié)點分類實驗中,節(jié)點分類的結(jié)果如表2所示。其中,HINGAN-G和HINGAN-U分別表示采用高斯分布和均勻分布為真實數(shù)據(jù)的實驗結(jié)果。 表2 節(jié)點分類結(jié)果統(tǒng)計表 methodDBLPYelpmicro-f1macro-f1precisionmicro-f1macro-f1precisionEsim0.20420.10640.12280.17990.09200.1233HIN2Vec0.25200.13400.31110.21680.10610.1347HINGAN-G0.29810.20570.26020.30390.18480.1858HINGAN-U0.27720.19060.27460.26680.15010.1399 表2的實驗結(jié)果表明,真實數(shù)據(jù)服從高斯分布或均勻分布時,本文提出的方法除了在DBLP數(shù)據(jù)集上的precision外整體上都優(yōu)于對比方法。而HINGAN-U的各項指標也是除了在DBLP數(shù)據(jù)集上的precision外整體上都略低于HINGAN-G,因此,下面其它的實驗結(jié)果都是采用高斯分布作為真實數(shù)據(jù)。 在圖4中,展示了在DBLP和Yelp數(shù)據(jù)集上的分類結(jié)果。從圖4中可以看出,在DBLP數(shù)據(jù)集上,本文方法HINGAN的micro-f1值達到0.2981,相對于HIN2Vec方法提高了4.61個百分點,相對Esim方法提高了9.39個百分點。在Yelp數(shù)據(jù)集上,本文方法HINGAN的micro-f1值達到0.3039,相對于HIN2Vec方法提高了8.71個百分點,相對Esim方法提高了12.4個百分點。 圖4 3種方法節(jié)點分類micro-f1值對比 本文節(jié)點分類實驗中,還驗證了嵌入維度d對節(jié)點分類結(jié)果的影響。其中,分別實驗了維度d取32、64、128和256時,3個節(jié)點分類指標值的變化。如圖5~圖7所示。 圖5 維度d對precision值的影響 圖5顯示了隨維度d變化,在DBLP和Yelp數(shù)據(jù)集上precision值的變化。從圖5可以看出,隨著d值的逐漸增大,precision值整體上呈現(xiàn)先降低,再升高,最后又降低的趨勢。 從變化趨勢來看,當d=32時,在DBLP數(shù)據(jù)集上,precision的值接近0.3,達到了最大。在Yelp數(shù)據(jù)上,precision的值在0.13左右。當d=64時,precision值下降,然后,當d=128時,在DBLP和Yelp數(shù)據(jù)集上,值上升,但當d=256時,值又開始下降。 圖6和圖7展示了隨著d的變化,在DBLP和Yelp數(shù)據(jù)集上micro-f1和macro-f1值的變化趨勢,實驗結(jié)果表明:在DBLP數(shù)據(jù)集上,隨著d的增加,micro-f1和macro-f1值呈上升趨勢;在Yelp數(shù)據(jù)集上,隨著d的增加,micro-f1先上升后下降,當d=128時,micro-f1和macro-f1都達到極大值。 圖6 維度d對micro-f1值的影響 圖7 維度d對macro-f1值的影響 綜合圖5~圖7中本文方法在數(shù)據(jù)集DBLP、Yelp的實驗結(jié)果來看,當d=128時,precision、micro-f1、macro-f1總體效果最優(yōu)。因此,本文選取維度d為128。 4.4.2 鏈接預測 表3 鏈接預測實驗結(jié)果統(tǒng)計表 methodDBLPYelpAPAUCAPAUCEsim0.85330.90080.54110.6650HIN2Vec0.49650.56590.43590.3737HINGAN0.54860.57350.56730.6111 在本文鏈接預測實驗中,數(shù)據(jù)集被分成訓練集和測試集,比例為9:1。表3展示了鏈接預測的實驗結(jié)果。可以看出,本文方法HINGAN的鏈接預測結(jié)果相對于對比方法HIN2Vec有了明顯提高;對于Esim方法,由于其元路徑長度為4,包含了更多的語義信息,在DBLP上的鏈接預測效果更好。 圖8展示了2個數(shù)據(jù)集上本文方法和2種對比方法的鏈接預測結(jié)果AP值的變化情況。在DBLP數(shù)據(jù)集上,本文方法比HIN2Vec方法高出了5.21個百分點。在Yelp數(shù)據(jù)集上,本文方法比HIN2Vec高出了13.14個百分點,比Esim實驗結(jié)果高出2.62個百分點。 圖8 3種方法的鏈接預測AP值對比 從圖8可以看出,在數(shù)據(jù)集DBLP上Esim方法的鏈接預測指標AP的值比本文方法的高,主要原因是:鏈接預測任務中,本文方法為統(tǒng)一參數(shù),鏈接預測任務與節(jié)點分類任務的上下文窗口w均為3,可得到的元路徑長度最多為3。而對比方法Esim中DBLP數(shù)據(jù)集的元路徑定義為A-P-C-P-A,其長度為4,它包含了更多的語義信息。因此,在DBLP數(shù)據(jù)集上,Esim方法鏈接預測的結(jié)果要更好。 在鏈接預測任務中,本文還在2個數(shù)據(jù)集上測試了維度d對AP和AUC值的影響,結(jié)果如圖9和圖10所示。 圖9 維度d對AP值的影響 圖10 維度d對AUC值的影響 從圖9可以看出,在Yelp數(shù)據(jù)集上,隨著維度d的增加,鏈接預測指標AP的值逐漸下降;在DBLP數(shù)據(jù)集上,隨著維度d的增加,AP的值緩慢上升。 從圖10可以看出,在Yelp數(shù)據(jù)集上,隨著維度d的增加,鏈接預測指標AUC的值呈下降趨勢;在DBLP數(shù)據(jù)集上鏈接預測的AUC值趨于平穩(wěn)。綜合AP、AUC值隨著維度d的變化來看,Yelp數(shù)據(jù)集上d=32時效果最好,DBLP數(shù)據(jù)集上d=128時效果較好??紤]到在節(jié)點分類中,維度d=128時效果最優(yōu),本文鏈接預測設置維度d=128。 本文提出了一種異構(gòu)信息網(wǎng)絡表示學習方法HINGAN,通過引入GAN,增強異構(gòu)信息網(wǎng)絡中語義信息的保留,為下游任務奠定基礎(chǔ)。在HINGAN中,設計了一個生成模型和判別模型,判別模型能區(qū)分出真實數(shù)據(jù)和生成數(shù)據(jù),生成模型生成一個接近真實數(shù)據(jù)的假數(shù)據(jù),然后生成模型和判別模型進行博弈,最終使得網(wǎng)絡的嵌入表示更加穩(wěn)健,保留的語義信息更多。本文在多個數(shù)據(jù)集上的實驗結(jié)果驗證了HINGAN方法在節(jié)點分類和鏈接預測任務上的有效性。下一步考慮將GAN用于帶屬性信息的異構(gòu)信息網(wǎng)絡,以增強異構(gòu)信息網(wǎng)絡的屬性信息的保留。4 實驗分析
4.1 數(shù)據(jù)集
4.2 對比方法及默認參數(shù)
4.3 評估指標
4.4 實驗結(jié)果分析
5 結(jié)束語