沈鵬飛,徐 臻,王 英
(1.中國(guó)電子科技南湖研究院,浙江嘉興 314001;2.吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,吉林長(zhǎng)春 130012)
信息實(shí)體數(shù)量不斷增加導(dǎo)致信息數(shù)據(jù)極速增長(zhǎng),從如此海量數(shù)據(jù)發(fā)掘有價(jià)值信息,則需對(duì)數(shù)據(jù)進(jìn)行合理整合才能高效分析[1~3].由于網(wǎng)絡(luò)結(jié)構(gòu)具有融合不同信息實(shí)體和關(guān)系的天然優(yōu)勢(shì),已成為大數(shù)據(jù)分析的重要數(shù)據(jù)結(jié)構(gòu),且在數(shù)據(jù)挖掘和人工智能的相關(guān)研究中,無不對(duì)數(shù)據(jù)特征精確提取和分析,但隨著信息維度不斷增加,數(shù)據(jù)網(wǎng)絡(luò)結(jié)構(gòu)也會(huì)變得異常復(fù)雜,網(wǎng)絡(luò)嵌入將很好為這兩項(xiàng)研究做好基礎(chǔ)工作[4~6].網(wǎng)絡(luò)嵌入的研究目標(biāo)就是將高維復(fù)雜的信息網(wǎng)絡(luò)用低維向量表示,且低維表示包含的有效信息越多,則嵌入越成功,可應(yīng)用于的任務(wù)也更多[7~9].
在當(dāng)前網(wǎng)絡(luò)嵌入的研究中,大部分工作都是更多考慮網(wǎng)絡(luò)結(jié)構(gòu)特征和結(jié)點(diǎn)之間的近似關(guān)系.但信息網(wǎng)絡(luò)中不只表達(dá)結(jié)點(diǎn)結(jié)構(gòu),還包含了大量潛在信息,如結(jié)點(diǎn)局部關(guān)系和自身屬性等.針對(duì)以上情況,本文借鑒生成對(duì)抗學(xué)習(xí)思想提出了一種嵌套的生成對(duì)抗網(wǎng)絡(luò)模型N-GAN(Nesting Generative Adversarial Networks for Network Embedding),將網(wǎng)絡(luò)結(jié)構(gòu)、結(jié)點(diǎn)對(duì)近似關(guān)系以及結(jié)點(diǎn)屬性信息,通過一個(gè)三級(jí)對(duì)抗模型逐級(jí)學(xué)習(xí),將不同特征信息嵌入在一個(gè)低維的表示中.由此不僅將網(wǎng)絡(luò)結(jié)構(gòu)和結(jié)點(diǎn)對(duì)的近似關(guān)系嵌入在低維表示中,還將結(jié)點(diǎn)屬性特征也嵌入到表示向量中,從而保留了原始網(wǎng)絡(luò)更豐富的數(shù)據(jù)信息[10~12].N-GAN模型中第一級(jí)生成對(duì)抗模型學(xué)習(xí)保存網(wǎng)絡(luò)的結(jié)構(gòu)特征,在第一級(jí)模型基礎(chǔ)上第二級(jí)對(duì)抗網(wǎng)絡(luò)學(xué)習(xí)結(jié)點(diǎn)對(duì)屬性信息,第三級(jí)網(wǎng)絡(luò)在前兩級(jí)基礎(chǔ)上學(xué)習(xí)結(jié)點(diǎn)局部特征信息,每一級(jí)都是確保上一級(jí)特征充分學(xué)習(xí)的基礎(chǔ)上再學(xué)習(xí)新的特征信息,從而使得不同特征信息平滑融入低維表示向量中.本文主要做了以下三方面的工作:
(1)根據(jù)信息網(wǎng)絡(luò)的結(jié)構(gòu)數(shù)據(jù)以及結(jié)點(diǎn)的屬性,依次計(jì)算了結(jié)點(diǎn)對(duì)的三級(jí)特征,作為嵌入模型學(xué)習(xí)數(shù)據(jù).
(2)借鑒生成對(duì)抗網(wǎng)絡(luò)的思想,通過嵌套的方式提出一個(gè)三級(jí)組合的生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)N-GAN,并且詳細(xì)給出了模型的運(yùn)算理論和各個(gè)子模型的網(wǎng)絡(luò)結(jié)構(gòu).
(3)在真實(shí)數(shù)據(jù)集上設(shè)計(jì)了多組實(shí)驗(yàn),與相關(guān)模型進(jìn)行了比較分析,驗(yàn)證了N-GAN算法性能,并討論了算法穩(wěn)定性及效率.
當(dāng)前網(wǎng)絡(luò)嵌入的研究大致可以劃分為兩類,分別為基于關(guān)系矩陣分解[13]和基于深度神經(jīng)網(wǎng)絡(luò)方法.關(guān)系矩陣一般是網(wǎng)絡(luò)結(jié)點(diǎn)的鄰接矩陣、拉普拉斯陣、PPMI(Positive Pointwise Mutual Information)矩陣,基于關(guān)系矩陣的網(wǎng)絡(luò)嵌入的研究應(yīng)該可以追溯到很早,從譜聚類算法到矩陣的非負(fù)分解都是將高維的網(wǎng)絡(luò)用低維向量表示.矩陣分解主要是針對(duì)鄰接矩陣和PPMI矩陣,文獻(xiàn)[14]通過對(duì)社交網(wǎng)絡(luò)中結(jié)點(diǎn)間鄰接關(guān)系矩陣的非負(fù)分解得到網(wǎng)絡(luò)的低維向量表示,從而預(yù)測(cè)用戶之間的信任關(guān)系.Cheng等人[15]借鑒矩陣分解的思想對(duì)符號(hào)社交網(wǎng)絡(luò)提出一種非監(jiān)督的特征提取方法,實(shí)現(xiàn)了在符號(hào)網(wǎng)絡(luò)中結(jié)點(diǎn)低維表示之間的近似關(guān)系與高維網(wǎng)絡(luò)中一階近似和二階近似相一致.Wang等人[16]提出通過最優(yōu)化矩陣的非負(fù)分解模型同時(shí)實(shí)現(xiàn)網(wǎng)絡(luò)結(jié)點(diǎn)的社區(qū)發(fā)現(xiàn)和網(wǎng)絡(luò)表示,實(shí)現(xiàn)結(jié)點(diǎn)的低維表示可以同時(shí)保存網(wǎng)絡(luò)的局部結(jié)構(gòu)和社區(qū)結(jié)構(gòu).Qiu等人[17]發(fā)現(xiàn)了Deepwalk[18]產(chǎn)生的隱式矩陣和Laplace圖之間新的理論聯(lián)系,并且指出Deepwalk,LINE(Large-Scale Information Network Embedding)[19],PTE(Predictive text embedding)[20]和node2vec[21]本質(zhì)上是隱式的矩陣分解.但是隨著網(wǎng)絡(luò)規(guī)模的增加,矩陣分解的時(shí)空復(fù)雜性會(huì)限制算法效率.
在以往的研究中,神經(jīng)網(wǎng)絡(luò)模型大致可以分為生成模型和辨別模型.Goodfellow等人[22]創(chuàng)造性地提出了生成對(duì)抗網(wǎng)絡(luò)GANs(Generative Adversarial Nets),將生成模型和辨別模型結(jié)合起來,形成一個(gè)統(tǒng)一的對(duì)抗學(xué)習(xí)模型.Mirza等人[23]在GANs的基礎(chǔ)上對(duì)目標(biāo)函數(shù)做了改進(jìn),提出了一個(gè)基于條件概率的生成對(duì)抗網(wǎng)絡(luò)模型(Conditional Generative Adversarial Nets,CGANs).Tolstikhin等人[24]通過訓(xùn)練權(quán)值和弱生成器的方式提出一種新的生成對(duì)抗模型AdaGAN(Adaptive GAN),Ada-GAN模型每次都是由上一次的弱生成器和訓(xùn)練好的權(quán)值以加權(quán)的方式產(chǎn)生新的生成器.Arjovsky等人[25]用Wasserstein距離代替?zhèn)鹘y(tǒng)生成對(duì)抗網(wǎng)絡(luò)中的KL散度,提出了WGAN(Wasserstein GAN),WGAN成功解決了傳統(tǒng)生成對(duì)抗網(wǎng)絡(luò)梯度消失、訓(xùn)練不穩(wěn)定、模式崩潰等缺點(diǎn).Mao等人[26]通過在對(duì)抗訓(xùn)練的目標(biāo)函數(shù)中使用最小二乘法提出了LSGAN(Least Squares Generative Adversarial Networks),LSGAN不僅克服了訓(xùn)練過程不穩(wěn)定,梯度消失的缺點(diǎn),且LSGAN收斂速度更快.
本文收集了三個(gè)真實(shí)數(shù)據(jù)集:arXiV-AstroPh、arXiv-GrQc、Cora.arXiV-AstroPh是在arXiv在線電子版上一個(gè)關(guān)于論文作者之間的科研合作關(guān)系的網(wǎng)絡(luò).arXiv-GrQc是arXiv上關(guān)于廣義相對(duì)論和量子宇宙學(xué)范疇的論文作者之間的科研合作關(guān)系網(wǎng)絡(luò).Cora數(shù)據(jù)集包括兩部分:一部分是論文之間的引用關(guān)系,另一部分是論文的類別數(shù)據(jù),每一篇論文都有一個(gè)類別標(biāo)簽.arXiVAstroPh和arXiv-GrQc的相關(guān)統(tǒng)計(jì)信息如表1所示,Cora相關(guān)統(tǒng)計(jì)信息如表2所示.
表1 數(shù)據(jù)集arXiV-AstroPh和arXiv-GrQc信息統(tǒng)計(jì)
表2 數(shù)據(jù)集Cora信息統(tǒng)計(jì)
本文對(duì)數(shù)據(jù)集做了簡(jiǎn)單的預(yù)處理,首先只關(guān)注不同結(jié)點(diǎn)之間的聯(lián)系因此刪除了有自環(huán)的鏈接,其次為了確保結(jié)點(diǎn)在網(wǎng)絡(luò)中有足夠的結(jié)構(gòu)信息,本文刪除了沒有鏈接和只有一條鏈接的結(jié)點(diǎn).由表1和表2可以計(jì)算出arXiV-AstroPh和arXiv-GrQc中平均每個(gè)結(jié)點(diǎn)分別有10.55和2.77個(gè)鏈接,在Cora中平均每個(gè)結(jié)點(diǎn)有1.95個(gè)鏈接.三個(gè)數(shù)據(jù)集的網(wǎng)絡(luò)密度分別是0.0011、0.0010、0.0014.
網(wǎng)絡(luò)結(jié)構(gòu)的組成元素就是結(jié)點(diǎn)和邊,本文用G={V,E}表示網(wǎng)絡(luò),其中V={v1,v2,v3,…,vn}是結(jié)點(diǎn)的集合,E={e12,e13,…,eij,…,enx}是網(wǎng)絡(luò)中所有邊的集合.網(wǎng)絡(luò)嵌入的目標(biāo)就是通過嵌入算法將網(wǎng)絡(luò)信息投影在一個(gè)低維的空間,網(wǎng)絡(luò)嵌入的研究問題可以如式(1)所示:
其中,U∈Rn×d,d是嵌入維度且d<n,U表示網(wǎng)絡(luò)G的低維表示.
為了能對(duì)N-GAN模型有一個(gè)直觀的了解,N-GAN模型的架構(gòu)如圖1所示.
圖1 N-GAN模型架構(gòu)說明圖
由圖1可知,N-GAN模型通過嵌套組合的方式構(gòu)成一個(gè)大的生成對(duì)抗網(wǎng)絡(luò),并且其中的每級(jí)內(nèi)部也是一個(gè)生成對(duì)抗結(jié)構(gòu).整個(gè)模型中只有一個(gè)生成器,三個(gè)辨別器分屬于三個(gè)對(duì)抗網(wǎng)絡(luò),其中GAN1、GAN2、GAN3分別表示三個(gè)生成對(duì)抗網(wǎng)絡(luò).三個(gè)辨別器分別學(xué)習(xí)不同的網(wǎng)絡(luò)特征,其中D1、D2、D3表示三個(gè)辨別器的真實(shí)輸入數(shù)據(jù),Gg1、Gg2、Gg3表示生成器網(wǎng)絡(luò)在三次遞進(jìn)學(xué)習(xí)過程中的生成數(shù)據(jù).
N-GAN模型中生成器網(wǎng)絡(luò)逐級(jí)學(xué)習(xí),每一級(jí)的辨別器只學(xué)習(xí)信息網(wǎng)絡(luò)的一個(gè)特征.生成器首先和第一級(jí)的辨別器對(duì)抗學(xué)習(xí),生成器不斷調(diào)整使得生成數(shù)據(jù)的分布接近網(wǎng)絡(luò)的第一特征,然后再和第二級(jí)對(duì)抗網(wǎng)絡(luò)對(duì)抗學(xué)習(xí),以此使得生成器逐步融合網(wǎng)絡(luò)結(jié)點(diǎn)對(duì)不同屬性特征.
首先介紹GAN1網(wǎng)絡(luò)的結(jié)構(gòu)和工作原理.網(wǎng)絡(luò)結(jié)構(gòu)是網(wǎng)絡(luò)嵌入首要考慮的重要特征,因此將N-GAN的第一級(jí)生成對(duì)抗網(wǎng)絡(luò)用于學(xué)習(xí)網(wǎng)絡(luò)的結(jié)構(gòu)特征.為了表示網(wǎng)絡(luò)結(jié)點(diǎn)對(duì)之間的結(jié)構(gòu)信息,本文通過結(jié)點(diǎn)對(duì)之間的最短路徑表示了結(jié)點(diǎn)對(duì)關(guān)系矩陣XS如下所示:
其中,sij表示網(wǎng)絡(luò)中結(jié)點(diǎn)i和結(jié)點(diǎn)j之間的最短路徑.很明顯結(jié)點(diǎn)對(duì)之間最短路徑越小,XS矩陣中對(duì)應(yīng)的元素值越大.生成器網(wǎng)絡(luò)中,本文首先從網(wǎng)絡(luò)全局角度計(jì)算結(jié)點(diǎn)對(duì)余弦相似度表示低維空間中的鄰近程度.生成器目標(biāo)就是將生成結(jié)點(diǎn)的低維表示之間的相似度分布無限接近XS.在GAN1中比較特殊的是D1和T1都等于XS.為了避免傳統(tǒng)生成對(duì)抗網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定導(dǎo)致的模式崩潰,本文選擇了Wasserstein距離計(jì)算數(shù)據(jù)分布差異.如果將生成器和辨別器分別表示為參數(shù)化函數(shù)G(·)和D1(·),則GAN1的目標(biāo)函數(shù)可定義如下:
其中,x表示真實(shí)數(shù)據(jù),z表示生成數(shù)據(jù)樣本,初始為隨機(jī)數(shù)據(jù).由此可見隨著G(·)和D1(·)之間不斷的對(duì)抗學(xué)習(xí),生成器生成結(jié)點(diǎn)的表示數(shù)據(jù)基本保留了結(jié)點(diǎn)對(duì)在網(wǎng)絡(luò)中的鄰近關(guān)系,即N-GAN模型通過GAN1網(wǎng)絡(luò)保存了網(wǎng)絡(luò)的結(jié)構(gòu)信息.
本文基于結(jié)點(diǎn)關(guān)系矩陣XS和結(jié)點(diǎn)對(duì)相似性定義了一個(gè)結(jié)點(diǎn)對(duì)近似關(guān)系矩陣NP,計(jì)算如式(5)~(7)所示:
其中,M為結(jié)點(diǎn)鄰接矩陣,式(7)的分子部分表示結(jié)點(diǎn)Vi和Vj的共同鄰居的數(shù)目,分母部分表示兩結(jié)點(diǎn)所有鄰居的數(shù)目,λ是一個(gè)超參數(shù)取0.25,用于調(diào)和XS和X之間關(guān)系,希望能更合理反映結(jié)點(diǎn)對(duì)之間的近似關(guān)系.相關(guān)研究發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)點(diǎn)的度是一個(gè)重要屬性,對(duì)于反映結(jié)點(diǎn)相關(guān)特征具有積極作用[27],本文在NP基礎(chǔ)上加入結(jié)點(diǎn)的屬性定義了XSim,如下所示:
其中d(i)表示結(jié)點(diǎn)Vi的度.由此可見XSim中元素值是在對(duì)應(yīng)的結(jié)點(diǎn)對(duì)直接近似和間接近似的基礎(chǔ)上加入了結(jié)點(diǎn)度的影響,通過結(jié)點(diǎn)度數(shù)調(diào)節(jié)結(jié)點(diǎn)對(duì)之間的近似關(guān)系.
隨著生成器在GAN1中訓(xùn)練,逐漸學(xué)習(xí)了網(wǎng)絡(luò)的結(jié)構(gòu)特征,N-GAN模型希望在保證生成數(shù)據(jù)保留結(jié)構(gòu)特征的前提下繼續(xù)學(xué)習(xí)新的特征.因此將XSim作為網(wǎng)絡(luò)結(jié)點(diǎn)對(duì)的新的特征,通過GAN2將生成器和第二級(jí)辨別器對(duì)抗學(xué)習(xí),其中第二級(jí)辨別器的輸入D2為XS,輸出T2為XSim.這是因?yàn)榻?jīng)過GAN1的訓(xùn)練之后,生成器生成的數(shù)據(jù)分布接近于XS,所以第二級(jí)辨別器目的就是學(xué)習(xí)從XS到XSim的映射,從而在對(duì)抗學(xué)習(xí)的過程中促進(jìn)生成器在保證滿足上一級(jí)網(wǎng)絡(luò)的基礎(chǔ)上生成具有XSim特征的表示.如果將經(jīng)過GAN1訓(xùn)練好的生成器函數(shù)表示為G1(·),第二級(jí)辨別器函數(shù)表示為D2(·),則GAN2的目標(biāo)函數(shù)可表示為:
其中,y表示真實(shí)數(shù)據(jù)XS,D2(y)是辨別器學(xué)習(xí)到的數(shù)據(jù),z表示生成數(shù)據(jù)樣本.
生成器經(jīng)過前兩級(jí)對(duì)抗訓(xùn)練,逐步學(xué)習(xí)了網(wǎng)絡(luò)結(jié)構(gòu)特征和具有結(jié)點(diǎn)屬性的近似關(guān)系.但結(jié)點(diǎn)之間的關(guān)系衡量不能單純的依賴結(jié)點(diǎn)對(duì)之間的最短路徑,根據(jù)物以類聚,人以群分的特點(diǎn),考慮這樣一種情況,如果結(jié)點(diǎn)Vi有六個(gè)鄰居結(jié)點(diǎn),其中五個(gè)鄰居結(jié)點(diǎn)聚集更密集,另外一個(gè)結(jié)點(diǎn)相對(duì)疏遠(yuǎn),則結(jié)點(diǎn)Vi向五個(gè)密集鄰居結(jié)點(diǎn)靠攏的可能性更大.本文計(jì)算了每個(gè)結(jié)點(diǎn)被其鄰居結(jié)點(diǎn)的吸引程度,吸引力越強(qiáng),則兩個(gè)結(jié)點(diǎn)之間的關(guān)系越親密.為定義這種鄰居結(jié)點(diǎn)的吸引力,假設(shè)任意結(jié)點(diǎn)Vi的鄰居結(jié)點(diǎn)表示為NVi={Via,Vib,Vic,Vid}.為了計(jì)算各個(gè)結(jié)點(diǎn)對(duì)結(jié)點(diǎn)Vi的吸引程度,本文首先計(jì)算每一個(gè)鄰居結(jié)點(diǎn)與其他所有鄰居的結(jié)點(diǎn)的鄰近程度,以結(jié)點(diǎn)Vib為例,假設(shè)用pb表示Vib與其他所有鄰居結(jié)點(diǎn)的鄰近量,計(jì)算方法如下:
計(jì)算pa,pc,pd的方法和式(10)類似.由此可得結(jié)點(diǎn)Vi的鄰居結(jié)點(diǎn)與其余鄰居的鄰近量表示為PVi=(pa,pb,pc,pd),根據(jù)該向量本文定義了不同鄰居結(jié)點(diǎn)對(duì)結(jié)點(diǎn)Vi的吸引程度,假設(shè)grav(i,b)表示結(jié)點(diǎn)Vb對(duì)結(jié)點(diǎn)Vi的吸引程度,則計(jì)算如下:
計(jì)算其他鄰居結(jié)點(diǎn)對(duì)結(jié)點(diǎn)Vi的吸引程度與此類似.由此本文結(jié)合網(wǎng)絡(luò)結(jié)點(diǎn)的鄰接矩陣XD定義了一個(gè)鄰居結(jié)點(diǎn)吸引力矩陣Y,具體如下:
其中φ是超參數(shù),為0.5,本文結(jié)合矩陣Y和XSim定義了網(wǎng)絡(luò)中結(jié)點(diǎn)之間的聚集程度,用矩陣XJ表示,其中XJ的計(jì)算如下,⊙表示矩陣的Hadamard積.
在第三級(jí)生成對(duì)抗網(wǎng)絡(luò)中,第三級(jí)辨別器的輸入D3為XSim,輸出T2為XJ.通過生成器和第三級(jí)辨別器的對(duì)抗學(xué)習(xí),使得第三級(jí)辨別器學(xué)習(xí)從XSim到XJ的映射,從而使得生成器生成結(jié)點(diǎn)數(shù)據(jù)分布在滿足前兩級(jí)特征的基礎(chǔ)上不斷接近XJ.如果將經(jīng)過GAN2訓(xùn)練的生成器表示為G2(·),三級(jí)辨別器表示為D3(·),則GAN3的目標(biāo)函數(shù)可表示為:
其中,w表示真實(shí)二級(jí)特征數(shù)據(jù)XSim,D3(w)是辨別器學(xué)習(xí)到的數(shù)據(jù).
根據(jù)以上過程可知,隨著每一級(jí)的生成對(duì)抗網(wǎng)絡(luò)的嵌套,生成器學(xué)習(xí)能力逐級(jí)遞增,最終生成的低維表示融合了更豐富的網(wǎng)絡(luò)特征數(shù)據(jù).
上文對(duì)N-GAN設(shè)計(jì)結(jié)構(gòu)和運(yùn)行原理作了詳細(xì)介紹,本節(jié)將對(duì)N-GAN算法運(yùn)行過程進(jìn)行描述,具體如算法1所示.
從算法過程可以看出N-GAN模型將生成器嵌套在三個(gè)生成對(duì)抗網(wǎng)絡(luò)中,逐級(jí)學(xué)習(xí),并且每一級(jí)學(xué)習(xí)新的特征的過程總是一個(gè)平滑過渡,最終將三個(gè)特征矩陣的信息融合在低維表示中.
為驗(yàn)證N-GAN模型的有效性,本文選擇了兩個(gè)應(yīng)用:鏈路預(yù)測(cè)和網(wǎng)絡(luò)可視化,同時(shí)選取七個(gè)方法模型作為對(duì)比.本文將對(duì)比模型和N-GAN對(duì)同一數(shù)據(jù)集進(jìn)行嵌入計(jì)算,然后將不同模型計(jì)算的低維表示應(yīng)用在實(shí)驗(yàn)任務(wù)中,通過實(shí)驗(yàn)結(jié)果分析算法性能.
Deepwalk:首個(gè)在網(wǎng)絡(luò)嵌入時(shí)將網(wǎng)絡(luò)結(jié)構(gòu)通過隨機(jī)游走轉(zhuǎn)換成結(jié)點(diǎn)序列,并且利用Skip-gram學(xué)習(xí)結(jié)點(diǎn)的低維表示.
LINE-O1:提出了計(jì)算結(jié)點(diǎn)對(duì)之間相關(guān)近似的方法.LINE-O1是基于結(jié)點(diǎn)之間的一階近似的LINE.
算法1 N-GAN輸入:λ,超參數(shù),lr,學(xué)習(xí)率,k,嵌入維度,h,批量數(shù),結(jié)點(diǎn)對(duì)關(guān)系矩陣XS,XSim和XJ,NO,隨機(jī)數(shù)據(jù),T,辨別器網(wǎng)絡(luò)的訓(xùn)練次數(shù).m,模型訓(xùn)練迭代數(shù)(epochs)輸出:生成器G(θG),辨別器D1(θD1),D2(θD2),D3(θD3)1:隨機(jī)數(shù)據(jù)初始化參數(shù)θG,θD1,θD2,θD3 2:for epoch=1:m do 3: 生成器生成數(shù)據(jù)?Gg 1 4:XS中按批量抽取結(jié)點(diǎn)的關(guān)系數(shù)據(jù)5:Gg 1中按批量抽取結(jié)點(diǎn)的生成數(shù)據(jù)6:極小極大化Ex~pdata(x)[D1(x)]-Ez~pz(z)[D1(G(z))]更新參數(shù)θG和θD1 7:更新后的生成器,生成數(shù)據(jù)?Gg 2 8:XS中按批量抽取結(jié)點(diǎn)的關(guān)系數(shù)據(jù)9:XSim中按批量抽取結(jié)點(diǎn)的關(guān)系數(shù)據(jù)10:Gg 2中按批量抽取結(jié)點(diǎn)的關(guān)系數(shù)據(jù)11:極小極大化Ey~pdata(y)[D2(y)]-Ez~pz(z)[D2(G1(z))]更新參數(shù)θG和θD2 12:更新后的生成器,生成數(shù)據(jù)?Gg 3 13:XSim中按批量抽取結(jié)點(diǎn)的關(guān)系數(shù)據(jù)14:XJ中按批量抽取結(jié)點(diǎn)的關(guān)系數(shù)據(jù)15:Gg3中按批量抽取結(jié)點(diǎn)的關(guān)系數(shù)據(jù)16:極小極大化Ew~pdata(w)[D3(w)]-Ez~pz(z)[D3(G2(z))]更新參數(shù)θG和θD3 17:結(jié)束for循環(huán)18:生成低維表示
LINE-O2:類似于LINE-O1,通過保存結(jié)點(diǎn)之間的二階近似實(shí)現(xiàn)網(wǎng)絡(luò)嵌入.
struc2vec[28]:通過計(jì)算網(wǎng)絡(luò)中結(jié)點(diǎn)之間的空間結(jié)構(gòu)相似性實(shí)現(xiàn)網(wǎng)絡(luò)結(jié)點(diǎn)的低維嵌入.
GAN1:N-GAN嵌套模型中第一級(jí)生成對(duì)抗網(wǎng)絡(luò).
GAN2_a:N-GAN嵌套模型中二級(jí)嵌套生成對(duì)抗網(wǎng)絡(luò),其中第一級(jí)辨別器學(xué)習(xí)特征XS,第二級(jí)辨別器學(xué)習(xí)特征XSim.
GAN2_b:N-GAN嵌套模型中二級(jí)嵌套生成對(duì)抗網(wǎng)絡(luò),其中第一級(jí)辨別器學(xué)習(xí)特征XS,第二級(jí)辨別器學(xué)習(xí)特征XJ.
需要說明的是所有網(wǎng)絡(luò)層均選用leaky ReLU激活函數(shù),其中l(wèi)eak值為0.2,嵌入維度d設(shè)置為128,所有網(wǎng)絡(luò)模型的優(yōu)化器都為“Adam”,學(xué)習(xí)率lr設(shè)置為0.001,超參數(shù)λ和φ分別設(shè)置為0.25和0.5.為了保證結(jié)果的可靠性,實(shí)驗(yàn)重復(fù)5次取平均值.
5.3.1 鏈路預(yù)測(cè)
鏈路預(yù)測(cè)是信息網(wǎng)絡(luò)研究中的一個(gè)重要應(yīng)用,通過預(yù)測(cè)結(jié)點(diǎn)之間可能發(fā)生的關(guān)系鏈路,對(duì)輿情監(jiān)測(cè)、社區(qū)發(fā)現(xiàn)和精準(zhǔn)推薦等任務(wù)具有很大幫助.本文將數(shù)據(jù)集arXiV-AstroPh和arXiv-GrQc作為鏈路預(yù)測(cè)實(shí)驗(yàn)數(shù)據(jù).實(shí)驗(yàn)準(zhǔn)備時(shí),將實(shí)驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)中20%的邊隱藏起來作為需要預(yù)測(cè)的鏈路,所有模型根據(jù)已知的80%的鏈路信息將網(wǎng)絡(luò)嵌入在低維表示空間.在求得網(wǎng)絡(luò)低維表示后,本文選用最簡(jiǎn)單分類器KNN(k-Nearest Neighbor)作為鏈路預(yù)測(cè)工具.在鏈路預(yù)測(cè)前將所有結(jié)點(diǎn)對(duì)的低維表示相減取絕對(duì)值,作為KNN分類器的特征輸入,KNN的輸出就是對(duì)應(yīng)結(jié)點(diǎn)對(duì)的標(biāo)簽數(shù)據(jù),其中KNN參數(shù)設(shè)置鄰居個(gè)數(shù)為2.為了使預(yù)測(cè)結(jié)果更可靠,本部分選用了10折交叉驗(yàn)證,每次對(duì)10折驗(yàn)證結(jié)果求平均,并通過準(zhǔn)確率和F1-macro兩個(gè)指標(biāo)定量分析不同模型的嵌入效果.N-GAN和各個(gè)對(duì)比模型根據(jù)上述方法,在兩個(gè)數(shù)據(jù)集上鏈路預(yù)測(cè)結(jié)果如表3和圖2所示.
表3 數(shù)據(jù)集arXiV-AstroPh和arXiv-GrQc上鏈路預(yù)測(cè)結(jié)果
圖2 不同模型嵌入向量的鏈路預(yù)測(cè)分布
根據(jù)以上結(jié)果可以清楚的觀察到,N-GAN模型計(jì)算的低維表示向量在鏈路預(yù)測(cè)的任務(wù)表現(xiàn)出了相對(duì)不錯(cuò)的性能.在兩個(gè)數(shù)據(jù)集中預(yù)測(cè)準(zhǔn)確率分別到0.9411和0.9251,F(xiàn)1-macro分別達(dá)到0.9158和0.9031.N-GAN計(jì)算的低維表示在鏈路預(yù)測(cè)時(shí)的準(zhǔn)確率平均比GAN1高0.0109,比GAN2_a高0.0041,比GAN2_b高0.0039,比LINE-O1高0.0146,比LINE-O2高0.0256,比struc2vec高0.0169;F1-macro指 標(biāo) 平 均 比GAN1高0.0125,比GAN2_a高0.0043,比GAN2_b高0.0040,比LINE-O1高0.0139,比LINE-O2高0.0411,比struc2vec高0.0722.同時(shí)可知N-GAN結(jié)果優(yōu)于GAN2_a、GAN2_b兩個(gè)二級(jí)嵌套模型,GAN2_a、GAN2_b的結(jié)果又優(yōu)于GAN1,因此可以證明經(jīng)過嵌套學(xué)習(xí)三級(jí)特征保存了相對(duì)較多的有效信息.
5.3.2 網(wǎng)絡(luò)可視化
網(wǎng)絡(luò)可視化是檢驗(yàn)網(wǎng)絡(luò)嵌入算法有效性的另一個(gè)重要應(yīng)用.本文在Cora數(shù)據(jù)集中選擇了三個(gè)類結(jié)點(diǎn)作為本部分實(shí)驗(yàn)的驗(yàn)證數(shù)據(jù),且選用PCA作為降維工具.可視化結(jié)果如圖3所示,其中圖中紅色菱形表示“強(qiáng)化學(xué)習(xí)”,綠色三角形表示“基于案例”,藍(lán)色星號(hào)表示:“理論”.
由圖3可直觀的觀察到三類結(jié)點(diǎn)不同模型計(jì)算的低維表示的分布,很明顯GAN1、GAN2、N-GAN三個(gè)模型計(jì)算的結(jié)點(diǎn)的表示向量具有相對(duì)更好的質(zhì)量,但圖3(d)、(e)兩個(gè)子圖在同類節(jié)點(diǎn)的集中程度和不同類別結(jié)點(diǎn)的疏遠(yuǎn)程度都沒有N-GAN效果好.從圖3(f)子圖可以看出,三類結(jié)點(diǎn)分布在三個(gè)區(qū)域,并且同一類別相對(duì)集中,不同類別的結(jié)點(diǎn)在顯示空間中相對(duì)較遠(yuǎn).在這項(xiàng)任務(wù)中.從圖3(a)子圖可以看到Deepwalk基本將不同類別的結(jié)點(diǎn)集中在一起,但是“基于案例”和“理論”兩個(gè)類型的結(jié)點(diǎn)重合較多.LINE-O1計(jì)算的表示向量相比Deepwalk有較好的表現(xiàn),將三類結(jié)點(diǎn)很好的分布在三個(gè)區(qū)域,但是三個(gè)區(qū)域的接壤部分重合太多,各類別結(jié)點(diǎn)也不夠集中.
圖3 可視化結(jié)果
5.3.3 參數(shù)設(shè)置
深度網(wǎng)絡(luò)模型在訓(xùn)練過程中,參數(shù)選擇會(huì)成為影響模型性能的關(guān)鍵因素.為解釋N-GAN中相關(guān)參數(shù)的選擇過程,本部分以鏈路預(yù)測(cè)為例,設(shè)置了多組實(shí)驗(yàn)驗(yàn)證不同參數(shù)取值對(duì)模型性能的影響.N-GAN模型中主要有φ和λ兩個(gè)超參數(shù)和迭代輪次epoch.因篇幅有限,此部分以φ的選擇過程為例,λ過程類似.為了探究不同的φ值在不同訓(xùn)練次數(shù)下對(duì)N-GAN的性能影響,本文將N-GAN中epoch分別設(shè)置為{50,150,250,500},φ分別設(shè)置為{0.01,0.1,0.3,0.5,0.7,1.5},在兩個(gè)數(shù)據(jù)集上鏈路預(yù)測(cè)結(jié)果如圖4所示.當(dāng)epoch從50增加到150時(shí),不論φ取何值,N-GAN模型的性能都明顯變好,這說明隨著訓(xùn)練深入模型得到了充分的學(xué)習(xí).當(dāng)epoch繼續(xù)增加,N-GAN嵌入能力也在逐步改善,但幅度不大.不考慮epoch影響,當(dāng)φ從0.01增加到0.5時(shí),N-GAN模型的性能在逐漸變好,但φ大于0.5之后,模型的性能有所下降,因此綜合兩個(gè)數(shù)據(jù)集考慮運(yùn)行時(shí)間和算法性能,本文將迭代輪次epoch和φ分別取值250和0.5,使模型效率達(dá)到相對(duì)最優(yōu).
圖4 超參數(shù)φ性能影響分析
5.3.4 算法收斂性及效率分析
由上文可知N-GAN模型是一個(gè)嵌套的生成對(duì)抗網(wǎng)絡(luò),隨著三級(jí)網(wǎng)絡(luò)的嵌套,很明顯增加了N-GAN網(wǎng)絡(luò)模型的深度,本節(jié)通過分別分析三級(jí)網(wǎng)絡(luò)的收斂性,討論N-GAN算法整體的收斂性.為了直觀的展示各個(gè)生成對(duì)抗網(wǎng)絡(luò)的收斂性,以迭代次數(shù)為橫軸,三級(jí)網(wǎng)絡(luò)的目標(biāo)函數(shù)誤差損失值為縱軸,分別對(duì)三級(jí)網(wǎng)絡(luò)作圖,如圖5所示.GAN1隨著迭代次數(shù)不斷增加,函數(shù)損失值不斷降低,收斂性并不是很好,這是為了同時(shí)觀察三級(jí)網(wǎng)絡(luò)的收斂情況,此部分迭代次數(shù)設(shè)置較少,在實(shí)際實(shí)驗(yàn)過程中,當(dāng)?shù)螖?shù)超過200后GAN1誤差損失的變化范圍將維持在一個(gè)非常小的范圍.GAN2當(dāng)?shù)螖?shù)從1增加到20時(shí)函數(shù)損失值緩慢降低,當(dāng)?shù)螖?shù)超過20后GAN2的誤差損失基本趨于穩(wěn)定.GAN3(相當(dāng)于N-GAN)在迭代次數(shù)從1增加到25時(shí)函數(shù)損失值降低較快,當(dāng)?shù)^25次后GAN3的誤差損失趨于穩(wěn)定.綜上所述,本文提出模型N-GAN在總體上保持了良好的收斂性,確保了算法運(yùn)行的穩(wěn)定.
圖5 N-GAN算法收斂性分析
由于神經(jīng)網(wǎng)路訓(xùn)練參數(shù)較多導(dǎo)致訓(xùn)練時(shí)間較長(zhǎng),本文模型通過一種嵌套得方式增加了訓(xùn)練深度,導(dǎo)致N-GAN在運(yùn)行效率上有所下降.為探究嵌套模型運(yùn)行效率,本文統(tǒng)計(jì)了GAN1、GAN2、GAN3多組迭代輪次的訓(xùn)練時(shí)間,如圖6所示.從圖6可知,隨著嵌套加深,模型時(shí)間復(fù)雜度在逐級(jí)增加,因此嵌套級(jí)數(shù)的選擇不能無限制疊加,需要綜合考慮性能和效率,增強(qiáng)模型實(shí)用性.
圖6 模型運(yùn)行時(shí)間分析
本文提出一種嵌套的生成對(duì)抗結(jié)構(gòu),通過嵌套的方式將三個(gè)生成對(duì)抗網(wǎng)絡(luò)組合起來,形成一種新的生成對(duì)抗學(xué)習(xí)結(jié)構(gòu)N-GAN.在N-GAN中每一個(gè)子模型內(nèi)部是對(duì)抗學(xué)習(xí),模型與模型之間也是對(duì)抗學(xué)習(xí),由此實(shí)現(xiàn)了逐級(jí)學(xué)習(xí)網(wǎng)絡(luò)不同特征信息,最終將不同特征信息平滑融合在低維表示中.本文在真實(shí)數(shù)據(jù)上根據(jù)兩個(gè)應(yīng)用任務(wù)設(shè)計(jì)了多組實(shí)驗(yàn),驗(yàn)證了N-GAN算法的有效性.在下一步研究中,將結(jié)合生成對(duì)抗學(xué)習(xí)模型和強(qiáng)化學(xué)習(xí),進(jìn)一步提高網(wǎng)絡(luò)嵌入模型效率.