国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于時間卷積注意力神經(jīng)網(wǎng)絡的序列推薦模型

2022-06-09 01:43:32杜永萍牛晉宇王陸霖
模式識別與人工智能 2022年5期
關(guān)鍵詞:注意力卷積建模

杜永萍 牛晉宇 王陸霖 閆 瑞

近年來,推薦系統(tǒng)通過用戶與項目交互的歷史記錄,為用戶提供個性化的推薦服務,受到學術(shù)界和工業(yè)界的廣泛關(guān)注.序列推薦根據(jù)用戶與項目交互的歷史記錄構(gòu)建用戶行為序列,獲取用戶的動態(tài)興趣表示,并以此為依據(jù)進行推薦.傳統(tǒng)的序列推薦模型常采用矩陣分解[1]、馬爾可夫鏈[2]等捕獲用戶興趣偏好,但僅考慮潛在因素的低階交互,存在無法處理長序列依賴關(guān)系等問題.

針對上述情況,Hidasi等[3]提出GRU4Rec,采用循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network, RNN)對用戶行為序列中項目間的依賴關(guān)系進行建模.Tang等[4]提出Caser(Convolutional Sequence Embe-dding Recommendation Model),針對歷史行為僅會單獨影響下一個行為的問題,將用戶之前交互的N項項目的嵌入矩陣視為“圖像”,分別使用水平卷積核和垂直卷積核獲取點級、聯(lián)合級及跳躍行為的序列模式.但是,基于RNN或卷積神經(jīng)網(wǎng)絡(Convolu-tional Neural Network, CNN)的方法不能捕獲在會話內(nèi)和跨會話中用戶興趣的層次性質(zhì),此外,基于CNN的方法具有較高的內(nèi)存消耗.You等[5]提出HierTCN(Hierarchical Temporal Convolutional Net-works),利用RNN獲取用戶的長期偏好特征,并結(jié)合時間卷積網(wǎng)絡模型,預測下一次交互行為,提高內(nèi)存的使用效率及訓練速度.針對基于RNN的方法只考慮會話的行為順序,無法解決序列中噪聲造成的影響,Kang等[6]提出SASRec(Self-Attention Based Sequential Model),采用自注意力機制,在每個時間步中,自適應地為歷史行為中的項目分配權(quán)重,并利用其進行預測.上述模型均具有從左到右單向?qū)W習的特點,限制歷史序列中項目的隱藏表示能力.

序列推薦的關(guān)鍵在于構(gòu)建用戶興趣表示,上述工作均僅對長期偏好或短期偏好進行建模,無法充分刻畫實際場景中的用戶興趣和行為.王鴻偉等[7]提出循環(huán)記憶網(wǎng)絡(Recurrent Memory Network, RMN),分別構(gòu)建記憶讀取和寫入單元,捕獲用戶短期興趣波動和長期興趣轉(zhuǎn)移.馮永等[8]提出長短興趣多神經(jīng)網(wǎng)絡混合動態(tài)推薦模型,分別使用RNN和前饋神經(jīng)網(wǎng)絡(Feedforward Neural Network, FNN),對用戶短期興趣和長期偏好進行建模,通過模型融合進行動態(tài)推薦.閻世宏等[9]提出結(jié)合用戶長期興趣和短期興趣的深度強化學習模型,重新設計深度Q-網(wǎng)絡框架,將長短期興趣表示應用在深度Q-網(wǎng)絡中,預測用戶對項目的反饋.

上述模型雖然可較好地捕獲序列模式的動態(tài)性,但隨著時間推移,用戶興趣不斷變化,通常短時間內(nèi)的兩種行為的相關(guān)性強于長時間內(nèi)的.在只考慮行為順序位置的模型中,這兩種情況會被視為相同情況,使模型存在一定的局限性.

為了引入時間因素,Wu等[10]提出RRN(Recur-rent Recommender Networks),將絕對時間戳作為影響因素,采用長短期記憶網(wǎng)絡(Long Short-Term Me-mory, LSTM)構(gòu)建自回歸模型,動態(tài)捕獲用戶和項目的表示,但序列中噪聲造成的影響仍存在.Liu等[11]提出短期注意/記憶優(yōu)先模型,能從會話上下文的長期記憶中獲取用戶的一般興趣,同時考慮用戶最后一次點擊的短期記憶,獲取當前興趣,但并未將時間信息引入模型進行訓練.袁濤等[12]針對推薦項目對不同時間尺度興趣的不確定性,利用尺度維卷積,對不同時間尺度的興趣特征進行建模,獲取多尺度時間的用戶興趣特征.Li等[13]不僅考慮行為序列中項目的絕對位置,進一步將時間間隔信息作為重要影響因子,通過自注意力機制學習不同項目、絕對位置及時間間隔的權(quán)重,并進行推薦,但仍無法解決更細粒度的序列行為模式.

