翟正利,馮 舒,李鵬輝
青島理工大學(xué) 信息與控制工程學(xué)院,山東 青島 266520
隨著互聯(lián)網(wǎng)空間的多元發(fā)展,各類應(yīng)用的出現(xiàn)引發(fā)了數(shù)據(jù)規(guī)模的爆炸式增長(zhǎng)。這些數(shù)據(jù)中蘊(yùn)含著豐富價(jià)值的同時(shí)也帶來了嚴(yán)重的“信息過載”問題。如何讓用戶精準(zhǔn)選擇自己所需的資源無疑是一個(gè)值得重視的問題。在此背景下,推薦技術(shù)是解決該問題的有效手段。推薦系統(tǒng)是基于歷史記錄分析用戶興趣,一方面為用戶提供他們可能感興趣的項(xiàng)目,另一方面讓信息能展現(xiàn)在對(duì)它感興趣的用戶中,從而實(shí)現(xiàn)信息提供商與用戶的雙贏。大多推薦技術(shù)都基于矩陣因式分解(matrix factorization,MF)模型[1]。MF 模型將用戶的歷史記錄視為用戶-項(xiàng)目交互矩陣,將用戶和項(xiàng)目描述為潛在空間中的潛在向量,未觀察到的評(píng)分估計(jì)描述為用戶潛在向量和項(xiàng)目潛在向量之間的內(nèi)積。受MF模型的啟發(fā),近年來出現(xiàn)了基于深度學(xué)習(xí)的推薦方法,包括協(xié)同過濾(collaborative filtering,CF)[2-3]、順序推薦[4-5]等并受到了廣泛關(guān)注。
盡管上述方法取得了巨大成功,但由于其忽視鄰居信息從而限制了性能,鄰居信息既包括用戶可能感興趣的項(xiàng)目,也包括共享相似興趣的用戶[6]。圖嵌入方法可以很好地克服以上缺點(diǎn),通過將用戶-項(xiàng)目交互視為二部圖并將每個(gè)節(jié)點(diǎn)編碼為向量空間中的高維向量,從而將圖模型和分解模型組合在一起,能夠合并原始用戶-項(xiàng)目交互中不包括的高階鄰居連接。在各種圖嵌入技術(shù)中,圖卷積網(wǎng)絡(luò)(graph convolutional networks,GCN)通過定義圖卷積來處理非歐式空間數(shù)據(jù),如圖數(shù)據(jù)。如文獻(xiàn)[7]引入Chebyshev多項(xiàng)式來降低模型參數(shù),并對(duì)權(quán)重矩陣做歸一化處理,所得一階圖卷積網(wǎng)絡(luò)大大降低了計(jì)算復(fù)雜度。由于其有效性和實(shí)用性,GCN 在文章分類、社交網(wǎng)絡(luò)、化學(xué)等不同領(lǐng)域得到了廣泛的應(yīng)用[8]并成為了最受歡迎的推薦技術(shù)之一[9]。
眾多模型實(shí)驗(yàn)結(jié)果表明:不合理的GCN 模型設(shè)計(jì)會(huì)增加訓(xùn)練復(fù)雜度并限制模型性能。首先,GCN 遞歸地聚合來自不同順序鄰域的消息,卻難以區(qū)分來自不同節(jié)點(diǎn)的混合消息,使提取關(guān)鍵信息和剔除無用信息變得困難。其次,來自不同階鄰域的鄰居消息都被壓縮為用于表示節(jié)點(diǎn)的固定長(zhǎng)度向量,表達(dá)圖結(jié)構(gòu)數(shù)據(jù)的能力尚有欠缺,可能導(dǎo)致在傳播過程中丟失重要信息。第三,多層堆疊會(huì)導(dǎo)致過平滑從而降低模型性能,因此當(dāng)前大多數(shù)GCN模型仍是淺層模型。過平滑問題準(zhǔn)確來說是連通分量中每個(gè)節(jié)點(diǎn)的特征都為所有節(jié)點(diǎn)特征的平均,即同一連通分量?jī)?nèi)的節(jié)點(diǎn)的表征趨向于收斂到同一個(gè)值。
為解決上述協(xié)同過濾問題,提出一種基于改進(jìn)圖卷積網(wǎng)絡(luò)的推薦模型。首先,通過將消息從不同順序的鄰域中分離出來,分別匯總了來自不同階鄰域的鄰域消息,然后以分層方式將其表示為最終的節(jié)點(diǎn)表示形式。其次,通過隨機(jī)刪除交互圖的節(jié)點(diǎn)信息來減緩過平滑的收斂速度,并證明該策略還可有效防止過擬合。在三個(gè)真實(shí)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),并對(duì)不同設(shè)置進(jìn)行對(duì)比,證明所提模型的有效性。
現(xiàn)有處理用戶-項(xiàng)目交互的方法大致可分為兩類。
第一類方法中,模型將<用戶、項(xiàng)目、評(píng)分>元組作為訓(xùn)練數(shù)據(jù)來建模用戶-項(xiàng)目關(guān)系。在這種類型中,MF模型最具代表性,但MF 僅是一個(gè)線性模型,不足以模擬復(fù)雜的用戶-項(xiàng)目關(guān)系并采用多層感知器來增加非線性關(guān)系。同樣,大多數(shù)基于圖嵌入的方法都屬于這一類。此外,很多方法忽略了用戶關(guān)注不同項(xiàng)目的不同方面這一事實(shí),為了解決這一問題,有關(guān)模型使用注意力機(jī)制動(dòng)態(tài)建模用戶感興趣的信息[10]??傊@類方法訓(xùn)練策略基本一致,不同之處在于用戶/項(xiàng)目的表示方式。
第二類方法中,模型將用戶-項(xiàng)目融合。通常將用戶描述為他們與之交互的一組項(xiàng)目,并且基于目標(biāo)項(xiàng)目和目標(biāo)用戶所交互的項(xiàng)目之間的相似性來估計(jì)未觀察到的評(píng)分。早期的研究[11]使用馬爾科夫鏈模型或基于圖的方法使用深度隨機(jī)游走圖嵌入學(xué)習(xí)或來傳播用戶偏好,這在稀疏數(shù)據(jù)集上取得了很好的效果??傊?,在這類方法中側(cè)重于預(yù)測(cè)用戶的興趣,而不是簡(jiǎn)單地關(guān)注<用戶,項(xiàng)目>對(duì)。但是,由于缺乏模型參數(shù),這類模型性能并不夠理想。
給定用戶-項(xiàng)目評(píng)分矩陣R,協(xié)同過濾通常將用戶和項(xiàng)目都投影在相同的低維潛在空間中。然后,每個(gè)用戶對(duì)一個(gè)項(xiàng)目的預(yù)測(cè)偏好可以通過用戶的潛在向量和項(xiàng)目潛在向量在學(xué)習(xí)的低維空間中的相似性來衡量。在現(xiàn)實(shí)中,與顯示評(píng)分相比,用戶通過其行為(如點(diǎn)擊、添加到購物車或消費(fèi))含蓄地表達(dá)他們的反饋更為常見。貝葉斯個(gè)性化排序(Bayesian personalized ranking,BPR)是一種基于潛在因子的技術(shù),用于處理隱式反饋。BPR并沒有直接預(yù)測(cè)每個(gè)用戶的顯式評(píng)分,而是假設(shè)每個(gè)用戶之間的偏好行為相互獨(dú)立和同一用戶對(duì)不同物品的偏序相互獨(dú)立,在此基礎(chǔ)上對(duì)配對(duì)偏好進(jìn)行建模[12]。盡管性能相對(duì)較高,但由于數(shù)據(jù)稀疏性[13]及其引起的冷啟動(dòng)問題仍是此類協(xié)同過濾模型的性能障礙。
近年來,由于GCN 具有從非歐式空間學(xué)習(xí)表示的強(qiáng)大功能,其在推薦系統(tǒng)領(lǐng)域取得了很大的成功。GCN的主要思想是如何通過神經(jīng)網(wǎng)絡(luò)迭代地聚合來自局部鄰域的特征信息。例如,Ying等[14]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到推薦系統(tǒng)中,提出了一個(gè)數(shù)據(jù)高效的圖卷積神經(jīng)網(wǎng)絡(luò)算法PinSage,對(duì)商品節(jié)點(diǎn)產(chǎn)生嵌入表達(dá)。這些表達(dá)包含了圖結(jié)構(gòu)和節(jié)點(diǎn)特征信息,相比傳統(tǒng)的圖卷積方式,其提出了一個(gè)高效的隨機(jī)游走策略建模卷積,設(shè)計(jì)了一個(gè)新的訓(xùn)練策略,成功地將圖卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到節(jié)點(diǎn)數(shù)為10 億級(jí)的超大規(guī)模推薦系統(tǒng)中。文獻(xiàn)[15]采用vanilla GCN進(jìn)行協(xié)同過濾,方法是堆疊多層以合并高階連接,節(jié)點(diǎn)表示是來自不同層的消息的串聯(lián)。文獻(xiàn)[16]利用Linear GCN 來減少模型的復(fù)雜性,并提出一種殘差學(xué)習(xí)策略來解決過平滑的問題。
在推薦系統(tǒng)中,有兩組實(shí)體:用戶集U(|U|=M)和項(xiàng)目集V(|V|=N)。根據(jù)給定的用戶歷史評(píng)分信息構(gòu)建一個(gè)m×n階的用戶-項(xiàng)目評(píng)分矩陣R(m,n),相應(yīng)的二部圖為G=(V,E),包括 |V|=M+N個(gè)節(jié)點(diǎn)和 |E|條邊。用A表示G的鄰接矩陣,其中Aij表示節(jié)點(diǎn)i和節(jié)點(diǎn)j之間連接的狀態(tài),D是一個(gè)對(duì)角矩陣,表示第i個(gè)節(jié)點(diǎn)的度。每個(gè)用戶u被編碼為嵌入向量eu∈Rd,每個(gè)項(xiàng)目i被編碼為嵌入向量ei∈Rd,并且所有節(jié)點(diǎn)的嵌入向量構(gòu)成嵌入矩陣基于此提出一種GCN 的簡(jiǎn)單改進(jìn)模型,通過學(xué)習(xí)一個(gè)交互函數(shù)來解碼嵌入向量,可以將其表示為:
給定模型參數(shù)θ,以及包括觀察到的交互(表示為R+)和未觀察到的交互(表示為R-)的交互圖G。關(guān)注隱式反饋,即G中的每條邊都具有相同的權(quán)重值。
為了解決前文所提GCN 設(shè)計(jì)的不合理問題,提出一種改進(jìn)的圖卷積網(wǎng)絡(luò)模型,拋棄了非線性激活,以層組合來表示最后的節(jié)點(diǎn),模型結(jié)構(gòu)如圖1所示。
圖1 模型結(jié)構(gòu)Fig.1 Model structure
GCN的基本思想是通過在圖上平滑特征來學(xué)習(xí)節(jié)點(diǎn)的表示。為了實(shí)現(xiàn)這一點(diǎn),迭代執(zhí)行圖上卷積操作,即將鄰居的特征聚合為目標(biāo)節(jié)點(diǎn)的新表示。這種鄰居聚集可以抽象為:
AGG是一個(gè)聚合函數(shù),是圖數(shù)據(jù)卷積的核心,考慮第k層對(duì)目標(biāo)節(jié)點(diǎn)及其鄰居節(jié)點(diǎn)的表示。很多工作已經(jīng)指定了AGG,如GraphSAGE[17]中的LSTM 聚合器等。然而,大部分工作都將特征變換或非線性激活與AGG函數(shù)聯(lián)系起來。盡管它們?cè)诰哂姓Z義輸入特性的節(jié)點(diǎn)或圖分類任務(wù)上表現(xiàn)良好,但對(duì)于協(xié)同過濾來說,訓(xùn)練難度依然很復(fù)雜。
文獻(xiàn)[18]指出非線性變換在一階圖卷積神經(jīng)網(wǎng)絡(luò)中無足輕重,使GCN 發(fā)揮作用的是每一層的特征傳播機(jī)制?;诖?,考慮刪除每層之間的非線性轉(zhuǎn)換函數(shù)(如ReLU),只保留最終的softmax(以獲得概率輸出)。得到的模型是線性的,如下所示:
將非線性的GCN 轉(zhuǎn)變?yōu)楹?jiǎn)單地線性模型,減小了模型及其計(jì)算復(fù)雜度,在很多任務(wù)上比GCN 以及其他GNN模型更加高效。本文模型傳播規(guī)則如下:
給定初始狀態(tài)H(0),生成包含不同階鄰域的節(jié)點(diǎn)嵌入,其中,H(0)=P,用Adrop代替,Wk是線性變換參數(shù)。上述公式考慮矩陣形式的更新,當(dāng)考慮每個(gè)用戶u和項(xiàng)目i時(shí),它等效于以下公式:
其中,是的系數(shù),≠0 表示沒有被丟棄的邊連接。當(dāng)k=1 時(shí),可以看出,傳播規(guī)則選擇將不同階鄰域的節(jié)點(diǎn)嵌入直接輸出到最終層,這樣可以防止來自不同階鄰域的消息混淆,還可以降低過平滑對(duì)模型性能的影響。
在獲得來自不同鄰域的節(jié)點(diǎn)嵌入之后,使用聚合函數(shù)將它們聚合在一起。
在模型中,選擇使用級(jí)聯(lián)函數(shù)來生成最終的節(jié)點(diǎn)表示,因?yàn)樗鼓P湍軌蛞苑謱拥姆绞奖硎静煌A鄰域的特征。最后,用戶u與項(xiàng)目i之間的交互預(yù)測(cè)如下:
其中,Zu和Zi是來自Z的相應(yīng)節(jié)點(diǎn)向量。
為了防止模型過擬合,常見的處理方式為Dropout,其核心思想是在每一層以一定比例隨機(jī)丟棄神經(jīng)元。盡管直接將Dropout 用于GCN 并不能阻止過擬合或過平滑,但是將該想法遷移至本文的模型中提升了模型性能。使用一種稱為節(jié)點(diǎn)Dropout 的去噪訓(xùn)練機(jī)制,在模型隱藏層階段,以概率Pdropout隨機(jī)屏蔽或丟棄某些節(jié)點(diǎn)。經(jīng)實(shí)驗(yàn)驗(yàn)證,節(jié)點(diǎn)Dropout 的操作可以使得編碼過程對(duì)于特定用戶或者物品得影響更具獨(dú)立性。
GCN 每個(gè)節(jié)點(diǎn)都有豐富的屬性作為輸入特征,而在CF的用戶-項(xiàng)目交互圖中,每個(gè)節(jié)點(diǎn)(用戶或項(xiàng)目)只由一個(gè)除了作為標(biāo)識(shí)符之外,沒有具體語義的one-hot表示的ID描述。在這種情況下,給定ID嵌入作為輸入,執(zhí)行多層非線性會(huì)增加模型訓(xùn)練的難度。為了克服傳統(tǒng)協(xié)同過濾模型在特征表示能力上的缺陷,本文模型使用GCN 最基本的組成部分-鄰域聚合來用于協(xié)同過濾。具體地說,在將每個(gè)用戶(項(xiàng)目)與ID 嵌入關(guān)聯(lián)之后,在用戶-項(xiàng)目交互圖上傳播嵌入以改進(jìn)它們。然后將不同傳播層的嵌入信息分層組合,得到最終的預(yù)測(cè)嵌入信息,同時(shí)對(duì)節(jié)點(diǎn)特征信息與結(jié)構(gòu)信息進(jìn)行端對(duì)端學(xué)習(xí),使模型的特征編碼輸出對(duì)協(xié)同過濾過程的預(yù)測(cè)結(jié)果有所提升。
Seq2seq是用于序列學(xué)習(xí)的編碼器-解碼器模型,通過引入注意力機(jī)制,將輸入序列的所有隱藏狀態(tài)匯總為上下文向量。受到注意力機(jī)制如何改善Seq2seq 的啟發(fā),類似地,GCN 模型中鄰居消息不可區(qū)分地混合,并通過固定長(zhǎng)度向量遞歸傳輸以生成節(jié)點(diǎn)表示的問題。通過累積來自不同鄰域的消息而不混淆它們來解決此問題,初始狀態(tài)H(0)通常由所有節(jié)點(diǎn)的節(jié)點(diǎn)特征向量組成,通過疊加多層,將來自不同高階鄰域的節(jié)點(diǎn)信息聚合到目標(biāo)節(jié)點(diǎn),因此目標(biāo)節(jié)點(diǎn)信息可以清楚反映來自不同鄰域的貢獻(xiàn)能力,實(shí)驗(yàn)結(jié)果證明模型性能有所提升。
基于Intel?Xeon?W-2133處理器,NVIDIA GeForce GTX 1080 Ti GPU,實(shí)驗(yàn)環(huán)境以TensorFlow 為后端的Keras 開源框架進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練和測(cè)試。在Book-Crossings、Jester、Movielens 這三個(gè)協(xié)同過濾基準(zhǔn)數(shù)據(jù)集上實(shí)驗(yàn)來評(píng)估模型。Book-Crossings 是一個(gè)圖書評(píng)分?jǐn)?shù)據(jù)集。包含90 000 個(gè)用戶的270 000 本書的110 萬個(gè)評(píng)分。評(píng)分范圍從1 到10,包括顯式和隱式的評(píng)分。Movielens是推薦系統(tǒng)領(lǐng)域非常經(jīng)典的數(shù)據(jù)集。這個(gè)數(shù)據(jù)集包含電影評(píng)級(jí),由于它是一個(gè)顯式反饋數(shù)據(jù)集,將其評(píng)級(jí)轉(zhuǎn)換為隱式反饋。Jester 數(shù)據(jù)集中,評(píng)分由互聯(lián)網(wǎng)上的用戶提供。與其他數(shù)據(jù)集相比,Jester 有兩個(gè)方面特殊:它使用-10 到10 的連續(xù)等級(jí),并且在量級(jí)上具有最高的評(píng)分密度。這三個(gè)數(shù)據(jù)集特性不同,Book-Crossings數(shù)據(jù)集評(píng)分最少,極為稀疏,Jester數(shù)據(jù)集密度較大,Movielens數(shù)據(jù)集各方面相對(duì)均衡。
為了評(píng)估top-k性能(從最后的按得分排序的推薦列表中返回前k個(gè)結(jié)果)。采用了用于個(gè)性化排名任務(wù)的評(píng)估指標(biāo):NDCG@k。NDCG 通過將最高分分配給排名最高的項(xiàng)目,從而將重點(diǎn)更多地放在測(cè)試集中出現(xiàn)項(xiàng)目的位置。平均NDCG的值如下:
損失函數(shù)(BPR損失函數(shù)):
其中,T={(u,i,j)|(u,i)∈R+,(u,j)∈R+} ,θ是可訓(xùn)練參數(shù),θ={{w(1)w(2)…w(k)},P} ,λ是防止過擬合的正則化參數(shù),σ(· )是sigmod 函數(shù)。與point-wise 類損失函數(shù)不同,BPR 損失函數(shù)更多地關(guān)注個(gè)性化排名,該排名假設(shè)觀察到的交互比未觀察到的交互表現(xiàn)出更高的偏好,并注意每個(gè)訓(xùn)練對(duì)是從訓(xùn)練數(shù)據(jù)集T隨機(jī)生成。
訓(xùn)練網(wǎng)絡(luò)使用Xavier 初始化,采用Adam 優(yōu)化器對(duì)損失函數(shù)進(jìn)行優(yōu)化,初始的學(xué)習(xí)率設(shè)為0.01,設(shè)置其范圍為0.001~0.01,batch size 設(shè)置為64,正則化參數(shù)設(shè)置為0.001。選擇80%的用戶-項(xiàng)目對(duì)用于訓(xùn)練數(shù)據(jù),20%用于測(cè)試。
本節(jié)主要是為了回答以下幾個(gè)問題:
Q1:模型是否在推薦效果上優(yōu)于目前主流的推薦模型?
Q2:控制過平滑和圖結(jié)構(gòu)完整性之間是否存在平衡點(diǎn)?
Q3:如何設(shè)置網(wǎng)絡(luò)層數(shù)可以使模型最優(yōu)?
為驗(yàn)證提出的改進(jìn)模型對(duì)推薦模型性能的提升,選取了5 個(gè)近年流行且取得較好推薦結(jié)果的算法進(jìn)行對(duì)比。BRP是一個(gè)穩(wěn)定的方法,文獻(xiàn)[19]提出貝葉斯成對(duì)損失函數(shù)以從隱式反饋中學(xué)習(xí)。Neurec[20]是一個(gè)基于深度學(xué)習(xí)的模型,該模型采用MLP 來學(xué)習(xí)用戶與項(xiàng)目之間的非線性關(guān)系。GC-MC[21]是一個(gè)基于GCN 的模型,最初專注于顯式反饋,使用不同的權(quán)重矩陣來解碼不同類型的邊緣。由于專注于將每個(gè)邊緣都視為相同的隱式反饋,因此可以將其簡(jiǎn)單地視為一層GCN 模型。NGCF[22]:是基于GCN的最新模型。LR-GCCF[23]模型提出了一種殘差網(wǎng)絡(luò)結(jié)構(gòu)來解決過平滑的問題。Baselines 及本文模型總結(jié)在表1 中(其中k={10,20},最佳性能粗體突出顯示,最佳基線下劃線突出顯示)。
表1 NDCG@k 的總體比較Table 1 Overall comparison of NDCG@k
通過結(jié)果對(duì)比可知,對(duì)于NDCG@20,在Book-Crossing、Jester、Movielens 數(shù)據(jù)集上本文模型相比性能最好的模型分別提升了18.44%、5.61%、3.11%。這說明本文模型在稀疏數(shù)據(jù)集上獲得了更好的性能,與基于GCN 方法的上述分析一致。而基于MF 的方法往往在稠密數(shù)據(jù)集上實(shí)現(xiàn)更好的性能??梢酝茰y(cè),在稠密數(shù)據(jù)集上,有足夠的交互信息來描述用戶偏好,鄰域消息是多余的而引入了無用信息。但基于MF 的方法無法解決稀疏數(shù)據(jù)集上缺少交互的問題,但基于GCN的方法通過在鄰域消息中補(bǔ)充原始內(nèi)容來解決此問題。在基于GCN 的方法中,一階的GCMC 在Jester 上表現(xiàn)更好,而考慮到高階鄰域的NGCF和LR-GCCF在Book-Crossing上表現(xiàn)出比Jester稀疏的優(yōu)越性能。這表明高階鄰居消息并不總能帶來更好的結(jié)果。原因是很難將有用消息與大量冗余消息區(qū)分。
是否在過平滑和過擬合的約束與圖形結(jié)構(gòu)的完整性之間存在平衡。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn)該平衡點(diǎn)確實(shí)存在,并與兩個(gè)因素有關(guān):收斂速度和網(wǎng)絡(luò)層數(shù)。根據(jù)圖2所示的收斂速度(x軸是A^(k)中的k,y軸表示收斂比),可以看到Movielens 的收斂速度最快??梢酝茰y(cè),對(duì)于那些具有更嚴(yán)重的過平滑問題(收斂速度快)的數(shù)據(jù)集,最佳drop ratio往往很大(drop ratio是1-p)。同時(shí),從圖3 中看出網(wǎng)絡(luò)層數(shù)增加可能會(huì)導(dǎo)致模型性能下降。以Book-Crossing 為例,性能首先得到了提高,其中逐層噪聲很好地包含了過平滑和過擬合。該模型在k=3 時(shí)性能最大化,然后開始下降,由于分層噪聲與鄰居消息一起向前傳輸,其中累積的逐層噪聲妨礙了要精確傳輸?shù)南亩档托阅?。在Movielens 及Jester 上也顯示了類似的趨勢(shì)。因?yàn)樵黾拥膶又灰肓艘寻南?,這導(dǎo)致了過擬合,這也是目前基于GCN 的模型仍然很淺的一個(gè)主要原因。
圖2 三個(gè)數(shù)據(jù)集上的收斂速度Fig.2 Convergence rate on three data sets
圖3 下降比在NDCG@10方面的影響Fig.3 Impact of drop ratio on NDCG@10
為了驗(yàn)證在每一層隨機(jī)丟棄節(jié)點(diǎn)是否有助于提高模型性能,將模型與不隨機(jī)丟棄(no-drop)的模型進(jìn)行了比較。如圖4 所示(X軸是網(wǎng)絡(luò)層數(shù),“drop”表示隨機(jī)丟棄節(jié)點(diǎn)的模型;“no-drop”表示無隨機(jī)丟棄節(jié)點(diǎn)的模型)。結(jié)果顯示“drop”模型性能優(yōu)于“no-drop”,這說明:首先,考慮在高階鄰域的模型的改進(jìn)驗(yàn)證了模型能夠很好地緩解過平滑和過擬合的問題;其次,當(dāng)僅考慮一階時(shí),模型與“no-drop”模型相比性能也更好,證明了子圖訓(xùn)練策略的有效性。
圖4 按NDCG@20計(jì)算的分層噪聲的影響Fig.4 Impact of layered noise calculated by NDCG@20
為了研究網(wǎng)絡(luò)層數(shù)如何影響性能,設(shè)置k=1,2,3,4,5。實(shí)驗(yàn)結(jié)果顯示在表2 中,很明顯高階鄰域大大提高了模型性能。例如,在三個(gè)數(shù)據(jù)集上,性能最佳的模型分別比僅具有一階鄰域的模型好13.9%、9.3%、2.85%。另一方面,可以看出當(dāng)不斷增加模型的層數(shù)時(shí),性能在下降。原因在于GCN的最佳層數(shù)與鄰居矩陣A^的稀疏程度有關(guān),當(dāng)圖的稀疏度較低時(shí),很快會(huì)出現(xiàn)過平滑現(xiàn)象。眾多實(shí)驗(yàn)表明,GCN通常在2~3層就可使模型取得不錯(cuò)的效果,隨著網(wǎng)絡(luò)層數(shù)的增加,除去過擬合,梯度消失等司空見慣的問題外,過平滑會(huì)影響模型性能。GCN 可以看作是一個(gè)低通濾波器[24]這種特性會(huì)造成信號(hào)變得更加平滑,這是GCN的內(nèi)在優(yōu)勢(shì),然而多次進(jìn)行這種信號(hào)平滑操作會(huì)使得信號(hào)趨于一致,這就喪失了節(jié)點(diǎn)特征的多樣性。從節(jié)點(diǎn)角度具體來說,GCN 節(jié)點(diǎn)的領(lǐng)域聚合被證明其實(shí)是Laplacian smooth的一種特殊形式,迭代地執(zhí)行Laplacian smooth 自然導(dǎo)致節(jié)點(diǎn)層面的過平滑。根據(jù)以上論證,模型層數(shù)過深會(huì)導(dǎo)致過平滑使性能下降。另一方面是由于網(wǎng)絡(luò)上傳輸和累積層級(jí)噪聲的原因。即k+1 層從{1,2,…,k}層中獲取分層噪聲,這意味著來自高階鄰域的消息比來自低階鄰域的消息遭受的噪聲更大。更重要的是,當(dāng)鄰居開始收斂時(shí),幾乎包含了圖中的所有節(jié)點(diǎn),不斷增加的鄰居消息不會(huì)引入新信息,這只會(huì)導(dǎo)致過擬合并增加訓(xùn)練難度。
表2 模型在不同層k 的性能Table 2 Performance of model at different layers k
推薦系統(tǒng)由于其商業(yè)價(jià)值受到了越來越高的重視。目前,圖卷積神經(jīng)網(wǎng)絡(luò)發(fā)展迅速,越來越多的推薦模型將圖卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的推薦算法進(jìn)行了結(jié)合,用于解決數(shù)據(jù)稀疏、推薦排序等問題,圖卷積神經(jīng)網(wǎng)絡(luò)和推薦系統(tǒng)的結(jié)合將是推薦系統(tǒng)未來的主要研究方向。在本文中推薦模型的研究,提出了一種基于圖卷積網(wǎng)絡(luò)的協(xié)同過濾的分層網(wǎng)絡(luò),旨在解決協(xié)同過濾在推薦模型中存在的問題。首先提出了一種通過在每一層隨機(jī)丟棄節(jié)點(diǎn)消息來實(shí)現(xiàn)過平滑和過擬合的解決方案,該思想與Dropout 有相似之處。然后,通過分別聚集來自不同順序鄰域的節(jié)點(diǎn)消息來構(gòu)建分層模型,這避免了無法區(qū)分它們。在三個(gè)數(shù)據(jù)集上進(jìn)行了廣泛的實(shí)驗(yàn),以評(píng)估提出的模型的性能。實(shí)驗(yàn)結(jié)果驗(yàn)證了模型的有效性。在之后的研究中,嘗試以合理有效的方式提升模型的泛化能力使之能有更大的應(yīng)用空間,以更好地理解用戶的偏好并提供可靠的建議。