王嘉豪,梅紅巖,劉 鑫,李曉會
(遼寧工業(yè)大學 電子與信息工程學院,遼寧 錦州 121001)
推薦系統(tǒng)(recommendation system,RS)的有效性通常取決于用戶的興趣或偏好如何被理解以及用戶和項目之間的交互如何被建模。協(xié)同過濾(collaborative filtering,CF)[1]是RS中廣泛使用和突出的技術(shù)之一,現(xiàn)有的基于CF的方法,包括基于模型和基于內(nèi)存的方法,并且取得了良好的效果,但是依然存在著以下問題:①在基于內(nèi)存的推薦中,當用戶與項目的交互少,就會面臨矩陣稀疏性問題,使其計算出來的用戶相似性也是不準確的,隨著用戶和項目的逐漸增多,該方法的推薦性能也會下降,如果用戶跟一個項目從未存在過交互,則這個項目不可能被推薦;②在基于模型的推薦中,如邏輯回歸(logistic regression,LR)無法進行特征交叉、特征篩選、表達能力差;后期研究者雖然對模型進行改善,但是令數(shù)據(jù)更加稀疏,難以收斂并且特征權(quán)重增加,訓練成本變大;因子分解機(factor factorizer,F(xiàn)M)面臨組合爆炸,不易做到高階的特征相融合;域感知分解機模型(domain sense factor decomposer model,F(xiàn)FM)使模型的訓練開銷進一步加大;此外還面臨并行訓練難,時長加大等問題。為了解決上述問題,提出了一種推薦方法,稱為切比雪夫譜卷積協(xié)同過濾推薦方法(chebyshev-SCF)。該方法能夠在頻譜域間進行譜卷積運算,能夠挖掘用戶與項目隱藏在圖中的關(guān)聯(lián)信息,揭示圖中隱藏的連通性信息。由切比雪夫一階截斷式來動態(tài)的調(diào)整每個頻域的大小,通過一種新方法,將譜卷積運算轉(zhuǎn)換為建立一個深度前饋神經(jīng)網(wǎng)絡(luò),通過優(yōu)化卷積核,降低模型復雜度,達到發(fā)現(xiàn)用戶和項目建的深層關(guān)聯(lián)性,從而緩解CF的冷啟動問題。
受限玻爾茲曼機器法(restricted Boltzmann machines,RBM)是深度學習中較早應(yīng)用于緩解推薦系統(tǒng)的方法,該方法能夠利用用戶的評級來發(fā)現(xiàn)用戶的偏好,從而進行建模,并且優(yōu)于傳統(tǒng)的矩陣分解技術(shù),為深度推薦系統(tǒng)提供了廣闊的應(yīng)用前景。在該方法的啟發(fā)下,Yin Zheng等[2]提出了用于協(xié)同過濾任務(wù)的CF神經(jīng)自回歸分布估計器(CF neural autoregressive distribution estimator,CF-NADE)模型,CF-NADE能夠?qū)崿F(xiàn)在不同的評級之間共享參數(shù),可擴展性也得到了大幅度的提升。后來,Jun Wang等[3]采用生成模型和判別模型來玩極大極小博弈,對這兩個模型進行了迭代優(yōu)化,并為緩解項目推薦問題取得了良好的結(jié)果。Liu H等[4]借助注意力網(wǎng)絡(luò)將基于矩陣分解的協(xié)同過濾與深度對抗網(wǎng)絡(luò)相結(jié)合,該方法能夠從源用戶和目標用戶與項目的交互矩陣中學習每個用戶和每個項目特定的領(lǐng)域表示,有效緩解了數(shù)據(jù)稀疏性問題。文獻[5]提出多層感知器(multilayer perceptron,MLP)可以用來建模用戶-項目之間的交互,進一步優(yōu)化了CF內(nèi)因反饋問題,為基于深度學習的推薦開辟了新的研究途徑。除此之外,遞歸神經(jīng)網(wǎng)絡(luò)(recursive neural network,RNN)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)、深度強化學習(deep reinforcement learning,DRL)等方法都被用于CF,對緩解CF的冷啟動、數(shù)據(jù)稀疏性一些列問題都有了新的突破,并且對推薦質(zhì)量的提升也有較大的貢獻。
另一個相關(guān)的研究方向是利用用戶-項目圖結(jié)構(gòu)進行推薦,將圖神經(jīng)網(wǎng)絡(luò)方法應(yīng)用于推薦系統(tǒng)的動機在于兩個方面:首先RS中的大部分數(shù)據(jù)本質(zhì)上具有圖結(jié)構(gòu),其次GNN技術(shù)在捕獲節(jié)點間的連接和對圖數(shù)據(jù)的表示學習方面非常強大,比如在學習節(jié)點表示[6],提升社交網(wǎng)絡(luò)性能[7],優(yōu)化節(jié)點嵌入[8]都取得了極大的進步。從圖中能夠?qū)W習用戶和項目的潛在因素,許多研究者提出了基于圖的RS,有用于文檔推薦的半監(jiān)督學習模型,該模型通過結(jié)合多個圖,能夠達到衡量項目相似性的目的。后來受圖/節(jié)點嵌入方法的啟發(fā),Berg等[9]提出了一種基于圖卷積網(wǎng)絡(luò)的推薦模型—圖形自動編碼器,通過學習圖形的結(jié)構(gòu)信息來識別用戶和項目的潛在因素。針對傳統(tǒng)推薦以及深度學習中矩陣補全存在的問題,在矩陣分解模型中加入基于正則化的方法來學習圖結(jié)構(gòu),從而有了基于圖的正則化方法。此后,許多基于圖神經(jīng)網(wǎng)絡(luò)的推薦系統(tǒng)被提出,這些方法也對緩解CF的問題起到了很大的作用。
相比之下,本文提出的算法可以直接從用戶-項目構(gòu)建的二部圖中來進行學習,不需要添加邊的信息,并且可以減少模型訓練時長,達到快速發(fā)現(xiàn)用戶-項目隱含性信息的目的。傳統(tǒng)CF的方法一直致力于緩解用戶冷啟動問題,但還是存在著相關(guān)的弊端:首先面臨冷啟動問題,系統(tǒng)無法為新用戶提供有效的推薦,這些用戶沒有對任何商品進行評級,或只對少數(shù)物品進行評級;其次,當面臨海量數(shù)據(jù)的時候,模型加載耗時較大,會使算法效率下降。
在本節(jié)中,首先在二部圖G上執(zhí)行圖傅里葉變換的過程。然后在二部圖的頂點(用戶和項目)上放置一個新的譜卷積濾波器,以動態(tài)濾波來衡量每個頻率分量在譜域中的大小。隨后,采用切比雪夫多項式來克服卷積運算的缺點。最后通過卷積運算,引入了最終的推薦方法—chebyshev-SCF,由多個譜卷積層堆疊而成。用戶與項目的交互圖由空域轉(zhuǎn)換到譜域如圖1、圖2所示。
圖1 用戶-項目二部圖
圖2 用戶-項目頻譜轉(zhuǎn)換
一個具有N個頂點和E個邊的二部用戶項圖被定義為G(U,I,E), 其中U和I是兩個不相交的用戶和項目的集合。每條邊e∈E都遵循e=(u,i) 的形式,u∈U,i∈I, 代表有交互記錄的用戶u和項目。
隱式反饋矩陣R為 |U|×|I| 定義如下
(1)
對于二部圖G,其對應(yīng)的鄰接矩陣W可以定義為
(2)
給定任何圖G={V,E}, 其中V,E分別是一個頂點和邊的集合,在所有頂點上,圖信號被定義為形式為x∈R|V|×1的狀態(tài)向量,xj則表示在圖G中,觀察到的x的第j個值。
經(jīng)典傅里葉變換定義為函數(shù)f,復指數(shù)展開如式(3)所示
(3)
i表示數(shù)值為一個虛數(shù),經(jīng)過組合變?yōu)橹笖?shù)e2πiwt, 是一個標準正交基的形式。
(4)
類似地,圖傅里葉變換定義為觀測圖信號根據(jù)L特征向量的展開,特征向量是譜域的基。如果圖信號 (x∈R|V|×1) 是在圖G上觀察到的,如式(5)所示,圖的傅里葉變換定義為
(5)
圖傅里葉的逆變換如式(6)所示
(6)
因為用戶-項目交互二部圖G存在著兩種類型的圖信號:xu∈R|U|×1和xi∈R|I|×1, 表示有聯(lián)系的用戶和項目頂點。從空域轉(zhuǎn)換到譜域,以及從譜域逆轉(zhuǎn)換為空域如式(7)所示
(7)
圖結(jié)構(gòu)的廣泛信息存在于譜域,在譜域中,拉普拉斯特征向量構(gòu)成的傅里葉基,能夠?qū)D信號投影到正交空間中,在這些空間中不同頻域可以發(fā)現(xiàn)用戶與項目之間不同類型的連接信息。能夠動態(tài)調(diào)整每個頻域?qū)ν扑]系統(tǒng)來說是非常重要的。通過借助于卷積定理的思想,本文將其應(yīng)用于推薦系統(tǒng),探索空域轉(zhuǎn)換到譜域之間的潛在關(guān)聯(lián)性信息,卷積定理式如式(8)所示
f1(t)*f2(t)=f-1[F1(w)·F2(w)]
(8)
式中:f(t) 為輸入信號,f2(t) 為卷積核,則對應(yīng)的圖卷積的輸入信號為x, 卷積核為gθ, 則圖卷積過程如式(9)所示
gθ*x=f-1(f(x)⊙f(g))=U(UTx⊙UTg)
(9)
(10)
濾波器有兩個限制,首先它們不是在空間中被局部化的,其次是它們的學習復雜性為O(n), 當節(jié)點數(shù)量過于龐大的時候,會影響數(shù)據(jù)加載的速度和模型訓練的時長。上述兩個問題可以通過使用多項式濾波器來克服,如式(11)所示
(11)
式中: (gθ(L)δm)p=(gθ(L))m,p=∑kθK(Lk)m,p表示以頂點m為中心的濾波器gθ在頂點p處的值,參數(shù)θ∈RK是一個多項式系數(shù)的向量,其中卷積核通過與克羅內(nèi)克函數(shù)δm∈Rn的卷積進行局部定位,當dG(m,p)>K, 意味著(Lk)m,p=0,dG表示最短路徑,即圖上連接兩個頂點的最小邊數(shù)。因此,用拉普拉斯矩陣的k階多項式表示的光譜濾波器恰好是k鄰域的。此外,學習復雜度為O(K), 即濾波器的支持大小。
(12)
(13)
當切比雪夫多項式的階數(shù)為1的時候,對應(yīng)的卷積核也就只有一個參數(shù),如式(14)所示
(14)
則可以得到經(jīng)過譜域圖卷積后如式(15)所示
(15)
進一步簡化,使得每個卷積核只有一個可學習的參數(shù)。θ0=θ1=θ, 如式(16)所示
(16)
(17)
用戶和項目的輸入xu∈R|u|×1和xi∈R|I|×1變換為了一個C維的圖信號,xu∈R|u|×c和xi∈R|I|×c, 為了便于計算,降低循環(huán)的復雜性,將卷積濾波器推廣變換為一個帶有C個輸入通道和F個濾波器的卷積濾波器矩陣Θ∈RC×F, 因此,最終的光譜卷積操作如式(18)所示
(18)
式中:xu∈R|u|×c和xi∈R|I|×c分別表示從用戶和項目的譜域使用F濾波器學習的卷積結(jié)果;σ和xi∈R|I|×c表示邏輯回歸函數(shù),前饋的流程如圖3所示。
圖3 chebyshev-SCF卷積信號處理流程
(19)
為了利用來自Chebyshev-SCF的所有隱藏層內(nèi)的特性,本文進一步將它們連接到用戶和項目的最終潛在因素中,如式(20)所示
(20)
式中: Φu∈R|u|×(C+KF)和Φi∈R|i|×(C+KF)。
在損失函數(shù)方面,采用了常規(guī)BPR損失,BPR為無偏成對損失函數(shù),一般用于隱式項目的推薦,與逐點損失函數(shù)有所不同,通過BPR生成一個三元組 (r,j,j′), 其中j表示被用戶r喜歡/點擊/查看過的項目,而項目j′則表示未被用戶r喜歡/點擊/查看過的項目。通過最大化j和j′之間的偏好差 (r,j,j′), 給定一個用戶矩陣Iu和項目矩陣Ii如式(21)所示,chebyshev-SCF的損失函數(shù)如式(21)所示
(21)
式中:pos和neg表示用戶和項目的潛在因素,λreg表示正則化項的系數(shù),訓練的數(shù)據(jù)如式(22)所示
(22)
本文使用的優(yōu)化算法為Adam[10],是一種自適應(yīng)估計的優(yōu)化方法,因其對內(nèi)存占用率較低,計算耗時低,方法簡便,該方法計算不同參數(shù)下的個體自適應(yīng)學習速率是通過梯度的不同階而實現(xiàn)的,Adam名字來源于自適應(yīng)矩估計。該方法結(jié)合了兩種方法的優(yōu)點:AdaGrad[11],它在稀疏度上效果顯著,RMSProp,它在在線和非平穩(wěn)設(shè)置下效果明顯,此外Adam對梯度的對角線縮放不變非常適合于數(shù)據(jù)和/或參數(shù)較大的問題。該方法也適用于非平穩(wěn)目標和非常噪聲和/或稀疏梯度的問題,而且超參數(shù)有直觀的解釋,通常不需要調(diào)優(yōu)。
步驟1 輸入用戶-項目隱式矩陣R, 鄰居矩陣W, 批尺寸B, 迭代次數(shù)E, 潛在因素維度C。 卷積核層數(shù)F, 學習率lr, 正則化系數(shù)λreg。
步驟2 構(gòu)建用戶與項目的隱式反饋矩陣,并通過高斯混合函數(shù)N(0.0001,0.0002) 來獲取初始Xu,Xi的數(shù)值,保證初始數(shù)據(jù)分布的穩(wěn)定性。
步驟3 在數(shù)據(jù)集中采樣的批次大小為B, 獲取向量,循環(huán)迭代E次。
步驟6 通過反向傳播算法優(yōu)化梯度。
步驟7 通過Adam算法更新梯度。
MovieLens-1M:該電影評級數(shù)據(jù)集已被廣泛用于評估協(xié)同過濾算法。我們使用的版本包含1 000 209個評分,來自3900部電影。該數(shù)據(jù)集是一個具有顯式反饋的數(shù)據(jù)集,本研究利用隱式數(shù)據(jù),所有項目均被調(diào)整為0或1兩種數(shù)值,表示用戶是否對該項目進行了評級。經(jīng)過轉(zhuǎn)換后,本研究保留了一個密度為1.0%的數(shù)據(jù)集。
為了驗證chebyshev-SCF的有效性,本研究將其與7種具有代表性的模型進行了比較。
eALS[12]:這是一種基于矩陣分解的項目推薦方法。該模型將所有未觀察到的交互作為負實例,并根據(jù)項目的受歡迎程度對其不均勻地進行加權(quán)。
NCF[5]:神經(jīng)協(xié)同濾波,融合矩陣分解和多層感知器(MLP),從用戶與項目交互中學習。MLP賦予了NCF建模用戶和項目之間的非線性能力。
GCMC[9]:圖卷積矩陣補全,利用圖自動編碼器來學習用戶和項目的潛在因素,即二部交互圖的連通性信息。
SpectralCF[13]:一種直接在譜域上進行卷積的協(xié)同過濾算法,改進用戶冷啟動問題。
NGCF[14]:一種在用戶與項目交互圖上采用了3個GNN層,旨在通過最三跳鄰居的信息來細化用戶和項目表示。
Light-GCN[15]:是一種基于GNN的CF方法,能夠選擇GCN作為聚合技術(shù),選擇身份函數(shù)作為激活,即去除非線性計算,選擇Mean作為層組合函數(shù)。
DGCF[16]:一種解糾纏GNN模型,它利用鄰居路由和嵌入傳播來解開圖邊后的潛在因素。
本文所需要的重要參數(shù)數(shù)值見表1。
表1 參數(shù)設(shè)置
理想情況下,推薦模型不僅應(yīng)該能夠從所有項目中檢索所有相關(guān)項目,而且還能夠?qū)ν扑]系統(tǒng)的準確度進行度量。因此,在本實驗中,使用Recall@20和P@20 (Precision)來評估推薦系統(tǒng)的性能。使用Recall@20來測量從所有相關(guān)項目中檢索到的相關(guān)20個項目的比例。P@20 (Precision)表示前20個項目中正確推薦的項目的數(shù)量。
在本文提出的方法中,卷積層數(shù)、圖信號維度、濾波器層數(shù)對該方法最終的性能有著重要的影響,因此,本研究對有關(guān)聯(lián)的參數(shù)K,C,F(xiàn)進行取值驗證。在數(shù)據(jù)集中,本研究選取訓練集為每個用戶相關(guān)的80%的項目,測試集為所有其余的項目,并使用來自每個數(shù)據(jù)集的訓練集的驗證集來尋找最優(yōu)超參數(shù)。
首先調(diào)整濾波器數(shù),本研究發(fā)現(xiàn),當濾波器數(shù)量在18~24之間的時候,對算法效率的影響明顯不同,并且在數(shù)量為22的時候可以得到評估指標的最大值,如圖4所示。
圖4 MovieLens-1M數(shù)據(jù)集濾波器F對Recall@20和Precision@20的影響
對于每個評估場景,本研究用不同的隨機選擇的訓練集重復評估5次,并在以下章節(jié)中報告性能。本研究將K的范圍確定在2~6之間,C的范圍為10~26之間,F(xiàn)的范圍為16~24,將相關(guān)實驗數(shù)據(jù)統(tǒng)計見表2。
表2 算法chebyshev-SCF在不同權(quán)重下的Recall@20值
從圖5中可以看出,在數(shù)據(jù)集MovieLens-1M上進行驗證以后,本文所提出的算法chebyshev-SCF相比其它7種算法,性能是最好的。相比算法eALS、NCF、GCMC、
NGCF、Light-GCN、DGCF,在召回率上均有大幅度的提升,并且與譜域最前沿的推薦算法SpectralCF相比,也有了3%的提升。對于準確率的提升,與eALS、NCF、GCMC、NGCF、Light-GCN、DGCF相比,性能依舊是最佳的,因此算法chebyshev-SCF在冷啟動環(huán)境下的推薦效果是最好的。經(jīng)過分析,之所以可以取得這樣的效果是因為算法chebyshev-SCF能夠直接在圖譜域內(nèi)進行卷積運算,不僅能依靠圖獨特的性質(zhì),優(yōu)化鄰接矩陣潛在屬性,從而挖掘圖的鄰近信息,而且還能夠揭示隱藏在圖中的連通性信息,借助于精簡的卷積方式,簡化特征分解,達到快速發(fā)現(xiàn)用戶和項目間深層聯(lián)系的目的,對緩解CF冷啟動問題效果顯著。
性能一驗證:chebyshev-SCF在譜域可以挖掘到的隱性連通性信息究竟有多少?
在圖5中,本文提出的算法chebyshev-SCF與兩種基于CF的經(jīng)典模型和5種基于圖的模型進行了對比。總的來說,chebyshev-SCF能夠產(chǎn)生最佳性能。在基于圖的傳統(tǒng)模型中,Light-GCN在數(shù)據(jù)集中的性能是最差的,雖然Light-GCN對GCN中的特征轉(zhuǎn)換和非線性激活進行了簡化,只保留鄰域聚合的部分,并且取得了一定的進步,但是對于小型數(shù)據(jù)集效果并不好。對于NGCF。在基于CF的模型中,NCF和eALS的性能都要好于其它基于圖的模型,雖然GCMC直接在用戶與項目二部圖上執(zhí)行卷積操作,但圖中的每個頂點只允許向它的鄰居學習,這限制了它在圖中捕獲全局結(jié)構(gòu)的能力。由于NCF具有建模用戶與產(chǎn)品之間非線性關(guān)系的能力,因此它擊敗了所有其它模型,成為最強大的模型。然而,以上的模型均不能直接在光譜域進行推薦,唯獨chebyshev-SCF能夠以一種獨特的方法,在譜域空間中挖掘用戶和項目的關(guān)聯(lián)性,為緩解用戶冷啟動問題效果顯著。
圖5 召回率對比
性能二驗證:chebyshev-SCF在譜域中可以學習到的有效性信息有多少?
在圖6中,本文提出的算法chebyshev-SCF與P@20中的所有比較模型進行了比較。同樣,chebyshev-SCF總是產(chǎn)生最好的性能。簡化的Light-GCN在所有模型中表現(xiàn)依舊最差,進一步顯示了該模型不適用于小型數(shù)據(jù)集。與NCF和eALS相比,基于圖的模型再次未能顯示出令人信服的排名表現(xiàn)。對于基于CF的模型,NCF在數(shù)據(jù)集上的表現(xiàn)優(yōu)于eALS模型??偟膩碚f,如圖5和圖6所示,當數(shù)據(jù)集變得稀疏時,所有模型的性能都會下降,這是確定的。然而,無論數(shù)據(jù)集的稀疏性如何,chebyshev-SCF總是優(yōu)于所有的比較模型。通過與傳統(tǒng)基于CF的模型的比較,本文驗證了在譜域隱藏的豐富的隱性連通性信息有助于chebyshev-SCF更好地學習用戶和物品的潛在因素。通過比較chebyshev-SCF和基于圖的模型,實驗結(jié)果表明chebyshev-SCF可以有效地從譜域中學習用戶和項目潛在性關(guān)聯(lián)信息,未來可以通過改變譜圖卷積方式來進一步提升模型的能力,如譜圖注意力網(wǎng)絡(luò)[17](graph attention network,GAT)以及通過變換波形的圖譜小波神經(jīng)網(wǎng)絡(luò)[18](graph wavelet neural network,GWNN),還有簡化譜卷積神經(jīng)網(wǎng)絡(luò)(simple spectral graph convolution,S2GC)[19],都為未來運用譜卷積神經(jīng)網(wǎng)絡(luò)提供了新的思路,未來將這些方法運用于推薦系統(tǒng),擁有非常廣闊的前景。
圖6 準確率對比
性能三驗證:chebyshev-SCF對時間的性能提高有多少?
本文提出的算法chebyshev-SCF與最具有代表性的譜卷積方法SpectralCF相比,模型運行的效率大幅度提升,訓練時間大大減少,SpectralCF雖然是譜域最為前沿的算法,但是在訓練數(shù)據(jù)的過程中因其需要計算大量的特征值和特征向量,而使模型訓練時間大幅度增加,通過簡化卷積過程,設(shè)置新的深度前饋神經(jīng)網(wǎng)絡(luò),從而能夠省略拉普拉斯復雜的特征分解,經(jīng)過實驗驗證,chebyshev-SCF在據(jù)集上訓練數(shù)據(jù)所用的時間為SpectralCF訓練時間的八分之一,訓練時長對比如圖7所示。
圖7 訓練時長對比
在譜域中存在的隱性連通性信息對推薦系統(tǒng)中建立用戶和項目之間的聯(lián)系意義重大。本文提出了一種基于切比雪夫優(yōu)化的譜卷積推薦算法,不僅可以省略拉普拉斯矩陣復雜的特征分解,達到直接從譜域?qū)W習用戶和項目的潛在因素的目的,還能提升模型效率,減少模型訓練時間。實驗結(jié)果表明,所提出的方法優(yōu)于其它先進的算法。未來可以通過改變譜卷積方式來進一步提升模型的性能。