針對上述問題,Ji等[14]提出多跳時間感知的注意力記憶網(wǎng)絡,捕獲長期偏好和短期偏好,設計時間感知的門控循環(huán)單元(Gated Recurrent Unit, GRU),學習短期意圖.Zhou等[15]根據(jù)時間跨度較大時,用戶興趣會發(fā)生漂移的現(xiàn)象,構(gòu)建圖神經(jīng)網(wǎng)絡,動態(tài)學習增強項目表示.Hsu等[16]提出關(guān)系時間注意力圖神經(jīng)網(wǎng)絡,構(gòu)建關(guān)系注意力圖神經(jīng)網(wǎng)絡,學習關(guān)于用戶、項目和屬性之間的各種關(guān)系,同時提出序列自注意力機制,對用戶的長期偏好和短期偏好時間模式進行編碼.上述模型采用RNN或圖神經(jīng)網(wǎng)絡(Graph Neural Network, GNN)捕獲用戶行為序列時間信息,增加模型的時間復雜度和空間復雜度,訓練效率相對較低.

為了將時間間隔信息融入模型,同時平衡長短期興趣影響的程度,本文提出基于時間卷積注意力神經(jīng)網(wǎng)絡的序列推薦模型(Sequential Recommen-dation Model Based on Temporal Convolution Attention Neural Network, TCAN),采用長短期偏好融合方法,將時間信息分別融入長期偏好和短期興趣中,并利用時間卷積網(wǎng)絡和自注意力機制的并行性,進一步提高模型性能和訓練效率.

1 任務描述

2 基于時間卷積注意力神經(jīng)網(wǎng)絡的序列推薦模型

本文提出基于時間卷積注意力神經(jīng)網(wǎng)絡的序列推薦模型(TCAN), 結(jié)構(gòu)如圖1所示.

圖1 TCAN結(jié)構(gòu)圖

TCAN分別對長/短期行為序列進行建模.詞嵌入層采用Item2vec詞向量表示方法,并引入位置編碼信息及時間間隔信息作為輔助.時間卷積層采用擴張卷積并行提取用戶行為特征,在提高模型訓練效率的前提下,降低內(nèi)存消耗.自注意力層并行計算用戶行為之間的注意力權(quán)重,提高模型訓練的效率,使模型更關(guān)注用戶行為之間的關(guān)聯(lián).全連接層將自注意力層聚合后的線性特征表示轉(zhuǎn)換為非線性特征表示,考慮不同潛在維度的相互作用.多層感知機層和Softmax層融合所有用戶相關(guān)特征,獲取最終用戶特征表示,實現(xiàn)序列推薦.

2.1 嵌入層

本文采用Item2vec詞向量方法,將用戶行為序列的項目從獨熱編碼形式轉(zhuǎn)換為詞嵌入向量:

最后,構(gòu)成用戶時間間隔矩陣:

在構(gòu)成時間間隔矩陣后,本文采用文獻[18]方法設定時間間隔最大值k(Mu中大于k值的元素均設置為k),并且構(gòu)建2個可學習的時間信息嵌入矩陣PK∈Rk×de和PV∈Rk×de,其中k表示最大時間間隔.將Mu中元素作為PK和PV的索引值,獲取時間間隔編碼向量.PK和PV中每行向量可被看作計算自注意力機制中Key和Value的偏置向量.

2.2 基于時間卷積網(wǎng)絡的用戶長期偏好建模

TCAN引入注意力機制,計算用戶行為序列中的元素與用戶信息相關(guān)程度,增強相關(guān)信息的影響程度,同時有利于時間卷積網(wǎng)絡發(fā)現(xiàn)和建模用戶長期行為中的周期性行為模式.

將用戶長期行為序列嵌入

其中,Wb∈Rm×de,Wur∈Rm×de,hT∈R1×m,b1∈Rm和b2∈R為注意力層的參數(shù),ReLU為激活函數(shù).

在時間卷積層中,利用擴張因果卷積對用戶長期行為序列進行建模,改變擴張系數(shù)大小,增強其行為特征的感受野,使時間卷積網(wǎng)絡能以較小的參數(shù)構(gòu)建長期記憶.時間卷積網(wǎng)絡的卷積核定義為

f=[w0,…,wk,…,wK-1]∈Rde×K,

