李 方,吳國(guó)棟,涂立靜,劉玉良,查志康,李景霞
(安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院,安徽 合肥 230036)
隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)上數(shù)據(jù)量呈現(xiàn)指數(shù)級(jí)增長(zhǎng),在給人們帶來(lái)便利的同時(shí),也出現(xiàn)了信息過(guò)載問(wèn)題。作為處理信息過(guò)載的主要方式,推薦系統(tǒng)應(yīng)運(yùn)而生,其不僅有助于解決用戶選擇難的問(wèn)題,還可以發(fā)現(xiàn)用戶的潛在需求,幫助用戶做出選擇。傳統(tǒng)推薦算法主要有基于內(nèi)容的推薦算法[1]、協(xié)同過(guò)濾推薦算法[2]和混合推薦算法[3]等。這些推薦算法主要存在預(yù)測(cè)精度不高、數(shù)據(jù)稀疏、缺乏健壯性和難以泛化等問(wèn)題。近年來(lái),圖自編碼器GAE(Graph Auto-Encoder)作為圖神經(jīng)網(wǎng)絡(luò)GNN(Graph Neural Network)的重要組成部分,因其可以在圖結(jié)構(gòu)數(shù)據(jù)上進(jìn)行信息傳遞和編碼,被許多研究者應(yīng)用于推薦系統(tǒng)相關(guān)方面的研究。GAE推薦模型在圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行消息傳遞和特征提取的同時(shí),運(yùn)用一種類似n*n的卷積核聚合鄰域節(jié)點(diǎn)的信息,在解碼器中不再是對(duì)普通數(shù)據(jù)進(jìn)行解碼,而是對(duì)圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行解碼。GAE可以綜合運(yùn)用不同神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),對(duì)緩解傳統(tǒng)推薦算法在數(shù)據(jù)稀疏性、推薦精度不高、模型泛化性差和缺乏魯棒性等方面的不足,具有一定的優(yōu)勢(shì)。
圖1所示為GAE推薦模型的基本框架,其中,A為節(jié)點(diǎn)的鄰接矩陣,Z為學(xué)習(xí)到的節(jié)點(diǎn)嵌入矩陣,X為節(jié)點(diǎn)的特征矩陣,A′則為預(yù)測(cè)節(jié)點(diǎn)之間連接性得到的輸出。本文在分析GAE推薦框架的基礎(chǔ)上,根據(jù)模型中是否有監(jiān)督模塊,探討了無(wú)監(jiān)督學(xué)習(xí)GAE推薦和半監(jiān)督學(xué)習(xí)GAE推薦的相關(guān)研究,并指出了現(xiàn)有GAE推薦研究的不足和未來(lái)研究趨勢(shì),對(duì)圖自編碼器和推薦系統(tǒng)相關(guān)研究有一定的借鑒作用。
Figure 1 GAE recommendation framework圖1 GAE推薦框架
圖結(jié)構(gòu)數(shù)據(jù)包含深層次的網(wǎng)絡(luò)結(jié)構(gòu)和節(jié)點(diǎn)信息,圖神經(jīng)網(wǎng)絡(luò)GNN可以在圖結(jié)構(gòu)數(shù)據(jù)上進(jìn)行信息傳遞、信息聚合和特征提取[4]。而GAE是源于GNN和自編碼器的一種神經(jīng)網(wǎng)絡(luò),通過(guò)將輸入信息作為學(xué)習(xí)目標(biāo),對(duì)輸出信息進(jìn)行表征學(xué)習(xí)或網(wǎng)絡(luò)嵌入。其優(yōu)點(diǎn)在于繼承了自編碼器具有無(wú)監(jiān)督和半監(jiān)督的特征,在編碼的過(guò)程中使用了聚合鄰域節(jié)點(diǎn)信息的思想,而解碼過(guò)程是對(duì)圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行解碼。而且GAE可以融合多種神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)對(duì)圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)嵌入和圖數(shù)據(jù)的生成[5,6],并且有著較好的性能[7]。
GAE有很多變體,根據(jù)作用和結(jié)果的不同可分為圖表示生成GAE和網(wǎng)絡(luò)嵌入GAE,根據(jù)GAE中是否引入監(jiān)督模塊,分為無(wú)監(jiān)督GAE和半監(jiān)督GAE。本節(jié)從是否引入監(jiān)督模塊的角度分析,討論了無(wú)監(jiān)督學(xué)習(xí)GAE和半監(jiān)督學(xué)習(xí)GAE。
GAE在圖領(lǐng)域?qū)?shù)據(jù)進(jìn)行特征提取和表示,編碼器和解碼器分別可以使用多種相同或不同的神經(jīng)網(wǎng)絡(luò),綜合利用各種神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),將節(jié)點(diǎn)映射到潛在特征空間并從潛在表征中解碼圖結(jié)構(gòu)信息的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。與傳統(tǒng)的自編碼器[8]相比,GAE可在學(xué)習(xí)網(wǎng)絡(luò)嵌入或生成網(wǎng)絡(luò)圖的同時(shí)保留網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息和節(jié)點(diǎn)信息。相較于只能用于歐幾里德結(jié)構(gòu)的傳統(tǒng)神經(jīng)網(wǎng)絡(luò),GAE可以處理具有結(jié)構(gòu)性節(jié)點(diǎn)的問(wèn)題,且每個(gè)節(jié)點(diǎn)都是獨(dú)立進(jìn)行運(yùn)算,不會(huì)受到輸入順序的影響。
作為一種無(wú)監(jiān)督學(xué)習(xí)框架,GAE中沒有標(biāo)注數(shù)據(jù)點(diǎn)或標(biāo)注數(shù)量通常過(guò)少,不足以提取到好的特征。半監(jiān)督學(xué)習(xí)思想是在監(jiān)督學(xué)習(xí)任務(wù)和無(wú)監(jiān)督學(xué)習(xí)任務(wù)之間共享表征,這通常會(huì)帶來(lái)協(xié)同效應(yīng),與無(wú)監(jiān)督目標(biāo)一起聯(lián)合訓(xùn)練,能讓監(jiān)督任務(wù)學(xué)習(xí)到可泛化的表征,同時(shí)監(jiān)督任務(wù)還能引導(dǎo)表征學(xué)習(xí)過(guò)程[9]。一些學(xué)者將半監(jiān)督學(xué)習(xí)和GAE融合在一起,比如引入一個(gè)結(jié)構(gòu)化的先驗(yàn)分布、在潛在空間引入一個(gè)鑒別器或在解碼器中引入生成對(duì)抗網(wǎng)絡(luò)[10]等,形成半監(jiān)督學(xué)習(xí)的GAE。
圖自編碼器推薦通常將用戶和物品的相關(guān)數(shù)據(jù)作為輸入,利用GAE模型對(duì)輸入數(shù)據(jù)進(jìn)行特征提取或者圖數(shù)據(jù)生成,并基于提取的特征或生成數(shù)據(jù)進(jìn)行推薦。無(wú)監(jiān)督學(xué)習(xí)GAE推薦主要包括輸入層、編碼層、隱藏層、解碼層和輸出層,而半監(jiān)督學(xué)習(xí)GAE推薦還包括監(jiān)督模塊,本節(jié)針對(duì)GAE推薦算法中是否具有監(jiān)督模塊進(jìn)行分類探討分析。
無(wú)監(jiān)督的GAE推薦模型,利用GAE網(wǎng)絡(luò)嵌入或者圖數(shù)據(jù)生成的特點(diǎn)學(xué)習(xí)用戶和物品之間的隱表示,并基于這種隱表示預(yù)測(cè)用戶對(duì)物品的偏好。
3.1.1 圖網(wǎng)絡(luò)生成的GAE推薦
圖自編碼器通過(guò)將輸入的圖結(jié)構(gòu)信息作為學(xué)習(xí)目標(biāo),對(duì)輸出圖結(jié)構(gòu)信息進(jìn)行表征學(xué)習(xí),重新獲取節(jié)點(diǎn)之間的關(guān)系。
Kipf等人[11]提出了變分圖自編碼器VGAE(Variational Graph Auto-Encoder)模型,用已知的圖經(jīng)過(guò)編碼(圖卷積)學(xué)習(xí)節(jié)點(diǎn)向量表示的分布N,在分布中采樣得到節(jié)點(diǎn)的向量表示,如式(1)所示,然后進(jìn)行解碼重新構(gòu)建圖。
(1)
其中,N為圖中節(jié)點(diǎn)總數(shù),μ=GCNμ(X,A)是節(jié)點(diǎn)向量表示的均值矩陣,μi為節(jié)點(diǎn)i向量表示的均值向量,Z為節(jié)點(diǎn)的嵌入矩陣,zi為節(jié)點(diǎn)i的嵌入表示,A為節(jié)點(diǎn)的鄰接矩陣,X為節(jié)點(diǎn)的特征矩陣,σ是節(jié)點(diǎn)向量表示的方差矩陣,lnσ=GCNσ(X,A),σi為節(jié)點(diǎn)i向量表示的方差向量。
均值矩陣和方差矩陣由2層圖卷積網(wǎng)絡(luò)組成的編碼器編碼得到,如式(2)所示:
(2)
解碼器是通過(guò)計(jì)算2點(diǎn)之間存在邊的概率來(lái)重構(gòu)圖,如式(3)所示:
(3)
其中,Aij為A中的元素,σ(·)為sigmod激活函數(shù)。
模型損失函數(shù)如式(4)所示:
L=Eq(Z|X,A)[logp(A|Z)]-
KL[q(Z|X,A)‖p(Z)]
(4)
其中,KL[q(·)‖p(·)]為q(·)與p(·)之間的散度函數(shù),A為節(jié)點(diǎn)的鄰接矩陣。式(4)中損失函數(shù)由2部分組成,第1部分是重構(gòu)誤差,第2部分為后驗(yàn)概率分布p(Z|X)與預(yù)設(shè)分布p(Z)之間的KL散度的化簡(jiǎn)形式,預(yù)設(shè)p(Z)服從標(biāo)準(zhǔn)正態(tài)分布,損失函數(shù)L作為網(wǎng)絡(luò)的最終輸出。實(shí)驗(yàn)基于Cora、Citeseer和PubMed數(shù)據(jù)集,采用AUC(Area Under Curve)和AP(Average Precision)為評(píng)價(jià)指標(biāo),與SC(Spectral Clustering)[12]和DW(DeepWalk)[13]推薦模型對(duì)比,VGAE在AUC和AP評(píng)價(jià)指標(biāo)上均取得了較好的結(jié)果。
Berg等人[14]在圖卷積矩陣填充GC-MC(Graph Convolutional Matrix Completion)中,通過(guò)對(duì)圖數(shù)據(jù)的深度挖掘,提出了基于二部圖信息傳遞的GAE推薦框架GC-MC,如圖2所示。其中,X為節(jié)點(diǎn)的特征矩陣,M為用戶對(duì)物品的評(píng)分矩陣,U為學(xué)習(xí)得到的用戶嵌入矩陣,V為學(xué)習(xí)得到的物品嵌入矩陣,M′則為用戶對(duì)未產(chǎn)生過(guò)交互物品的預(yù)測(cè)評(píng)分矩陣。
Figure 2 GC-MC recommendation framework圖2 GC-MC推薦框架
GC-MC將矩陣填充視為圖數(shù)據(jù)上的鏈路預(yù)測(cè)問(wèn)題,篩選出的交互數(shù)據(jù)由用戶節(jié)點(diǎn)和物品節(jié)點(diǎn)之間的交互圖表示,用購(gòu)買評(píng)分表示鏈接,內(nèi)容信息以節(jié)點(diǎn)功能的形式包含在框架中。通過(guò)圖卷積神經(jīng)網(wǎng)絡(luò)GCN(Graph Convolutional Network)聚合輸入節(jié)點(diǎn)的潛在特征,雙線性解碼器將這些潛在特征之間的關(guān)系進(jìn)行評(píng)分重構(gòu)。編碼器采用GCN,可以有效地利用圖數(shù)據(jù)中不同鏈接的權(quán)值共享,并為每一個(gè)邊類型分配單獨(dú)的處理通道,局部卷積作為消息傳遞的一種形式,向量消息只在圖的邊之間傳遞和轉(zhuǎn)換。如式(5)所示:
(5)
其中,accum(·)為聚合函數(shù),Ni為用戶i購(gòu)買的物品集,μ為用戶節(jié)點(diǎn)的特征向量,R為總評(píng)分類別數(shù),μj→i,R表示聚合來(lái)自物品節(jié)點(diǎn)j的信息到用戶節(jié)點(diǎn)i,且物品節(jié)點(diǎn)j是被用戶i評(píng)為R分的物品,即j∈Ni,R。
解碼器采用的是雙線性解碼器,對(duì)二部圖中的鏈接進(jìn)行重構(gòu),把每一個(gè)評(píng)級(jí)作為一個(gè)單獨(dú)的類,重構(gòu)評(píng)級(jí)可能產(chǎn)生的概率分布,進(jìn)行評(píng)價(jià)預(yù)測(cè)。預(yù)測(cè)方式如式(6)所示:
(6)
其中,Qr和Qs為可訓(xùn)練參數(shù)矩陣,Mij為預(yù)測(cè)的節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的評(píng)分,r為具體評(píng)分,R為總評(píng)分矩陣, 且s∈R,Qs表示每個(gè)評(píng)分下對(duì)應(yīng)的參數(shù),ui表示用戶i的嵌入表示,vj表示物品j的嵌入表示。實(shí)驗(yàn)基于MovieLens、Flixster、Douban和YahooMusic數(shù)據(jù)集,采用RMSE(Root Mean Square Error)作為評(píng)定標(biāo)準(zhǔn)。與主流的推薦模型相比,GC-MC模型具有較好的結(jié)果,在不完整數(shù)據(jù)集上實(shí)驗(yàn)時(shí)依舊表現(xiàn)出較好的成績(jī)。
Salha 等人[15]為了保持模型簡(jiǎn)單性,在提出的圖自編碼器模型中采用了一階線性編碼器,取得了與圖卷積神經(jīng)網(wǎng)絡(luò)同等的效果。Tran等人[16]提出了一種新型的圖自編碼器結(jié)構(gòu)用于預(yù)測(cè),否定了傳統(tǒng)機(jī)器學(xué)習(xí)中節(jié)點(diǎn)和邊獨(dú)立且同分布的假設(shè),認(rèn)為圖結(jié)構(gòu)數(shù)據(jù)中節(jié)點(diǎn)和邊的標(biāo)簽是相互聯(lián)系的,具有復(fù)雜的關(guān)系結(jié)構(gòu),模型疊雙堆層編碼器和雙層解碼器,并應(yīng)用了參數(shù)共享和增強(qiáng)表示學(xué)習(xí)技術(shù)。該模型的優(yōu)點(diǎn)在于:(1)通過(guò)定義權(quán)重因子,可處理推薦問(wèn)題中的極端不平衡問(wèn)題;(2)可以從稀疏圖中學(xué)習(xí)節(jié)點(diǎn)的潛在表達(dá);(3)將顯性特征作為可選因子,提高預(yù)測(cè)性能;(4)運(yùn)用參數(shù)共享緩解計(jì)算復(fù)雜度,減少內(nèi)存占用。方義秋等人[17]提出了基于多重降噪自編碼器模型的Top-N推薦算法MDAE(Multiple Denoising Auto-Encoder) 。該算法引入了不同程度的噪聲,通過(guò)多重GAE對(duì)輸出結(jié)果進(jìn)行融合,提高了算法的推薦精度和魯棒性。Li等人[18]提出了用于鏈路預(yù)測(cè)的無(wú)監(jiān)督GAE的鏈路學(xué)習(xí)R-VGAE(Relational-Variational Graph Auto-Encoder) ,提高了推薦精度。Salha等人[19]受重力啟發(fā)提出了重力啟發(fā)圖自編碼器的有向鏈路預(yù)測(cè),根據(jù)有向圖中的關(guān)系并不是相互的,而是一種非對(duì)稱的關(guān)系,將質(zhì)量和重力加速度的概念轉(zhuǎn)換為節(jié)點(diǎn)信息嵌入,加速度表示節(jié)點(diǎn)之間的鏈接,運(yùn)用圖卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行編碼,在以內(nèi)積為基礎(chǔ)的解碼器中提出了一種新的方案,從向量節(jié)點(diǎn)嵌入,重構(gòu)不對(duì)稱關(guān)系。Xu等人[20]提出的基于圖自編碼器的多媒體推薦模型,運(yùn)用2個(gè)圖卷積網(wǎng)絡(luò)作為編碼器,分別為用戶和物品的潛在因子建模,通過(guò)求2個(gè)潛在向量的內(nèi)積生成偏好分?jǐn)?shù),其優(yōu)點(diǎn)在于把信息豐富的多媒體內(nèi)容和用戶-物品交互結(jié)合起來(lái),作為編碼器的輸入,引入2個(gè)圖卷積神經(jīng)網(wǎng)絡(luò),可以通過(guò)有效的端到端的隨機(jī)梯度下降,與任何相鄰的模型進(jìn)行無(wú)縫銜接。
無(wú)監(jiān)督學(xué)習(xí)GAE推薦算法在圖表示生成過(guò)程中,充分利用圖數(shù)據(jù)的隱藏信息,綜合了多種神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),在緩解數(shù)據(jù)稀疏性問(wèn)題的同時(shí)也提高了推薦算法的精度。文獻(xiàn)[12]只考慮了消息在一階鄰域的傳遞,還不能推廣到大規(guī)模的多形式數(shù)據(jù)特征提取,模型沒有很好地平衡每個(gè)節(jié)點(diǎn)的權(quán)重。但是,文獻(xiàn)[16]運(yùn)用參數(shù)共享,緩解了計(jì)算復(fù)雜度和內(nèi)存占用問(wèn)題;文獻(xiàn)[19]通過(guò)引入加速度概念,重構(gòu)了不對(duì)稱問(wèn)題。
3.1.2 圖網(wǎng)絡(luò)嵌入的GAE推薦
將無(wú)監(jiān)督學(xué)習(xí)的圖自編碼器提取的特征用于推薦模型中的網(wǎng)絡(luò)嵌入,既保留了圖數(shù)據(jù)的完整性,又降低了數(shù)據(jù)維度。
鄭誠(chéng)等人[21]提出了一種聯(lián)合注意力和自編碼器的協(xié)同過(guò)濾推薦模型——AACF(Attention Autoencoder Collaborative Filtering),該模型將GAE作為一個(gè)子模型,用于生成用戶的全局偏好,編碼器和解碼器均采用非線性函數(shù);另一個(gè)子模型為融合注意力機(jī)制的基于物品的協(xié)同過(guò)濾模型,用于提取用戶與物品之間的局部依賴關(guān)系,最后將2個(gè)結(jié)果融合推薦,用于緩解數(shù)據(jù)稀疏問(wèn)題。文獻(xiàn)[22]中采用編碼和解碼均為多層感知機(jī)的GAE進(jìn)行網(wǎng)絡(luò)嵌入,再通過(guò)其他網(wǎng)絡(luò)進(jìn)行評(píng)分預(yù)測(cè)推薦。Mahdavi等人[23]提出動(dòng)態(tài)聯(lián)合變分圖自編碼器用于學(xué)習(xí)動(dòng)態(tài)網(wǎng)絡(luò)中局部結(jié)構(gòu)和時(shí)間演變,首先分配一個(gè)特定的變分圖自編碼器,學(xué)習(xí)具有時(shí)間依賴性的圖快照;引入以圖卷積神經(jīng)網(wǎng)絡(luò)為編碼器和概率解碼器的靜態(tài)變分圖自編碼器,學(xué)習(xí)每一幅圖的低維向量表示,構(gòu)成一系列連接矩陣;在訓(xùn)練過(guò)程中共享學(xué)習(xí)到的潛在變量和時(shí)間依賴性,獲取圖之間的進(jìn)化模式,提高了動(dòng)態(tài)推薦的精度。
將無(wú)監(jiān)督GAE作為網(wǎng)絡(luò)嵌入的學(xué)習(xí)模塊,提高了提取潛在特征的完整性和推薦精度,但是模型的復(fù)雜度也隨之升高。
為了更好地保留圖中的網(wǎng)絡(luò)結(jié)構(gòu)和節(jié)點(diǎn)信息,在GAE中引入一個(gè)監(jiān)督模塊,使用監(jiān)督模塊對(duì)GAE提取的特征信息進(jìn)行鑒別取舍。
3.2.1 引入鑒別器的GAE推薦
Pan等人[24]提出了對(duì)抗正則化GAE ARGE(Adversarially Regularized Graph auto-Encoder)和對(duì)抗正則化VGAE ARVGE(Adversarially Regularized Variational Graph auto-Encoder),不僅減少了重構(gòu)錯(cuò)誤的圖數(shù)據(jù),而且還加強(qiáng)了隱藏層與先驗(yàn)分布的相似度,其中ARVGE的復(fù)雜度高于ARGE的。ARVGE結(jié)構(gòu)如圖3所示,模型利用圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取圖結(jié)構(gòu)和節(jié)點(diǎn)內(nèi)容,對(duì)隱藏空間的圖數(shù)據(jù)進(jìn)行編碼。ARGE編碼公式如式(7)和式(8)所示:
Z(1)=fReLU(X,A|W(0))
(7)
Figure 3 Adversarially regularized variational graph auto-encoder圖3 對(duì)抗正則化VGAE模型
Z(2)=fLinear(Z(1),A|W(1))
(8)
損失函數(shù)如式(9)所示:
(9)
ARVGE編碼公式如式(10)和式(11)所示:
(10)
q(zi|X,A)=N(Zi|μi,diag(σ2))
(11)
損失函數(shù)如式(12)所示:
KL[q(Z|X,A)‖p(Z)]
(12)
ARGE和ARVGE在重構(gòu)網(wǎng)絡(luò)圖信息的解碼器中,引入鑒別器規(guī)范隱藏層,增加圖表示的魯棒性。對(duì)鑒別器訓(xùn)練的目的是辨別隱藏層是符合先驗(yàn)分布還是來(lái)自GAE。鑒別器采用的是一個(gè)多層感知器,以鑒別輸入樣本是來(lái)自先驗(yàn)分布還是GAE生成的,同時(shí)訓(xùn)練生成樣本,使鑒別器確信生成的樣本來(lái)自先驗(yàn)數(shù)據(jù)分布。鑒別器訓(xùn)練方程如式(13)所示:
EX~p(X)[ln (1-D(g(X,A)))]
(13)
其中,D為鑒別器,G為生成器。在一個(gè)統(tǒng)一的框架下,對(duì)GAE進(jìn)行學(xué)習(xí)和正則化采取聯(lián)合優(yōu)化,使二者相互促進(jìn),最終得到更好的圖形數(shù)據(jù)。實(shí)驗(yàn)將ARGE和ARVGE模型與其他4個(gè)(DeepWalk[25]、SC[13]、GAE[11]和VGAE[11])鏈路預(yù)測(cè)模型進(jìn)行對(duì)比,采取AUC和AP做為評(píng)價(jià)標(biāo)準(zhǔn),在數(shù)據(jù)集Cora、Citeseer、PubMed上都表現(xiàn)出較好的性能,2個(gè)模型在3個(gè)數(shù)據(jù)集上的AP和AUC分?jǐn)?shù)都高達(dá)92%;與DeepWalk和SC相比,在大型PubMed數(shù)據(jù)集上的AP與AUC的差異分別為15.5%和10.6%。
引入鑒別器的GAE推薦,通過(guò)監(jiān)督模塊與圖自編碼器共同學(xué)習(xí)潛在表示的分布,在解決了圖數(shù)據(jù)嵌入程度低問(wèn)題的同時(shí),提高了推薦模型的魯棒性。相比于無(wú)監(jiān)督學(xué)習(xí)下的GAE推薦和VGAE推薦,推薦精度得到一定程度的提高,但是訓(xùn)練過(guò)程需要較強(qiáng)的算力支持且時(shí)間較長(zhǎng),即模型的復(fù)雜度較高。
3.2.2 引入先驗(yàn)分布的GAE推薦
Wang等人[26]為了能夠在有效捕獲高度非線性的網(wǎng)絡(luò)結(jié)構(gòu)特征的同時(shí)保持局部和全局結(jié)構(gòu)信息,提出了一種結(jié)構(gòu)化的深度嵌入方法SDNE(Structural Deep Network Embedding)。該方法首先利用一個(gè)基于多層非線性函數(shù)的一階相似性作為監(jiān)督模塊,保留局部網(wǎng)絡(luò)結(jié)構(gòu);然后無(wú)監(jiān)督組件使用二階相似性來(lái)捕獲全局網(wǎng)絡(luò)結(jié)構(gòu)。通過(guò)半監(jiān)督深度模型的監(jiān)督,既保留了局部網(wǎng)絡(luò)結(jié)構(gòu),又保留了全局網(wǎng)絡(luò)結(jié)構(gòu),對(duì)稀疏網(wǎng)絡(luò)具有較強(qiáng)的魯棒性。編碼器是一個(gè)由多個(gè)非線性函數(shù)組成的多層體系結(jié)構(gòu),多層非線性函數(shù)的組合可以將數(shù)據(jù)映射到高維非線性的潛在空間,從而能夠捕獲高維非線性網(wǎng)絡(luò)結(jié)構(gòu)。解碼器也是采用多個(gè)非線性函數(shù)的組合,將潛在空間映射到重構(gòu)空間,如式(14)所示:
k=2,…,K
(14)
損失函數(shù)如式(15)所示:
(15)
一階相似性作為監(jiān)督組件的損失函數(shù)如式(16)所示:
(16)
其中,W(k)、b(k)表示第k層網(wǎng)絡(luò)的權(quán)重和偏置參數(shù),bi為節(jié)點(diǎn)i的偏置,B為bi組成的偏置矩陣,b為隱藏層偏差矩陣,yi為節(jié)點(diǎn)i的隱藏層表示,si,j表示節(jié)點(diǎn)i與節(jié)點(diǎn)j的連接性,N為節(jié)點(diǎn)數(shù)量。SDNE方法可以很好地重構(gòu)原始網(wǎng)絡(luò),在各種網(wǎng)絡(luò)(包括非常稀疏的網(wǎng)絡(luò))上都能獲得顯著的效果。實(shí)驗(yàn)采用Arxiv GR-QC作為數(shù)據(jù)集,precision作為評(píng)定標(biāo)準(zhǔn),和5個(gè)比較流行的模型(LINE[27]、DeepWalk、Grarep[28]、Common Neihbor[29]和LE[30])進(jìn)行比較,SDNE方法具有較高的預(yù)測(cè)精度。在稀疏性問(wèn)題實(shí)驗(yàn)中,SDNE則表現(xiàn)出較強(qiáng)的魯棒性,當(dāng)刪除80%的鏈接時(shí),仍然有較好的性能表現(xiàn)。
引入先驗(yàn)分布的GAE推薦方法,不僅提高了推薦精度,緩解了數(shù)據(jù)的稀疏問(wèn)題,而且模型還具有較強(qiáng)的魯棒性。但是,模型訓(xùn)練復(fù)雜度高,且存在可解釋性不足和冷啟動(dòng)問(wèn)題。
3.2.3 引入生成對(duì)抗網(wǎng)絡(luò)的GAE推薦
為了解決輸入網(wǎng)絡(luò)中采樣序列的稀疏性和模型難以泛化問(wèn)題,Yu等人[31]提出了學(xué)習(xí)網(wǎng)絡(luò)表示與反正則化自編碼器NetRA(learn the Network representations with adversarially Regularized Auto-encoders)推薦模型,如圖4所示,其中Q為噪聲,服從正態(tài)分布N(0,1)。該模型通過(guò)共同考慮局部保持約束和全局重構(gòu)約束,平滑地學(xué)習(xí)正則化節(jié)點(diǎn)表示,可以很好地捕捉網(wǎng)絡(luò)結(jié)構(gòu),聯(lián)合推理被封裝在一個(gè)生成對(duì)抗訓(xùn)練過(guò)程中,以規(guī)避顯式先驗(yàn)分布的要求,從而具有更好的泛化性能。
Figure 4 Learn the network representations with adversarially regularized auto-encoders圖4 學(xué)習(xí)網(wǎng)絡(luò)表示與反正則化自編碼器
NetRA應(yīng)用最小網(wǎng)絡(luò)減少隱藏層損失和GAE的重構(gòu)誤差,運(yùn)用離散的長(zhǎng)短期記憶網(wǎng)絡(luò)將輸入序列映射成固定長(zhǎng)度的表示,同時(shí)對(duì)連續(xù)空間發(fā)生器進(jìn)行約束訓(xùn)練,使其與編碼器的分布保持一致。運(yùn)用生成式的對(duì)抗網(wǎng)絡(luò)訓(xùn)練過(guò)程作為互補(bǔ)條件,一方面,正則化可以提取有關(guān)數(shù)據(jù)的有用信息,另一方面,生成對(duì)抗訓(xùn)練提供了更魯棒的離散空間表示學(xué)習(xí),可以很好地解決稀疏采樣的過(guò)擬合問(wèn)題。監(jiān)督模塊通過(guò)比較來(lái)自GAE的潛在空間的樣本和來(lái)自生成器的假樣本進(jìn)行更新。實(shí)驗(yàn)基于AUC評(píng)價(jià)指標(biāo),在UCI、JDK、BLOG和DBLP數(shù)據(jù)集上和5個(gè)流行的模型(SC、DeepWalk、node2vec[17]、SDNE和ANE(Adversarial Network Embeedding)[32])進(jìn)行對(duì)比,在缺失一定比例的邊之后,選取相等數(shù)量的節(jié)點(diǎn)對(duì)之間沒有連接的節(jié)點(diǎn)作為負(fù)樣本,NetRA在所有數(shù)據(jù)集上的AUC評(píng)分提高了3%~32%。
文獻(xiàn)[24]中的鑒別器借鑒了對(duì)抗生成網(wǎng)絡(luò)的思想,文獻(xiàn)[31]則是引入生成對(duì)抗網(wǎng)絡(luò)的GAE推薦模型,兩者最本質(zhì)的區(qū)別是采用了不同的神經(jīng)網(wǎng)絡(luò),后者具有較好的泛化性,不僅緩解了數(shù)據(jù)稀疏問(wèn)題,還提高了模型的魯棒性和推薦精度。但是,依然存在推薦的不可解釋性和冷啟動(dòng)問(wèn)題,且模型訓(xùn)練復(fù)雜度高。
3.2.4 引入其他網(wǎng)絡(luò)的GAE推薦
在半監(jiān)督學(xué)習(xí)GAE推薦框架中的監(jiān)督模塊可以是鑒別器、先驗(yàn)分布和生成對(duì)抗網(wǎng)絡(luò),也可以是其他的神經(jīng)網(wǎng)絡(luò),如注意力機(jī)制、顯性因子等。
Ma等人[33]引入注意力機(jī)制作為監(jiān)督模塊,提出了一種門控注意力-自編碼器GATE(GATEd attentive-autoencoder)模型。通過(guò)一個(gè)神經(jīng)門控結(jié)構(gòu)學(xué)習(xí)物品的潛在表示和評(píng)級(jí),在融合表示的基礎(chǔ)上,利用物品之間的鄰近關(guān)系幫助推斷用戶的偏好。字詞級(jí)和鄰域級(jí)注意力機(jī)制作為監(jiān)督模塊。字詞級(jí)注意力學(xué)習(xí)物品的隱藏表示,同時(shí)通過(guò)分配較大的注意力權(quán)重系數(shù),使得隱藏表示的學(xué)習(xí)傾向于信息性詞匯;鄰域級(jí)別的注意力機(jī)制通過(guò)加權(quán)方式考慮其鄰域來(lái)學(xué)習(xí)物品鄰域的隱藏表示,其優(yōu)點(diǎn)在于緩解了合并異構(gòu)數(shù)據(jù)難的問(wèn)題,使用注意力機(jī)制輔助學(xué)習(xí)隱藏表示,來(lái)學(xué)習(xí)得到更好的物品的特征 。Yu等人[34]基于對(duì)抗圖卷積網(wǎng)絡(luò)增強(qiáng)社會(huì)推薦(Enhancing Social Recommendation with Adversarial Graph Convolutional Networks)提出了一種基于GCN的深度對(duì)抗推薦算法AGCN(Adversarial Graph Convolutional Networks)算法。使用GAE重構(gòu)節(jié)點(diǎn)之間關(guān)系,編碼器是疊加的GCN層,模擬節(jié)點(diǎn)之間的消息傳遞,獲取社交影響力,解碼器采用多層感知機(jī)輸出節(jié)點(diǎn)之間的新關(guān)系,監(jiān)督模塊是一個(gè)融入環(huán)境變化的注意力機(jī)制,權(quán)衡鄰居之間的貢獻(xiàn)度并選擇性地聚合信息。AGCN具有可處理多層面社會(huì)關(guān)系的優(yōu)點(diǎn)。Yang 等人[35]提出了一種多模態(tài)變分圖自編碼器模型,是一種單邊多解碼器框架。編碼器GCN通過(guò)固定大小的鄰域采樣,實(shí)現(xiàn)對(duì)GCN的分批訓(xùn)練,顯性因子作為標(biāo)簽用于監(jiān)督,在訓(xùn)練過(guò)程中使用同一個(gè)編碼器,用不同的解碼器進(jìn)行迭代訓(xùn)練。解碼器網(wǎng)絡(luò)由3個(gè)解碼器組成,每個(gè)解碼器模擬一個(gè)特定信號(hào)的生成過(guò)程,分別為重構(gòu)網(wǎng)絡(luò)連接、恢復(fù)邊緣屬性和恢復(fù)擴(kuò)散內(nèi)容鏈接。
在半監(jiān)督學(xué)習(xí)GAE推薦中,監(jiān)督模塊具有多樣性,比如鑒別器、生成對(duì)抗網(wǎng)絡(luò)、先驗(yàn)分布、顯性因子和注意力機(jī)制。雖然推薦精度得到了提高,數(shù)據(jù)稀疏性得到了緩解,但是帶來(lái)了模型復(fù)雜度高等問(wèn)題。
GAE推薦根據(jù)GAE框架的特點(diǎn),提取用戶和物品的隱表示,根據(jù)隱表示進(jìn)行網(wǎng)絡(luò)嵌入或鏈接生成,從而實(shí)現(xiàn)推薦。表1列出了部分無(wú)監(jiān)督學(xué)習(xí)GAE推薦、半監(jiān)督學(xué)習(xí)GAE推薦的特點(diǎn)及其優(yōu)缺點(diǎn)。
GAE推薦模型雖然具有推薦精度高、數(shù)據(jù)稀疏、魯棒性強(qiáng)和可泛化性強(qiáng)等優(yōu)點(diǎn),但GAE推薦仍然存在以下不足:
(1)不可解釋性。
GAE推薦模型是一種端到端的模型,將多源異構(gòu)數(shù)據(jù)處理后作為輸入,直接預(yù)測(cè)用戶對(duì)物品的評(píng)分或者偏好。如文獻(xiàn)[34]提出的AGCN模型,模型訓(xùn)練的結(jié)果是更新網(wǎng)絡(luò)節(jié)點(diǎn)之間的連接權(quán)重,鄰居節(jié)點(diǎn)之間的權(quán)重更新是根據(jù)GCN,環(huán)境節(jié)點(diǎn)的權(quán)重更新是根據(jù)注意力機(jī)制,推薦結(jié)果究竟源自環(huán)境還是鄰居,很難給出直接的解釋說(shuō)明。
(2)用戶的冷啟動(dòng)問(wèn)題。
GAE推薦模型需要一定的用戶行為數(shù)據(jù),對(duì)于新用戶,沒有行為數(shù)據(jù),如文獻(xiàn)[26]所提出的SDNE模型,很難學(xué)習(xí)出新的節(jié)點(diǎn)的表示,因此難以對(duì)新用戶或新物品做出有效的個(gè)性化推薦。
(3)模型訓(xùn)練復(fù)雜度高。
參數(shù)共享可以適當(dāng)緩解訓(xùn)練復(fù)雜度高的問(wèn)題[16],但是GAE推薦模型融合了多種神經(jīng)網(wǎng)絡(luò),編解碼可能使用不同的神經(jīng)網(wǎng)絡(luò)。如文獻(xiàn)[12]提出的GC-MC模型,只考慮了信息在一階鄰域上的傳遞,在為每一個(gè)用戶推薦時(shí),都要在圖結(jié)構(gòu)數(shù)據(jù)上進(jìn)行全圖迭代,訓(xùn)練過(guò)程的時(shí)間復(fù)雜度較高,實(shí)時(shí)、離線推薦均有難度。除了參數(shù)共享,還可引入現(xiàn)有的一些其他方法緩解模型復(fù)雜度高的問(wèn)題,如裁剪方法、稀疏正則化方法、分解方法、離散余弦變換和采用GPU計(jì)算等。
(4)難以表示多源異構(gòu)數(shù)據(jù)。
雖然有些GAE推薦模型提取和表示了多源異構(gòu)數(shù)據(jù),如文獻(xiàn)[20]將用戶-物品交互的多媒體數(shù)據(jù)作為信息來(lái)源,提取更多、更有用的特征信息;文獻(xiàn)[34]引入注意力機(jī)制,通過(guò)加權(quán)的方式考慮其鄰域并學(xué)習(xí)鄰域的隱藏表示,適當(dāng)緩解了合并數(shù)據(jù)難的問(wèn)題,但是多源異構(gòu)數(shù)據(jù)種類繁多,難以提取和表示,而實(shí)現(xiàn)對(duì)多源異構(gòu)數(shù)據(jù)的提取和表示,將有利于GAE跨領(lǐng)域推薦的研究和GAE多場(chǎng)景聯(lián)合推薦的研究。
互聯(lián)網(wǎng)的迅速發(fā)展和數(shù)據(jù)多源異構(gòu)的演變,表示學(xué)習(xí)方法和生成模型越來(lái)越受重視,基于GAE的個(gè)性化推薦研究與應(yīng)用越來(lái)越多。未來(lái)GAE推薦的主要研究方向有:
(1)GAE推薦的可解釋性研究。
GAE推薦模型在推薦精度上具有較好的表現(xiàn),有時(shí)還需要展示恰當(dāng)?shù)耐扑]理由告訴用戶為什么系統(tǒng)會(huì)做出這樣的推薦。提高GAE推薦模型的可解釋性可以提高用戶的滿意度和可接受度。因此,可以從數(shù)據(jù)和模型的角度去研究,提高GAE推薦模型的可解釋性。
Table 1 Advantages and disadvantages of GAE recommendations
(2)基于GAE的跨領(lǐng)域推薦。
隨著數(shù)據(jù)獲取能力的不斷提升,用戶在不同領(lǐng)域的歷史記錄或物品在不同領(lǐng)域的信息能夠被獲取。將跨領(lǐng)域信息融入到GAE推薦中,在一定程度上可緩解GAE推薦中的冷啟動(dòng)問(wèn)題。當(dāng)前針對(duì)跨領(lǐng)域推薦研究最主要的方法有基于協(xié)同過(guò)濾的方法[36]、基于遷移學(xué)習(xí)的方法[37]和基于張量分解的方法[38]等。但是,這些方法都只針對(duì)不同領(lǐng)域中特定類型的信息進(jìn)行融合,適應(yīng)性非常有限,未來(lái)可以將跨領(lǐng)域信息融合到GAE推薦中。未來(lái)利用GAE進(jìn)行跨領(lǐng)域推薦將是研究者研究的重點(diǎn)方向。
(3)將現(xiàn)有推薦方法與GAE推薦相結(jié)合。
傳統(tǒng)的推薦方法很難有效提取到用戶和物品的隱表示。在GAE推薦模型的編碼器和解碼器中,綜合應(yīng)用不同神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),融合廣泛的多源異構(gòu)數(shù)據(jù),學(xué)習(xí)到更加抽象、更加稠密的用戶和物品的深層次表示,同時(shí)采用深層次神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建預(yù)測(cè)模型也能夠抓住用戶和物品之間交互的非線性結(jié)構(gòu)特征[39,40]。因此,將傳統(tǒng)的推薦方法應(yīng)用在GAE推薦中,能夠融合各自的優(yōu)勢(shì),雖然目前已經(jīng)有相關(guān)的研究出現(xiàn),但是該方向還是值得關(guān)注的。
(4)融入注意力機(jī)制的GAE推薦。
融入注意力機(jī)制的模型在機(jī)器視覺和自然語(yǔ)言處理等領(lǐng)域都取得了較大的進(jìn)展。當(dāng)前已有GAE推薦模型引入注意力機(jī)制,如文獻(xiàn)[33,34]都在模型的監(jiān)督模塊中引入注意力機(jī)制,增強(qiáng)了特征提取的準(zhǔn)確性,如重要信息的權(quán)重,避免了噪聲的干擾。在GAE推薦模型的編碼和解碼過(guò)程中引入注意力機(jī)制的研究較少,值得未來(lái)廣泛研究。
(5)融合各種類型情景的GAE推薦。
文獻(xiàn)[20]在提取用戶和物品特征時(shí),只是融入了多媒體內(nèi)容,未來(lái)GAE推薦在推薦內(nèi)容、推薦對(duì)象等各個(gè)方面都將朝著越來(lái)越多元的方向發(fā)展[40]。將GAE推薦應(yīng)用在社交網(wǎng)絡(luò)、情景感知、單一用戶、群組用戶或融合多種情景模式中進(jìn)行推薦,也將是可推薦的研究方向。
隨著深度學(xué)習(xí)的發(fā)展,GAE推薦模型變得多樣化,無(wú)論是用于圖數(shù)據(jù)生成、網(wǎng)絡(luò)嵌入還是引入監(jiān)督模塊,都具有各自的優(yōu)缺點(diǎn),實(shí)際運(yùn)用時(shí)需要根據(jù)不同的場(chǎng)景選取不同的模型,選其優(yōu)點(diǎn),避開其缺陷。本文從無(wú)監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的角度出發(fā),針對(duì)當(dāng)前GAE推薦的主要研究現(xiàn)狀進(jìn)行了深入探討,分析了現(xiàn)有GAE推薦的優(yōu)點(diǎn),如緩解了數(shù)據(jù)稀疏性問(wèn)題、推薦精度高、魯棒性強(qiáng)、泛化性高等,指出了當(dāng)前GAE推薦存在的不足,如存在冷啟動(dòng)問(wèn)題、可解釋性差、模型復(fù)雜度高等問(wèn)題。并展望了未來(lái)的主要研究方向,如GAE推薦的可解釋性、基于GAE的跨領(lǐng)域推薦、結(jié)合現(xiàn)有的推薦方法、融合各類場(chǎng)景的GAE推薦等。