朱金俠,孟祥福,邢長征,孫德偉,薛琪,關(guān)鈞渤
(遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105)
移動網(wǎng)絡(luò)的普遍應(yīng)用,為人們帶來選擇麻痹 的困擾,推薦系統(tǒng)是解決信息過載問題的關(guān)鍵技術(shù)。推薦的重點在于推測用戶偏好和拓展用戶視野。推薦的核心在于預(yù)測用戶是否會與某個項目進(jìn)行交互,例如點擊、評級、購買以及其他形式的交互?,F(xiàn)有的推薦方法[1-2]大多單一利用可以直接反映用戶偏好的顯式反饋信息(如用戶評分或評價)進(jìn)行推薦。顯式反饋的推薦模型,一般無法考慮用戶對打分機(jī)制的寬容度差異,在一定程度上會造成數(shù)據(jù)誤差,從而影響推薦結(jié)果。隱式反饋[3](如用戶點擊或瀏覽)也是影響推薦結(jié)果的重要因素。研究者在利用隱式反饋時,經(jīng)常忽略那些用戶不點擊或不瀏覽的項目,這類數(shù)據(jù)被稱為隱式負(fù)反饋數(shù)據(jù)。通常,這類數(shù)據(jù)信息更稠密,可以間接挖掘用戶的隱藏偏好,缺點是不易獲取,也更容易包含噪聲數(shù)據(jù)。本文利用用戶社交圖的拓?fù)浣Y(jié)構(gòu),通過分析用戶行為和朋友親密度間接捕獲這類隱式負(fù)反饋,稱為中間反饋。中間反饋相比于顯/隱式反饋被視為弱偏好,而相比于隱式負(fù)反饋被視為強(qiáng)偏好。并且,本文利用注意力機(jī)制[4]對輸入數(shù)據(jù)的噪聲進(jìn)行過濾,減少噪聲數(shù)據(jù)對結(jié)果的消極影響,有助于選擇最相關(guān)的信息,而不是所有可用的信息。
此外,數(shù)據(jù)稀疏性也影響著協(xié)同過濾推薦技術(shù)的準(zhǔn)確性。最近,將信息網(wǎng)絡(luò)嵌入到低維向量空間的圖嵌入方法已被廣泛應(yīng)用于推薦領(lǐng)域[5-7],這類低維表示比用戶-項目交互矩陣更加稠密,有效緩解了數(shù)據(jù)稀疏性的消極影響。因此,本文模型的嵌入層利用圖嵌入技術(shù)將用戶、項目和朋友信息映射到低維稠密的向量的空間。圖卷積網(wǎng)絡(luò)因其強(qiáng)大的建模能力得到了快速發(fā)展,NGCF[8]、LightGCN[9]等均為典型的圖卷積協(xié)同過濾技術(shù)。圖卷積網(wǎng)絡(luò)[10](graph convolution network,GCN)最初是為圖分類任務(wù)設(shè)計的,“圖像”每個節(jié)點都包含豐富的語義信息作為輸入。然而,在協(xié)同過濾中,每個用戶/項目只有一個ID 作為輸入,沒有具體的語義。在這種情況下,進(jìn)行特征變換和非線性激活可能對推薦效果的提升沒有任何好處。換句話說,模型包含太多無用的操作,可能會增加模型的訓(xùn)練難度,降低模型性能?;诖瞬孪?,提出的模型摒棄了圖卷積網(wǎng)絡(luò)中特征變換和非線性激活的設(shè)計。
本文利用用戶-朋友社交圖和用戶-項目-朋友高階連接圖從隱式負(fù)反饋中產(chǎn)生一系列的中間反饋。從圖1(a)可知目標(biāo)用戶u1有4 個朋友,分別為朋友f1、f2、f3、f4。從圖1(b) 可知路徑長度L>1 表示目標(biāo)用戶u1的高階連接性,此類高階連接性承載著u1的顯/隱式反饋以及中間反饋的偏好信息。路徑L=1 表示目標(biāo)用戶u1直接交互的項目,路徑L=2 表示目標(biāo)用戶與其朋友的行為相似度(即親密度)。例如,f2、f3與u1直接交互的項目有兩次交互,而f1、f4與u1直接交互的項目僅一次交互,由此可以推斷f2、f3與目標(biāo)用戶u1的行為相似度更高,對u1決策的影響更大。路徑L=3 預(yù)測更能引起目標(biāo)用戶u1感興趣的項目。由路徑L=2 可知,f2、f3與目標(biāo)用戶u1有著更高的行為相似度,因此推斷f2、f3共同交互的i5比i4、i6更能引起u1的興趣。
圖1 用戶社交圖Fig.1 User social graph
隨著深度學(xué)習(xí)的發(fā)展,研究者將其與推薦算法[11-13]結(jié)合,有效提高了推薦結(jié)果的準(zhǔn)確性。圖卷積網(wǎng)絡(luò)使用卷積算子學(xué)習(xí)圖結(jié)構(gòu)的方法逐漸成為推薦新技術(shù),通過平滑圖上的特征來學(xué)習(xí)節(jié)點的表示。文獻(xiàn)[14]提出了一種基于二分圖的信息傳遞自動編碼框架GC-MC,通過在用戶-項目交互圖上進(jìn)行信息傳遞并產(chǎn)生用戶/項目節(jié)點的潛在特征,但模型僅考慮了用戶的一階鄰居,降低了訓(xùn)練數(shù)據(jù)的豐富性。文獻(xiàn)[15]提出了一種聯(lián)合矩陣分解和圖卷積神經(jīng)網(wǎng)絡(luò)的推薦模型Hop-Rec,利用矩陣分解將用戶-項目的交互信息因子化以獲取用戶偏好,顯式的建模用戶和項目之間的高階偏好。此類高階偏好尚未編碼到消息傳遞機(jī)制中,僅僅豐富了訓(xùn)練數(shù)據(jù)。
注意力機(jī)制可以為不同的用戶和項目分配權(quán)重,動態(tài)捕獲更具代表性的用戶/項目影響。文獻(xiàn)[16] 提出了一種引入雙層注意力機(jī)制的DAML模型,聯(lián)合卷積神經(jīng)網(wǎng)絡(luò)的局部注意力和相互注意力學(xué)習(xí)用戶和評論之間所存在的潛在特征的相關(guān)性。模型僅利用了用戶的顯式反饋,忽略了隱式反饋的重要影響。文獻(xiàn)[17]提出了一種聯(lián)合反向傳播與注意力機(jī)制的推薦模型,利用反向傳播學(xué)習(xí)目標(biāo)用戶與鄰居節(jié)點之間的信息傳播,設(shè)計注意力機(jī)制捕獲每個用戶對所有最近鄰居節(jié)點的總體影響。但模型尚未有效解決數(shù)據(jù)稀疏性對推薦結(jié)果產(chǎn)生的消極影響。
需指出的是,以往的推薦技術(shù)在不同程度上提高了推薦結(jié)果的有效性,但是在緩解數(shù)據(jù)稀疏性以及隱式負(fù)反饋的低利用率等方面尚有不足。本文提出的模型通過圖嵌入技術(shù)將用戶、項目以及朋友信息嵌入到低維向量空間中,利用高階圖卷積層學(xué)習(xí)用戶、項目、朋友之間的高階連接信息,從隱式負(fù)反饋中產(chǎn)生一系列的中間反饋,以統(tǒng)一的方式緩解了數(shù)據(jù)稀疏性和隱式負(fù)反饋利用率低下的局限。
定義1(用戶與項目集合) 用戶集U={u1,u2,···,um} 包含M個用戶,項目集I={i1,i2,···,iN}包含N個項目。
定義2(用戶-朋友社交圖) 用戶與朋友之間的交互構(gòu)成了用戶-朋友社交圖,記為Guf={U∪F,Euf},是一個社會關(guān)系圖。其中F={f1,f2,…,fL}為朋友集包含了L個朋友,Euf是用戶和朋友之間邊的集合。
定義3(交互矩陣) 用戶與項目之間的交互構(gòu)成了交互矩陣,記為Rm×n,其中m和n分別為用戶和項目的數(shù)量。R中的每個元素記為rmn,表示用戶u與項目i是否交互;若用戶u與項目i之間有過交互,則rmn記為1,否則rmn為0。
定義4(中間反饋) 通過分析用戶行為和朋友親密度而間接捕獲的用戶對項目的隱式偏好,稱為中間反饋。中間反饋相比于顯/隱式反饋被視為弱偏好,而相比于隱式負(fù)反饋被視為強(qiáng)偏好。
本文設(shè)計了一種融合社交關(guān)系的輕量級圖卷積協(xié)同過濾模型,框架如圖2,主要由3 個模塊組成。①嵌入層:初始化用戶和項目的嵌入向量。②圖卷積層:通過學(xué)習(xí)用戶-朋友社交圖和用戶-項目-朋友高階連接圖的用戶和項目嵌入,從隱式負(fù)反饋中產(chǎn)生一系列中間反饋,并利用高階連接信息來細(xì)化嵌入向量。③預(yù)測層:采用內(nèi)積交互函數(shù),得到用戶與項目之間的關(guān)聯(lián)分?jǐn)?shù)。
圖2 F-LightGCCF 模型框架圖Fig.2 Framework of F-LightGCCF model
2.2.1 嵌入層
根據(jù)圖嵌入模型[5-7],一個用戶u(朋友f或項目i)的嵌入向量表示為cu∈Rd(cf∈Rd或ci∈Rd),其中d表示嵌入向量的維度,用戶、用戶朋友以及項目等嵌入向量構(gòu)成的初始嵌入向量查找表為
其中,嵌入查找表作為用戶嵌入、用戶朋友嵌入以及項目嵌入的初始狀態(tài),以端到端的方式進(jìn)行傳遞和優(yōu)化。
2.2.2 圖卷積層
受GAT[4]、NGCF[8]、LightGCN[9]等模型的啟發(fā),在GCN[10]消息傳遞機(jī)制的基礎(chǔ)上,從圖結(jié)構(gòu)中捕獲協(xié)同過濾 (collaborative filtering,CF)信號,并細(xì)化嵌入向量。本文設(shè)計了由消息構(gòu)建和消息聚合兩部分構(gòu)成的圖卷積層。
1)消息構(gòu)建
從圖1(b)可知,當(dāng)L=1 時存在連接用戶-項目對(u,i),從項目i到用戶u的消息傳遞定義為
其中,u←i表示從項目到用戶的方向傳遞交互信息,m為表示傳遞消息的嵌入向量,f()是一個消息編碼函數(shù),輸入為該用戶-項目節(jié)點對中用戶u和項目i的嵌入向量eu和ei,以及相關(guān)系數(shù)pui,相關(guān)系數(shù)p用來控制(u,i)邊上每次傳播時的衰減因子。
本文中,消息編碼函數(shù)f()的具體定義為
其中,本文模型不僅考慮了ei的影響,還利用哈達(dá)瑪積(ei⊙eu)將用戶與項目之間的交互信息編碼到消息傳遞機(jī)制中,使得消息傳遞取決于ei與eu之間的親密度值。相關(guān)性系數(shù)采用圖卷積神經(jīng)網(wǎng)絡(luò)中常用的拉普拉斯范數(shù),其中Nu和Ni表示用戶u與項目i的一階鄰居。
傳統(tǒng)的聚合函數(shù)不能區(qū)分鄰域的重要性,在更新節(jié)點時,所有鄰域被賦予一個靜態(tài)權(quán)重。因此,本文利用圖注意力網(wǎng)絡(luò)衡量鄰域的貢獻(xiàn)值,還使得模型更新鄰域節(jié)點權(quán)重時僅依賴于節(jié)點之間的特征表達(dá),獨立于具體的圖結(jié)構(gòu)(圖2 展示了圖注意力網(wǎng)絡(luò)更新特征節(jié)點的方式),提高了模型的泛化能力。
依據(jù)圖注意力網(wǎng)絡(luò)原理,鄰居節(jié)點i對目標(biāo)節(jié)點u的影響,可由注意力相關(guān)分?jǐn)?shù)表示:
最后,使用softmax 函數(shù)對輸出結(jié)果進(jìn)行歸一化,得到目標(biāo)用戶u的所有鄰居節(jié)點i的注意力權(quán)重,計算方法為
其中,β1為一個平滑系數(shù),防止softmax 函數(shù)對活躍用戶權(quán)重的過度懲罰,取值范圍為[0,1]。
同理,當(dāng)L=2 時存在連接項目-用戶朋友對(i,f),從用戶朋友f到用戶直接交互項i的消息傳遞可定義為捕獲了用戶與朋友之間的親密度。當(dāng)L=3 時存在連接用戶朋友-項目對(f,i),從用戶未交互項i到用戶朋友f的消息傳遞可定義為從隱式負(fù)反饋中產(chǎn)生一系列的中間反饋。L=2 與L=3 消息構(gòu)建原理與L=1 相同。圖3 展示了目標(biāo)用戶u1的三階圖卷積傳播過程,如i5→f2→i2→u1這條傳播鏈上的交互信息被模型捕獲,使得i5上的信息被編碼到由此,通過堆疊3 層圖卷積層,利用社交關(guān)系捕獲隱式負(fù)反饋信息(即,中間反饋)。
圖3 三階圖卷積傳播層Fig.3 Third-order graph convolution propagation layers
2)消息聚合
經(jīng)過3 層圖卷積傳播后,相應(yīng)的得到了用戶u的3 個不同的嵌入向量表達(dá),它們對用戶偏好有不同的影響。通過聚合目標(biāo)用戶u的所有鄰居節(jié)點特征來更新用戶u的嵌入表達(dá)eu,聚合函數(shù)可定義為
式中:∥表示拼接運(yùn)算。
2.2.3 預(yù)測層
同理,對經(jīng)過3 層圖卷積傳播后得到的3 個不同的項目嵌入表達(dá),最終的用戶和項目的嵌入表達(dá)分別如式(1)、(2)所示:
式中:γl≥0 表示第l層嵌入的重要程度,該參數(shù)采用注意力機(jī)制自動優(yōu)化。
本文采用一個多層感知機(jī)來實現(xiàn)注意力機(jī)制:
式中:pi通過圖嵌入技術(shù)將one-hot 稀疏向量轉(zhuǎn)換為低維稠密向量表示,pi∈Rd×1;d為嵌入向量維度;qj為每個與用戶交互過的項目嵌入表達(dá),為與用戶交互過的項目集合;分別表示從輸入層到隱藏層的權(quán)重矩陣和防止過擬合的偏置項;hT表示從隱藏層到輸入層的權(quán)重向量。最后使用softmax 函數(shù)對輸出結(jié)果進(jìn)行歸一化處理:
式中:β2為一個平滑系數(shù),防止過度平滑,取值范圍為[0,1]。
最后,在模型預(yù)測部分,采用內(nèi)積交互函數(shù),通過內(nèi)積運(yùn)算得到用戶對目標(biāo)項目的偏好為
2.2.4 模型優(yōu)化
本文使用貝葉斯(Bayesian personalized ranking,BPR)損失函數(shù)[18]對模型進(jìn)行優(yōu)化,主要原因是貝葉斯損失函數(shù)考慮了觀察到的交互和未觀察到的交互之間的成對偏好比較。本文還利用用戶的社交關(guān)系產(chǎn)生了一系列中間反饋,與BPR 的基本假設(shè)相比,本文假設(shè)可以從用戶的社交網(wǎng)絡(luò)中,在未觀察到的交互中挖掘出更多的用戶偏好,優(yōu)化目標(biāo)為
Dropout 策略可以在模型訓(xùn)練時有效防止模型的過擬合,本文采用節(jié)點丟棄的Dropout 策略。隨機(jī)凍結(jié)一些特定節(jié)點,使其消息不向外傳播,對于3 層高階傳播,隨機(jī)丟棄拉普拉斯矩陣中的(M+N)p個節(jié)點,其中p為Dropout 率。
實驗采用Gowalla 和Yelp2018 兩個公開的數(shù)據(jù)集來評估提出的模型,表1 給出了兩個數(shù)據(jù)集的統(tǒng)計信息。
表1 實驗數(shù)據(jù)信息Table 1 Statistics of the datasets
本文提出的融合社交關(guān)系的輕量級圖卷積協(xié)同過濾模型(light graph convolutional collaborative filtering recommendation approach incorporating social relationships,F(xiàn)-LightGCCF),分別與以下4 種先進(jìn)的推薦模型比較:
1)GRMF[19]:該模型通過利用圖拉普拉斯正則化算子來平滑矩陣分解,設(shè)計了圖正則化交替最小二乘法對算法進(jìn)行優(yōu)化,利用加權(quán)核范數(shù)結(jié)構(gòu)化矩陣分解框架。
2)Mult-VAE[20]:該模型將可變自動編碼器應(yīng)用于協(xié)同過濾算法,利用非線性概率模型挖掘用戶-項目之間的隱式反饋。
3)NGCF[8]:該模型是基于圖卷積神經(jīng)網(wǎng)絡(luò)的先進(jìn)推薦模型,通過構(gòu)建了k層嵌入傳播層對交互信息進(jìn)行嵌入傳播學(xué)習(xí),最終得到用戶-項目之間的關(guān)聯(lián)分?jǐn)?shù)。
4)LightGCN[9]:該模型基于NGCF 模型,摒棄了NGCF 模型中特征變換和非線性激活2 個復(fù)雜的設(shè)計,降低了模型的訓(xùn)練難度。
本文模型和算法使用Python 語言基于Tensor-Flow 框架實現(xiàn),機(jī)器配置為GPU i7-8700K 3.7 GHz,操作系統(tǒng)為Windows 10。在實驗中,對于每一個數(shù)據(jù)集,隨機(jī)選擇每個用戶的80%的交互歷史構(gòu)成訓(xùn)練集,剩余的20%作為測試集。隨機(jī)選取訓(xùn)練集中的10%作為驗證集,用于參數(shù)的調(diào)試?;谝酝P蚚9]的經(jīng)驗,正則化系數(shù)設(shè)置為1×10-4,每次處理的數(shù)據(jù)量大小為1024,迭代次數(shù)為100 次時模型收斂。經(jīng)驗證集測試后,在Gowalla數(shù)據(jù)集和Yelp2018 數(shù)據(jù),Dropout 率分別設(shè)置為0.3 和0.1。學(xué)習(xí)率設(shè)置為0.0006,注意力網(wǎng)絡(luò)的平滑系數(shù)β1和β2均設(shè)置為0.5。參數(shù)調(diào)整好之后,本文采用Adam[21]作為優(yōu)化器,使用Xavier 方式初始化模型參數(shù),嵌入大小為64,使用3 個64×64 的圖卷積層。
在本文,每種模型均輸出用戶對所有項目的偏好分?jǐn)?shù),為了評估top-k推薦和偏好排序的有效性,實驗使用召回率(Recall@k)、精確率(Precision@k)和歸一化折現(xiàn)積累收益(NDCG@k)作為推薦效果方面的評價指標(biāo)。默認(rèn)情況下,設(shè)置k=20。召回率是所有“被正確推薦的項目”占所有“應(yīng)該被推薦的正確的項目”的比例,精確率是“被正確推薦的項目”占“所有被正確推薦的項目”的比例,分別如式(3)和(4)所示。
式中:R(u)是為用戶推薦的項目集合;T(u)為測試集上用戶感興趣的項目的集合;F(u)為測試集上用戶不感興趣的項目的集合。
NDCG 是一種基于排名的測試指標(biāo),排名靠前的項目得分更高。
式中:reli表示用戶對第i個項目的評分;log2(i+1)是一個位置遞減權(quán)重。
3.5.1 模型推薦效果
將本文模型與對比模型分別在2 個相同的數(shù)據(jù)集上實驗,實驗結(jié)果如表2 所示。從模型推薦效果的總體比較來看,本文提出的F-LightGCCF模型在2 個數(shù)據(jù)集上的3 方面表現(xiàn)優(yōu)于其他方法,證明了模型的高效性和良好的泛化能力。
表2 總體比較Table 2 Overall performance comparison
實驗對模型的top-k推薦進(jìn)行了Recall@k、Precision@k和NDCG@k3 方面評估以驗證模型的有效性,其中k分別取值為20、40、60、80、100,結(jié)果如圖4 所示。本文模型的top-k推薦效果在全局和局部均有明顯的提升,主要原因是采用圖嵌入技術(shù)將用戶、項目、朋友信息映射到低維稠密的向量空間,有效緩解了數(shù)據(jù)的稀疏性。通過堆疊3 層圖卷積層,利用社交關(guān)系捕獲隱式負(fù)反饋信息,從而挖掘出能夠間接反映用戶偏好的中間反饋。另外,通過使用圖注意力網(wǎng)絡(luò)來衡量并更新鄰居節(jié)點的貢獻(xiàn)值。最后,將圖卷積層學(xué)習(xí)到的多個嵌入向量通過分層聚合機(jī)制加權(quán)聚合,并引入注意力機(jī)制自動學(xué)習(xí)第l層嵌入向量的重要程度,有效提高了模型推薦效果。
圖4 2 個不同數(shù)據(jù)集上top-k 推薦效果Fig.4 Top-k recommendation performance on two different data sets
3.5.2 圖卷積層的影響
圖卷積層對F-LightGCCF 模型推薦效果中起決定性作用。本文分別了設(shè)計GC-MC 圖卷積層[14]和Hop-Rec 圖卷積層[15],模型的推薦效果如表3所示。本文設(shè)計的圖卷積層的推薦效果相比于其他兩種設(shè)計均有明顯提高,原因是本文圖卷積層的設(shè)計使用哈達(dá)瑪積(ei⊙eu),使得消息傳遞取決于ei與eu之間的親密度值。在鄰域聚合時,每個鄰域嵌入采用對稱歸一化。經(jīng)以往研究[9]證實,對稱歸一化可以使模型表現(xiàn)良好。此外,通過圖注意力網(wǎng)絡(luò)來衡量鄰居的貢獻(xiàn)值。而GC-MC 和Hop-Rec 圖卷積層的設(shè)計并未對圖卷積層進(jìn)行簡化操作,僅使用了線性變換,其次,它們的設(shè)計并沒有考慮用戶的社交關(guān)系,降低了訓(xùn)練數(shù)據(jù)的豐富性。此外,Hop-Rec 層總體表現(xiàn)優(yōu)于GC-MC層,原因是GC-MC 層僅考慮了用戶-項目連接性的一階鄰居影響,而Hop-Rec 層利用高階鄰居來豐富訓(xùn)練數(shù)據(jù),對用戶和項目之間的高階偏好進(jìn)行建模。
由表2 與表3 比較可知,更換了圖卷積層的F-LightGCCF 模型仍表現(xiàn)出很好的推薦效果,原因是本文模型設(shè)計了分層聚合機(jī)制,考慮了嵌入向量對最終向量表達(dá)的影響,融合注意力機(jī)制學(xué)習(xí)第l層嵌入的重要程度,驗證了模型設(shè)計的合理性。
表3 不同圖卷積層模型的推薦效果Table 3 Recommendation effects of different graph convolution layer models
3.5.3 消融分析
以往的工作[22-23]遵循標(biāo)準(zhǔn)的GCN 設(shè)計,包括特征變換和非線性激活。受LightGCN 模型啟發(fā),對本文提出的模型進(jìn)行消融工作。實驗結(jié)果如表4 所示,其中NF-GCCF 為未消融的模型,F(xiàn)-LightGCCF 為消融的模型。F-LightGCCF 模型的推薦效果有明顯提高,驗證了之前的猜想。在協(xié)同過濾推薦中,對用戶/項目的one-hot 向量進(jìn)行特征變換和非線性激活無助于特征學(xué)習(xí),反而會增加模型的訓(xùn)練難度,降低模型性能。
表4 消融分析Table 4 Ablation analyses
模型訓(xùn)練過程中,超參數(shù)直接影響模型學(xué)習(xí)的結(jié)果,為了使模型達(dá)到最佳的推薦效果,本文對模型的超參數(shù)學(xué)習(xí)如表5。
表5 測試超參數(shù)Table 5 Test hyper-parameters
3.6.1 學(xué)習(xí)率影響
模型的學(xué)習(xí)率直接影響著神經(jīng)網(wǎng)絡(luò)模型的收斂狀態(tài),進(jìn)而影響著模型的性能表現(xiàn),因此選擇一個合適的學(xué)習(xí)率對于一個神經(jīng)網(wǎng)絡(luò)模型的影響至關(guān)重要。在神經(jīng)網(wǎng)絡(luò)模型中,學(xué)習(xí)率可以被視為一個超參數(shù)來手動調(diào)整,也可以看作一個學(xué)習(xí)參數(shù)自動學(xué)習(xí)。在實驗中,將其設(shè)置為一個超參數(shù),通過手動調(diào)整訓(xùn)練得到最優(yōu)的學(xué)習(xí)率大小,實驗結(jié)果如圖5。當(dāng)學(xué)習(xí)率lr=0.0006 時,模型推薦的總體效果達(dá)到最佳,當(dāng)學(xué)習(xí)率lr=0.0001 時,模型推薦的總體效果最差。
圖5 學(xué)習(xí)率測試Fig.5 Learning rate test
3.6.2 Dropout 率
Dropout 策略在模型訓(xùn)練時有效防止模型的過擬合,本文提出了一種Dropout 策略為節(jié)點丟棄(node_dropout)。圖6 分別顯示了節(jié)點丟棄率p取不同值作用于2 個不同的數(shù)據(jù)集上產(chǎn)生的不同影響。當(dāng)p=0.3 時,模型在Gowalla 數(shù)據(jù)集上的推薦效果最佳。當(dāng)p=0.1 時,模型在Yelp2018 數(shù)據(jù)集上的推薦效果最佳。原因是Gowalla 數(shù)據(jù)集的稀疏度低于Yelp2018 數(shù)據(jù)集的稀疏度,故而Gowalla數(shù)據(jù)集更需要丟棄一些無用的數(shù)據(jù)節(jié)點。
圖6 Dropout 率測試Fig.6 Dropout test
3.6.3 平滑系數(shù)
注意力網(wǎng)絡(luò)的平滑系數(shù)用于防止過度平滑對推薦結(jié)果所產(chǎn)生的消極影響。本文將平滑系數(shù)設(shè)置為可手動訓(xùn)練的超參數(shù),圖7 展示了平滑系數(shù)β1和β2分別作用于2 個數(shù)據(jù)集上對召回率的影響。當(dāng)β1=β2=0.5 時,取得最佳的推薦效果。
圖7 平滑系數(shù)的影響Fig.7 Effect of smoothing factor
本文提出了一種融合社交關(guān)系的輕量級圖卷積協(xié)同過濾模型(F-LightGCCF 模型),首先,模型在嵌入層嵌入用戶、項目和朋友信息,緩解了數(shù)據(jù)稀疏性的影響;在圖卷積層引入注意力機(jī)制衡量鄰居節(jié)點的貢獻(xiàn)值,摒棄了圖卷積網(wǎng)絡(luò)中特征變換和非線性激活的設(shè)計,降低了模型的訓(xùn)練難度,提升了模型性能;其次,設(shè)計了分層聚合機(jī)制綜合考慮嵌入學(xué)習(xí)向量對最終向量表達(dá)的影響,再次融合注意力機(jī)制學(xué)習(xí)第l層嵌入的重要程度;最后,模型預(yù)測層,利用內(nèi)積運(yùn)算預(yù)測用戶與項目之間的關(guān)聯(lián)分?jǐn)?shù)。實驗結(jié)果表明,與現(xiàn)有的主流協(xié)同過濾推薦模型相比,本文模型取得了更好的推薦效果。本文所構(gòu)建的輕量級圖卷積神經(jīng)網(wǎng)絡(luò)模型,是一種簡單、線性模型,它更容易實現(xiàn)和訓(xùn)練,但是模型受線性的影響,可能無法有效地捕捉初始數(shù)據(jù)中的非線性結(jié)構(gòu)。在未來的工作中,將采用更為豐富的訓(xùn)練數(shù)據(jù),以緩解推薦模型的冷啟動問題。與此同時,考慮影響推薦效果的更多屬性,如用戶興趣的動態(tài)變化等,嘗試通過設(shè)計更合理的協(xié)同過濾推薦模型來緩解推薦系統(tǒng)中數(shù)據(jù)稀疏性和隱式反饋的低利用率等問題,進(jìn)一步提升推薦的準(zhǔn)確性。