其中,K為卷積核大小,d∈[1,2,4,…,2n]為時間卷積網(wǎng)絡的擴張系數(shù),ReLU為激活函數(shù).

為了緩解多層卷積層疊加導致的梯度消失問題,在卷積層使用殘差結(jié)構(gòu),對于第m層時間卷積網(wǎng)絡應用殘差模塊,得到輸出

2.3 基于自注意力機制的用戶短期興趣建模

除了用戶的長期偏好以外,模型能否正確建模用戶短期行為的演變過程也十分關(guān)鍵.短期行為模式通常是用戶的連續(xù)性購買行為,行為之間一般都具有重要關(guān)聯(lián).TCAN采用自注意力機制,不同于計算序列所有元素之間的注意力權(quán)重,根據(jù)用戶行為的時序性,每個用戶行為只計算與其前項行為之間的注意力權(quán)重.全連接層將加權(quán)聚合的線性用戶特征表示轉(zhuǎn)換成非線性用戶特征表示,挖掘潛在維度之間的相互作用.自注意力層結(jié)構(gòu)如圖2所示.

圖2 自注意力層結(jié)構(gòu)

由于查詢語句和序列信息維度相同,TCAN采用Self-Attention機制中的縮放點積(Scaled-dot Product),構(gòu)造自注意力機制中的注意力單元.基于縮放點積的注意力機制的定義為

TCAN采用Self-Attention機制將嵌入的用戶短期行為序列

計算項目間的自注意力權(quán)重:

最后,融入時間間隔信息的用戶短期行為序列

將輸入短期行為序列的項目嵌入向量和時間間隔嵌入向量與自注意力權(quán)重進行加權(quán)求和,得

為了使自注意力層能考慮不同潛在維度之間的相互作用,TCAN采用雙層注意力機制.在Self-Attention層上連接一個多層感知機,捕獲用戶短期行為序列模式:

其中:WZ∈Rde×de,WZ1∈Rde×de,為兩層全連接網(wǎng)絡的權(quán)重矩陣;bZ∈Rde,bZ1∈Rde為偏置向量;ReLU為激活函數(shù).

自注意力機制模型結(jié)構(gòu)復雜,參數(shù)量較大,無法單獨對整體模型的端到端進行訓練,限制模型性能.因此在自注意力層中加入預訓練過程,結(jié)構(gòu)如圖3所示.

圖3 預訓練過程

圖3中SA表示一個自注意力單元和全連接層的結(jié)合,利用用戶t時刻之前及t時刻的行為信息預測用戶在t+1時刻的行為,使模型在訓練之前融入全部輸入用戶行為序列的信息.

雙層自注意力層在預訓練方法訓練過程中學習給定某一時刻的歷史行為序列,即對于輸入序列[bT-1,bT-2,…,bT-n-1],能預測下一時刻的行為序列,即目標輸出序列為[bT,bT-1,…,bT-n].對于雙自注意力層中bT-1輸入對應的輸出節(jié)點bT來說,其結(jié)果是雙層注意力層融合全部輸入序列得到的預測結(jié)果.

通過預訓練方法得到的雙自注意力層參數(shù)會在整體模型建立時加載到模型對應的雙自注意力層中,作為初始化參數(shù),并在整體訓練時進行參數(shù)微調(diào).

3 實驗及結(jié)果分析

3.1 實驗數(shù)據(jù)集

本文選擇如下3個數(shù)據(jù)集評測模型性能:Amazon數(shù)據(jù)集(http://jmcauley.ucsd.edu/data/amazon/)、Steam數(shù)據(jù)集(https://cseweb.ucsd.edu/~jmcauley/datasets.html#steam_data)和MovieLens數(shù)據(jù)集(https://grouplens.org/datasets/movielens).Amazon數(shù)據(jù)集是大規(guī)模商品評論集,實驗選取其中具有高稀疏性和多樣性的Amazon Beauty、Amazon Games數(shù)據(jù)集.Steam數(shù)據(jù)集是大型在線電子游戲銷售平臺上的游戲評分和評論數(shù)據(jù)集.MovieLens數(shù)據(jù)集是在推薦系統(tǒng)領(lǐng)域被廣泛使用的基準數(shù)據(jù)集,實驗選取MovieLens-1M數(shù)據(jù)集.數(shù)據(jù)集統(tǒng)計信息如表1所示.由表可見,Amazon Beauty、Amazon Games數(shù)據(jù)集較稀疏,Steam數(shù)據(jù)集的用戶點擊行為和商品被點擊量較不對稱,MovieLens-1M數(shù)據(jù)集最稠密.

表1 實驗數(shù)據(jù)集統(tǒng)計數(shù)據(jù)

為了準確評估模型性能,使用Hit Rate@10和NDCG@10進行評價.Hit Rate@10計算模型預估的用戶點擊列表中與用戶真實點擊列表前10項中擊中的次數(shù),NDCG@10包含擊中項的前后位置權(quán)重.

3.2 實驗設置

為了評價TCAN性能,選擇如下基線模型.

1)PopRec[6].根據(jù)項目被用戶購買的次數(shù)對項目進行排序,即待推薦列表中按照被購買次數(shù)進行排序.

