張俊三,肖 森,高 慧,邵明文,張培穎,朱 杰
1.中國石油大學(xué)(華東)計算機(jī)科學(xué)與技術(shù)學(xué)院,山東 青島 266580
2.河北大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院河北省機(jī)器學(xué)習(xí)與計算智能重點實驗室,河北 保定 071002
隨著互聯(lián)網(wǎng)的發(fā)展,信息過載越來越成為一個重要問題。為了緩解這一問題,推薦系統(tǒng)應(yīng)運(yùn)而生。推薦系統(tǒng)已被廣泛應(yīng)用在避免信息過載的各種應(yīng)用程序上,例如在線購物、社交網(wǎng)絡(luò)和網(wǎng)頁搜索[1]等。其主要目的是為用戶提供個性化的信息服務(wù),即根據(jù)歷史交互信息來預(yù)測用戶是否會與某個物品進(jìn)行交互(點擊、收藏、添加到購物車、購買等),從而幫助用戶發(fā)現(xiàn)潛在的感興趣的物品。
作為一種廣泛使用的解決方案是使用協(xié)同過濾(CF)[2],在假設(shè)行為相似的用戶可能對物品有相似偏好的情況下,通過建模用戶-物品的交互歷史來學(xué)習(xí)用戶和物品的表征。例如矩陣分解(MF)[3]可以直接將用戶/物品嵌入到向量表示中,并通過用戶和物品表示之間的內(nèi)積對用戶-物品交互進(jìn)行建模。隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,He等人[4]提出NCF,該算法用神經(jīng)網(wǎng)絡(luò)代替MF中的內(nèi)積,以模擬用戶與物品之間的非線性交互。
近年來,為了進(jìn)一步提高嵌入質(zhì)量、減緩數(shù)據(jù)稀疏帶來的影響,一個重要的方向是利用GNN 的非歐幾里得結(jié)構(gòu)來表示結(jié)點的特征[5-7],通過用戶-物品交互圖來探索結(jié)點之間的高階連通性。該方向在推薦領(lǐng)域取得了巨大成功。GNN的核心是迭代聚合鄰居結(jié)點的特征信息,該方法可以從圖結(jié)構(gòu)中有效提取高階信息,從而改善了用戶和物品的表示特征,并在一定程度上緩解了數(shù)據(jù)稀疏問題。NGCF[6]、LightGCN[7]這些基于GNN 的算法已經(jīng)在Web規(guī)模的應(yīng)用程序取得了先進(jìn)的性能。
在GNN 推薦中,正負(fù)樣本的采樣是必要的。通常情況下,將用戶觀測到的交互物品作為正樣本,而將其未觀測到的物品作為負(fù)樣本,但是這樣存在一定的局限性。首先,數(shù)據(jù)集是稀疏的,對于用戶而言,其全局未觀測的樣本數(shù)量是巨大的,而計算所有用戶的未觀測物品更是不現(xiàn)實的。其次,將用戶沒有觀測過的物品直接作為負(fù)樣本也是不恰當(dāng)?shù)?,因為沒有被觀測的物品也有可能是用戶潛在喜歡的。有研究表明[8]對于采樣的負(fù)樣本質(zhì)量能影響用戶/物品嵌入質(zhì)量和推薦任務(wù)的有效性。文獻(xiàn)[9]發(fā)現(xiàn)只有5%的負(fù)樣本對下游任務(wù)的訓(xùn)練很有必要,這類負(fù)樣本被稱為強(qiáng)負(fù)樣本。最常用的采樣策略是使用均勻分布的隨機(jī)采樣,但是這樣會平等對待所有的負(fù)樣本。為了提高負(fù)樣本的質(zhì)量,現(xiàn)在已經(jīng)有推薦算法嘗試設(shè)計新的采樣分布來對負(fù)樣本進(jìn)行采樣,以更細(xì)粒度地區(qū)分正負(fù)樣本之間的差距,然而在大多數(shù)的GNN算法中,雖然關(guān)注了負(fù)采樣的分布設(shè)計,但很少從獨(dú)特的GNN 結(jié)構(gòu)中發(fā)現(xiàn)鄰居結(jié)點之間的關(guān)系,忽略了信息傳播機(jī)制中按照圖中鄰域進(jìn)行采樣的可能性。
針對以上問題,本文提出了一種基于鄰域采樣的多任務(wù)圖推薦算法(multi-task graph recommendation algorithm based on neighborhood sampling,NSM-GCN),利用圖結(jié)構(gòu)的特點,對結(jié)構(gòu)相似的鄰居進(jìn)行負(fù)采樣,以解決傳統(tǒng)采樣方法中的問題。在用戶-物品圖中,以用戶為中心結(jié)點,其一階鄰居作為用戶的正樣本。在選擇負(fù)樣本時,次高階(三階)鄰居與中心結(jié)點更相關(guān)性,并含有更多信息來區(qū)分正負(fù)樣本,因此被并選作強(qiáng)負(fù)樣本。除了原有的監(jiān)督任務(wù)基礎(chǔ)外,還提出了一種余弦邊際損失(margin loss of cosine,MCL)進(jìn)行多任務(wù)學(xué)習(xí)。MCL 可以過濾一部分信息量少的負(fù)樣本,減少噪聲數(shù)據(jù)對模型產(chǎn)生影響。最后,該算法在三個公開數(shù)據(jù)集上進(jìn)行了大量實驗,結(jié)果表明NSM-GCN在多項推薦指標(biāo)上優(yōu)于其他基準(zhǔn)算法。
綜上所述,本文有如下貢獻(xiàn):
(1)設(shè)計了一種基于GNN的鄰域采樣策略,能夠在圖結(jié)構(gòu)中更有效地挖掘強(qiáng)負(fù)樣本,有助于模型更好地學(xué)習(xí)樣本信息,提高模型區(qū)分正負(fù)樣本邊界的能力,從而改善推薦效果。
(2)設(shè)計了一種余弦邊際損失來進(jìn)行多任務(wù)學(xué)習(xí),在原有的監(jiān)督任務(wù)下,更細(xì)致地考慮到用戶與物品之間的關(guān)系,減少噪聲數(shù)據(jù)對模型的影響,并輔助模型來進(jìn)行更高效地訓(xùn)練。
相較于傳統(tǒng)深度學(xué)習(xí)方法,GNN 具備處理非歐幾里得數(shù)據(jù)的優(yōu)勢,并在計算機(jī)視覺[10]、自然語言處理[11]、推薦系統(tǒng)[12-13]中得到廣泛應(yīng)用。其中基于GNN 的推薦算法取得了顯著的成果[6-7]。例如NGCF[6]是一種高效的推薦算法,它將用戶物品的交互信息與用戶-物品圖結(jié)構(gòu)相結(jié)合,將結(jié)點的高階連通性引入到推薦中。Light-GCN[7]在NGCF的基礎(chǔ)上進(jìn)行了改進(jìn),是目前基于GNN的最有效的推薦算法之一。已出現(xiàn)許多基于LightGCN的改進(jìn)算法[14-16],其中Mao 等人[14]通過簡化GCN 公式、構(gòu)造約束函數(shù),大大提高了模型的訓(xùn)練效率。Liu 等人[15]采用興趣感知消息傳遞方法,設(shè)計了無監(jiān)督子圖生成模塊并執(zhí)行高階圖卷積,緩解了GNN過平滑問題,提升了模型性能。
在推薦系統(tǒng)中,獲得的數(shù)據(jù)通常為隱式反饋數(shù)據(jù),如點擊、瀏覽、收藏和購買等,在本文中統(tǒng)稱為交互數(shù)據(jù)。由于用戶只與少量物品發(fā)生交互,因此最簡單有效的方法是將用戶直接交互的物品作為其正樣本。然而,推薦系統(tǒng)常常面臨數(shù)據(jù)稀疏的問題,因此如何從龐大未觀測的物品集中選擇負(fù)樣本已成為近年來研究的熱點問題。
從用戶未交互的物品集中隨機(jī)選擇作為負(fù)樣本是一種常見的方式[17]。然而,這種平等對待所有負(fù)樣本的方式缺乏針對性,無法更好地利用強(qiáng)負(fù)樣本。強(qiáng)負(fù)樣本是高質(zhì)量的樣本,與正樣本相似并包含更多信息。近年來,研究人員已經(jīng)做了很多嘗試[18-21]以改進(jìn)推薦模型的性能。例如,文獻(xiàn)[20]針對CF中的隱式反饋提出了基于分?jǐn)?shù)和基于方差的采樣分布準(zhǔn)則,在合成數(shù)據(jù)集和真實數(shù)據(jù)集上都表現(xiàn)了更高的準(zhǔn)確性和更強(qiáng)的魯棒性。文獻(xiàn)[21]采用正負(fù)樣本混合和層跳混合的方法生成強(qiáng)負(fù)樣本,而非對數(shù)據(jù)集中的負(fù)樣本進(jìn)行采樣,從而改善了模型的性能。
在基于GNN 的推薦中,通常將用戶集合U={u}和物品集合I={i}構(gòu)建成圖G=(V,E)。其中相鄰的兩個結(jié)點表示兩者之間發(fā)生了交互。用戶u的交互結(jié)點集合為Nu,物品i的交互結(jié)點集合為Ni,所有用戶的交互集為。
用戶和物品的交互矩陣定義為A∈RN×M,其中N、M分別表示用戶、物品的數(shù)量,如果用戶u∈U與物品i∈I發(fā)生過交互,則A矩陣中的元素aui=1 ;否則aui=0。
圖1 展示了NSM-GCN 的總體框架圖。以l=3 層為例,并對結(jié)點u1進(jìn)行嵌入傳播,其他結(jié)點的嵌入方式與u1相同。
圖1 NSM-GCN模型框架Fig.1 NSM-GCN model framework
本模型分為三個模塊:基礎(chǔ)模型、采樣策略和模型優(yōu)化。首先,用戶和物品通過初始化得到嵌入向量,然后利用圖卷積模塊聚合鄰域信息來進(jìn)行消息傳播;最后經(jīng)過池化形成統(tǒng)一的嵌入表示。在采樣策略上分為兩部分:一部分采用均勻分布的隨機(jī)采樣生成BPR損失的負(fù)樣本,另一部分采用鄰域采樣策略生成鄰域采樣負(fù)樣本。模型采用多任務(wù)學(xué)習(xí)的方式進(jìn)行優(yōu)化,最終根據(jù)預(yù)測結(jié)果計算用戶對物品的偏好程度,并通過排序獲得用戶的推薦列表。
2.2.1 基礎(chǔ)模型
NSM-GCN 主要包括三個部分:嵌入初始化、嵌入傳播和模型預(yù)測。
(1)嵌入初始化。早期的推薦模型[22]常常將用戶與物品的交互矩陣的一行作為向量表示,但由于數(shù)據(jù)稀疏,導(dǎo)致向量不能準(zhǔn)確地表示用戶的高階特征。為了解決此問題,后來引入隱向量[2]的概念,將用戶和物品映射為低維稠密向量。所有用戶和物品可以構(gòu)建成嵌入矩陣,具體定義為:
同時,將E(0)作為模型的訓(xùn)練參數(shù),并使用相應(yīng)的損失函數(shù)和采樣策略對其優(yōu)化?;贕NN的推薦模型可以根據(jù)用戶與物品之間的鄰域關(guān)系進(jìn)行多層嵌入傳播,從而更新嵌入矩陣,并通過層連接的方式將其輸入到模型預(yù)測層中。這有助于傳遞更多用戶和物品之間的協(xié)作信號,通過學(xué)習(xí)結(jié)點之間的高階連通性來增強(qiáng)嵌入向量的表達(dá)能力。
(2)嵌入傳播。根據(jù)協(xié)同原理,與同一個用戶有過交互的兩個物品之間可能存在相似性,同理,與同一物品有過交互的兩個用戶也可能具有相似之處。此外,用戶-物品交互圖中的高階鄰居也有可能捕獲到用戶與用戶、物品與物品、用戶與物品之間更豐富的協(xié)作信號,這也是圖神經(jīng)網(wǎng)絡(luò)的核心思想。為了傳播更多的特征信息與協(xié)作信號,圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)對所有結(jié)點進(jìn)行多層嵌入傳播操作。NSM-GCN的嵌入公式如式(2)、(3):
(3)模型預(yù)測。GNN 通常會采用池化生成結(jié)點的最終表示。文獻(xiàn)[24]證明這樣做有助于減緩過平滑,并能確定結(jié)點在不同范圍內(nèi)的重要性。經(jīng)過l次圖卷積操作后,就得到了(l+1)個用戶u、物品i的嵌入層表示:。
u、i最終表示的計算方法如公式(4):
最后,使用內(nèi)積方式來計算用戶u對物品i的偏好程度。如公式(5):
2.2.2 采樣策略
本小節(jié)詳細(xì)介紹了NSM-GCN 的采樣策略。按照樣本的用途,分為BPR 采樣[17]與鄰域采樣兩部分。如圖2所示。
圖2 采樣策略Fig.2 Sampling strategy
(1)BPR采樣。由于用戶往往對感興趣的物品產(chǎn)生交互,因此對正樣本的采樣而言,最直接有效的方式是從用戶的交互物品集(一階鄰居)中隨機(jī)選擇作為正樣本。
在推薦任務(wù)中,將用戶可能喜歡的前K個物品推薦給用戶,因此可以將推薦任務(wù)稱為排序任務(wù)。假設(shè)用戶喜歡的物品排名高于其他物品,在BPR損失中采用的采樣策略是從用戶u未交互的物品集合中均勻隨機(jī)采樣負(fù)樣本,從圖上可以理解為中心結(jié)點除了一階以外的單數(shù)階鄰居(3、5、7……),因為這樣符合“用戶-物品-用戶-物品”的交互圖構(gòu)建方式。
最后構(gòu)成三元組:
(2)鄰域采樣。前文介紹了強(qiáng)負(fù)樣本對訓(xùn)練任務(wù)的重要性。本研究從圖結(jié)構(gòu)的角度出發(fā),嘗試尋找一種新的方法來挖掘負(fù)樣本中的強(qiáng)負(fù)樣本。相比于BPR全局隨機(jī)采樣,距離中心結(jié)點較近的區(qū)域更可能存在強(qiáng)負(fù)樣本。因此,本文提出了基于鄰域的負(fù)采樣方法:對于中心結(jié)點,從其三階鄰居中進(jìn)行負(fù)采樣,負(fù)采樣使用均勻隨機(jī)采樣方法。接下來,本文將從以下兩個角度分析鄰域采樣的合理性與可行性。
首先,GNN 推薦模型存在過平滑問題。即隨著傳播層數(shù)l的增加,性能會先提高后下降,通常在l=3 時達(dá)到頂峰。這是由于嵌入層過多會導(dǎo)致結(jié)點之間的相似性,同時隨著層數(shù)的增加,在嵌入過程中也會不斷傳遞噪聲并累積負(fù)面消息。而中心結(jié)點的嵌入層l=3 是性能轉(zhuǎn)折點所在的區(qū)域,也是較容易區(qū)分正負(fù)樣本的區(qū)域,大多數(shù)強(qiáng)負(fù)樣本可能存在于該區(qū)域。這一現(xiàn)象也進(jìn)一步證明了在圖卷積中,l=3 時性能最佳,繼續(xù)疊加層數(shù)會導(dǎo)致性能下降。
其次,從社會影響理論[25]的角度看,同一個社交網(wǎng)絡(luò)中的用戶之間互相影響,具有相似的偏好,因此社交推薦[26]是從這一角度出發(fā)進(jìn)行用戶推薦的。將其推廣到用戶-物品交互圖中,例如(u1→i1→u2→i2),若用戶u1與u2同時與i1發(fā)生交互,根據(jù)社會影響理論,u1、u2同屬于一個社區(qū),二者可能有著相似的興趣愛好;同時u2與i2發(fā)生交互,即與用戶u1具有相似偏好的u2可能對i2產(chǎn)生興趣。因此,相比其他物品,i2更有可能被u1喜歡。但由于u1、u2是兩個獨(dú)立的個體,存在差異,i2同樣可能不被u1喜歡,成為區(qū)分u1、u2以及其他用戶的強(qiáng)負(fù)樣本。因此,三階鄰居的樣本可能富含更多信息,通過訓(xùn)練強(qiáng)負(fù)樣本,挖掘其信息,可以更好地區(qū)分正負(fù)樣本之間的邊界,學(xué)習(xí)中心結(jié)點更深層次的信息。
2.2.3 模型優(yōu)化
本模型采用多任務(wù)優(yōu)化方法,在原有的BPR監(jiān)督任務(wù)中,提出余弦邊際損失(MCL)來進(jìn)行聯(lián)合優(yōu)化。BPR損失采用三元組的形式,鼓勵模型將觀測到的物品排名比沒觀測的物品更靠前,從而提高排序的精度。計算公式如式(7):
本文根據(jù)鄰域采樣策略,提出了一種新的余弦邊際損失。定義如下:
其中,α是權(quán)重參數(shù),用來調(diào)整BPR損失與MCL的權(quán)重大小,K是鄰域采樣的負(fù)樣本個數(shù),[ ]x+=max()0,x,是用戶u與鄰域負(fù)樣本j-之間的余弦相似度,m是邊界值,滿足m>0。MCL 損失通過引入邊界值m來過濾掉一些冗余、信息少的樣本。具體而言,當(dāng)時,此時MCL的損失為0,只有滿足的強(qiáng)負(fù)樣本才會帶來損失。因此,調(diào)整合適的m值可以更好地學(xué)習(xí)強(qiáng)負(fù)樣本的信息并提高模型對樣本的分辨能力,從而生成更具判別性的嵌入表示。
綜上所述,NSM-GCN的損失函數(shù)定義為:
通過損失函數(shù)L去更新NSM-GCN的權(quán)重參數(shù),即基礎(chǔ)模型中的嵌入矩陣E(0),由于模型沒有特征變換矩陣,因此采用L2正則化足以防止過擬合,這樣做可以引入更少的訓(xùn)練參數(shù),使模型具有較低的復(fù)雜度。
3.1.1 數(shù)據(jù)集
為了保證模型評估的公平性和有效性,本文遵循基于GNN 的推薦模型設(shè)置,并在三個公開基準(zhǔn)數(shù)據(jù)集(Amazon-Books[27]、Yelp2018[7]、Gowalla[28])上進(jìn)行實驗,使用與LightGCN相同的數(shù)據(jù)集劃分方法。數(shù)據(jù)集的基本信息如表1。
表1 數(shù)據(jù)集統(tǒng)計信息Table 1 Statistics of datasets
3.1.2 評測指標(biāo)
本文采用基于Top-K推薦的評測方法,將K設(shè)為20,將召回率Recall@20和歸一化折損累計增益NDCG@20作為評測指標(biāo),其中,Recall 表示模型正確預(yù)測的樣本在正樣本中所占的比例,NDCG評估模型推薦結(jié)果中排序的準(zhǔn)確性。這兩個指標(biāo)都是GNN模型中常用的性能指標(biāo)。
3.1.3 對比模型與參數(shù)設(shè)置
為了綜合評估NSM-GCN的性能,本文采用幾種較為先進(jìn)的模型作為對比方法:
(1)MF-BPR[17]:經(jīng)典的協(xié)同過濾模型,使用BPR 損失來訓(xùn)練模型。
(2)GC-MC[5]:提出了一種圖自動編碼器框架,并通過在用戶-物品交互圖上傳遞消息生成用戶和物品的表示。
(3)NGCF[6]:基于GNN的協(xié)同過濾模型,將用戶-物品的高階連通性引入到推薦中。
(4)LightGCN[7]:基于GNN 的模型,在NGCF 的基礎(chǔ)上移除了特征變換和非線性激活模塊,使基于GNN的方法更加簡潔,取得了先進(jìn)的性能。
(5)DGCF[29]:強(qiáng)調(diào)了區(qū)分不同用戶意圖的重要性,更細(xì)粒度地學(xué)習(xí)用戶的潛在意圖。
(6)TSA[30]:使用鄰接矩陣的SVD 分解生成用戶和物品嵌入,然后使用感知器模型來學(xué)習(xí)它們之間的相關(guān)性。
(7)GTN[31]:引入了一種圖趨勢協(xié)同過濾技術(shù),并提出了一種新的圖趨勢過濾網(wǎng)絡(luò)框架來捕獲用戶和物品之間的自適應(yīng)可靠性。
NSM-GCN是在LightGCN的Pytorch官方代碼基礎(chǔ)上實現(xiàn)的,并在Ubuntu 22.04,Intel?Xeon?Gold 5118 CPU@2.30 GHz,512 GB,RTX3090 的環(huán)境下進(jìn)行實驗。嵌入維度d=64,Xavier 初始化嵌入矩陣E(0),使用Adam[32]優(yōu)化器來訓(xùn)練NSM-GCN,采用小批量梯度下降mini-batch=2 048,學(xué)習(xí)率設(shè)置為0.001。使用L2正則化,搜索范圍在{10-3,10-4,10-5},并在3.2 節(jié)報告最終的實驗結(jié)果。
通過一系列的實驗調(diào)整,將權(quán)重參數(shù)α設(shè)置為0.1,并將GNN 的層數(shù)在Gowalla、Yelp2018、Amazon-Books中分別設(shè)置為3、4、4,以達(dá)到最佳性能。此外,本文還對鄰域采樣的負(fù)樣本個數(shù)K、邊界值m參數(shù)進(jìn)行了詳細(xì)分析和實驗,具體的細(xì)節(jié)內(nèi)容請見3.3節(jié)。
表2展示了在相同評測標(biāo)準(zhǔn)下NSM-GCN與其他算法模型的比較結(jié)果。
表2 在三個數(shù)據(jù)集上不同模型間的性能對比Table 2 Overall performance comparison between different models on 3 datasets
通過表2的結(jié)果對比有如下發(fā)現(xiàn):
NSM-GCN 在三個基準(zhǔn)數(shù)據(jù)集上均表現(xiàn)出優(yōu)異的性能,且在大多數(shù)評測指標(biāo)上優(yōu)于其他算法模型。這一結(jié)果驗證了本文方法的有效性。
具體來說,與MF-BPR、GC-MC、NGCF、LightGCN、DGCF、TSA、GTN相比,NSM-GCN在Gowalla和Yelp2018數(shù)據(jù)集上的Recall@20 和NDCG@20 性能指標(biāo)上均取得了最優(yōu)效果。本文提出的NSM-GCN是基于LightGCN框架進(jìn)行的改進(jìn),與LightGCN相比,在Gowalla、Yelp2018和Amazon-Books 數(shù)據(jù)集上的Recall@20 和NDCG@20指標(biāo)上分別提升了(3.8%,3.4%)、(4.7%,4.9%)、(9.4%,11.1%)。與GC-MC相比,在三個數(shù)據(jù)集上的Recall@20和NDCG@20指標(biāo)上分別提升了(35.8%,33.2%)、(47.1%,46.7%)、(56.5%,56.2%)。這說明本文所提出的鄰域采樣方法可以更好地挖掘出強(qiáng)負(fù)樣本,同時余弦邊際損失函數(shù)有效地過濾了部分噪聲信息。
在Amazon-Books 數(shù)據(jù)集上,NSM-GCN 的性能稍差于TSA。經(jīng)過分析發(fā)現(xiàn),這是因為Amazon-Books 數(shù)據(jù)集較為稀疏,其稠密度為0.000 62(見表1),其稀疏性明顯高于Gowalla和Yelp2018 數(shù)據(jù)集。因此,從鄰域負(fù)采樣中選擇的K個負(fù)樣本無法很好地代表整個負(fù)樣本集合的特征,從而導(dǎo)致在Amazon-Books 數(shù)據(jù)集上的Recall@20和NDCG@20性能指標(biāo)結(jié)果稍低。
3.3.1 模型分析
本文在Gowalla 和Yelp2018 數(shù)據(jù)集上進(jìn)行了對照實驗,以分析模型設(shè)計中采樣策略和余弦邊際損失的影響,并證明了模型的合理性和有效性。
為此,本文提出了LightGCN、NSM-GCN的變體:
(1)LightGCNns:保留LightGCN 的設(shè)置,僅采用鄰域采樣(neighborhood sampling)的負(fù)樣本進(jìn)行模型訓(xùn)練。
(2)NSM-GCNgs:對于余弦邊際損失中的負(fù)樣本,使用全局負(fù)采樣(global sampling)方法代替鄰域采樣,模型的其他部分保持不變。
為了更直觀地比較鄰域采樣的優(yōu)勢,本文還通過圖3展示了Gowalla和Yelp2018數(shù)據(jù)集中鄰域采樣的負(fù)樣本在所有負(fù)樣本集合中所占的比例p,計算公式如式(10):
圖3 鄰域負(fù)樣本在數(shù)據(jù)集中占所有負(fù)樣本的比例Fig.3 Proportion of neighborhood negative samples in datasets in all their negative samples
其中,N、M分別為用戶和物品的數(shù)量,表示用戶un的三階鄰居的數(shù)量,即鄰域采樣的負(fù)樣本個數(shù),表示用戶un與物品發(fā)生交互的數(shù)量。
圖4展示了最終的實驗結(jié)果,通過分析得出以下結(jié)論:
圖4 LightGCN、NSM-GCN及其變體的性能比較Fig.4 Performance comparison of LightGCN,NSM-GCN and their variants
模型性能大小排名為LightGCNns 此外,LightGCN和NSM-GCNgs的結(jié)果表明,即使在MCL 中保持常規(guī)的全局負(fù)采樣的情況下,NSM-GCNgs模型性能仍可以進(jìn)一步改進(jìn),這說明了MCL 可以過濾一些信息量少、噪聲數(shù)據(jù)多的負(fù)樣本。NSM-GCN的性能最好,因為它結(jié)合了MCL與鄰域采樣,這也證明了本文提出算法的有效性。 最后,本實驗還對比了NSM-GCN與其他變體模型達(dá)到圖4 報告的性能結(jié)果所需要的訓(xùn)練輪數(shù)。最終的報告結(jié)果如表3所示。 表3 模型收斂在訓(xùn)練輪數(shù)的比較Table 3 Model convergence in comparison of number of training epochs 值得注意的是,相比于LightGCN,LightGCNns在僅使用鄰域負(fù)樣本的情況下表現(xiàn)出了更快的模型收斂速度。這一結(jié)果表明挖掘強(qiáng)負(fù)樣本的深層信息對于加速模型訓(xùn)練具有重要意義。與此同時,NSM-GCNgs和NSM-GCN 的訓(xùn)練輪數(shù)也是少于LightGCN,不同的是,前者雖然沒有直接引入鄰域負(fù)樣本,但模型中的MCL仍可以過濾掉信息量少的樣本,使模型有更大的概率訓(xùn)練強(qiáng)負(fù)樣本,從而提高模型訓(xùn)練效率,后者把鄰域負(fù)樣本引入到了模型中進(jìn)行訓(xùn)練,進(jìn)一步提供了更有意義的信息以指導(dǎo)模型優(yōu)化。 3.3.2 參數(shù)分析 為了研究鄰域階數(shù)對實驗結(jié)果的影響,本文選擇了L-hop=1,3,5 作為鄰域負(fù)樣本集,并進(jìn)行了對比實驗。Gowalla、Yelp2018 以及Amazon-Books 的實驗結(jié)果如表4所示。 表4 模型鄰域負(fù)樣本階數(shù)的比較Table 4 Comparison of negative sample orders in model neighborhoods 通過實驗分析,與一、五階鄰居相比,L-hop=3 實驗表現(xiàn)最優(yōu),這證實了三階鄰居中更有可能存在強(qiáng)負(fù)樣本的觀點,通過挖掘潛在的強(qiáng)負(fù)樣本可以提高模型的推薦性能。相較而言,在三個數(shù)據(jù)集上進(jìn)行的L-hop=1 和5的對比實驗結(jié)果表明,由于BRP損失所關(guān)注的負(fù)樣本區(qū)域已經(jīng)包含在一階鄰居中,因此在一階鄰域中,鄰域采樣挖掘強(qiáng)負(fù)樣本的效果不如三階鄰域。而隨著階數(shù)增加至五階,雖然可能會挖掘更多的強(qiáng)負(fù)樣本,但同時也引入了更多的噪聲偏差,從而導(dǎo)致推薦效果略低于一階鄰域。 為了進(jìn)一步分析超參數(shù)對模型性能的影響,本文研究了鄰域采樣的負(fù)樣本數(shù)量K和邊界值m對NSM-GCN性能的影響,并在圖5和圖6中報告了實驗結(jié)果。 圖5 K 值影響(m=0.3)Fig.5 Impact of K(m=0.3) 圖6 m 值影響Fig.6 Impact of m (1)K的影響。為了保證公平性,本研究將NSMGCN的邊界值m設(shè)為0.3,在保持其他參數(shù)不變的情況下,通過調(diào)整K的大小以分析實驗結(jié)果。總體而言,NSM-GCN 的性能先升后降。對于Gowalla 和Amazon-Books 數(shù)據(jù)集,當(dāng)K=10 時,達(dá)到最佳性能;而對于Yelp2018 數(shù)據(jù)集,K=15 則更有利于模型達(dá)到一個較好的推薦效果。值得注意的是,在Gowalla 和Yelp2018數(shù)據(jù)集上當(dāng)K=20 時性能急劇下滑,經(jīng)過分析其原因可能是隨著K的增加,即使MCL起到一定的過濾冗余負(fù)樣本的作用,仍會引入額外的噪聲偏差。另外,在保持α不變的情況下,K的變化會影響MCL的系數(shù)α/K,不利于超參數(shù)的調(diào)整,難以使BPR 損失和MCL 損失處于一個相對平衡的狀態(tài)。因此在針對不同的數(shù)據(jù)集時,需要仔細(xì)選擇適當(dāng)?shù)腒值以提高模型的性能。 (2)m的影響。通過調(diào)整邊界值m的大小,可以控制鄰域采樣中負(fù)樣本對模型的影響程度,進(jìn)而提升模型對樣本的分辨能力。實驗通過固定鄰域采樣的數(shù)量K(分別采用了K=10,K=15,K=10),來研究m對模型性能的影響。結(jié)果表明,當(dāng)m=0.3 時,模型在三個數(shù)據(jù)集上表現(xiàn)最佳,而過大或過小的m都會導(dǎo)致模型性能下降。過小的m幾乎起不到過濾負(fù)樣本的作用,而過大的m則可能會過濾掉大多數(shù)負(fù)樣本,使鄰域采樣中的強(qiáng)負(fù)樣本無法給模型帶來損失,從而導(dǎo)致性能下降。 本文旨在從圖的結(jié)構(gòu)中挖掘更有效的負(fù)樣本,提出了一種基于鄰域采樣的多任務(wù)圖推薦算法(NSM-GCN)。本文探索了一種更有效的基于鄰域的采樣方式來提高負(fù)樣本的質(zhì)量,并采用多任務(wù)策略聯(lián)合余弦邊際損失與BPR 損失來對模型進(jìn)行聯(lián)合優(yōu)化。在三個公開數(shù)據(jù)集上進(jìn)行了大量實驗,證明了該想法的可行性與有效性。在未來的工作中,將進(jìn)一步嘗試將用戶對于物品的不同意圖引入到交互中,并利用GNN 的信息傳播機(jī)制來增強(qiáng)用戶、物品的表示,從而提升模型的可解釋性與推薦性能。4 結(jié)束語