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

        ?

        結(jié)合注意力機(jī)制與循環(huán)神經(jīng)網(wǎng)絡(luò)的序列推薦模型

        2023-10-31 11:39:42成衛(wèi)青
        軟件導(dǎo)刊 2023年10期
        關(guān)鍵詞:物品注意力神經(jīng)網(wǎng)絡(luò)

        吳 曉,成衛(wèi)青

        (南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210046)

        0 引言

        隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,用戶逐漸迷失在海量的信息之中,推薦系統(tǒng)(Recommender System,RS)作為一個(gè)信息過濾工具,以個(gè)性化的方式發(fā)現(xiàn)產(chǎn)品和服務(wù),為用戶提供向?qū)?。從用戶角度而言,推薦系統(tǒng)旨在解決信息過載情況下用戶如何高效獲得感興趣信息的問題;從公司角度而言,推薦系統(tǒng)解決產(chǎn)品能夠最大限度吸引用戶、留存用戶、增加用戶黏性、提高用戶轉(zhuǎn)化率的問題。

        推薦系統(tǒng)要解決的問題可以被定義為:對(duì)于用戶U,在特定的場(chǎng)景C下針對(duì)大量的物品信息構(gòu)建一個(gè)函數(shù),預(yù)測(cè)用戶對(duì)特定候選物品I的喜好程度,再根據(jù)喜好程度對(duì)所有候選物品進(jìn)行排序,生成推薦列表的問題。推薦系統(tǒng)框架如圖1所示。

        Fig.1 Recommender system framework圖1 推薦系統(tǒng)框架

        近些年,深度學(xué)習(xí)被引入推薦系統(tǒng)領(lǐng)域。深度學(xué)習(xí)主要用來克服傳統(tǒng)推薦模型的缺點(diǎn)從而得到高質(zhì)量的推薦[1-2]。其可以有效地捕獲非線性的用戶—物品關(guān)系和數(shù)據(jù)本身的復(fù)雜聯(lián)系,例如上下文、文本和視覺等豐富復(fù)雜的信息。隨著Transformer 模型在自然語(yǔ)言處理NLP 領(lǐng)域中的流行,Transformer 被嘗試應(yīng)用于各領(lǐng)域,并且取得了不錯(cuò)的效果[3]。SASRec[4]作為基于自注意力構(gòu)建的序列推薦模型,雖然整個(gè)模型仍與原始的Transformer 相似,但是依然取得了較好成效。

        目前,絕大多數(shù)模型都認(rèn)為從用戶序列中能夠完全捕捉到用戶當(dāng)前興趣,例如上文提到的SASRec 模型。但在現(xiàn)實(shí)中,用戶的意圖往往很難確定,特別是處于一個(gè)長(zhǎng)期行為狀態(tài)中。其在模型中僅考慮用戶的短期興趣,沒有結(jié)合用戶的長(zhǎng)期興趣。在模型個(gè)性化能力方面,由于沒有加入用戶信息,導(dǎo)致模型個(gè)性化能力也較差。在用戶的長(zhǎng)期行為中,AttRec[5]、STAMP[6]等模型,通過對(duì)用戶行為求平均值,再進(jìn)行高階線性變換以建立長(zhǎng)期偏好模塊,采用的方法較為簡(jiǎn)單并且忽略了數(shù)據(jù)間的時(shí)間順序,隨著用戶序列逐漸增長(zhǎng),準(zhǔn)確度快速下降。

        本文認(rèn)為,評(píng)價(jià)一個(gè)新產(chǎn)品能否吸引用戶的正確方法是評(píng)估它與用戶短期偏好和長(zhǎng)期偏好的匹配程度。為了能夠獲得較為準(zhǔn)確的推薦結(jié)果,提出了一種基于GRU 神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制的長(zhǎng)期偏好模塊,結(jié)合輔助損失函數(shù),捕獲用戶一個(gè)長(zhǎng)期行為中所有可能出現(xiàn)的偏好,并將它們聚合為用戶最終的長(zhǎng)期偏好,以改善隨著用戶序列增長(zhǎng),用戶興趣獲取準(zhǔn)確性逐漸下降的問題。并且,基于自注意力機(jī)制獲取用戶短期偏好,添加可學(xué)習(xí)的位置矩陣,以避免忽略物品間的時(shí)間順序。同時(shí),探討了在何處融入用戶信息,以提高模型個(gè)性化能力。本文嘗試了3 種不同的門控函數(shù)將用戶的長(zhǎng)期偏好與短期偏好相結(jié)合以預(yù)測(cè)用戶下一個(gè)時(shí)刻可能交互的物品。此外,本文利用隨機(jī)共享嵌入(Stochastic Shared Embeddings)技術(shù),在模型訓(xùn)練階段對(duì)用戶行為序列中交互過的物品和物品集合中的物品按照一定概率進(jìn)行替換,以提高模型表現(xiàn)力,避免過擬合。

        1 相關(guān)工作

        1.1 序列推薦

        序列推薦與協(xié)同過濾和基于內(nèi)容的過濾不同[7],其通過對(duì)用戶序列進(jìn)行建模,從而向用戶推薦可能感興趣的物品[8]。傳統(tǒng)推薦模型都以靜態(tài)方式對(duì)用戶—項(xiàng)目交互歷史進(jìn)行建模,只能捕獲用戶的靜態(tài)偏好。相反,序列推薦將用戶—項(xiàng)目交互視為動(dòng)態(tài)序列,并考慮到順序依賴性,捕獲用戶當(dāng)前偏好以獲得更準(zhǔn)確的推薦結(jié)果[9]。

        序列推薦模型普遍可以分為兩類:專注于用戶通用興趣的全局模型和強(qiáng)調(diào)用戶當(dāng)前興趣的短期模型。獲取用戶興趣的方法一般有3 種:①基于用戶交互歷史,使用協(xié)同過濾的方法,如矩陣分解[10];②基于領(lǐng)域的方法,基于共同交互物品的相似性進(jìn)行推薦[11];③基于馬爾科夫鏈的方法,利用用戶行為之間的順序進(jìn)行預(yù)測(cè)[12-13]。

        1.2 深度神經(jīng)網(wǎng)絡(luò)推薦

        隨著序列推薦領(lǐng)域的不斷發(fā)展,從馬爾科夫鏈(Markov Chain)到循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,以及Transformer,每個(gè)時(shí)期的序列推薦模型,基本上都對(duì)應(yīng)著該時(shí)期應(yīng)用較多的NLP 模型。

        早期,貝葉斯模型是序列推薦中的主流模型?;隈R爾科夫鏈的FPMC[14],通過歷史數(shù)據(jù)構(gòu)建商品之間的轉(zhuǎn)移矩陣,根據(jù)轉(zhuǎn)移矩陣預(yù)測(cè)用戶下一個(gè)可能購(gòu)買的商品?;诟唠A馬爾科夫鏈的Fossil 模型[15]則是通過高階馬爾科夫鏈學(xué)習(xí)更多的信息,再結(jié)合相似性模型解決序列推薦預(yù)測(cè)中的稀疏性問題。

        當(dāng)進(jìn)入到深度學(xué)習(xí)時(shí)代,RNN 模型既能夠?qū)W到類似馬爾科夫鏈的轉(zhuǎn)移信息,也能夠通過一些其他方式,比如使用長(zhǎng)短期記憶LSTM 學(xué)習(xí)用戶序列中的信息。由此,出現(xiàn)許多基 于RNN 解決序列推薦的研究,如GRU4Rec[16]、RRN[17]、HRNN[18]等模型都是采用RNN 模型或者其變體進(jìn)行序列推薦,還有一些基于CNN 的序列推薦模型。盡管序列推薦中更加關(guān)心行為之間的關(guān)聯(lián)性,而CNN 主要用于提取局部到整體的信息,但是3D-CNN[19]、Caser[20]、HierTCN[21]等模型從不同角度介紹了CNN 模型在序列推薦中應(yīng)用的可能性。其中,Caser 模型提出了union-level 的概念,即通過組合前幾個(gè)行為信息,以預(yù)測(cè)用戶下一個(gè)或者下幾個(gè)行為,展現(xiàn)了CNN 注重于整體的特性;HierTCN 模型則是通過將卷積網(wǎng)絡(luò)與GRU 結(jié)合起來進(jìn)行預(yù)測(cè),這樣既保持了卷積的特性,也保持了RNN 的序列建模特性。

        從NLP 中的Self-Attention 模型開始,注意力模型開始被逐漸應(yīng)用于各個(gè)領(lǐng)域。Bert4Rec[22]作為基于Bert 模型的序列推薦,其彌補(bǔ)了SASRec 單向建模的缺點(diǎn),采用雙向建模。SSE-PT[23]則是考慮了用戶信息在序列建模中的重要性,并且提出了使用隨機(jī)共享嵌入SSE 這一方法以提升模型表現(xiàn)能力。

        1.3 注意力模型

        隨著注意力模型在深度學(xué)習(xí)領(lǐng)域的廣泛應(yīng)用,圖像處理、語(yǔ)音識(shí)別、自然語(yǔ)言處理和推薦系統(tǒng)等領(lǐng)域中各種不同類型的任務(wù)[24-26]中都出現(xiàn)了注意力模型的身影。

        從注意力模型的命名方式看,其借鑒了人類的注意力機(jī)制,核心目標(biāo)是從眾多信息中選擇出對(duì)當(dāng)前任務(wù)目標(biāo)更關(guān)鍵的信息。

        注意力機(jī)制將Source 中的構(gòu)成元素想象成是由一系列的<Key,Value>鍵值對(duì)構(gòu)成,此時(shí)給定Target中的某個(gè)元素Query,通過計(jì)算Query 和各Key 的相似性或者相關(guān)性,得到每個(gè)Key 對(duì)應(yīng)Value 的權(quán)重系數(shù),然后對(duì)Value 進(jìn)行加權(quán)求和,即得到了最終的Attention 數(shù)值。因此,本質(zhì)上Attention 機(jī)制是對(duì)Source 中元素的Value 值進(jìn)行加權(quán)求和,而Query 和Key 用來計(jì)算對(duì)應(yīng)Value 的權(quán)重系數(shù),如圖2所示。

        Fig.2 Attention mechanism圖2 注意力機(jī)制

        自注意力模型,顧名思義“自”即是自己,其指的不是Target 和Source 之間的Attention 機(jī)制,而是Source 內(nèi)部元素之間或者Target 內(nèi)部元素之間發(fā)生的Attention 機(jī)制,也可以理解為Target=Source 這種特殊情況下的注意力計(jì)算機(jī)制。

        2 方法模型

        2.1 模型框架

        序列推薦的目標(biāo)是在任何時(shí)間內(nèi),為任何給定的用戶學(xué)習(xí)獲得一個(gè)較好的物品個(gè)性化排名。現(xiàn)定義實(shí)驗(yàn)數(shù)據(jù)集格式:設(shè)S表示一組用戶集合,物品索引集合I,其中記|S|為L(zhǎng)1,|I|記為L(zhǎng)2,定義用戶i的用戶序列Si=

        用戶序列Si按照時(shí)間順序記錄用戶i在一段時(shí)間內(nèi)交互過的物品索引。對(duì)于不同的用戶而言,其交互的序列長(zhǎng)度是可變的,但在實(shí)驗(yàn)過程中,本文選擇對(duì)于較短的用戶序列在左側(cè)進(jìn)行填充,對(duì)于較長(zhǎng)的用戶序列則選擇最近的T個(gè)交互索引,使每個(gè)用戶序列都具有相同的序列長(zhǎng)度T。

        由于序列推薦是根據(jù)用戶的交互歷史預(yù)測(cè)下一時(shí)刻用戶可能交互的物品,因此不能簡(jiǎn)單隨意地劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集。對(duì)于每一個(gè)用戶序列而言,將其前T-2個(gè)用戶交互索引歸入訓(xùn)練集,第T-1 個(gè)交互索引歸入驗(yàn)證集,最后一個(gè)交互索引T歸入測(cè)試集。

        圖3為本文模型PAGRURec 簡(jiǎn)略結(jié)構(gòu)圖。本文采用排名指標(biāo)NDCG@K 和HIT@K 對(duì)模型性能進(jìn)行評(píng)價(jià)。

        Fig.3 Schematic of model framework圖3 模型框架簡(jiǎn)略

        2.2 嵌入層

        本文創(chuàng)建了一個(gè)可訓(xùn)練的物品嵌入矩陣M∈RL2×d,并根據(jù)物品嵌入矩陣得到用戶i的初步輸入嵌入矩陣E∈RT×d。其中,0 作為填充項(xiàng),dm表示物品嵌入矩陣的隱藏維度,du表示用戶嵌入矩陣的隱藏維度,本文中du=dm=d。

        用戶的最終選擇不僅取決于物品信息,還需要考慮到自身信息,因而創(chuàng)建一個(gè)可訓(xùn)練用戶信息矩陣U∈RL1×d,在輸入嵌入矩陣中加入用戶信息,以完成個(gè)性化推薦。在用戶i的輸入嵌入矩陣E∈RT×d中拼接該用戶的用戶信息得到新的輸入嵌入矩陣E∈RT×2d:

        由于自注意力模型中沒有包含任何可以反映位置信息的模塊,故本文創(chuàng)建了一個(gè)可訓(xùn)練的位置矩陣P∈RT×2d嵌入到輸入嵌入矩陣中最終得到可訓(xùn)練輸入嵌入矩陣E∈RT×2d:

        圖4 展示了嵌入層對(duì)用戶i的歷史行為序列所進(jìn)行的操作,對(duì)用戶i每個(gè)時(shí)刻所交互過的物品拼接了用戶i的用戶信息,并加上能夠代表該物品所處位置的信息。

        Fig.4 Schematic of embedded layer圖4 嵌入層簡(jiǎn)圖

        2.3 短期偏好

        對(duì)于用戶的短期偏好,本文采用自注意力模型建模,通過堆疊自注意力模塊得到用戶的短期偏好ms。圖5 為SASRec 的提取用戶短期偏好的一個(gè)自注意力模塊。

        Fig.5 Short term preference module圖5 短期偏好模塊

        2.3.1 注意力計(jì)算公式

        其中,Q代表查詢向量,K和V代表鍵值對(duì),通過該式可計(jì)算所有值的加權(quán)和。在自注意力模型中,Q、K、V由同一輸入得到,為捕捉用戶序列中的復(fù)雜關(guān)系。

        對(duì)輸入矩陣E進(jìn)行3次不同的線性變換得到Q、K、V。其中,WQ、WK、WV∈RT×2d代表3種不同的線性變換,將輸入矩陣E映射至不同的空間。

        2.3.2 前饋神經(jīng)網(wǎng)絡(luò)

        自注意力機(jī)制自適應(yīng)地分配權(quán)重聚合了整個(gè)用戶序列的交互歷史,但其本質(zhì)仍是一個(gè)線性模型。物品隱藏維度之間并不是相互獨(dú)立的,為了能夠捕捉物品隱藏維度d之間的非線性關(guān)系,在自注意力機(jī)制后加入前饋神經(jīng)網(wǎng)絡(luò)。其中,W1、W2∈RT×2d,b1、b2是2d維向量,ReLU為激活函數(shù)。

        2.3.3 殘差連接與歸一化

        在一定程度上,神經(jīng)網(wǎng)絡(luò)越深,其表達(dá)能力也越強(qiáng)。本文采用堆疊多層自注意力模塊獲取更加準(zhǔn)確的興趣表達(dá)。但隨著網(wǎng)絡(luò)的加深,也會(huì)面臨梯度消散、梯度爆炸等問題[27]。殘差連接緩解了梯度消散、爆炸等問題,提高了模型表達(dá)能力。

        殘差連接就是將輸出表述為輸入和輸入的非線性變換的線性疊加[28-29]。具體地,假設(shè)輸入為x,非線性變換為H,其參數(shù)為WH,輸出為y,殘差連接可表示為:

        層歸一化用于歸一化特征的輸入,有利于穩(wěn)定和加速神經(jīng)網(wǎng)絡(luò)訓(xùn)練[30]。與批量歸一化不同,層歸一化中使用的統(tǒng)計(jì)信息與相同批次中的其他樣本無關(guān)。具體地,假設(shè)輸入是包含樣本的所有特征的向量x,層歸一化可被定義為:

        2.3.4 堆疊自注意力模塊

        為了能準(zhǔn)確獲得用戶的短期興趣,本文堆疊多個(gè)自注意力模塊以學(xué)習(xí)用戶序列中更復(fù)雜的內(nèi)在聯(lián)系。將多個(gè)自注意力層之后的輸出作為用戶的短期偏好ms。一個(gè)自注意力模塊定義如下(其中,b表示堆疊自注意力模塊的數(shù)量):

        為了減輕深度神經(jīng)網(wǎng)絡(luò)中的過擬合問題,本文使用Dropout正則化[31]。

        2.4 長(zhǎng)期偏好

        對(duì)于用戶的長(zhǎng)期偏好,本文假設(shè)其在t時(shí)刻長(zhǎng)度內(nèi)固定不變,表示為ml,圖6為本文的長(zhǎng)期偏好模塊。

        Fig.6 Long term preference module圖6 長(zhǎng)期偏好模塊

        對(duì)用戶i而言,首先使用GRU 神經(jīng)網(wǎng)絡(luò)提取每個(gè)時(shí)間步的輸出ht作為用戶該時(shí)刻的興趣。

        圖7展示了一個(gè)GRU 單元及其內(nèi)部公式。

        Fig.7 GRU diagram圖7 GRU簡(jiǎn)略圖

        其中,Wz、Wr、Wh∈R2d×2d,bz、br、bh∈R2d為偏置,σ()為Sigmoid 函數(shù)。zt∈(0,1)為更新門,式(15)表示當(dāng)前狀態(tài)ht需要從歷史狀態(tài)ht-1中保留多少信息,以及從候選狀態(tài)中接受多少新信息。當(dāng)zt=0 時(shí),ht和ht-1之間為非線性函數(shù)關(guān)系;當(dāng)zt=1 時(shí),ht和ht-1之間為線性函數(shù)關(guān)系。rt為重置門,用來控制候選狀態(tài)的計(jì)算是否依賴上一個(gè)時(shí)刻的狀態(tài)ht-1。

        用戶i的長(zhǎng)期興趣表示為:

        2.5 門控函數(shù)

        考慮到在不同的時(shí)刻,用戶的長(zhǎng)期偏好與短期偏好對(duì)正確推薦結(jié)果的貢獻(xiàn)不相同,本文設(shè)計(jì)了3 個(gè)類似GRU 神經(jīng)網(wǎng)絡(luò)的門控函數(shù),這里選擇效果最好的一種加以介紹,兩外兩種將在3.3.3中提及。

        其中,W0、W1、W2、W3∈R2d×2d表示t時(shí)刻用戶i所交互的物品信息,ba∈R2d為偏置,σ()為Sigmoid 函數(shù),Yt為用戶t時(shí)刻最終的興趣表達(dá),β為t時(shí)刻短期興趣ms在最終興趣Yt所占的權(quán)重。

        2.6 預(yù)測(cè)層

        為了預(yù)測(cè)用戶i在t+1時(shí)刻可能交互的物品,取用戶在t時(shí)刻的最終興趣表示Yt,相關(guān)性分?jǐn)?shù)計(jì)算如下:

        其中,rj,t表示物品j在t+1時(shí)刻與用戶t時(shí)刻興趣的相關(guān)性得分,M∈RL2×d為物品嵌入矩陣,Ui表示用戶i的用戶信息。相關(guān)性得分越高,表示用戶在下一時(shí)刻(即t+1時(shí)刻)與該物品交互的可能性越高,以此為用戶生成個(gè)性化的推薦列表。

        2.7 網(wǎng)絡(luò)訓(xùn)練

        對(duì)于每個(gè)用戶序列,本文通過填充或者截?cái)嗍姑總€(gè)用戶序列為固定長(zhǎng)度T。本文定義ot為t時(shí)間步的預(yù)期輸出:

        其中,<pad >表示為填充項(xiàng),模型采用用戶序列Si作為輸入,ot為相應(yīng)時(shí)刻的輸出。最終交叉熵?fù)p失函數(shù),并且計(jì)算損失函數(shù)時(shí)不考慮填充項(xiàng)。

        為提高長(zhǎng)期模塊中每個(gè)時(shí)間步ht的準(zhǔn)確性,計(jì)算GRU神經(jīng)網(wǎng)絡(luò)每個(gè)時(shí)間步輸出的興趣與用戶交互物品的交叉熵?fù)p失作為輔助損失。

        首先計(jì)算t時(shí)刻用戶興趣,即GRU 神經(jīng)網(wǎng)絡(luò)t時(shí)刻的輸出ht與t+1時(shí)刻用戶可能交互的物品相關(guān)性得分。

        同時(shí),定義ht為t時(shí)間步的預(yù)期輸出:

        其中,pj,t表示物品j在t+1時(shí)刻與用戶t時(shí)刻的用戶信息相關(guān)性得分,相關(guān)性得分越高,表示通過GRU 神經(jīng)網(wǎng)絡(luò)提取的用戶興趣更加準(zhǔn)確。

        最終的損失函數(shù)表示為:

        其中,δ為權(quán)重。

        2.8 模型復(fù)雜度

        從空間復(fù)雜度和時(shí)間復(fù)雜度兩個(gè)方面考慮:

        (1)空間復(fù)雜度。本文模型中可學(xué)習(xí)的參數(shù)主要來自于短期偏好中的自注意力層,前饋網(wǎng)絡(luò)層、歸一化層和長(zhǎng)期偏好中的循環(huán)神經(jīng)網(wǎng)絡(luò)層和注意力層??倕?shù)量為:O(L1du+L2dm+nd+d2)。其中,d=du+dm,dm表示物品嵌入矩陣的隱藏維度,du表示用戶嵌入矩陣的隱藏維度,本文中du=dm。

        (2)時(shí)間復(fù)雜度。本文模型的時(shí)間復(fù)雜度主要來自于注意力計(jì)算和前饋神經(jīng)網(wǎng)絡(luò)等,時(shí)間復(fù)雜度為(n2d+nd2)。

        3 實(shí)驗(yàn)與結(jié)果分析

        3.1 對(duì)比實(shí)驗(yàn)

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

        本文模型使用Pytorch 實(shí)現(xiàn),選用Adam 優(yōu)化器,學(xué)習(xí)率為0.001,批量尺寸為128,隱藏維度設(shè)置d為50。在嵌入層和預(yù)測(cè)層使用同一個(gè)物品嵌入矩陣和用戶嵌入矩陣,并且使用隨機(jī)共享嵌入概率為0.02。MoviesLens-1M 最大序列長(zhǎng)度設(shè)置為200,Dropout 為0.2,其余3 個(gè)數(shù)據(jù)集最大序列長(zhǎng)度設(shè)置為50,Dropout為0.5,權(quán)重δ為0.2。

        3.1.2 數(shù)據(jù)集

        本文使用4 個(gè)來自于真實(shí)世界的數(shù)據(jù)集,并將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。其中,Beauty 和Games數(shù)據(jù)集是McAuley[32]等從亞馬遜爬取的產(chǎn)品評(píng)論數(shù)據(jù)集;Steam 數(shù)據(jù)集是游戲平臺(tái)Steam 的評(píng)論數(shù)據(jù);Movielens1M數(shù)據(jù)集是被廣泛使用的基準(zhǔn)數(shù)據(jù)集,包含了一百萬用戶的電影評(píng)級(jí)[33]。數(shù)據(jù)集詳細(xì)信息如表1所示。

        Table 1 Dataset information表1 數(shù)據(jù)集信息

        3.1.3 評(píng)估指標(biāo)

        本文選用兩個(gè)常見的Top-N 評(píng)價(jià)指標(biāo)HIT@K 和NDCG@K 評(píng)價(jià)推薦模型的性能。HIT 是衡量召回率的一種常用指標(biāo),NDCG(歸一化折扣累計(jì)收益)是一個(gè)0 到1 之間的數(shù),主要思想是對(duì)推薦列表中的每一項(xiàng)都會(huì)根據(jù)其所處位置除以一個(gè)遞增的數(shù),然后累加得到DCG,最后對(duì)所有的DCGs 作歸一化處理得到NDCG。其代表著用戶喜歡的商品被排在推薦列表前面比排在后面能更大程度地提升用戶體驗(yàn)。

        為了避免對(duì)所有用戶—物品進(jìn)行計(jì)算,本文遵循相應(yīng)的策略[34-35]。對(duì)每一個(gè)用戶,隨機(jī)采樣100 個(gè)負(fù)樣品,并與真實(shí)交互物品一起排名,基于這101 個(gè)物品計(jì)算HIT@K和NDCG@K。

        3.1.4 推薦模型

        本文在對(duì)比實(shí)驗(yàn)中選擇了7個(gè)推薦模型。

        FPMC[14]:通過矩陣分解和一階馬爾科夫鏈,獲得物品的轉(zhuǎn)移矩陣和用戶的通用興趣,而進(jìn)行推薦的模型。

        GRU4Rec+[36]:GRU4Rec[16]的改進(jìn)版本,采用了不同的損失函數(shù)和采樣策略,在Top-N 推薦中取得了顯著效果。

        STAMP[6]:利用注意力機(jī)制構(gòu)建推薦模型而不是使用RNN 或CNN 構(gòu)建模型。

        SASRec[4]:使用從左到右的Transformer 模型進(jìn)行推薦的模型,在序列推薦中取得了顯著的效果。

        Bert4Rec[22]:其彌補(bǔ)了SASRec[4]的單向建模,采用了雙向建模序列。

        TiSASRec[37]:融入了時(shí)間戳的自注意力模型,不僅考慮物品的絕對(duì)位置,還考慮序列中物品之間的時(shí)間間隔。

        LSAN[38]:利用組合嵌入的方式并且融入了上下文感知的注意力網(wǎng)絡(luò),同時(shí)消除了傳統(tǒng)多頭自我注意力的冗余。

        3.1.5 實(shí)驗(yàn)結(jié)果

        本文推薦模型(PAGRURec)在4 個(gè)數(shù)據(jù)集上都取得了較為明顯的效果,實(shí)驗(yàn)結(jié)果如表2所示。

        Table 2 Experimental result表2 實(shí)驗(yàn)結(jié)果

        在各數(shù)據(jù)集上,本文推薦模型與其他模型相比,各項(xiàng)指標(biāo)得到較大提升。以Beauty 數(shù)據(jù)集為例,與非深度學(xué)習(xí)中的FPMC 模型相比,HIT@10 提升21.3%,NDCG@10 提升了26.9%;與深度學(xué)習(xí)中的SASRec 模型相比,HIT@10 提升8.8%,NDCG@10 提升14.7%;與最近的LSAN 模型相比,HIT@10提升2%,NDCG@10提升2.3%。

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

        本文進(jìn)行消融實(shí)驗(yàn)如下:

        (1)刪除位置嵌入(RemovePE)。自注意力模型本身并不具備感知位置信息的能力,刪除短期偏好中的位置信息,忽略了用戶交互歷史的順序關(guān)系。在長(zhǎng)序列中,由于短期偏好與最近的一個(gè)或者幾個(gè)歷史行為有著較大的聯(lián)系,因而刪除位置嵌入可能會(huì)導(dǎo)致模型性能下降,但對(duì)用戶序列較短的稀疏數(shù)據(jù)集影響較小。

        (2)刪除殘差連接(RemoveRC)。殘差網(wǎng)絡(luò)能將網(wǎng)絡(luò)的淺層信息傳遞到深層,避免產(chǎn)生網(wǎng)絡(luò)的退化等問題。刪除殘差連接使信息的傳遞出現(xiàn)較大問題,導(dǎo)致淺層網(wǎng)絡(luò)參數(shù)無法更新,模型性能變差。

        (3)刪除Dropout(RemoveDropout)。Dropout 是指在深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練過程中,對(duì)神經(jīng)網(wǎng)絡(luò)單元,按照一定的概率將其暫時(shí)從網(wǎng)絡(luò)中丟棄,是防止模型過擬合和提高效果的手段,刪除Dropout使得模型性能有所下降。

        (4)刪除隨機(jī)共享嵌入(RemoveSSE)。SSE[23]的主要思想是將嵌入矩陣中的某一內(nèi)容以事先定義好的概率隨機(jī)替換為另一個(gè)內(nèi)容,從而使嵌入層具有正則化的效果。刪除過后模型發(fā)生嚴(yán)重的過擬合現(xiàn)象。

        (5)增加或刪除自注意力模塊數(shù)(Block=1,Block=3)。在密集數(shù)據(jù)集如ML-1M 中,堆疊更多的自注意力模塊能夠?qū)W習(xí)用戶歷史行為中更加復(fù)雜的關(guān)系,能夠在一定程度上提升模型性能。在稀疏數(shù)據(jù)集例如Beauty 中,增加或刪除自注意力模塊個(gè)數(shù)對(duì)整體影響不大。

        (6)使用多頭注意力機(jī)制(Multi-Head,Head=2)。用戶的興趣往往是多方面、多維度的。例如,用戶對(duì)一件商品的喜愛可能不僅僅因?yàn)樗钠放?,還可能因?yàn)樗膬r(jià)格或者質(zhì)量等。因此,使用多頭注意力機(jī)制能夠更加準(zhǔn)確地獲得用戶的興趣。

        消融實(shí)驗(yàn)結(jié)果如表3所示。

        Table 3 Ablation experiment(based on NDCG@10)表3 消融實(shí)驗(yàn)(以NDCG@10為例)

        Table 4 Comparison of gating functions表4 門控函數(shù)比較

        3.3 實(shí)驗(yàn)分析

        3.3.1 用戶長(zhǎng)期偏好

        用戶長(zhǎng)期偏好中的注意力機(jī)制不同于短期偏好中的自注意力,其Q、K、V并非由同一輸入經(jīng)過線性變換得到。對(duì)于輸入用戶序列,首先經(jīng)過GRU 神經(jīng)網(wǎng)絡(luò)得到用戶每個(gè)時(shí)刻的初步興趣ht,將其視為查詢向量Q,同時(shí)也視為V,并通過計(jì)算輔助損失l2提高V的準(zhǔn)確性;然后對(duì)輸入用戶序列經(jīng)過線性變換得到K;通過計(jì)算注意力,最后求和得到用戶的長(zhǎng)期偏好。如圖8 所示,QKT表示了每個(gè)時(shí)刻用戶興趣與用戶交互物品之間的注意力權(quán)重。

        Fig.8 Visual diagram of attention weight圖8 注意力權(quán)重可視化圖

        從宏觀角度看,本文長(zhǎng)期偏好與以往的長(zhǎng)期偏好一樣是靜態(tài)、全局的,但獲取方式卻與以往求均值等方式不同,其內(nèi)部是動(dòng)態(tài)的,充分利用了用戶的每個(gè)交互歷史,采用每個(gè)時(shí)間點(diǎn)興趣ht動(dòng)態(tài)組成用戶的長(zhǎng)期偏好,解決了信息遺漏、平均等問題。

        例如,在用戶一個(gè)長(zhǎng)期購(gòu)物行為中,用戶購(gòu)買的商品中大多為運(yùn)動(dòng)鞋、運(yùn)動(dòng)襪等運(yùn)動(dòng)產(chǎn)品,小部分為數(shù)碼產(chǎn)品。隨著用戶序列的增加,根據(jù)求均值的方法獲取用戶長(zhǎng)期興趣,數(shù)碼產(chǎn)品在用戶長(zhǎng)期興趣中的占比可能被稀釋,因而占比極小,那下一個(gè)推薦的產(chǎn)品大概率就是運(yùn)動(dòng)產(chǎn)品。而本文長(zhǎng)期偏好模塊能較為精確地獲取用戶一個(gè)長(zhǎng)期行為中每個(gè)時(shí)刻的興趣,再通過注意力機(jī)制將所有的興趣融合為用戶的長(zhǎng)期興趣,能夠充分利用用戶交互過的每個(gè)商品,避免上述問題。

        如圖9所示,在稀疏數(shù)據(jù)集Beauty 中,用戶序列平均長(zhǎng)度僅為7.6,STAMP 長(zhǎng)期偏好模塊與本文長(zhǎng)期偏好模塊在性能上相差不大。由于用戶序列較短,STAMP 通過對(duì)用戶序列求均值,進(jìn)行高階線性變換可以簡(jiǎn)單高效獲得用戶的長(zhǎng)期偏好,并且用戶序列越短,準(zhǔn)確度也越高。本文長(zhǎng)期偏好模塊較為復(fù)雜,在短用戶序列中可能會(huì)產(chǎn)生過擬合現(xiàn)象,因此在稀疏數(shù)據(jù)集中表現(xiàn)一般。但隨著隱藏維度的提高,其捕捉物品隱藏維度d之間非線性關(guān)系的能力得到了體現(xiàn),兩者之間的差距逐漸縮小。

        Fig.9 Beauty dataset圖9 Beauty數(shù)據(jù)集

        如圖10 所示,在密集數(shù)據(jù)集ML-1M 中,用戶序列平均長(zhǎng)度為163.5,本文長(zhǎng)期偏好模塊對(duì)比STAMP 模型取得了約60%的提升。在密集數(shù)據(jù)集中,本文長(zhǎng)期偏好模塊通過非線性變換—注意力機(jī)制—加權(quán)求和3 個(gè)階段,結(jié)合l2損失函數(shù),充分利用了用戶每個(gè)時(shí)刻所交互過的物品,避免了STAMP 長(zhǎng)期偏好模塊可能導(dǎo)致的信息遺漏、平均現(xiàn)象。

        Fig.10 ML-1M dataset圖10 ML-1M數(shù)據(jù)集

        3.3.2 用戶信息

        SASRec 模型中,預(yù)測(cè)層將用戶信息與興趣相加進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明添加用戶信息并沒有提高模型性能,因此認(rèn)為用戶興趣已經(jīng)能夠充分地表示用戶信息。

        但推薦模型中用戶信息顯然必不可少,其有助于提高模型個(gè)性化能力。本文在模型輸入階段,將用戶信息與用戶序列進(jìn)行拼接,結(jié)合隨機(jī)共享嵌入正則化技術(shù),按照0.02 的概率隨機(jī)替換用戶序列中交互過的物品,提高模型個(gè)性化能力。圖11 表示了ML-1M 數(shù)據(jù)集在不同隱藏維度d下添加用戶信息與不添加用戶信息NDCG@10 指標(biāo)的表現(xiàn)情況。

        Fig.11 Performance diagram of user information圖11 用戶信息性能表現(xiàn)圖

        3.3.3 門控函數(shù)

        本文先后嘗試了3 種方法將短期偏好ms和長(zhǎng)期偏好ml相結(jié)合。除上文提到的方法外,還有2 種方法:①將短期偏好與長(zhǎng)期偏好直接相加得到最終的用戶偏好;②分別求短期偏好與長(zhǎng)期偏好對(duì)用戶序列的相似性權(quán)重,再進(jìn)行加權(quán)求和得到最終的用戶偏好。

        本文采用的方法相比于第一種直接相加的方法,能夠自適應(yīng)分配短期偏好與長(zhǎng)期偏好的權(quán)重;相較于第二種方法中短期偏好與長(zhǎng)期偏好的權(quán)重取決于各自對(duì)用戶序列的相似度,本文中的權(quán)重β由短期偏好與長(zhǎng)期偏好共同決定,長(zhǎng)期偏好與短期偏好并不是孤立的,因而取得了最好的效果。

        3.3.4 訓(xùn)練效率

        圖12 展示了ML-1M 數(shù)據(jù)集下基于GPU 的訓(xùn)練效率。GRU4Rec 由于其性能較差而被省略。為了公平比較,所有模型僅使用最近的200 個(gè)操作進(jìn)行訓(xùn)練。在計(jì)算速度方面,本文模型只花費(fèi)了1.5 s 進(jìn)行一次模型更新,比LSAN和SASRec 快1 倍以上,比STAMP 快10 倍以上,比Caser 快12 倍。在ML-1M 數(shù)據(jù)集上,本文模型在大約300 s 內(nèi)收斂到最佳性能,而其他模型則需要更長(zhǎng)時(shí)間。

        Fig.12 Training efficiency圖12 訓(xùn)練效率

        4 結(jié)語(yǔ)

        本文提出了一種結(jié)合注意力與GRU 神經(jīng)網(wǎng)絡(luò)的序列推薦模型,用于預(yù)測(cè)用戶下一時(shí)刻可能交互的物品。首先,探討了如何有效地將用戶信息與用戶序列相結(jié)合的問題,配合隨機(jī)共享嵌入技術(shù),完成個(gè)性化推薦;其次,使用自注意力模型提取短期興趣,使用GRU 神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制,配合輔助損失函數(shù)提取長(zhǎng)期興趣;最后,探索了有效結(jié)合長(zhǎng)期興趣與短期興趣的方法。在稀疏和密集數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文模型性能相比于SASRec、注重短期偏好的STAMP 和采用循環(huán)神經(jīng)網(wǎng)絡(luò)的GRU4REC+獲得了較大提升,與最近的Bert4Rec、LSAN 等模型相比在一些數(shù)據(jù)集上也有一些優(yōu)勢(shì)。未來研究中,將結(jié)合豐富的上下文信息擴(kuò)展模型,并探索處理長(zhǎng)用戶序列的方法。

        猜你喜歡
        物品注意力神經(jīng)網(wǎng)絡(luò)
        稱物品
        讓注意力“飛”回來
        “雙十一”,你搶到了想要的物品嗎?
        神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
        電子制作(2019年19期)2019-11-23 08:42:00
        誰(shuí)動(dòng)了凡·高的物品
        “揚(yáng)眼”APP:讓注意力“變現(xiàn)”
        A Beautiful Way Of Looking At Things
        基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
        復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
        找物品
        午夜视频一区二区三区在线观看| 97久久超碰国产精品2021| 亚洲美腿丝袜综合一区| 欧美日韩综合在线视频免费看| 免费人成黄页在线观看国产| 亚洲国产中文字幕视频| 国产精品 人妻互换| 日产精品久久久久久久| 亚洲色图视频在线播放| 免费视频亚洲一区二区三区| 中文字幕有码无码人妻av蜜桃| 中年熟妇的大黑p| 99在线视频精品费观看视| 久久久亚洲一区二区三区| 26uuu在线亚洲欧美| 老师脱了内裤让我进去| 亚洲综合五月天欧美| 亚洲不卡高清av在线| 亚洲av无码无线在线观看| 色婷婷久久一区二区三区麻豆 | 国产美女被遭强高潮露开双腿| 杨幂一区二区系列在线| 成人亚洲精品777777| 狠狠色狠狠色综合久久第一次| 久久精品国产亚洲精品色婷婷| 中文字幕隔壁人妻欲求不满| 亚洲h在线播放在线观看h| 亚洲精品黄网在线观看| 操国产丝袜露脸在线播放| 久久久久88色偷偷| 妇女性内射冈站hdwwwooo| 日本草逼视频免费观看| 国产日韩厂亚洲字幕中文| 国产精品毛片久久久久久久| 久久久久久一级毛片免费无遮挡| 蜜桃av在线播放视频| 97精品人人妻人人| 久久精品久久精品中文字幕| 大量老肥熟女老女人自拍| 亚洲国产精品成人天堂| 国产成a人亚洲精v品无码性色 |