2)BPR-MF(Bayesian Personalized Ranking)[1].使用偏置矩陣分解法作為隱式反饋的學習方法.

3)TransRec(Translation-Based Recommendation)[19].

將每位用戶建模為變換向量,捕獲用戶從當前項目到下一項目的變換過程,達到一階序列推薦方法中的最優(yōu)效果.

4)GRU4Rec+[3].使用RNN對用戶行為序列中項目間的依賴關(guān)系進行建模.

5)Caser[4].采用垂直卷積核和水平卷積核捕獲序列的點級、聯(lián)合級及跳躍行為模式.

6)SASRec[6].通過Transformer中的自注意力機制自適應尋找與目標相關(guān)的項目并進行推薦.

7)TiSASRec(Time Interval Aware Self-Attention Based Sequential Recommendation)[13].將時間間隔信息作為重要特征,通過自注意力機制學習不同項目、絕對位置及時間間隔的權(quán)重,并進行推薦.

上述基線模型的所有超參數(shù)和初始化方法都遵循原作者的最佳設置.使用自適應矩估計優(yōu)化器(Adaptive Moment Estimation, Adam)優(yōu)化模型參數(shù),損失函數(shù)設置為交叉熵損失:

實驗設置訓練次數(shù)為200,采用Adam動量梯度下降法進行損失函數(shù)優(yōu)化.在嵌入層中,用戶行為的詞嵌入維度de=50,在時間卷積層中卷積核大小K=3,卷積網(wǎng)絡的擴張系數(shù)d=1,2,4.在自注意力層中參照文獻[13]給出的最大時間間隔{1,16,64,256,512,1 024,2 048}分別進行實驗.

實驗系統(tǒng)為Linux, 實驗平臺是Pycharm,并且借助Pytorch1.7深度學習框架,及NVIDIA RTX3090 GPU算力完成實驗.

3.3 實驗結(jié)果

各模型在4個數(shù)據(jù)集上的序列推薦性能對比如表2所示,其中黑體數(shù)字表示性能最優(yōu),斜體數(shù)字表示性能次優(yōu),TCAN-Pt表示TCAN中的雙自注意力層未加載預訓練參數(shù),而是使用隨機初始化參數(shù)的模型.

由表2可知,TCAN在全部指標上均達到最優(yōu)性能,能同時建模用戶的長期行為和短期行為,使模型在較長用戶行為序列的建模上具有更好優(yōu)勢,這也解釋為什么模型在用戶平均點擊行為最多、用戶行為最稠密的MovieLens-1M數(shù)據(jù)集上性能提升最明顯.

在Amazon Games、Steam數(shù)據(jù)集上,模型在沒有經(jīng)過預訓練的情況下性能表現(xiàn)不佳,但經(jīng)過預訓練后性能有較大幅度的提升.分析認為,模型對于用戶短期行為的建模僅通過端到端的訓練是不充分的,限制模型的預估性能.雙層自注意力層通過預訓練方法在模型整體訓練的初期就能捕捉用戶短期行為序列中的順序行為模式,對于整體模型的訓練起到促進作用,預訓練方法通過增強模型對用戶短期行為的建模,進一步增強模型的用戶短期行為特征,提升模型的序列推薦性能.

為了驗證TCAN中各個模塊的有效性,進行消融實驗,結(jié)果如表3所示.TCAN-Lh為TCAN去除用戶長期行為特征的模型,TCAN-Sh為TCAN去除用戶短期行為特征的模型,TCAN-Ti為TCAN去除時間間隔輔助信息的模型.

由表3可知,TCAN中的各個模塊對于提升模型的序列推薦性能均具有積極效果.只有用戶短期行為特征的TCAN-Lh,由于僅建模用戶短期行為,對用戶行為的分析較片面,導致性能欠佳.只有用戶長期行為特征的TCAN-Sh效果優(yōu)于TCAN-Lh,在用戶行為最稠密的MovieLens-1M數(shù)據(jù)集上的性能提升最大.因為該數(shù)據(jù)集內(nèi)用戶行為數(shù)據(jù)更豐富,需要模型具備對于用戶長期行為的建模能力.去除時間間隔信息的TCAN-Ti性能差于TCAN,這說明項目-用戶交互的時間間隔更能體現(xiàn)用戶行為序列的周期性行為模式,對于序列推薦任務是一個重要的影響因素.在消融實驗中,基于用戶短期行為序列的預訓練方法對于模型性能的提升較明顯.

