顧嘉靜,楊丹*,聶鐵錚,寇月
(1.遼寧科技大學(xué)計算機(jī)與軟件工程學(xué)院,遼寧鞍山 114051;2.東北大學(xué)計算機(jī)科學(xué)與工程學(xué)院,遼寧 沈陽 110169)
圖神經(jīng)網(wǎng)絡(luò)(GNN)技術(shù)由于在圖數(shù)據(jù)學(xué)習(xí)方面的良好表現(xiàn),被廣泛應(yīng)用于自然語言處理[1-2]、計算機(jī)視覺[3-4]、生物醫(yī)療[5]等領(lǐng)域。圖神經(jīng)網(wǎng)絡(luò)在具有圖結(jié)構(gòu)的推薦信息上展現(xiàn)了優(yōu)越的表示學(xué)習(xí)能力,采用嵌入傳播的方法迭代地聚合鄰域嵌入,通過疊加層,每個節(jié)點(diǎn)可以訪問高階鄰居的信息。當(dāng)前,基于圖神經(jīng)網(wǎng)絡(luò)的推薦模型多用于解決數(shù)據(jù)稀疏和數(shù)據(jù)分布不均等問題。
對比學(xué)習(xí)可以應(yīng)用于計算機(jī)視覺、自然語言處理等領(lǐng)域的各種任務(wù)中[6-8],其中,應(yīng)用于圖表示學(xué)習(xí)任務(wù)中的對比學(xué)習(xí)技術(shù)被稱為圖對比學(xué)習(xí)。由于圖對比學(xué)習(xí)可以有效解決推薦系統(tǒng)中圖結(jié)構(gòu)數(shù)據(jù)標(biāo)簽稀缺的問題,因此大量研究嘗試將其應(yīng)用于推薦系統(tǒng)。圖對比學(xué)習(xí)由數(shù)據(jù)增強(qiáng)和對比學(xué)習(xí)2 個關(guān)鍵組件構(gòu)成,前者為每個節(jié)點(diǎn)生成多個視圖,后者研究視圖之間的一致性問題?,F(xiàn)有研究大多致力于數(shù)據(jù)增強(qiáng)部分,例如文獻(xiàn)[9-11]提出基于結(jié)構(gòu)的圖數(shù)據(jù)增強(qiáng)方法,文獻(xiàn)[12]提出基于特征的圖數(shù)據(jù)增強(qiáng)方法,都取得了較好的效果。雖然現(xiàn)有基于圖對比學(xué)習(xí)的模型實(shí)現(xiàn)了較好的推薦性能,但是依舊存在如下問題:
1)現(xiàn)有的推薦模型通常只使用一種視圖增強(qiáng)方法,而單一的方法存在局限性,當(dāng)不適用于給定的圖數(shù)據(jù)時,會導(dǎo)致其丟失本身的特性,因而影響推薦結(jié)果的準(zhǔn)確性。
2)現(xiàn)有的對比學(xué)習(xí)只對比同一節(jié)點(diǎn)的一對視圖,并沒有很好地利用各視圖中不同的層嵌入,且很少有研究嘗試改進(jìn)對比學(xué)習(xí),僅著力于視圖增強(qiáng)的研究,限制了模型的性能提升。
為了解決上述問題,本文提出一種基于多視圖融合跨層對比學(xué)習(xí)的推薦算法框架(MFCCL)。該框架首先采用3 種視圖增強(qiáng)方法增強(qiáng)用戶-項(xiàng)目交互圖,其中,基于結(jié)構(gòu)的增強(qiáng)方法和基于特征的增強(qiáng)方法分別用于構(gòu)建2 個全局視圖,前者為隨機(jī)邊丟棄,通過對圖結(jié)構(gòu)的擾動來降低高度節(jié)點(diǎn)的影響力;后者為隨機(jī)添加噪聲,對學(xué)習(xí)到的表征添加均勻隨機(jī)噪聲,平滑地調(diào)節(jié)學(xué)習(xí)到的表征的均勻性。第3 種視圖增強(qiáng)方法為奇異值分解,從全局視角提取協(xié)同信號,構(gòu)建局部視圖。然后,使用所提多視圖融合跨層對比學(xué)習(xí)方法,最大化圖卷積網(wǎng)絡(luò)聚合得到的2 個視圖不同層嵌入之和間表示的一致性,與局部-全局視圖對比學(xué)習(xí)相結(jié)合,從而優(yōu)化模型。最后,根據(jù)學(xué)習(xí)得到的節(jié)點(diǎn)嵌入預(yù)測推薦列表。本文的主要工作如下:
1)基于現(xiàn)有研究闡述視圖增強(qiáng)在圖對比學(xué)習(xí)中的有效性,引入3 種不同的視圖增強(qiáng)方法構(gòu)建全局和局部共3 個視圖,以避免單個增強(qiáng)方法造成的負(fù)面影響,更好地學(xué)習(xí)節(jié)點(diǎn)表示。
2)提出一種新的對比學(xué)習(xí)方法,即多視圖融合跨層對比學(xué)習(xí),采用2 種方式融合2 個視圖的不同層嵌入后進(jìn)行對比,與現(xiàn)有方法相比可以獲取更多的特征信息。
3)提出一個新的基于圖對比學(xué)習(xí)的推薦框架MFCCL,以提高推薦算法的性能。
GNN 在圖拓?fù)渖鲜褂蒙窠?jīng)網(wǎng)絡(luò)來學(xué)習(xí)節(jié)點(diǎn)表示。文獻(xiàn)[13]提出最初始的GNN,通過反復(fù)交換鄰域信息直到收斂來表示節(jié)點(diǎn)。文獻(xiàn)[14]提出一種使用頻譜圖論中的傅里葉基在圖域上執(zhí)行卷積的神經(jīng)網(wǎng)絡(luò)。文獻(xiàn)[15]提出了幾種預(yù)訓(xùn)練GNN 的策略,如屬性掩蔽和上下文預(yù)測。文獻(xiàn)[16]提出圖卷積網(wǎng)絡(luò)(GCN),將卷積運(yùn)算推廣到了圖數(shù)據(jù)。
現(xiàn)有的GNN 被廣泛用于學(xué)習(xí)非歐幾里得圖結(jié)構(gòu),已經(jīng)被證明在許多任務(wù)中具有有效性,如節(jié)點(diǎn)分類[17]、鏈路預(yù)測[18]和圖分類[19]。因?yàn)橥扑]系統(tǒng)中的大多數(shù)信息本質(zhì)上都具有圖結(jié)構(gòu),使得GNN 在圖形表示學(xué)習(xí)方面具有優(yōu)勢,所以GNN 技術(shù)在推薦系統(tǒng)中得到了廣泛應(yīng)用。HashGNN[20]模型利用哈希方法和連續(xù)網(wǎng)絡(luò)嵌入方法學(xué)習(xí)節(jié)點(diǎn)嵌入的表示。NGCF[21]模型通過顯式建模用戶-項(xiàng)目之間的高階連接性來提升嵌入能力,解決了用戶和項(xiàng)目的交互信息傳播信號無法在嵌入層中表現(xiàn)的問題。DCCF[22]模型采用局部和全局卷積通道嵌入向量,獲取不同類型的連接信息,挖掘節(jié)點(diǎn)間的潛在聯(lián)系。
對比學(xué)習(xí)是一種有效的自監(jiān)督框架,其核心思想是將正樣本和負(fù)樣本在特征空間進(jìn)行對比,捕獲不同視圖下的特征表示一致性。SGL 模型[9]使用3 種集中在圖上的數(shù)據(jù)增強(qiáng)方法,得到多視圖后用對比學(xué)習(xí)來最大化不同節(jié)點(diǎn)表示之間的差距,這樣的數(shù)據(jù)增強(qiáng)和預(yù)訓(xùn)練方式能夠從原始的圖數(shù)據(jù)中發(fā)掘出更多的監(jiān)督信號。DHCN 模型[23]通過構(gòu)建Transformed 超圖和線圖2 張圖,將模型的總流程分為2 個通道,結(jié)合得到的2 個會話嵌入,然后使用對比學(xué)習(xí)進(jìn)行預(yù)測。KGCL 模型[24]使用對比學(xué)習(xí)減輕噪聲對基于知識圖譜的推薦系統(tǒng)的影響,并利用來自知識圖譜增強(qiáng)過程的額外監(jiān)督信號指導(dǎo)跨視圖對比學(xué)習(xí)范式,在梯度下降中為無偏差的用戶-商品交互提供更大的權(quán)重,進(jìn)一步抑制噪音。CLCRec 模型[25]從信息論的角度重新制定了冷啟動項(xiàng)目表示學(xué)習(xí),并用對比學(xué)習(xí)最大化項(xiàng)目內(nèi)容和協(xié)作信號之間的相互依賴性,以緩解數(shù)據(jù)稀疏性問題。
本文所提推薦算法框架MFCCL 結(jié)構(gòu)如圖1 所示,采用3 種不同的視圖增強(qiáng)方法構(gòu)建2 個全局視圖和1 個局部視圖,將多視圖融合跨層對比學(xué)習(xí)與局部-全局視圖對比學(xué)習(xí)相結(jié)合,從而提升推薦性能。
使用協(xié)同過濾的常見做法,為每個用戶ui和項(xiàng)目vj分配一個嵌入的向量?Rd,其中,d是嵌入的尺寸。所有用戶和項(xiàng)目嵌入的集合分別定義為Ε(u)?RI×d和Ε(v)?RJ×d,其中,I和J分別是用戶和項(xiàng)目的數(shù)量。在之前的研究中,通常使用GCN 來聚合每個節(jié)點(diǎn)的相鄰信息,本文采用2 層GCN,在第l層中,聚合過程表示如下:
在聚合的過程中采用基于結(jié)構(gòu)和基于特征的方法增強(qiáng)視圖,以得到2 個全局視圖。
2.1.1 隨機(jī)邊丟棄
隨機(jī)邊丟棄通過圖結(jié)構(gòu)擾動來增強(qiáng)視圖,即以一定的概率丟掉部分邊。文獻(xiàn)[9]通過實(shí)驗(yàn)證明,當(dāng)采用2 層GCN 時,隨機(jī)邊丟棄的變體取得了最好的性能,因此,選擇隨機(jī)邊丟棄可以減少模型對某些邊的過度依賴,同時減少耗時,提高模型運(yùn)行效率。第l層的聚合過程變?yōu)椋?/p>
其中:ρ(?)表示邊舍棄操作。
為了保留節(jié)點(diǎn)的原始信息,在每層中實(shí)現(xiàn)殘差連接,表示如下:
2.1.2 隨機(jī)添加噪聲
隨機(jī)添加噪聲是一種基于特征的視圖增強(qiáng)方法,即在原始表示中隨機(jī)添加均勻噪聲,以實(shí)現(xiàn)表示層的數(shù)據(jù)增強(qiáng)。這種基于噪聲的增強(qiáng)可以直接將嵌入空間正則化為更均勻的分布表示,并通過調(diào)整噪聲的大小平滑地調(diào)整表示的一致性。第l 層的聚合在執(zhí)行式(1)后增加一個過程,表示如下:
其中:?u表示隨機(jī)生成后添加在用戶嵌入上的噪聲,與有相同的維度,?v同理;p和?為標(biāo)準(zhǔn)化計算的參數(shù),分別使用默認(rèn)值2 和1×10-12。
同樣在每層中實(shí)現(xiàn)殘差連接,表示如下:
最終計算所有層的節(jié)點(diǎn)嵌入之和以及用戶ui和項(xiàng)目vj最終嵌入的內(nèi)積:
采用奇異值分解這一視圖增強(qiáng)方法構(gòu)建局部視圖。奇異值分解是一種矩陣分解算法,將Μ×Ν的鄰接矩陣Α分解得到Α=UΣVT,其中,U和VT分別是由正交向量構(gòu)成的Μ×Μ和Ν×Ν的方陣,Σ是一個除對角線元素外都是0 的Μ×Ν矩陣?;赟VD 的圖結(jié)構(gòu)學(xué)習(xí)有2 個優(yōu)點(diǎn):它通過識別對用戶偏好表示重要的用戶-項(xiàng)目交互來強(qiáng)調(diào)圖的主要組成部分;生成的新圖形結(jié)構(gòu)通過考慮每個用戶-項(xiàng)目的交互來保留全局協(xié)作信號。但是,傳統(tǒng)的SVD 需要分解原始矩陣,而推薦系統(tǒng)的數(shù)據(jù)集大多由上萬個用戶-項(xiàng)目交互構(gòu)成,會構(gòu)造出一個巨大的原始矩陣。為了節(jié)約用戶-項(xiàng)目矩陣的計算成本和降低數(shù)據(jù)傳輸量,本文采用文獻(xiàn)[26]提出的隨機(jī)SVD 算法,計算過程分為兩步,首先生成一個高斯隨機(jī)矩陣構(gòu)建樣本矩陣,分解樣本矩陣得到正交矩陣,其次通過正交矩陣將原始矩陣降維后進(jìn)行SVD,表示如下:
其中:k是分解矩陣需要的秩;?RJ×k是Uk、Σk、Vk的近似版本。將得到的近似矩陣和嵌入放入GCN 中,第l 層的聚合公式表示如下:
MFCCL 采用2 種多視圖對比學(xué)習(xí)方法,即多視圖融合跨層對比學(xué)習(xí)和局部-全局視圖對比學(xué)習(xí)。
2.3.1 多視圖融合跨層對比學(xué)習(xí)
現(xiàn)有的圖對比學(xué)習(xí)方法只考慮對比同一節(jié)點(diǎn)的一對視圖,而忽略了聚合過程中各個視圖不同的層嵌入??紤]到各視圖不同的層嵌入之間共享了一些信息,而在聚合的鄰居和視圖增強(qiáng)方面又具有各自的特性,現(xiàn)有方法并沒有對它們進(jìn)行充分利用,因此,本文提出一種新的對比學(xué)習(xí)方法——多視圖融合跨層對比學(xué)習(xí),以獲得更多的特征信息。
多視圖融合跨層對比學(xué)習(xí)使用平行和交叉2 種方式融合2 個來自不同視圖的層嵌入再進(jìn)行對比,如圖2 所示。融合在多視圖融合跨層對比學(xué)習(xí)中起到了重要作用,放大2 個來自不同視圖的層嵌入的共享信息。同時使用2 種融合方式的操作同樣具有重要作用,對比2 個采用2 層GCN 聚合的嵌入表示,如局部-全局視圖對比學(xué)習(xí),需要循環(huán)對比n次,若去掉2 種融合方式中的1 種,只是平行或是交叉融合某2 個層嵌入后再進(jìn)行對比,需要循環(huán)的次數(shù)僅為n/2,造成嚴(yán)重的不對等,以至于得到的損失與局部-全局視圖對比學(xué)習(xí)得到的損失不在一個數(shù)量級上,對總損失函數(shù)的影響微乎其微,無法起到優(yōu)化模型的效果。
圖2 多視圖融合跨層對比學(xué)習(xí)Fig.2 Multi-view fusion cross-layer contrastive learning
本文提出多視圖融合跨層對比學(xué)習(xí),主要計算步驟如下:
其中:τ是一個溫度超參數(shù);s(?)是余弦相似度。
步驟3將上述兩者相加得到的計算方式同理,因此,多視圖融合跨層對比損失如下:
2.3.2 局部-全局視圖對比學(xué)習(xí)
局部-全局視圖對比學(xué)習(xí)將使用2 種視圖增強(qiáng)方法構(gòu)建的2 個全局視圖依次與SVD 構(gòu)建的局部視圖進(jìn)行對比,這種對比學(xué)習(xí)可以增強(qiáng)節(jié)點(diǎn)表示,降低噪聲對數(shù)據(jù)的影響。同樣使用InfoNCE 損失函數(shù):
以上為所有對比損失的計算過程,將對比損失與主損失函數(shù)相結(jié)合,以聯(lián)合優(yōu)化模型:
其中:λ是超參數(shù);Lr是主損失函數(shù)。Lr使用推薦系統(tǒng)中最常用的經(jīng)典損失函數(shù)BPR-pairwise Loss,公式表示如下:
在Yelp、Tmall 和Amazon-book 這3 個公開數(shù)據(jù)集上評估MFCCL 模型和基線模型的性能。表1 所示為3 個數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)。Yelp 數(shù)據(jù)集包含從Yelp 平臺收集的商業(yè)場所的用戶評分,將用戶評分過的場所視為交互項(xiàng)目,未評分的場所視為非交互項(xiàng)目。Tmall 數(shù)據(jù)集包含用戶在天貓平臺上的購買記錄。Amazon-book 數(shù)據(jù)集包含亞馬遜平臺收集的用戶對圖書的評分記錄。
表1 實(shí)驗(yàn)數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)Table 1 Statistics of the experimental datasets 單位:個
將數(shù)據(jù)集以7∶2∶1 的比率劃分為訓(xùn)練集、驗(yàn)證集和測試集。采用Recall@N和歸一化折損累計增益(NDCG)@N作為評價指標(biāo)評估推薦性能,其中,N={20,40}。Recall@N(R@N)用于評估預(yù)測的覆蓋率,即真實(shí)交互過的項(xiàng)目有多少被預(yù)測出來。NDCG@N(N@N)是針對排序結(jié)果的評價指標(biāo),用于評估排序的準(zhǔn)確性。
本文選用10 個基線模型與MFCCL 進(jìn)行比較,具體如下:
1)MLP 增強(qiáng)的協(xié)同過濾。
NCF[21]:一種利用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)代替內(nèi)積操作的協(xié)作過濾模型,在本文實(shí)驗(yàn)評估中使用2 個隱藏層。
2)基于GNN 的協(xié)同過濾。
(1)GCCF[27]:通過實(shí)施獨(dú)立網(wǎng)絡(luò)和減少非線性變換,加強(qiáng)基于GNN 的協(xié)同過濾。
(2)LightGCN[28]:采用簡化的GCN 結(jié)構(gòu),無須嵌入權(quán)重矩陣和非線性投影。
3)離散圖協(xié)同過濾。
DGCF[29]:通過分割嵌入向量來表示多個潛在意圖,學(xué)習(xí)更復(fù)雜的表示。
4)基于Hypergraph 的協(xié)同過濾。
HyRec[30]:利用超圖對用戶和項(xiàng)目之間的多階信息進(jìn)行編碼。
5)自監(jiān)督學(xué)習(xí)推薦系統(tǒng)。
(1)MHCN[31]:通過多通道超圖卷積網(wǎng)絡(luò)為圖表示學(xué)習(xí)創(chuàng)建自監(jiān)督信號。
(2)SGL[9]:采用隨機(jī)游走采樣和隨機(jī)邊/節(jié)點(diǎn)丟失來構(gòu)造用于對比學(xué)習(xí)的增強(qiáng)視圖。
(3)HCCF[32]:用超圖編碼全局圖信息,并與用GCN 編碼的局部信息進(jìn)行對比。
(4)SHT[33]:采用超圖Transformer 框架來開發(fā)全局協(xié)作關(guān)系,并提取全局信息以生成交叉視圖自監(jiān)督信號。
(5)SimGCL[34]:提出通過將隨機(jī)噪聲直接注入特征表示中以簡化對比學(xué)習(xí)的圖增強(qiáng)過程。
為了公平比較,將所有基線模型的參數(shù)設(shè)置為其原始論文中的最佳值,但是以下為固定設(shè)置:嵌入大小為32;批量大小為256;epoch 為100;都使用2 層GCN。對于本文提出的MFCCL 框架,損失函數(shù)中的超參數(shù)λ設(shè)置為1×10-7,溫度超參數(shù)τ設(shè)置為0.5,隨機(jī)邊丟棄ρ(?)中的丟棄率設(shè)置為0.25,SVD 中的秩設(shè)置為5。MFCCL 在PyTorch 中使用Adam 優(yōu)化器,其學(xué)習(xí)率為0.001。
實(shí)驗(yàn)結(jié)果如表2 所示,最優(yōu)結(jié)果加粗標(biāo)注,最后一列括號中的數(shù)值為MFCCL 模型與性能最好的基線模型(SimGCL)相比的提升值。從中可以看出:
表2 3 種數(shù)據(jù)集上本文模型與基線模型的性能比較Table 2 Comparison of performance between the model proposed in this paper and the baseline models on three datasets
1)與其他4 類模型相比,基于自監(jiān)督學(xué)習(xí)的模型顯示出了明顯的優(yōu)勢,而圖對比學(xué)習(xí)加入后的模型(SGL、HCCF、SHT、SimGCL)比其他自監(jiān)督模型(MHCN)表現(xiàn)更好,體現(xiàn)了對比學(xué)習(xí)在提升模型性能上的重要作用。
2)本文提出的MFCCL 模型始終優(yōu)于所有基線模型,評價指標(biāo)結(jié)果大幅提升,表明3 種方式的視圖增強(qiáng)和多視圖融合跨層對比學(xué)習(xí)可以有效優(yōu)化模型,提高模型的推薦性能。其他基于圖對比學(xué)習(xí)的推薦模型沒有考慮到單一增強(qiáng)方式可能帶來的負(fù)面影響,并忽略了不同視圖的層嵌入在提升模型性能上的作用。
3.4.1 數(shù)據(jù)稀疏性實(shí)驗(yàn)
為了驗(yàn)證MFCCL 是否對推薦系統(tǒng)中普遍存在的數(shù)據(jù)稀疏性問題具有魯棒性,根據(jù)用戶的交互數(shù)量將Yelp 和Amazon-book 數(shù)據(jù)集中測試集的用戶劃分為5 組,如交互15~20 次為一組、交互20~25 次為一組。由圖3 所示的實(shí)驗(yàn)結(jié)果可以看出,MFCCL在數(shù)據(jù)極度稀疏的情況下Recall@N和NDCG@N的值依舊遠(yuǎn)優(yōu)于基線模型,表明MFCCL 僅依靠稀疏的交互數(shù)據(jù)也可以較好地學(xué)習(xí)節(jié)點(diǎn)表示,保持預(yù)測性能。
圖3 數(shù)據(jù)稀疏性實(shí)驗(yàn)結(jié)果Fig.3 Experimental results of data sparsity
3.4.2 過度平滑和過度均勻?qū)嶒?yàn)
模型在學(xué)習(xí)嵌入時會出現(xiàn)過度平滑或過度均勻的問題,為了驗(yàn)證MFCCL 可以學(xué)習(xí)到適度分散的嵌入分布,隨機(jī)采樣Yelp 數(shù)據(jù)集中的2 000 個用戶節(jié)點(diǎn),使用T-SNE 將它們的嵌入映射到二維空間,如圖4 所示,并計算嵌入的平均距離均值(MAD),結(jié)果如表3 所示。MAD 通過計算從節(jié)點(diǎn)到其他節(jié)點(diǎn)的平均距離均值來反映圖表示的平滑性,當(dāng)MAD 較小時,節(jié)點(diǎn)表示變得難以區(qū)分。從圖4 和表3 可以看出:MHCN 的嵌入在二維空間表現(xiàn)出不可區(qū)分的簇,且MAD 小于其余兩者,這表明MHCN 無法避免過度平滑問題;SGL 雖然在MAD 上取得了較好的結(jié)果,但是映射到二維空間的嵌入分布是一個均勻的整體,沒有聚集成簇,表明SGL 沒有捕獲用戶間的協(xié)作關(guān)系,出現(xiàn)了過度均勻的問題;本文提出的MFCCL 不僅取得了最優(yōu)的MAD,同時在二維空間中的嵌入分布呈現(xiàn)簇狀且每個簇的內(nèi)部結(jié)構(gòu)清晰,表明MFCCL 學(xué)習(xí)到的嵌入是合理分散的,在過度平滑和過度均勻中取得了平衡,能夠較好地反映用戶的特定偏好。
表3 不同模型學(xué)習(xí)嵌入的平均距離均值Table 3 Mean average distance of the embeddings learned by different models
圖4 Yelp 數(shù)據(jù)集上嵌入分布的T-SNE 可視化Fig.4 T-SNE visualization of embedded distribution on Yelp dataset
3.4.3 消融實(shí)驗(yàn)
為了驗(yàn)證MFCCL 中視圖增強(qiáng)和多視圖融合跨層對比學(xué)習(xí)這2 個模塊對模型性能的有效性,本文進(jìn)行消融實(shí)驗(yàn),分別刪除部分模塊,得到MFCCL-c、MFCCL-d和MFCCL-n這3 個變體。其中,MFCCL-c是MFCCL 去掉多視圖融合跨層對比學(xué)習(xí)后得到的變體。因?yàn)槎嘁晥D融合跨層對比學(xué)習(xí)需要對比2 個全局視圖的層嵌入之和,無法存在于只有1 個全局視圖的變體中,所以MFCCL-d和MFCCL-n是MFCCL-c分別去掉隨機(jī)邊丟棄和隨機(jī)添加噪聲后產(chǎn)生的變體。
將3 個變體放入Yelp 和Tmall 數(shù)據(jù)集中進(jìn)行測試,結(jié)果如表4 所示,從中可以看出:
表4 消融實(shí)驗(yàn)結(jié)果Table 4 Results of ablation experiment
1)移除掉多視圖融合跨層對比學(xué)習(xí)的變體(MFCCL-c)在2 個數(shù)據(jù)集上都顯示出性能下降,驗(yàn)證了多視圖融合跨層對比學(xué)習(xí)對模型優(yōu)化的積極作用。但是,與另外2 個變體(MFCCL-d和MFCCL-n)相比,MFCCL-c展現(xiàn)出了絕對的優(yōu)勢,證明相較于單一的視圖增強(qiáng)方法,同時使用多種視圖增強(qiáng)在提升模型性能上更有效。
2)MFCCL-d和MFCCL-n在不同的數(shù)據(jù)集中各自占據(jù)優(yōu)勢,造成這種結(jié)果的原因可能是視圖增強(qiáng)的效果受數(shù)據(jù)集中數(shù)據(jù)結(jié)構(gòu)的影響,不同的增強(qiáng)方法適用于具有不同特征結(jié)構(gòu)的數(shù)據(jù)集。MFCCL 使用多種視圖增強(qiáng)方法,避免了單一方法的局限性,增強(qiáng)了模型的通用能力。
3.4.4 參數(shù)討論
本節(jié)將討論MFCCL 的參數(shù)問題,主要涉及2 個重要的超參數(shù)λ和τ,前者連接主損失函數(shù)和對比損失,后者是InfoNCE 損失函數(shù)中的溫度超參數(shù)。通過保持其他設(shè)置不變,分別改變λ和τ的大小,觀察MFCCL 的性能變化。圖5 所示為改變λ時MFCCL在Yelp 數(shù)據(jù)集上的性能表現(xiàn),圖6 所示為改變τ 時的性能表現(xiàn)。從圖5 可以觀察到,損失函數(shù)中的超參數(shù)λ對MFCCL 性能有較大影響,當(dāng)λ過大時,模型性能急劇下降,當(dāng)取值為1×10-7時模型性能最優(yōu)。從圖6 可以觀察到,溫度超參數(shù)τ對MFCCL 性能影響較弱,當(dāng)τ取值為0.5 時模型取得最優(yōu)效果,當(dāng)τ取值大于或者小于0.5 時,模型性能平緩下降。
圖5 λ 對模型性能的影響Fig.5 Effect of λ on model performance
圖6 τ 對模型性能的影響Fig.6 Effect of τ on model performance
本文提出一種基于多視圖融合跨層對比學(xué)習(xí)的推薦算法框架MFCCL,該框架通過3 種視圖增強(qiáng)方法構(gòu)建多視圖,并引入一種新的多視圖融合跨層對比學(xué)習(xí)來解決推薦問題。MFCCL 在視圖增強(qiáng)時考慮到單一增強(qiáng)方法存在的局限性,采用隨機(jī)邊丟棄和隨機(jī)添加噪聲分別構(gòu)建2 個全局視圖,采用SVD 構(gòu)建包含全局協(xié)作信號的局部視圖。多視圖融合跨層對比學(xué)習(xí)充分利用不同視圖的層嵌入,使用2 種方法將2 個全局視圖不同的層嵌入融合后進(jìn)行對比,計算得到對比損失并與其他損失相結(jié)合以訓(xùn)練模型。在3 個公開數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,相比現(xiàn)有基線模型,MFCCL 取得了更好的推薦性能,且在抵抗數(shù)據(jù)稀疏和過度平滑方面表現(xiàn)出了良好的性能。下一步將繼續(xù)研究視圖增強(qiáng)和多視圖融合方法。