鄭 誠,黃夏炎
(安徽大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,合肥 230601)(安徽大學(xué) 計算智能與信號處理教育部重點實驗室,合肥 230601) E-mail:huangxy94@foxmail.com
由于互聯(lián)網(wǎng)的快速發(fā)展,人們需要面對與日俱增的海量數(shù)據(jù),從而出現(xiàn)了信息過載的問題.而推薦系統(tǒng)的出現(xiàn)則有效地緩解了信息過載對互聯(lián)網(wǎng)用戶的困擾.推薦系統(tǒng)主要依賴推薦算法進(jìn)行有效的推薦.在一系列相關(guān)的算法中,協(xié)同過濾(Collaborative Filtering,CF)算法使用最為廣泛[1].該算法的核心思想是根據(jù)用戶和物品產(chǎn)生的交互來預(yù)測用戶可能感興趣的其它物品.
協(xié)同過濾算法主要通過學(xué)習(xí)潛在特征(Factor Feature)來對用戶和物品進(jìn)行表示,潛在特征也可以稱為嵌入(Embedding).而協(xié)同過濾算法主要利用潛在特征向量進(jìn)行預(yù)測[2].矩陣分解(Matrix Factorization)算法是該類算法的早期代表,該算法直接將單個用戶映射到嵌入中.隨后的研究又發(fā)現(xiàn),根據(jù)用戶的交互歷史,增加所需要映射的用戶數(shù)量可以有效地提升嵌入的質(zhì)量.例如,Yehuda Koren提出的SVD++算法驗證了使用用戶的歷史交互信息可以明顯提升評分預(yù)測的準(zhǔn)確性[3],He等人提出的NAIS(Neural Attentive Item Similarity)模型對與用戶產(chǎn)生過交互的物品按重要程度進(jìn)行了區(qū)分,也取得了較好的結(jié)果.但是上述方法均只使用了與用戶產(chǎn)生過直接聯(lián)系的鄰域的信息(即圖1中的L=1范圍).
圖1 用戶與物品交互示意圖Fig.1 Example of users interaction with items
近年來,圖卷積網(wǎng)絡(luò)(Graph Convolution Network,GCN)在很多領(lǐng)域取得了非常好的成果,也越來越多的被應(yīng)用于推薦系統(tǒng)任務(wù).GCN網(wǎng)絡(luò)可以更有效地利用用戶的高跳鄰居(high-hop neighbors)的信息.Wang等人在圖卷積網(wǎng)絡(luò)的基礎(chǔ)上提出了NGCF模型[4],該模型完全繼承了標(biāo)準(zhǔn)圖卷積模型的一系列規(guī)則:特征變換、鄰域融合、非線性激活.盡管該模型也取得了非常好的結(jié)果,但模型過于復(fù)雜,時間復(fù)雜度也偏高.He等人在NGCF模型的基礎(chǔ)上去除了特征變換和非線性激活兩個規(guī)則,提出了LightGCN[5]模型.但該模型對所有鄰域的權(quán)重統(tǒng)一給定了一個固定值,并未進(jìn)行區(qū)分.
針對以上問題,本文構(gòu)建了LGCA(LightGCN with Attention)模型.該模型基于LightGCN模型的構(gòu)建思想,并通過引入注意力機制,根據(jù)不同鄰域的重要程度對各個鄰域的權(quán)重進(jìn)行區(qū)分,并賦予不同的權(quán)重,提升了模型預(yù)測的準(zhǔn)確性.
本文主要貢獻(xiàn)如下:
1)提出了一個聯(lián)合輕量圖卷積網(wǎng)絡(luò)和注意力機制的推薦模型,在模型中,輕量圖卷積網(wǎng)絡(luò)舍棄了傳統(tǒng)圖卷積網(wǎng)絡(luò)里特征變換、非線性激活等步驟,使得模型的性能得到了較大的提升.注意力機制為目標(biāo)用戶和目標(biāo)物品分配了不同的權(quán)重,使得模型的思想更為合理.
2)模型在3個真實數(shù)據(jù)集上均取得了較好的結(jié)果,驗證了模型的有效性.
圖卷積網(wǎng)絡(luò)(GCN)是近些年出現(xiàn)的一個比較熱門的神經(jīng)網(wǎng)絡(luò)模型,它也是多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).該模型的主要操作在圖結(jié)構(gòu)上進(jìn)行.
給定一個圖G=(V,E),V(|V|=n)是節(jié)點的集合,E為邊的集合.假設(shè)每個節(jié)點均存在自連接,則對任意給定的v,有(v,v)∈E.設(shè)X∈n×m為包含全部n個節(jié)點及其特征的矩陣,m是特征向量的維數(shù),每一行的xv∈m是v的特征向量.引入圖G的鄰接矩陣A及其度矩陣D,令Dii=∑jAij.因為存在自連接性,鄰接矩陣A的對角線元素均設(shè)為1.如果GCN的層數(shù)只有1層,該網(wǎng)絡(luò)僅可捕獲其直接鄰居的信息.而當(dāng)多個GCN網(wǎng)絡(luò)堆疊在一起的時候,則可以集成較大鄰域的信息.對于單層GCN網(wǎng)絡(luò),新的k維節(jié)點的特征矩陣定義為L(1)∈n×k,該矩陣的計算方式定義為:
(1)
(2)
其中,j表示GCN網(wǎng)絡(luò)的層數(shù)且L(0)=X.
注意力機制在計算機視覺、自然語言處理等領(lǐng)域都取得了較好的成果.注意力機制可以對輸入數(shù)據(jù)的噪聲進(jìn)行過濾,減少某些噪音數(shù)據(jù)對結(jié)果造成的影響,并增大某些重要信息的權(quán)重.近年來,注意力機制也被引入了推薦系統(tǒng)任務(wù)中,在推薦系統(tǒng)中可以使用注意力機制來為不同的用戶和物品分配不同權(quán)重,進(jìn)而以此獲取有一定代表性的用戶對或者物品對,以提升推薦結(jié)果的準(zhǔn)確性.注意力機制的核心在于通過神經(jīng)網(wǎng)絡(luò)來計算各個部分的權(quán)重.Liu等人提出的DAML(Dual Attention Mutual Learning)[6]模型使用雙重注意力機制來提取用戶和評論之間所存在的潛在特征的相關(guān)性.Dong等人利用BP神經(jīng)網(wǎng)絡(luò)來對某個目標(biāo)用戶和其鄰居節(jié)點之間的復(fù)雜關(guān)系進(jìn)行探索,使用注意力機制來獲取每個用戶對所有最近鄰用戶的總體影響[7].Jhamb等人使用注意力機制來提升一種基于自編碼器的協(xié)同過濾算法的性能[8].
本節(jié)將詳細(xì)闡述融合輕量圖卷積網(wǎng)絡(luò)和注意力機制的推薦算法模型LGCA(LightGCN with Attention).該模型主要可分為兩個部分,一個是輕量圖卷積網(wǎng)絡(luò)模型,這是該算法的主要部分,用于實現(xiàn)整個推薦過程.另一個是引入注意力機制對不同鄰域進(jìn)行區(qū)分.圖2為LGCA模型框架示意圖.
圖2 LGCA模型架構(gòu)Fig.2 Illustration of LightGCN model architecture
GCN的基本思想是通過平滑圖上的特征來學(xué)習(xí)節(jié)點的表示,因此需要反復(fù)地迭代圖卷積操作,也就是將鄰居的特征進(jìn)行聚合作為目標(biāo)節(jié)點的新表示.本文的聚合操作抽象表示為:
(3)
(4)
(5)
(6)
(7)
其中,ak≥0表示第k層嵌入的重要程度.該參數(shù)的獲取方式將在3.2小節(jié)進(jìn)行闡述.
模型最后將用戶和物品的最終表示的內(nèi)積作為預(yù)測結(jié)果:
(8)
為提升模型的效率,將公式改寫為矩陣形式.設(shè)R∈M×N為用戶與物品的交互矩陣.M和N分別表示用戶和物品的數(shù)量.如果用戶與物品發(fā)生過交互,則矩陣元素Rui為1,否則為0.可以得到用戶-物品圖的鄰接矩陣:
設(shè)第0層的嵌入矩陣為E(0)∈(M+N)×T,T為嵌入的維度.之后可得下列等式:
(9)
其中,D是規(guī)模為(M+N)×(M+N)的對角矩陣.最后得到最終用于模型預(yù)測的嵌入矩陣:
(10)
圖3 3層嵌入傳播示例Fig.3 Illustration of third-order embedding propagation
設(shè)用戶和物品的歷史交互矩陣為Rm×n,m為用戶的數(shù)量,n為物品的數(shù)量.
本文的方法采用一個多層感知機來實現(xiàn)注意力機制:
f(pi,qj)=hTReLU(w(pi⊙qj)+b)
(11)
其中,wk×d,bd×1分別表示從輸入層到隱藏層的權(quán)重矩陣和防止過擬合的偏置項.hT表示從隱藏層到輸入層的權(quán)重向量.最后使用一個softmax函數(shù)對最終的輸出結(jié)果進(jìn)行歸一化:
(12)
其中,β為一個平滑系數(shù),用于防止softmax函數(shù)對活躍用戶的權(quán)重懲罰過度,其取值范圍為[0,1].
本文的模型所需要訓(xùn)練的參數(shù)記為Θ={E(0),β},其中E(0)是第0層的嵌入.同時,受到文獻(xiàn)[13]的啟發(fā),本文使用了BPR(Bayesian Personalized Ranking)模型所采用的損失函數(shù):
(13)
在這里,λ是控制L2正則化的一個超參數(shù).同時使用Adam(Adaptive Moment Estimation)算法來優(yōu)化這個損失函數(shù).
在這一節(jié)中,我們首先介紹實驗所使用的數(shù)據(jù)集、實驗的各項設(shè)置和所使用的對比方法.最后介紹本文提出的模型與各個對比方法的性能比較.
本文的工作選用3個不同領(lǐng)域的真實數(shù)據(jù)集:Gowalla、Yelp2018和Amazon-book.下面簡單地對這3個數(shù)據(jù)集進(jìn)行介紹.
Gowalla:這個數(shù)據(jù)集來自簽到網(wǎng)站Gowalla,用戶通過簽到來分享他的位置信息.
Yelp2018:這個數(shù)據(jù)集是Yelp網(wǎng)站2018年挑戰(zhàn)賽所采用的公開數(shù)據(jù)集,也是各個推薦任務(wù)中所廣泛采用的數(shù)據(jù)集之一.它包含了用戶查看過的餐廳、酒吧等等當(dāng)?shù)氐乃猩碳?
Amazon-book:亞馬遜的評論數(shù)據(jù)集是一個廣泛應(yīng)用于推薦任務(wù)以及如情感分析等自然語言處理領(lǐng)域的公開數(shù)據(jù)集.本文選取其中的書籍領(lǐng)域的子數(shù)據(jù)集.
參考文獻(xiàn)[14],在本文的實驗中,以上3個數(shù)據(jù)集均只保留發(fā)生過10次以上交互的用戶或者物品.表1為3個數(shù)據(jù)集經(jīng)過預(yù)處理之后的統(tǒng)計情況.
表1 數(shù)據(jù)集信息Table 1 Statistics of datasets
對于所有數(shù)據(jù)集,本文選取每個用戶的歷史交互中的80%作為訓(xùn)練集,剩余的20%作為測試集.同時,隨機選取訓(xùn)練集中的10%作為驗證集以用于參數(shù)的調(diào)試.
在本文的實驗中,文獻(xiàn)[15]嵌入的維度設(shè)置為64.在利用Adam算法對損失函數(shù)進(jìn)行優(yōu)化的過程中,本文使用默認(rèn)的學(xué)習(xí)率0.001.L2正則化系數(shù)λ在{1e-6,1e-5,…,1e-2},在大部分推薦任務(wù)中,該系數(shù)都設(shè)為1e-4.注意力網(wǎng)絡(luò)的平滑系數(shù)設(shè)為0.5.
本文采用召回率(recall)和歸一化折扣累計增益(Normalized Discounted Cumulative Gain,NDCG)作為性能評價指標(biāo).
為更明確地評估模型的性能,本文采用以下模型作為對比方法:
Mult-VAE[16]:這是一個基于變分自編碼器(Variational Autoencoder)的協(xié)同過濾方法,它假設(shè)數(shù)據(jù)來自多項式分布,并使用變分推理進(jìn)行參數(shù)估計.
GRMF[17]:該方法增加了圖的拉普拉斯正則化器,借此來平滑矩陣分解.
NGCF[18]:該方法將圖卷積網(wǎng)絡(luò)的思想引入推薦系統(tǒng)的任務(wù)中,是目前為止比較新的方法之一.
LightGCN[5]:該方法基于NGCF模型,去除了NGCF模型中特征變換和非線性激活兩個部分,有效提升了算法的性能,也是目前比較新穎、性能較好的方法之一.
如表2所示,本文探討了圖卷積網(wǎng)絡(luò)的層數(shù)對實驗結(jié)果的影響.從實驗結(jié)果可知一下幾點:1)在所有場景下,LGCA都取得了比LightGCN更好的性能表現(xiàn);2)增加圖卷積網(wǎng)絡(luò)的層數(shù)可以在一定程度上提升模型的性能,當(dāng)層數(shù)設(shè)定在2層或者3層時,所得到的性能表現(xiàn)都比較好.而當(dāng)層數(shù)設(shè)定為4層時,在Amazon-book數(shù)據(jù)集上出現(xiàn)了過擬合現(xiàn)象,性能有所降低.這可能是因為圖卷積網(wǎng)絡(luò)結(jié)構(gòu)加深時,有較多的噪音數(shù)據(jù)被送入模型中,從而降低了模型的性能.
表2 層數(shù)對性能的影響Table 2 Performance comparison at different layers
從表3中可以看出,LGCA模型在3個數(shù)據(jù)集上的性能表現(xiàn)均優(yōu)于其它模型,這證明了LGCA模型的有效性,表明了引入注意力機制對不同的鄰域進(jìn)行區(qū)分來提升推薦系統(tǒng)的準(zhǔn)確性是可行的.
表3 實驗結(jié)果比較Table 3 Performance of compared methods
圖4、圖5為L2正則化系數(shù)λ的取值對模型性能的影響.這里選取兩層圖卷積網(wǎng)絡(luò),分別在Yelp2018和Amazon-book數(shù)據(jù)集上進(jìn)行實驗.
圖4 正則化系數(shù)對召回率的影響Fig.4 Impact on recall
圖5 正則化系數(shù)對NDCG的影響Fig.5 Impact on NDCG
從圖中可以看出,當(dāng)λ的取值大于1e-2時,模型的性能會迅速衰減,由此表明正則化過強對模型的性能有很大的負(fù)面影響,在推薦任務(wù)中都是需要注意的
本文提出了一個聯(lián)合輕量圖卷積網(wǎng)絡(luò)和注意力機制的推薦算法,其中輕量圖卷積網(wǎng)絡(luò)舍棄了傳統(tǒng)圖卷積網(wǎng)絡(luò)里特征變換、非線性激活等步驟,使得模型的性能得到了較大的提升.注意力機制為目標(biāo)用戶和目標(biāo)物品分配了不同的權(quán)重,使得模型的思想更為合理.模型在3個真實數(shù)據(jù)集上均取得了較好的結(jié)果.在未來的工作中,可以考慮引入更多的輔助信息,如利用知識圖譜或者評論文本等來進(jìn)一步提高物品和用戶的嵌入表示,以提升模型的準(zhǔn)確性.