表3 TCAN的消融實驗結(jié)果

各模型在Movie-Lens-1M數(shù)據(jù)集上的訓練效率如圖4所示.由圖可知,相比TiSASRec,TCAN收斂時間僅是TiSASRec的1/3,TCAN大約在1 000s內(nèi)達到收斂,在性能大幅提升的基礎(chǔ)上,收斂時間僅增加數(shù)百秒.這說明TCAN能在保證訓練效率的前提下,提高模型性能.

圖4 各模型訓練效率對比

在保持其它最優(yōu)超參數(shù)不變的情況下,TCAN的卷積核大小對模型性能的影響程度如圖5所示.由圖可知,在相對用戶行為稠密的Movielens-1M數(shù)據(jù)集上,當TCAN的卷積核大小為4時,性能達到最優(yōu),而在其余數(shù)據(jù)集上,當TCAN的卷積核大小為3時,性能達到最優(yōu).這表明,用戶行為數(shù)量稠密后,可通過增加時間卷積網(wǎng)絡中卷積核的大小增加其感受野大小,提高模型性能.

圖5 卷積核大小對TCAN的影響

用戶行為序列建模中的注意力層在Amazon Beauty數(shù)據(jù)集上的權(quán)重可視化結(jié)果如圖6所示,圖中顯示數(shù)據(jù)集上ID為AKJHHD5VEH7VG的用戶在對ID為B0040KTTZI的目標商品進行序列推薦時,注意力層對于用戶行為序列中不同商品的權(quán)重分布情況.由圖可看出,注意力層對與目標商品相似品類的商品賦予的權(quán)重較大,與目標商品無關(guān)的商品的注意力權(quán)重較小,說明注意力層將用戶行為序列中與目標商品相關(guān)的商品進行增強,同時削弱無關(guān)商品的影響.圖6中用戶對于“Hair Care”類商品和“Skin Care”類商品的購買行為均呈現(xiàn)周期性的購買形式,這也說明用戶購買商品的行為中確實存在周期性的行為模式.

圖6 注意力層的可視化結(jié)果

4 結(jié) 束 語

序列推薦的研究重點是對用戶行為序列的建模,本文使用長短期多維度特征建模方式對用戶的長期行為序列和用戶的短期行為序列進行建模,提出基于時間卷積注意力神經(jīng)網(wǎng)絡的序列推薦模型(TCAN).模型使用注意力層和時間卷積網(wǎng)絡建模用戶的長期行為序列,同時利用自注意力機制建模用戶的短期行為序列.用戶短期行為序列較復雜,為了能更好地建模用戶短期行為,進一步采用基于用戶短期行為的預訓練方法.通過對用戶短期行為和長期行為分別建模,綜合考慮用戶的周期性行為模式和用戶的連續(xù)行為模式.

在不同領(lǐng)域、不同稀疏性的數(shù)據(jù)集上的實驗表明,TCAN在序列推薦任務上性能較優(yōu),消融實驗也證實TCAN中的短期行為序列建模、長期行為序列建模及添加時間信息均對性能提升具有積極作用.采用的預訓練方法也有效提升模型對于用戶短期行為的建模能力.今后可考慮使用更復雜的網(wǎng)絡,精確建模用戶短期行為.

猜你喜歡
注意力卷積建模
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于PSS/E的風電場建模與動態(tài)分析
電子制作(2018年17期)2018-09-28 01:56:44
不對稱半橋變換器的建模與仿真
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現(xiàn)”
傳媒評論(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
一種基于卷積神經(jīng)網(wǎng)絡的性別識別方法
商水县| 丘北县| 游戏| 五莲县| 昭觉县| 太仓市| 措勤县| 海安县| 永昌县| 丽水市| 克拉玛依市| 海口市| 曲靖市| 萨迦县| 祁连县| 金秀| 山西省| 鄂尔多斯市| 兰考县| 东山县| 金湖县| 台中市| 枣强县| 新竹县| 阿克陶县| 阳西县| 盱眙县| 鲁甸县| 铜山县| 嘉黎县| 威海市| 绥江县| 赤峰市| 星子县| 冕宁县| 蓝田县| 阿拉善盟| 襄城县| 淳安县| 余江县| 阿拉善右旗|