潘潤超,虞啟山,熊泓霏,劉智慧
(中國地質(zhì)大學(xué)(武漢)數(shù)學(xué)與物理學(xué)院,武漢 430074)
隨著信息技術(shù)的日益發(fā)展,互聯(lián)網(wǎng)提供的信息量迅速膨脹。用戶如何在海量信息中獲取有價值的信息成為一個充滿挑戰(zhàn)性的問題。推薦系統(tǒng)是解決此問題的有效手段,通過推薦算法能根據(jù)用戶需求從海量數(shù)據(jù)中挖掘用戶感興趣的項(xiàng)目,并將此項(xiàng)目以個性化的方式推薦給用戶。
目前,推薦系統(tǒng)的算法主要有基于內(nèi)存的推薦算法和基于模型的推薦算法[1]?;趦?nèi)存的推薦算法利用用戶間或項(xiàng)目間的相似度對項(xiàng)目進(jìn)行推薦;基于模型的推薦算法通過機(jī)器學(xué)習(xí)等算法訓(xùn)練一個模型[2],利用模型模擬相似關(guān)系,使模型可以離線訓(xùn)練、在線推薦。
近年來,深度學(xué)習(xí)在圖像處理、語言識別和自然語言處理等領(lǐng)域取得了突破性進(jìn)展,它在推薦系統(tǒng)上的應(yīng)用也取得了引人關(guān)注的結(jié)果。相較于傳統(tǒng)的推薦算法,基于深度學(xué)習(xí)的推薦算法能更好地挖掘用戶和項(xiàng)目更深層次特征。Sedhain 等[3]在2015 年提出了基于自編碼器的AutoRec 模型,通過自編碼獲得用戶對項(xiàng)目的預(yù)估評分,進(jìn)而得到推薦結(jié)果;2016 年Cheng 等[4]結(jié)合神經(jīng)網(wǎng)絡(luò)和邏輯回歸,提出了Wide &Deep 模型,利用線性模型增強(qiáng)模型的記憶能力,通過神經(jīng)網(wǎng)絡(luò)增強(qiáng)模型的泛化能力,在大型推薦場景下得到了廣泛的運(yùn)用。
近期學(xué)者們將圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)[5]應(yīng)用于推薦系統(tǒng)。Berg 等[6]在2018 年提出了基于圖卷積矩陣補(bǔ)全(Graph Convolutional Matrix Completion,GCMC)的推薦算法;2018 年Ying 等[7]提出了Pinsage 模型,基于圖采樣和聚集算法Graphsage(Graph sample and aggregate)[8]將隨機(jī)游走和圖卷積網(wǎng)絡(luò)相結(jié)合,利用采樣得到的鄰域節(jié)點(diǎn)信息完成圖的卷積操作,得到用戶與項(xiàng)目的協(xié)同信號,進(jìn)而得到預(yù)測評分;2019 年Wang 等[9]提出了神經(jīng)圖協(xié)同過濾(Neural Graph Collaborate Filtering,NGCF)模型,基于圖卷積神經(jīng)網(wǎng)絡(luò),引入高階連通性區(qū)分不同圖卷積層得到的不同鄰居特征,采用多層圖卷積的組合表示用戶和項(xiàng)目的高階特征;受簡化圖卷積(Simple Graph Convolution,SGC)[10]啟發(fā),Chen 等[11]提出了線性殘差圖卷積協(xié)同過濾(Linear Residual Graph Convolution Collaborative Filtering,LR-GCCF)算法,使用線性網(wǎng)絡(luò)進(jìn)行圖卷積操作,并使用殘差連接的方式聚合不同卷積層得到的用戶項(xiàng)目特征;2020 年He 等[12]將NGCF 簡化成線性網(wǎng)絡(luò),提出了輕量圖卷積(Light Graph Convolution,LGC)模型,加強(qiáng)了圖網(wǎng)絡(luò)的鄰居聚合,網(wǎng)絡(luò)速度和性能得到了提升。
相較于基于非圖深度學(xué)習(xí)的推薦算法,GNN 的推薦算法考慮了用戶和項(xiàng)目間的拓?fù)浣Y(jié)構(gòu)信息特征,能更充分地表示用戶和項(xiàng)目特征。然而,GNN 往往會出現(xiàn)過平滑性問題[13-15]。過平滑性是指GNN 在堆疊多個圖卷積層時,節(jié)點(diǎn)特征聚合過多高階節(jié)點(diǎn)信息,導(dǎo)致節(jié)點(diǎn)的輸出特征過于平滑,無法區(qū)分不同類別的節(jié)點(diǎn),造成模型性能隨著網(wǎng)絡(luò)層數(shù)的增加反而降低。例如,NGCF 算法在網(wǎng)絡(luò)的第三層就達(dá)到了最佳性能;LR-GCCF 和LGC 算法在聚集二階或者三階鄰居之后,網(wǎng)絡(luò)性能快速下降。這些算法由于網(wǎng)絡(luò)的層數(shù)較少,無法使網(wǎng)絡(luò)進(jìn)行深度學(xué)習(xí)獲得用戶和項(xiàng)目的深層特征。2020年Chen 等[16]提出一種深度圖卷積網(wǎng)絡(luò)GCNII(Graph Convolution Network with Initial residual and Identity mapping),通過初始?xì)埐钸B接和恒等映射避免了網(wǎng)絡(luò)的過平滑,確保GNN 能進(jìn)行深度學(xué)習(xí),并通過理論和實(shí)驗(yàn)證明了GCNII 的有效性。
受文獻(xiàn)[16]的啟發(fā),本文將GCNII 應(yīng)用于推薦系統(tǒng),提出一種基于深度GNN 的協(xié)同過濾推薦算法Deep NGCF(Deep Neural Graph Collaborative Filtering)。Deep NGCF 通過網(wǎng)絡(luò)獲得用戶和項(xiàng)目的高階協(xié)同信號,即先通過用戶-項(xiàng)目的交互歷史構(gòu)建GNN 的歸一化鄰接矩陣,進(jìn)而得到用戶和項(xiàng)目的初始嵌入表達(dá),再在聚合傳播層采用初始?xì)埐钸B接和恒等映射得到用戶和項(xiàng)目的不同階協(xié)同信號,隨后所有協(xié)同信號進(jìn)行線性表示,最終得到推薦結(jié)果。
Deep NGCF 算法主要由嵌入層、聚合傳播層、評分預(yù)測層和模型訓(xùn)練四部分組成。在嵌入層,引入用戶-項(xiàng)目的交互歷史,為每一個用戶和每一個項(xiàng)目進(jìn)行初始化嵌入,根據(jù)用戶和項(xiàng)目的交互歷史構(gòu)建GNN 的歸一化鄰接矩陣,以此獲得用戶和項(xiàng)目的初始嵌入矩陣;在聚合傳播層,應(yīng)用初始?xì)埐钸B接和恒等映射獲得用戶和項(xiàng)目的協(xié)同信號;在評分預(yù)測層,對不同層的用戶項(xiàng)目協(xié)同信號進(jìn)行聚合,得到模型預(yù)測評分;最后,采用損失函數(shù)最小化對模型進(jìn)行訓(xùn)練。
本文構(gòu)建的GNN 由用戶和項(xiàng)目兩類節(jié)點(diǎn)組成。構(gòu)建用戶-項(xiàng)目二向圖G=(U,I),其中:U=[u1,u2,…,um]表示m個用戶構(gòu)成的矩陣;I=[i1,i2,…,in]表示n個項(xiàng)目構(gòu)成的矩陣。令R=(rij)mn為評分矩陣,表示用戶和項(xiàng)目的歷史交互,rij的值為1 或0:若rij=1,則表示用戶ui和項(xiàng)目ij有歷史交互;若rij=0,則表示用戶ui和項(xiàng)目ij沒有歷史交互。一個用戶可以對多個項(xiàng)目進(jìn)行評分,同樣一個項(xiàng)目也可以被多個用戶打分。圖1 展示了3 個用戶和4 個項(xiàng)目構(gòu)成的用戶-項(xiàng)目二向圖以及該二向圖構(gòu)成的評分矩陣。用戶-項(xiàng)目二向圖G的鄰接矩陣A可表示為:
圖1 二向圖及其評分矩陣Fig.1 Bidirectional graph and its scoring matrix
采用度矩陣D對矩陣A進(jìn)行歸一化:
其中:度矩陣D為對角矩陣,它的主對角上元素dii為矩陣A第i行所有元素之和;矩陣S為歸一化拉普拉斯矩陣。
通常情況下,矩陣S是一個較大的稀疏矩陣。若直接使用S進(jìn)行計(jì)算,會消耗較多的計(jì)算資源。為此,引入用戶和項(xiàng)目的初始嵌入矩陣
其中,W為需要學(xué)習(xí)的參數(shù)矩陣,可對矩陣S進(jìn)行稠密化處理,提高運(yùn)算效率;另外W還是用戶和項(xiàng)目歷史特征的權(quán)重矩陣,對用戶和項(xiàng)目的嵌入表達(dá)可以進(jìn)行更好的學(xué)習(xí)。
聚合傳播層通過圖卷積神經(jīng)網(wǎng)絡(luò)尋找圖中節(jié)點(diǎn)的相似節(jié)點(diǎn),并聚合每個節(jié)點(diǎn)的相似節(jié)點(diǎn)信息,從而獲得每個節(jié)點(diǎn)的高階協(xié)同信號。聚合傳播層主要由初始?xì)埐钸B接和恒等映射組成。在聚合傳播層引入初始?xì)埐钸B接和恒等映射可以降低GNN 的過平滑性,聚集用戶項(xiàng)目更多的歷史交互信息,從而提升推薦的精度。
1.2.1 初始?xì)埐钸B接
網(wǎng)絡(luò)中的殘差連接通過學(xué)習(xí)層與層之間的差異,使網(wǎng)絡(luò)傳遞至深層時,可以繼續(xù)學(xué)習(xí)高階特征,從而提升網(wǎng)絡(luò)性能。GNN 中的殘差連接一般具有如下形式:
其中:E(l)為網(wǎng)絡(luò)第l層輸出;E(l-1)為網(wǎng)絡(luò)第l層的輸入。在GNN 中使用殘差連接能緩解過平滑現(xiàn)象,但在堆疊多層時,依舊會出現(xiàn)過平滑現(xiàn)象[17];此外,僅使用第l-1 層的結(jié)果作為第l層的輸入并不合理,因?yàn)檫^平滑可能在第l-1 層前就已經(jīng)出現(xiàn)了[18]。為避免以上現(xiàn)象,采用初始?xì)埐钸B接替代殘差連接:
其中,E(0)表示用戶和項(xiàng)目的初始嵌入。采用初始?xì)埐羁梢源_保網(wǎng)絡(luò)在傳播至任意層時含有網(wǎng)絡(luò)的初始信息,避免網(wǎng)絡(luò)在傳播至深層時丟失信息而收斂至一個子空間[19]。
為增加網(wǎng)絡(luò)的靈活性和表達(dá)能力,使用參數(shù)α(0 <α<1)對上一層聚合傳播特征和初始?xì)埐畋戎剡M(jìn)行調(diào)節(jié)[16]:
其中,α既保證了模型攜帶初始信息,避免模型陷入過平滑,又能確保模型學(xué)習(xí)到深層網(wǎng)絡(luò)信息,增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力。
1.2.2 恒等映射
為使網(wǎng)絡(luò)學(xué)習(xí)用戶與項(xiàng)目間的非線性特征,在式(6)中加入非線性激活函數(shù),但僅使用式(6)中的初始?xì)埐钸B接并不足以避免過平滑。為此,借鑒殘差網(wǎng)絡(luò)[16]中恒等映射的想法,在網(wǎng)絡(luò)中加入恒等映射:
其中:W(l-1)表示需要訓(xùn)練的參數(shù)矩陣;I表示單位矩陣;σ表示非線性激活函數(shù)。
為提高模型性能,在式(7)中設(shè)置參數(shù)β(0 <β<1)控制I和W(l-1)的比重。因此,本文Deep NGCF 算法的聚合傳播層的表達(dá)式為:
其中,β用于控制恒等映射部分矩陣(1 -β)I+βW(l-1)的特征值,合適的β值能使(1 -β)I+βW(l-1)的最大特征值接近1,從而降低網(wǎng)絡(luò)傳播中信息傳遞的損失[19]。
1.2.3 預(yù)測評分層
經(jīng)過嵌入層和l層的傳播,能得到用戶項(xiàng)目矩陣E(k)(0 ≤k≤l),E(k)包含了用戶和項(xiàng)目的協(xié)同信號。由于不同層得到的E(k)包含不同的協(xié)同信號,因此對不同層的用戶項(xiàng)目矩陣E(k)進(jìn)行聚合:
其中,ak(k=0,1,…,l)為任意的實(shí)數(shù)。
Deep NGCF 算法聚合傳播和評分預(yù)測的流程如圖2所示。
圖2 聚合傳播和評分預(yù)測流程圖Fig.2 Flowchart of aggregation and propagation as well as score prediction
1.2.4 模型訓(xùn)練
本文采用貝葉斯個性化排序(Bayesian Personalized Ranking,BPR)損失函數(shù)[20]訓(xùn)練Deep NGCF 中的參數(shù):
本章對Deep NGCF 算法進(jìn)行實(shí)驗(yàn)分析。首先介紹了使用的數(shù)據(jù)集、比較算法、評價指標(biāo)、實(shí)驗(yàn)環(huán)境和參數(shù)設(shè)置;然后進(jìn)行算法對比實(shí)驗(yàn);最后設(shè)計(jì)了消融實(shí)驗(yàn)和超參數(shù)實(shí)驗(yàn)。
本文使用的數(shù)據(jù)集為:Gowalla[21]、Yelp-2018[22]和Amazon-Book[23]。Gowalla 數(shù)據(jù)集為簽到數(shù)據(jù)集,本文將該數(shù)據(jù)集中用戶分享的地址視為項(xiàng)目;Yelp-2018 數(shù)據(jù)集來自2018 年的挑戰(zhàn)賽,本文將該數(shù)據(jù)集中當(dāng)?shù)氐纳虡I(yè)建筑視為項(xiàng)目;Amazon-Book 數(shù)據(jù)集來自亞馬遜購物網(wǎng)站,本文選用亞馬遜售賣的圖書作為項(xiàng)目。數(shù)據(jù)集信息如表1 所示。
表1 數(shù)據(jù)集的統(tǒng)計(jì)信息Tab.1 Statistics of datasets
為保證實(shí)驗(yàn)中數(shù)據(jù)集的質(zhì)量,本文選取10 核操作,選擇的每個節(jié)點(diǎn)至少有10 次交互,即每個用戶至少有10 條的項(xiàng)目交互記錄,每個項(xiàng)目至少有10 條用戶交互記錄。對每個數(shù)據(jù)集,隨機(jī)選擇80%的數(shù)據(jù)作為訓(xùn)練集,10%的數(shù)據(jù)組成驗(yàn)證集,10%的數(shù)據(jù)組成測試集。
本文將Deep NGCF 算法與5 種算法進(jìn)行比較,對比算法如下:
1)基于貝葉斯個性化排序的矩陣分解(Matrix Factorization with Bayesian Personalized Ranking,BPRMF)模型[20]:基于矩陣分解模型,使用BPR 損失函數(shù)優(yōu)化模型。
2)GCMC[6]:將用戶-項(xiàng)目關(guān)系預(yù)測視為鏈路預(yù)測問題,采用圖卷積網(wǎng)絡(luò)對用戶和項(xiàng)目的嵌入表示進(jìn)行學(xué)習(xí)。
3)NGCF[9]:基于GNN 的協(xié)同過濾模型,是一個可以堆疊多層網(wǎng)絡(luò)的非線性模型,設(shè)計(jì)了一種高階聯(lián)通的信息傳播方式。
4)LR-GCCF[11]:簡化了GNN,去除了GNN 中的非線性激活函數(shù),使模型訓(xùn)練速度大幅提升。
5)LGC[12]:簡化了NGCF,去除了NGCF 中的非線性激活函數(shù)和特征學(xué)習(xí),是一個線性模型,大幅度降低了模型的復(fù)雜度和訓(xùn)練時間。
上述5 種算法中,除第1 種算法是經(jīng)典的矩陣分解推薦算法,另外4 種都是基于GNN 的推薦算法。
本文采用召回率(Recall)[23]和歸一化折損累計(jì)增益(Normalize Discounted Cumulative Gain,DDCG)[23]對模型性能進(jìn)行評價,簡寫為R@k和N@k。
其中:k為推薦項(xiàng)目個數(shù);ntest表示測試集項(xiàng)目個數(shù);Hit@k為預(yù)測項(xiàng)目在測試集中出現(xiàn)的個數(shù)。
其中:Zk為歸一化系數(shù);qi表示推薦結(jié)果位于位置i的項(xiàng)目的相關(guān)性系數(shù),若該推薦項(xiàng)目在測試集,則qi=1;若該推薦項(xiàng)目不在測試集中,則qi=0。
實(shí)驗(yàn)環(huán)境如下:Python 3.6.2;系統(tǒng)環(huán)境為Centos 7.8;深度學(xué)習(xí)框架PyTorch 1.4.0;GPU 為Tesla V100。
實(shí)驗(yàn)中所有算法采用xavier 進(jìn)行初始化,采用Adam 優(yōu)化器,訓(xùn)練1 000 epoches。為防止網(wǎng)絡(luò)過擬合,訓(xùn)練過程中采取隨機(jī)dropout 算法,每層隨機(jī)丟失比率設(shè)置為0.2。在BPRMF 模型中,正則化系數(shù)設(shè)為10-3,學(xué)習(xí)率設(shè)為10-3;在LR-GCCF 模型中,正則化系數(shù)設(shè)為0.01,學(xué)習(xí)率設(shè)為10-3;在NGCF 模型中,網(wǎng)絡(luò)層數(shù)設(shè)置為3,正則化系數(shù)設(shè)為10-4,學(xué)習(xí)率設(shè)為10-3;在LGC 模型中,正則化系數(shù)設(shè)為10-4;在GCMC模型中,正則化系數(shù)設(shè)為10-3,學(xué)習(xí)率設(shè)為0.01。
對本文的Deep NGCF 算法,網(wǎng)絡(luò)層數(shù)設(shè)置為16,正則化系數(shù)設(shè)為10-5,學(xué)習(xí)率設(shè)置為0.001,網(wǎng)絡(luò)層數(shù)為16。超參數(shù)在Gowalla、Yelp-2018 和Amazon-Book3 個數(shù)據(jù)集上分別訓(xùn)練1 500、2 000和3 000 epoches。
將Deep NGCF 算法與5 個對比算法進(jìn)行比較,實(shí)驗(yàn)結(jié)果如表2 所示??梢缘玫饺缦陆Y(jié)論:
表2 不同推薦算法的性能比較Tab.2 Performance comparison of different recommendation algorithms
1)基于矩陣分解的BPRMF 算法的推薦性能不高,這主要是因?yàn)樵撍惴ㄍㄟ^隱向量的方式預(yù)測用戶和項(xiàng)目之間的評分[24-25],沒有考慮用戶和項(xiàng)目間存在的圖結(jié)構(gòu),即沒有考慮用戶和項(xiàng)目之間的交互信息。
2)與BPRMF 算法相比,基于GNN 的5 種算法(GCMC、NGCF、LR-GCCF、LGC 和Deep NGCF 算法)具有更好的推薦性能。這主要是因?yàn)榛贕NN 的算法利用了圖的拓?fù)浣Y(jié)構(gòu)信息,以顯式的方式提供了用戶和項(xiàng)目間的交互信息,使模型可以依據(jù)用戶和項(xiàng)目的歷史交互連通性進(jìn)行建模[26],更充分地表示用戶和項(xiàng)目間的特征。
3)Deep NGCF 算法的推薦性能優(yōu)于4 種基于GNN 的算法(GCMC、NGCF、LR-GCCF 和LGC 算法),在3 個數(shù)據(jù)集上取得了最高的召回率和歸一化折損累計(jì)增益。主要原因是,Deep NGCF 算法在聚合傳播層采用了初始?xì)埐钸B接,這樣網(wǎng)絡(luò)傳播至深層時依舊保留初始信息,避免了模型收斂于一個子空間而造成的性能損失。Deep NGCF 優(yōu)于LGC 的主要原因是在聚合傳播層添加了恒等映射,網(wǎng)絡(luò)在線性模型的基礎(chǔ)上進(jìn)一步學(xué)習(xí)了用戶和項(xiàng)目間的非線性關(guān)系。
本節(jié)通過消融實(shí)驗(yàn)驗(yàn)證Deep NGCF 算法中恒等映射和非線性激活函數(shù)和的有效性。設(shè)計(jì)了3 個實(shí)驗(yàn)進(jìn)行驗(yàn)證:
A1:去除Deep NGCF 中的恒等映射。
A2:去除Deep NGCF 中的非線性激活函數(shù)。
A3:同時去掉Deep NGCF 中的恒等映射和非線性激活函數(shù)。
實(shí)驗(yàn)結(jié)果如表3 所示。A1 沒有使用恒等映射,缺少了鄰居特征的學(xué)習(xí),它的性能低于Deep NGCF 算法。A2 沒有使用非線性激活函數(shù),缺少了用戶與項(xiàng)目的非線性特征的學(xué)習(xí),在Gowalla 數(shù)據(jù)集上的召回率比Deep NGCF 算法降低了16.71%,驗(yàn)證了非線性激活函數(shù)的有效性。A3 在A1 的基礎(chǔ)上去掉了非線性函數(shù),它的性能略低于Deep NGCF 算法,但與A1 和A2 相比,推薦性能大幅提升,主要原因是去除這兩個模塊后,使得模型易于訓(xùn)練,減少了噪聲信息的干擾;但是,A3 模型并沒有避免過平滑性問題,因此它的性能依然低于Deep NGCF 算法。
表3 消融實(shí)驗(yàn)結(jié)果Tab.3 Ablation experimental results
不同網(wǎng)絡(luò)層數(shù)在3 個不同數(shù)據(jù)集下的實(shí)驗(yàn)結(jié)果如表4 所示。可以看出:1)Deep NGCF 算法在網(wǎng)絡(luò)層數(shù)為16 時取得了最優(yōu)的實(shí)驗(yàn)結(jié)果;2)當(dāng)網(wǎng)絡(luò)層數(shù)從3 增加到16 時,隨著網(wǎng)絡(luò)層數(shù)的增加,Deep NGCF 算法的推薦性能不斷提升,說明Deep NGCF 算法可以從深度網(wǎng)絡(luò)中獲得更多的特征信息,避免了GNN 的過平滑性;3)當(dāng)網(wǎng)絡(luò)層數(shù)從16 增加到20 時,Deep NGCF 算法推薦性能有所下降,但沒有像過平滑現(xiàn)象一樣下降得特別快,這主要是因?yàn)檫^深的網(wǎng)絡(luò)層數(shù)可能在網(wǎng)絡(luò)學(xué)習(xí)時引入噪聲,從而導(dǎo)致模型性能下降。
表4 網(wǎng)絡(luò)層數(shù)對模型性能的影響Tab.4 Influence of number of network layers on model performance
2.8.1 正則化系數(shù)λ取不同值的實(shí)驗(yàn)對比
λ∈{10-6,10-5,10-4,10-3,10-2,10-1}在3 個不同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖3 所示。從圖3 可知,Deep NGCF 算法對正則化系數(shù)λ比較敏感。當(dāng)λ<10-5時,推薦性能提升;當(dāng)λ>10-5時,推薦性能不斷下降;當(dāng)λ=10-5時,Deep NGCF 算法推薦性能最好。
圖3 正則化系數(shù)λ對性能的影響Fig.3 Influence of regularization coefficient λ on performance
2.8.2 超參數(shù)性能影響
本節(jié)進(jìn)行超參數(shù)α和β不同取值的實(shí)驗(yàn)對比。在3 個數(shù)據(jù)集上,α∈{10-5,10-4,10-3,10-2,10-1}的實(shí)驗(yàn)結(jié)果如圖4 所示;β∈{10-4,10-3,10-2,10-1}的實(shí)驗(yàn)結(jié)果如圖5 所示。
圖4 超參數(shù)α對性能的影響Fig.4 Influence of hyperparameter α on performance
圖5 超參數(shù)β對性能的影響Fig.5 Influence of hyperparameter β on performance
從圖4~5,可以看出:1)當(dāng)α=10-2時,Deep NGCF 算法推薦性能最好,α過大或過小,推薦性能不佳,這是因?yàn)椋寒?dāng)α過小時,模型攜帶初始信息較少,使網(wǎng)絡(luò)陷入過平滑問題;當(dāng)α過大時,網(wǎng)絡(luò)攜帶較多的初始信息,無法學(xué)習(xí)到深層網(wǎng)絡(luò)信息,從而抑制模型的表達(dá)能力。2)當(dāng)β=10-2時,Deep NGCF算法達(dá)到了最好的推薦效果。若β過大,推薦性能較差,這主要是因?yàn)楹愕扔成湓诰W(wǎng)絡(luò)中的作用較小,網(wǎng)絡(luò)陷入過平滑現(xiàn)象,從而導(dǎo)致模型性能降低。
為解決現(xiàn)有基于圖神經(jīng)網(wǎng)絡(luò)(GNN)推薦算法的不足,本文提出一種基于深度GNN 的推薦算法Deep NGCF。Deep NGCF 算法在構(gòu)建網(wǎng)絡(luò)的聚合傳播過程中,引入了初始?xì)埐钸B接和恒等映射,從而確保網(wǎng)絡(luò)可以進(jìn)行深度學(xué)習(xí),避免了GNN 在多次卷積后陷入過平滑,提高了推薦的精度。在3 個公開數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn)、消融實(shí)驗(yàn)和超參數(shù)實(shí)驗(yàn),驗(yàn)證了Deep NGCF 算法的有效性。
本文考慮了推薦算法的精度,后期將進(jìn)一步研究如何在確保推薦精度的同時提高推薦的實(shí)時效率。