亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于雙通道輕量圖卷積的序列推薦算法*

        2024-03-19 11:10:32汪海濤賀建峰
        關(guān)鍵詞:輕量雙通道卷積

        羅 旭,汪海濤,賀建峰

        (昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)

        1 引言

        序列推薦作為推薦系統(tǒng)中一個(gè)重要的分支,近些年來在很多領(lǐng)域得到了極大的關(guān)注,如電子商務(wù)、在線服務(wù)等[1]。序列推薦是解決網(wǎng)絡(luò)信息過載問題的有效算法之一,其重點(diǎn)圍繞著如何從用戶的歷史交互行為中挖掘出用戶最近的偏好以及歷史長期偏好,來為其生成個(gè)性化的推薦。

        早期的序列推薦一般都是采用基于馬爾科夫鏈的算法[2-4]來捕獲基于馬爾科夫鏈的高階序列模式,這些算法共有的局限性在于其只能捕獲局部模式,即重點(diǎn)關(guān)注短期依賴關(guān)系而忽略了長期依賴關(guān)系。近些年來,基于深度神經(jīng)網(wǎng)絡(luò)的算法,因其強(qiáng)大的序列建模能力,成為了眾多研究人員研究的重點(diǎn),并提出了各式各樣的基于深度神經(jīng)網(wǎng)絡(luò)的算法,典型的包括循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)、卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)和Transformer等[5-7]。然而,這些算法的局限性在于,它們只能建模連續(xù)項(xiàng)之間的單向轉(zhuǎn)換,而忽略了同一個(gè)交互序列中其他上下文項(xiàng)目之間的轉(zhuǎn)換。為了解決這一問題,很多研究人員將最近熱門的圖神經(jīng)網(wǎng)絡(luò)[8-10]引入進(jìn)來。基于圖的算法首先通過構(gòu)圖將交互序列轉(zhuǎn)換為序列圖,再利用圖神經(jīng)網(wǎng)絡(luò)對圖中的節(jié)點(diǎn)之間的復(fù)雜關(guān)系進(jìn)行建模。

        雖然上述算法都取得了不錯(cuò)的效果,但它們都只對目標(biāo)用戶交互序列中的項(xiàng)目轉(zhuǎn)換進(jìn)行建模,而忽略了鄰居的交互序列中的項(xiàng)目轉(zhuǎn)換,這些項(xiàng)目轉(zhuǎn)換中包含了潛在的協(xié)作信息,可以反映不同用戶之間類似的行為模式,這些協(xié)作信息對于推薦是有幫助的。另外,He等人[11]提出的LightGCN算法,雖然對于推薦系統(tǒng)是有效的,但其在獲得最終的嵌入表示時(shí),是將每一層得到的嵌入取平均值,這種做法是存在局限性的,因?yàn)槊恳粚拥玫降男畔τ谧罱K的項(xiàng)目嵌入所應(yīng)該分配的權(quán)重顯然是不同的。

        基于上述分析,本文提出了一種基于雙通道輕量圖卷積的序列推薦算法,命名為DLGC(Dual-channel Light Graph Convolution)。本文的主要工作如下:

        (1)構(gòu)圖階段將目標(biāo)用戶序列和得到的鄰居序列進(jìn)行合并生成一個(gè)總的有向圖,充分利用用戶之間潛在的協(xié)作信息。

        (2)使用雙通道輕量圖卷積,分別對目標(biāo)用戶序列和鄰居序列進(jìn)行信息傳播,通過指數(shù)分母的形式給每一層不同的權(quán)重,將每一層的信息進(jìn)行聚合得到每個(gè)通道的嵌入矩陣,然后將得到的2個(gè)通道的嵌入通過拼接操作生成最終的項(xiàng)目嵌入矩陣,提高序列推薦的有效性。

        (3)在2個(gè)公開數(shù)據(jù)集Beauty和MovieLens-20M上進(jìn)行了充分的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本文提出的DLGC在HR和NDCG這2個(gè)評價(jià)指標(biāo)上都有提升,表明了本文提出的序列推薦算法DLGC的有效性。

        2 相關(guān)工作

        2.1 序列推薦

        在序列推薦[12]早期的研究中,大多數(shù)的算法都是基于馬爾可夫鏈[2,3]的,根據(jù)用戶的最后一個(gè)行為來推薦下一個(gè)將要進(jìn)行的交互行為。Rendle等人[13]提出的因子分解個(gè)性化馬爾可夫鏈FPMC(Factorizing Personalized Markov Chains) 通過結(jié)合矩陣分解和馬爾科夫鏈來學(xué)習(xí)項(xiàng)目之間遷移的概率矩陣,然后根據(jù)用戶的最后一個(gè)交互項(xiàng)目進(jìn)行下一項(xiàng)推薦。但是,基于馬爾可夫鏈的算法缺點(diǎn)也比較明顯,它缺乏有效學(xué)習(xí)長期依賴中復(fù)雜行為的能力。隨著深度學(xué)習(xí)在各個(gè)領(lǐng)域的興起,大多數(shù)序列推薦的研究開始與各種深度神經(jīng)網(wǎng)絡(luò)相結(jié)合。Hidasi等人[14]在序列推薦當(dāng)中引入循環(huán)神經(jīng)網(wǎng)絡(luò)RNN,利用門控循環(huán)單元GRU(Gate Recurrent Unit),從用戶的歷史交互序列中學(xué)習(xí)長期依賴關(guān)系。Tang等人[7]使用卷積神經(jīng)網(wǎng)絡(luò)CNN來進(jìn)行序列推薦,提出了Caser算法,其將項(xiàng)目嵌入看作圖像的特征映射,并對其進(jìn)行卷積操作,以學(xué)習(xí)項(xiàng)目之間的局部依賴關(guān)系。自注意力機(jī)制在序列推薦中一般用來為每個(gè)項(xiàng)目分配不同的權(quán)重,對推薦起關(guān)鍵性作用的項(xiàng)目分配更大的權(quán)重,而那些與下一個(gè)交互項(xiàng)目不太相關(guān)的項(xiàng)目,則分配較小的權(quán)重。Kang等人[15]提出了一種名為SASRec(Self- Attentive Sequential Recommendation)的序列推薦算法,其采用多頭自注意力機(jī)制來建模用戶的交互序列。Jiang等人[16]提出了一種名為AdaMCT(Adaptive Mixture of CNN-Transformer)的算法,有效地混合CNN和Transformer來建模歷史項(xiàng)目序列的局部和全局依賴關(guān)系。Du等人[17]提出了一種名為CBiT(Contrastive learning with Bidirectional Transformers for sequential recommendation)的算法,在雙向Transformer中應(yīng)用滑動(dòng)窗口技術(shù),從而能夠?qū)τ脩粜蛄羞M(jìn)行更細(xì)粒度的劃分,再結(jié)合對比學(xué)習(xí)獲取更高的推薦準(zhǔn)確率。

        2.2 圖神經(jīng)網(wǎng)絡(luò)用于序列推薦

        在實(shí)際的推薦應(yīng)用場景中,用戶的交互序列是可以用圖結(jié)構(gòu)來表示的,節(jié)點(diǎn)表示項(xiàng)目,邊表示節(jié)點(diǎn)間的關(guān)系。這些年,圖神經(jīng)網(wǎng)絡(luò)因其強(qiáng)大的圖結(jié)構(gòu)數(shù)據(jù)的學(xué)習(xí)能力,在很多領(lǐng)域得到了廣泛的應(yīng)用,包括推薦系統(tǒng)。圖神經(jīng)網(wǎng)絡(luò)在序列推薦中的應(yīng)用主要體現(xiàn)在構(gòu)造序列圖和信息傳播2個(gè)方面,總體來說就是應(yīng)用在項(xiàng)目嵌入部分。

        目前構(gòu)建序列圖的方法主要有2種:一種是利用額外的交互序列來豐富圖的結(jié)構(gòu),附加的序列可以是其他用戶的交互序列、同一用戶的歷史交互序列以及系統(tǒng)中所有的交互序列等。Wang等人[18]提出了一種名為MGNN-SPred(Multi-relational Graph Neural Network model for Session-based target behavior Prediction) 的算法,其利用所有的交互序列構(gòu)成一個(gè)多關(guān)系項(xiàng)目圖,包括目標(biāo)和輔助行為類型。另一種方法是調(diào)整當(dāng)前序列圖的結(jié)構(gòu),比如Pan等人[19]在SGNN-HN(Star Graph Neural Network with Highway Network for session-based recommendation)算法中引入一個(gè)自設(shè)的虛擬star節(jié)點(diǎn)作為序列圖的中心,該節(jié)點(diǎn)與序列圖中的每個(gè)節(jié)點(diǎn)之間都通過雙向邊連接。

        Figure 1 Process of DLGC algorithm圖1 DLGC算法處理過程

        在得到構(gòu)建好的序列圖后,需進(jìn)行信息傳播來學(xué)習(xí)序列中項(xiàng)目之間的轉(zhuǎn)換模式。門控圖神經(jīng)網(wǎng)絡(luò)GGNN(Gated Graph Neural Network)及其變體目前被廣泛用于在有向圖上傳播信息。GGNN通過平均池分別聚合前一項(xiàng)和下一項(xiàng)的信息并組合這2種信息,再利用GRU組件集成中心節(jié)點(diǎn)和鄰居節(jié)點(diǎn)的信息。比如Chen等人[20]提出的DAT-MDI(Dual Attention Transfer in session-based recommendation with Multi-Dimensional Integration)算法就是GGNN的變體之一。

        除了上述工作,目前基于圖神經(jīng)網(wǎng)絡(luò)的序列推薦算法的研究比較廣泛,包括對超圖神經(jīng)網(wǎng)絡(luò)的研究、圖對比學(xué)習(xí)方法等[21-23]。比如,Zhang等人[22]提出了一種基于圖對比學(xué)習(xí)的序列推薦算法GCL4SR(Graph Contrastive Learning for Sequential Recommendation),利用所有交互序列生成加權(quán)項(xiàng)目轉(zhuǎn)換圖,為所有交互提供全局上下文信息。Yang等人[23]設(shè)計(jì)了一個(gè)多行為超圖增強(qiáng)Transformer框架MBHT(Multi-Behavior Hypergraph-enhanced Transformer framework)來捕獲用戶短期和長期的跨類型行為的依賴關(guān)系。

        本文通過從其他用戶的交互序列中,為目標(biāo)用戶生成對應(yīng)的鄰居交互序列,再將目標(biāo)用戶序列和鄰居交互序列合并為一個(gè)有向序列圖,充分利用用戶之間潛在的協(xié)作信息。同時(shí),使用一個(gè)雙通道輕量圖卷積結(jié)構(gòu)來進(jìn)行信息傳播,生成更準(zhǔn)確更有意義的項(xiàng)目嵌入,從而使得后續(xù)的偏好學(xué)習(xí)能夠更有效,提高推薦算法的性能。

        3 基于雙通道輕量圖卷積的序列推薦

        3.1 問題定義

        令U和V分別表示用戶集合和項(xiàng)目集合,S={s1,s2,…,s|U|}表示所有的用戶項(xiàng)目交互序列,su={v1,v2,…,vn}表示用戶u按時(shí)間順序交互的n個(gè)項(xiàng)目,其中,u∈U,vt表示在時(shí)間步t交互的項(xiàng)目。序列推薦的目標(biāo):給定目標(biāo)用戶u的交互序列su,通過計(jì)算得到用戶在t+1時(shí)間步最有可能交互的前N個(gè)項(xiàng)目列表Top-N。

        3.2 基于圖的項(xiàng)目嵌入生成方法

        3.2.1 有向序列圖的生成

        在學(xué)習(xí)項(xiàng)目嵌入之前,首先要將用戶的交互序列構(gòu)建成圖結(jié)構(gòu)。本文不僅將目標(biāo)用戶的交互序列構(gòu)建成圖結(jié)構(gòu),而且還利用了相似的鄰居序列,即最終生成的圖是由目標(biāo)用戶序列和鄰居序列共同構(gòu)建而成的,這樣可以充分利用其他用戶潛在的協(xié)作信息。

        構(gòu)圖之前,需要找到鄰居序列,這個(gè)尋找過程本質(zhì)上是對比序列之間的相似度。以往有的方法是簡單比較2個(gè)序列之中重復(fù)的項(xiàng)目數(shù),重復(fù)項(xiàng)目越多相似度越高。但是,這種方法存在一定的局限性,比如對于用戶ui的交互序列{v1,v2,v3}和uj的交互序列{v3,v2,v1},在二者的交互序列中項(xiàng)目數(shù)量情況完全一致,但交互的時(shí)間順序完全相反,若將這2個(gè)序列視為相似序列,是存在一定問題的。因此,本文在已有方法的基礎(chǔ)上,提出了一種新的構(gòu)圖方法,具體如下:

        首先保留判斷項(xiàng)目重復(fù)數(shù)的做法,這樣可以過濾掉大部分基本不相似的交互序列。然后在剩下的交互序列中,為每個(gè)交互序列生成一個(gè)有向圖,有向圖的節(jié)點(diǎn)為項(xiàng)目,邊為項(xiàng)目之間的關(guān)系,即如果vi是vj的上一次點(diǎn)擊,則生成一條vi指向vj的邊。接著將原序列su(目標(biāo)用戶的交互序列)生成的圖與其他序列生成的圖進(jìn)行比較,判斷是否相似。

        Figure 2 Construction of graph圖2 圖的構(gòu)建

        從數(shù)學(xué)的角度來說,本質(zhì)上是比較二者的鄰接矩陣。具體來說,對于2個(gè)序列,它們生成的圖的鄰接矩陣分別為A1和A2,對2個(gè)矩陣進(jìn)行減法操作得到新的矩陣At,再將At與A1進(jìn)行比較,如果A1中原本為1的元素,在At中大多數(shù)變成了0,則可以認(rèn)為這2個(gè)序列是相似的。這里需要注意的是,交互序列中的項(xiàng)目數(shù)不同,導(dǎo)致鄰接矩陣的階數(shù)不同,所以在計(jì)算之前,需要將2個(gè)鄰接矩陣的階數(shù)統(tǒng)一,即低階矩陣通過補(bǔ)0變?yōu)楦唠A矩陣。

        At=A1-A2

        (1)

        對于得到的全體鄰居序列,綜合相同項(xiàng)目數(shù)和相似度進(jìn)行排序,得到原序列su的前m個(gè)鄰居序列后,將所有序列合并,生成最終的有向序列圖G,如圖2所示。

        鄰居序列集合記為Nsu,最終的有向序列圖G中的每個(gè)節(jié)點(diǎn)為原序列su和鄰居序列Nsu中的節(jié)點(diǎn),邊為項(xiàng)目的交互順序。

        算法1 有向序列圖生成算法輸入:用戶項(xiàng)目交互序列S。輸出:有向序列圖G。(1)for si in S:(2) if counts(su)=or≈counts(si)//統(tǒng)計(jì)重復(fù)項(xiàng)目數(shù) add si into Sinitial;//Sinitial為初始鄰居序列(3)end for(4)A and Au←graphGenerate(Sinitial ,su);/*Au表示交互序列su對應(yīng)的鄰接矩陣,A表示Sinitial中交互序列得到的鄰接矩陣集合*/(5)for Aj in A:(6) At←Aj-Au;(7) if isSimilar(At,Au)=true(8) add sj into N;//sj為Aj對應(yīng)的序列(9)end for//得到全體鄰居序列N(10)Nsu← rank(N);//對N排序(11)G← merge(su,Nsu);(12)return G

        3.2.2 雙通道輕量圖卷積生成項(xiàng)目嵌入

        在通過上述構(gòu)建方法得到最終的有向圖之后,算法將利用多層神經(jīng)網(wǎng)絡(luò)來傳播節(jié)點(diǎn)信息并生成項(xiàng)目嵌入,最終圖中的每個(gè)項(xiàng)目節(jié)點(diǎn)vi都聚合了圖中的鄰居節(jié)點(diǎn)所攜帶的信息。

        通過He等人[11]提出的LightGCN算法驗(yàn)證了傳統(tǒng)GCN中常用的特征轉(zhuǎn)換和非線性激活對于性能的貢獻(xiàn)較小,最終只保留GCN中的鄰居聚合。本文在構(gòu)圖階段,加入鄰居序列的協(xié)作信息之后,生成的有向序列圖將會更大,這可能會降低算法的訓(xùn)練效率。而LightGCN具有輕量的特性,能夠更高效地訓(xùn)練算法,這恰好能彌補(bǔ)構(gòu)圖階段帶來的不足。因此,本文將使用LightGCN來進(jìn)行信息傳播。

        另外,由于本文不僅利用了目標(biāo)用戶的交互序列,還利用了鄰居用戶的鄰居序列,二者對最終的推薦所帶來的影響是不同的,前者反映的是用戶本身的行為信息,后者反映的是鄰居用戶的協(xié)作信息。因此,本文為2種類型的節(jié)點(diǎn)分別進(jìn)行信息傳播,即設(shè)計(jì)了一個(gè)雙通道輕量圖卷積算法(DLGC)來生成項(xiàng)目嵌入,雙通道分別為原序列通道和鄰居序列通道,如圖3所示,其中K表示通道的層數(shù)。

        Figure 3 Dual-channel light graph convolution圖3 雙通道輕量圖卷積

        (2)

        (3)

        LightGCN算法通過簡單的求平均來生成最終的嵌入表示,即簡單地將每一層得到的節(jié)點(diǎn)信息視為同等重要。但實(shí)際上,在較前面和較后面的層中得到的節(jié)點(diǎn)信息,其二者對最終的嵌入表示的重要性顯然是不同的。因此,本文通過使用指數(shù)分母的形式,為每一層得到的節(jié)點(diǎn)信息分配不同的權(quán)重,削弱前面層的影響,來組合每一層的節(jié)點(diǎn)信息。具體的組合方式如式(4)和式(5)所示:

        (4)

        (5)

        (6)

        3.3 用戶偏好學(xué)習(xí)

        本節(jié)主要描述如何從上述生成的項(xiàng)目嵌入中學(xué)習(xí)出用戶的短期和長期偏好,算法學(xué)習(xí)過程如圖4所示。

        3.3.1 短期偏好學(xué)習(xí)

        通常來說,用戶的短期偏好一般與其最后交互的幾個(gè)項(xiàng)目相關(guān),以往有些工作將最后一個(gè)項(xiàng)目的嵌入直接作為短期偏好,并證實(shí)其具有有效性。因此,本文在學(xué)習(xí)用戶的短期偏好時(shí),并不使用以往用得較多的卷積神經(jīng)網(wǎng)絡(luò)以及其他網(wǎng)絡(luò),而是簡單地對項(xiàng)目嵌入矩陣中的后幾項(xiàng)直接進(jìn)行運(yùn)算。具體來說,對于用戶u所對應(yīng)的項(xiàng)目嵌入矩陣E={e1,e2,…,en},本文截取最后o項(xiàng),再通過取平均生成用戶u的短期偏好表示Pshort,如式(7)所示:

        (7)

        Figure 4 Process of long-and short-term preference learning圖4 長期和短期偏好學(xué)習(xí)過程

        3.3.2 長期偏好學(xué)習(xí)

        用戶的長期偏好相對而言是穩(wěn)定的,與交互序列中不同時(shí)間段交互的項(xiàng)目都有關(guān)。Jiang等人[16]指出以往使用的自注意力機(jī)制(Self- Attention),通過點(diǎn)擊縮放和softmax函數(shù)為每個(gè)項(xiàng)目生成一個(gè)權(quán)重,但這些權(quán)重的和總是為1,即互斥的,無法同時(shí)考慮到多個(gè)與下一項(xiàng)交互高相關(guān)的項(xiàng)目。AdaMCT中引入了Hu等人[24]提出的擠壓-激勵(lì)網(wǎng)絡(luò)SENet通過顯式地建模通道之間的相互依賴關(guān)系來重新校準(zhǔn)通道級的特征,通道之間的關(guān)系是非互斥的。因此,本文對長期偏好的學(xué)習(xí),是在多頭自注意力的基礎(chǔ)上引入SENet,其中,對于多個(gè)與下一項(xiàng)高度相關(guān)的項(xiàng)目,SENet會為它們都生成一個(gè)較大的權(quán)重。

        長期偏好的具體學(xué)習(xí)方式如下所述:首先采用多頭自注意力機(jī)制,每個(gè)頭都采用縮放點(diǎn)積的計(jì)算方式,如式(8)和式(9)所示:

        (8)

        output(E)=

        LN(Dropout(Attention(Q,K,V)Wo))

        (9)

        其中,Q、K和V分別表示項(xiàng)目嵌入矩陣E通過變換得到的可學(xué)習(xí)的矩陣,對應(yīng)于查詢(query)、鍵(key)和值(value);Wo表示多頭自注意力輸出位置的可學(xué)習(xí)矩陣;LN(·)表示層歸一化運(yùn)算;output(·)表示多頭自注意力的輸出;d表示向量維度。

        之后通過SENet網(wǎng)絡(luò)為output(E)中的每個(gè)項(xiàng)目重新分配權(quán)重,同時(shí)考慮多個(gè)高相關(guān)的項(xiàng)目,從而有效地增強(qiáng)算法的表示能力,具體分配方式如式(10)~式(13)所示:

        (10)

        Fexcitation(z,W)=σ(W2δ(W1z))

        (11)

        α=SENet(z,W)=Fexcitation(z,W)

        (12)

        Fscale(output(E),α)=α·output(E)

        (13)

        其中,z表示通過擠壓函數(shù)得到的一維特征向量,zi表示擠壓得到的一維向量z的第i個(gè)分類,σ(·)和δ(·)分別表示sigmoid激活函數(shù)和ReLU非線性激活函數(shù),W表示輸入的權(quán)值矩陣,W1和W2表示可學(xué)習(xí)的權(quán)值矩陣,α表示得到的權(quán)重值。

        在得到權(quán)重值之后,通過式(14)得到最終的長期偏好表示Plong:

        Plong=α?output(E)

        (14)

        其中,?表示使用廣播機(jī)制的的元素級操作。最后,將Pshort和Plong通過連接操作生成最終的用戶偏好表示Pfinal。

        3.4 Top-N候選項(xiàng)目列表生成和算法的訓(xùn)練與優(yōu)化

        (15)

        (16)

        在算法的訓(xùn)練過程中,本文使用一個(gè)交叉熵?fù)p失函數(shù)來量化模型的誤差,如式(17)所示:

        (17)

        以20%甲醇為溶劑,將500 μg/mL的野黑櫻苷標(biāo)準(zhǔn)儲備液進(jìn)一步稀釋成0.3、0.5、1、5、10、20、50、100 μg/mL標(biāo)準(zhǔn)溶液,進(jìn)樣量10 μL,以質(zhì)量濃度(x)為橫坐標(biāo)、峰面積(y)為縱坐標(biāo)作圖,得回歸方程y=15.796x-1.177,R2=0.9999(n=3)。說明在0.30~100 μg/mL范圍內(nèi)有良好的線性關(guān)系。

        4 實(shí)驗(yàn)及結(jié)果對比

        4.1 數(shù)據(jù)集的選擇與預(yù)處理

        本文選取2個(gè)廣泛使用的公開數(shù)據(jù)集Beauty[25]和MovieLens-20M[26]進(jìn)行實(shí)驗(yàn)。Beauty是從亞馬遜平臺收集得來的,包含了美妝等產(chǎn)品的產(chǎn)品評論和元數(shù)據(jù);MovieLens-20M是在推薦系統(tǒng)中廣泛使用的基準(zhǔn)數(shù)據(jù)集,包含2 000多萬的用戶評分記錄。數(shù)據(jù)集詳情如表1所示。

        Table 1 Statistics of experimental datasets表1 實(shí)驗(yàn)數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)

        在進(jìn)行實(shí)驗(yàn)之前,本文先對2個(gè)數(shù)據(jù)集進(jìn)行預(yù)處理。對于每個(gè)數(shù)據(jù)集,每個(gè)用戶有自己按交互時(shí)間順序進(jìn)行排序的項(xiàng)目交互序列,然后將不活躍的用戶和被交互次數(shù)少于4次的項(xiàng)目全部去除掉。

        4.2 實(shí)驗(yàn)設(shè)置

        4.2.1 評價(jià)指標(biāo)

        為了評估DLGC算法的性能,本文采用廣泛使用的留一法。具體而言,對于每個(gè)用戶的交互序列,本文將最后1個(gè)項(xiàng)目用于測試,倒數(shù)第2個(gè)項(xiàng)目用于驗(yàn)證,剩余項(xiàng)目用于訓(xùn)練。并遵循以往常見的做法,隨機(jī)抽樣99個(gè)未被該用戶交互過的項(xiàng)目作為負(fù)樣本,與最后1個(gè)項(xiàng)目組成包含100個(gè)項(xiàng)目的測試集。本文使用命中率HR(Hit Ratio)和歸一化折損累計(jì)增益NDCG(Normalize Discounted Cumulative Gain)這2個(gè)廣泛應(yīng)用于推薦系統(tǒng)的評價(jià)指標(biāo)來評價(jià)排名列表。

        (1)HR@N:HR@N是一種用來評估召回率的指標(biāo),其表示Top-N列表中屬于測試集合中項(xiàng)目的占比。

        (2)NDCG@N:NDCG@N用來評價(jià)排序結(jié)果的準(zhǔn)確性。推薦系統(tǒng)通常為指定用戶返回一個(gè)Top-N列表,這時(shí)可以用NDCG@N評價(jià)該排序列表與用戶真實(shí)交互列表的差距。

        4.2.2 實(shí)驗(yàn)參數(shù)設(shè)置

        對于所有算法,向量維度統(tǒng)一設(shè)置為64,涉及到注意力機(jī)制的算法,與SASRec中提到的一致,其注意力層數(shù)與頭數(shù)均設(shè)置為2。對于MovieLens-20M和Beauty,最大序列長度分別設(shè)置為200和50。退化率dropout根據(jù)MovieLens-20M和Beauty的稀疏性分別設(shè)置為0.2和0.5。

        4.3 對比算法

        為了充分驗(yàn)證DLGC的有效性,本節(jié)將其與一些典型且較為先進(jìn)的序列推薦算法進(jìn)行對比。具體的對比算法如下:

        (1)FPMC[13]:這是一種結(jié)合了矩陣分解和馬爾科夫鏈的算法,該算法可以在捕獲序列信息的同時(shí),提取用戶的長期偏好。

        (2)GRU4Rec+[27]:這是GRU4Rec(Gated Recurrent Unit for Recommender system)的提升版,使用與GRU4Rec不同的損失函數(shù)和采樣策略。

        (3)Caser[7]:這是一種典型的將CNN 應(yīng)用到序列推薦中的算法,通過對項(xiàng)目嵌入矩陣進(jìn)行卷積操作從而提取用戶的短期偏好。

        (4)SASRec[15]:這是一種將Transformer引入序列推薦的算法,該算法使用多頭自注意力機(jī)制為每個(gè)物品分配不同的權(quán)重,捕獲用戶的長期偏好。

        (5)BERT4Rec(sequential Recommendation employing the deep Bidirectional Encoder Representations from Transformer to model user behavior sequences)[28]:這是一種在SASRec基礎(chǔ)上進(jìn)行改進(jìn)的算法。

        (6)SURGE(SeqUential Recommendation with Graph neural nEtwork)[29]:這是一種引入GNN的序列推薦算法,從包含噪聲信息的交互序列中提取用戶當(dāng)前的核心興趣。

        (7)H2SeqRec(HyperbolicHypergraph representation learning method for Sequential Recommendation with the pre-training phase)[30]:這是一種基于超圖的序列推薦算法,提出了雙曲超圖表示學(xué)習(xí)方法。

        對于對比算法,本文使用原始文獻(xiàn)提供的代碼來進(jìn)行實(shí)驗(yàn)。使用網(wǎng)格搜索的方式調(diào)整所有算法中通用共享的超參數(shù)。潛在向量的維度為16,32,64,128和256,注意力頭數(shù)為2~4。對于算法特有的超參數(shù)和初始化設(shè)置,維持原始文獻(xiàn)中所使用的默認(rèn)設(shè)置。

        4.4 DLGC整體性能分析

        表2給出了在2個(gè)公開數(shù)據(jù)集上的各個(gè)算法的實(shí)驗(yàn)結(jié)果。通過對實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分析,本文得出了以下結(jié)果:

        在2個(gè)數(shù)據(jù)集上,評價(jià)指標(biāo)結(jié)果最差的為FPMC,這主要是因?yàn)镕PMC只考慮了項(xiàng)目之間的一階關(guān)系,而忽略了高階關(guān)系。相比之下,Caser通過水平卷積層和垂直卷積層,以及聯(lián)合序列模式和一種跳躍行為來提取相鄰項(xiàng)的依賴關(guān)系,其性能優(yōu)于FPMC。在非基于圖神經(jīng)網(wǎng)絡(luò)的序列算法中,SASRec和BERT4Rec相較于GRU4Rec+等算法,性能有顯著提升,這表明了自注意力機(jī)制在建模序列行為時(shí),具有一定的優(yōu)越性?;趫D神經(jīng)網(wǎng)絡(luò)的SURGE和H2SeqRec,其性能優(yōu)于其他對比算法,且H2SeqRec在2個(gè)數(shù)據(jù)集上取得了相對較優(yōu)的性能。這表明將交互序列轉(zhuǎn)換成圖結(jié)構(gòu)數(shù)據(jù),再通過圖神經(jīng)網(wǎng)絡(luò)顯式建模復(fù)雜上下文轉(zhuǎn)換關(guān)系的有效性。

        而本文提出的DLGC在2個(gè)評價(jià)指標(biāo)上都優(yōu)于其他基線算法。這得益于在構(gòu)圖階段,引入了鄰居序列,充分利用了其他用戶的潛在協(xié)作信息。另外,在信息傳播階段,使用雙通道輕量圖卷積分別對2種序列進(jìn)行信息傳播,得到更充分有效的項(xiàng)目嵌入,提升了算法的建模能力。

        4.5 DLGC細(xì)節(jié)分析

        本節(jié)驗(yàn)證DLGC中嵌入維度d、鄰居序列數(shù)m以及指數(shù)分母形式對于實(shí)驗(yàn)結(jié)果的影響。對某個(gè)參數(shù)進(jìn)行分析之前,都將其余參數(shù)設(shè)置為最佳性能時(shí)的值。

        4.5.1 嵌入維度d的分析

        本小節(jié)分別對Caser、SASRec、H2SeqRec和DLGC進(jìn)行嵌入維度d的分析,以NDCG@10作為評價(jià)指標(biāo),結(jié)果如圖5和圖6所示。從圖中可以明顯看出,隨著d的增加,算法的性能也隨之增加。當(dāng)d達(dá)到64時(shí),算法的性能并沒有繼續(xù)隨著d的增加而增加,而是趨于平穩(wěn)或者有所下降。這說明并不是嵌入維度越高,算法的性能越好,嵌入維度越高反而會帶來過擬合的問題,導(dǎo)致算法的性能有所下降。因此,本文將嵌入維度設(shè)置為64,以獲得最佳的性能。

        Figure 5 Effect of embedding dimensiond on Beauty圖5 Beauty上嵌入維度d的影響

        Figure 6 Effect of embedding dimensiond on MovieLens-20M圖6 MovieLens-20M上嵌入維度d的影響

        Table 2 Performance comparison between DLGC and baseline algorithms

        4.5.2 鄰居序列數(shù)m的分析

        只關(guān)注指定用戶的交互序列,無法充分利用到其他用戶潛在的協(xié)作信息,但是如果引入大量的鄰居序列,又會帶來大量的噪聲。因此,本小節(jié)對鄰居序列數(shù)m進(jìn)行分析,m取值為0~100。實(shí)驗(yàn)結(jié)果如圖7所示,當(dāng)鄰居序列數(shù)m為50到70時(shí),DLGC在2個(gè)數(shù)據(jù)集上都取得了較優(yōu)的性能,當(dāng)m為60時(shí),性能最優(yōu)。隨著鄰居序列的不斷引入,更多的協(xié)作信息也隨之引入,算法的性能也不斷提升,這說明引入鄰居序列是有效的。但是,越來越多相似性不高的鄰居序列引入會給算法帶來噪聲,從而降低算法的性能。因此,本文將鄰居序列數(shù)m設(shè)置為60。

        Figure 7 Effect of number of neighbor sequences圖7 鄰居序列數(shù)量m的影響

        4.5.3 指數(shù)分母形式有效性分析

        本文在雙通道輕量圖卷積中,使用了一個(gè)指數(shù)分母形式來組合單個(gè)通道內(nèi)的各層信息。本小節(jié)對指數(shù)分母形式的有效性進(jìn)行分析,將其與另外2種方式進(jìn)行對比,一種是直接取最后一個(gè)值作為結(jié)果(LastOne),另一種是求平均,也是LightGCN中的做法(Average)。這里不考慮使用深度神經(jīng)網(wǎng)絡(luò)方式(比如自注意力機(jī)制)的原因是避免增加額外的網(wǎng)絡(luò),影響雙通道輕量圖卷積的輕量特性。實(shí)驗(yàn)結(jié)果如圖8所示。

        Figure 8 Effect of combination modes圖8 組合方式的影響

        從圖8中可以看出,本文使用的指數(shù)形式的組合方法,在2個(gè)數(shù)據(jù)集上都取得了最佳的效果,證實(shí)了該方式的有效性。比起LightGCN中使用的取平均方式性能更好,這是由于指數(shù)形式給每一層分配了不一樣的權(quán)重,前面層的重要程度相比于后面層的重要程度有所削弱。

        4.6 消融實(shí)驗(yàn)

        本節(jié)驗(yàn)證DLGC中核心部分的有效性,主要包括2個(gè)方面:構(gòu)圖方式的有效性和雙通道輕量圖卷積的有效性。實(shí)驗(yàn)結(jié)果如表3所示,表3中,DLGC-Number表示只考慮相同項(xiàng)目數(shù)量來生成前m個(gè)鄰居序列;DLGC-Single表示只使用單個(gè)輕量圖卷積來進(jìn)行信息傳播。

        Table 3 Results of ablation experiment表3 消融實(shí)驗(yàn)結(jié)果

        從表3中可以看出,相比于2個(gè)去除核心部分的DLGC,完整的DLGC在2個(gè)數(shù)據(jù)集上都取得了最佳的性能,驗(yàn)證了2個(gè)核心部分的有效性。具體來說,通過先為每個(gè)序列生成一個(gè)有向圖,再對有向圖對應(yīng)的鄰接矩陣進(jìn)行運(yùn)算等操作來判斷序列之間的相似性,能夠盡可能多地將高相似性的鄰居序列找到,從而充分利用其他用戶潛在的協(xié)作信息,對于最終的推薦起到了很大的幫助。另外,由于2種序列對最終的推薦所帶來的影響是不同的,前者反映的是用戶本身的行為信息,后者反映的是鄰居用戶的協(xié)作信息。將2種序列都輸入到單一輕量圖卷積中,無法有效地建模出項(xiàng)目之間的復(fù)雜關(guān)系轉(zhuǎn)換,而使用雙通道輕量圖卷積進(jìn)行信息傳播,可以充分利用不同序列中所包含的信息,提升推薦的有效性。

        5 結(jié)束語

        本文考慮到目標(biāo)用戶與其他用戶的交互序列中項(xiàng)目的復(fù)雜轉(zhuǎn)換關(guān)系,提出了一種基于雙通道輕量圖卷積的序列推薦算法。該算法不僅建模目標(biāo)用戶的交互序列,還建模其鄰居用戶的交互序列,從而充分利用了用戶之間潛在的協(xié)作信息。同時(shí)使用一個(gè)雙通道輕量圖卷積分別對2種序列中的節(jié)點(diǎn)進(jìn)行信息傳播,使得最終生成的Top-N列表更準(zhǔn)確,推薦性能更好。將來,會繼續(xù)考慮引入并有效地結(jié)合其他有效的信息(比如價(jià)格信息等),以獲得性能更好的序列推薦系統(tǒng)。

        猜你喜歡
        輕量雙通道卷積
        并繼竿之我見(四)
        ——輕量竿只有新手才用?
        垂釣(2023年1期)2023-03-03 05:06:20
        基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
        近端胃切除雙通道重建及全胃切除術(shù)用于胃上部癌根治術(shù)的療效
        輕量新能源汽車應(yīng)用開關(guān)磁阻電機(jī)系統(tǒng)匹配的研究
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        我對輕量型并繼竿的看法
        垂釣(2018年6期)2018-09-10 08:22:02
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        采用6.25mm×6.25mm×1.8mm LGA封裝的雙通道2.5A、單通道5A超薄微型模塊穩(wěn)壓器
        一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識別方法
        分類高考能否打通“雙通道”
        麻豆五月婷婷| 国产无套一区二区三区久久| 最近中文字幕精品在线| 国产91成人精品高潮综合久久| 高h喷水荡肉爽文np肉色学校| 欧美巨大巨粗黑人性aaaaaa| 亚洲AV色无码乱码在线观看| aⅴ色综合久久天堂av色综合| 蜜桃在线观看免费高清| 国产av一级黄一区二区三区| 天天做天天爱夜夜爽毛片毛片 | 久久精品国产99国产精品澳门 | 日本欧美大码a在线观看| 国产欧美日韩综合精品二区| 人妻无码AⅤ不卡中文字幕| 国产精品美女久久久浪潮av| 国产精品一区二区三区四区亚洲 | av免费观看网站大全| 国产精久久一区二区三区| 久久国产精品-国产精品| 中文字幕av一区二区三区| 亚洲视一区二区三区四区| 谷原希美中文字幕在线| 人妻少妇不满足中文字幕| 无码人妻丰满熟妇区bbbbxxxx| 麻豆国产在线精品国偷产拍| 无遮挡网站| 无码一区二区丝袜| 在线观看国产视频午夜| 香港三级日本三级a视频| 一区一级三级在线观看| 国产精彩刺激对白视频| 中文亚洲第一av一区二区| 国产精品亚洲精品国产| 亚洲av不卡一区二区三区| 久久av无码精品人妻出轨| 极品av在线播放| 99久久99久久久精品蜜桃| 欧美精品videossex少妇| 5级做人爱c视版免费视频| 婷婷开心五月综合基地|