鄭海利,陳平華
(廣東工業(yè)大學計算機學院,廣東 廣州 510006)
隨著互聯(lián)網和大數(shù)據的發(fā)展,推薦系統(tǒng)在人們的日常生活和社交活動中扮演著越來越重要的角色,可為用戶提供更好的選擇和決策,提供個性化服務。在網絡平臺上,歷史交互行為蘊含豐富的項目特征信息,可以很好地刻畫用戶興趣。用戶交互記錄的順序信息實時反映了用戶的興趣愛好變化。因此,基于用戶的歷史行為分析復雜的行為轉換模式對于提高推薦精度至關重要。
目前大多數(shù)推薦模型可以分為協(xié)同過濾模型和序列推薦模型。協(xié)同過濾[1]利用興趣相投、擁有共同經驗之群體的喜好來推薦用戶感興趣的物品,它沒有利用用戶行為的時間特征,無法學習動態(tài)變化的興趣。隨著深度學習的興起,神經網絡憑借強大的數(shù)據擬合和泛化能力,涌現(xiàn)出大量結構復雜的序列推薦模型,相比傳統(tǒng)模型取得了顯著的效果,因此基于深度學習序列推薦方法是本文的主要研究對象。
由于序列推薦中交互的項目有先后之分,用戶的交互序列往往包含了用戶長期興趣和短期興趣。卷積神經網絡一般是使用卷積濾波器挖掘序列中的局部上下文依賴。文獻[2]將用戶交互的嵌入矩陣L視為一個“圖像”,并應用水平卷積和垂直卷積分別提取項目個體級別特征和聯(lián)合級別的特征。然而,用戶的興趣通常是動態(tài)變化的,將矩陣視為靜態(tài)圖像可能會阻礙捕獲項目的動態(tài)轉換。文獻[3]應用1-D擴展卷積來獲得會話中的上下文項目轉換,具備在歷史序列中進行長范圍依賴的建模能力。肖妍等人[4]采用多尺度垂直和水平卷積層提取復雜局部特征,結合自注意力學習長期交互關系,但是對于局部特征的提取仍舊沒有脫離傳統(tǒng)卷積不變性的假設。為了減少局部噪聲的影響,從而更準確地推薦,大量的研究將長短期興趣結合起來。文獻[5]提出了一種短期注意/記憶優(yōu)先級模型,該模型能夠從會話上下文的長期記憶中捕獲用戶的通用興趣,同時從最后點擊的短期記憶中考慮用戶當前的興趣,但是該方法無法確定長期興趣和短期興趣的界限,特別是不同用戶的行為是個性化的。文獻[6]同時考慮項目個體和組合依賴,使用卷積網絡和自注意力分別提取局部特征和全局特征,并利用壓縮激勵網絡融合。
以上研究在長期興趣依賴和短期興趣依賴方面取得了顯著成果,但是仍有以下不足:
1)現(xiàn)有的使用卷積神經網絡提取歷史序列局部特征的方法假定用戶的興趣是靜態(tài)的,能夠被固定參數(shù)的卷積核捕獲。但事實上,用戶的興趣是動態(tài)變化的,特別是在序列變長的時候,常常發(fā)生興趣漂移。因此,現(xiàn)有的卷積方法無法很好地捕捉到動態(tài)的局部特征。
2)對于長短期興趣的區(qū)分,現(xiàn)有的方法大多將最近交互的項目作為短期興趣,將更久之前的項目作為長期的興趣學習靜態(tài)偏好,最終結合長短期興趣預測下一交互項目。首先,這種割裂的興趣建模方法無法準確地區(qū)分長短期興趣的邊界,可能會誤導模型學習;其次,用戶的局部特征常表現(xiàn)為“組合興趣”,不同階段的局部特征間也可能存在較強聯(lián)系。用圖1 用戶的購買情況舉例。
單個歷史項目(手機和平板)會對當前交互產生影響,同時歷史電子產品的組合興趣(電子產品)能更好地推斷當前興趣,但是目前對于“組合興趣”間關系的研究較少。
本文的工作如下:
1)嘗試使用動態(tài)卷積提取局部上下文特征,根據不同上下文項目自適應計算項目的重要性,解決用戶興趣動態(tài)變化下局部特征的提取問題。
2)不同于傳統(tǒng)的全局-局部依賴結合方式,本文關注每一個時刻的全局和局部特征依賴,能夠更好地挖掘個體特征依賴和組合特征依賴。通過混合注意力的方式將全局和局部依賴有機結合起來。
3)在3 個不同密度的推薦系統(tǒng)真實數(shù)據集上對所提出的模型進行實驗驗證,結果表明,本文模型在序列推薦方面優(yōu)于已有的基準模型,并且有較強的魯棒性。
早期的序列推薦工作一般使用馬爾科夫鏈提取用戶歷史行為中的信息。文獻[7]利用矩陣分解和馬爾科夫鏈分別學習用戶下一個項目推薦的長期和短期偏好。然而,基于馬爾科夫鏈的方法只考慮最后一個或最后幾個動作,很難利用行為之間的依賴關系,無法捕獲相對較長的序列中的動態(tài)偏好。
近年來,深度學習技術被引入序列推薦任務?;谘h(huán)神經網絡(RNN)的模型通過多個遞歸結構學習用戶的偏好表示,例如為基于會話的用戶序列建模而提出的門控循環(huán)單元GRU 模型[8]。文獻[9]結合GRU 和注意力機制來對用戶在當前會話中的主要意圖進行建模。文獻[10]結合上下文信息進行分類,重新定義GRU 單元的更新門和復位門,對用戶興趣進行動態(tài)建模。文獻[11]使用門控線性單元捕獲交互序列中的用戶興趣,利用帶有注意力權重的門控循環(huán)網絡學習用戶的動態(tài)興趣,更加符合用戶的真實行為。
卷積神經網絡(CNN)可以挖掘序列中的局部上下文依賴。文獻[2]提出使用水平和垂直卷積層去學習序列轉換模式。文獻[12]首次使用二維卷積進行序列推薦,認為對成對關系進行建模,可以學習到序列化特征數(shù)據的更好表示。文獻[13]使用門控卷積改進膠囊網絡,并且設計了項目級和特征級的雙通道路由機制挖掘序列的轉換模式,更好地對用戶的短期興趣變化進行建模。
注意力機制的模型能夠依據信息的權重去度量不同信息特征的重要性。文獻[14]首次利用自注意力機制來捕捉用戶的序列特征,在多個公共數(shù)據集上顯著提升了效果。文獻[15]引入時間間隔信息,設計時間卷積網絡獲取長期偏好特征;使用雙層自注意力對短期項目關聯(lián)進行建模。文獻[16]采用深度雙向自我注意模型對用戶的行為序列進行建模。文獻[17]提出隨機共享正則來增加自注意力的個性化,取得了更好的性能和解釋性。文獻[18]在項目特征基礎上融入了屬性特征和上下文特征,使用了多層多頭自注意力模塊去提取用戶歷史行為包含的用戶特征,還利用交叉注意力模塊將目標item 和用戶的特征進行融合。
全局-局部興趣依賴在推薦系統(tǒng)中獲得了越來越廣泛的關注,一些研究也稱之為結合長短興趣推薦。對于用戶興趣的建模既考慮到用戶穩(wěn)定的、不易改變的興趣,也關注近期內可能臨時出現(xiàn)的興趣。文獻[19-20]提出和設計局部-全局記憶機制來學習不同層次的項目序列,而它們使用簡單的神經模塊連接,沒有自適應的可學習偏好因素。文獻[21]使用共享參數(shù)的自注意力區(qū)分最近幾次交互的重要性,得到短期興趣表示,然后采用度量學習對長期偏好進行建模。文獻[22]提出了注意力和循環(huán)神經網絡的混合模型,第1個模塊是雙向長短期記憶網絡,第2個模塊是GRU 模塊,兩者都具有基于用戶的注意機制,分別用來提取用戶的一般偏好和最新意圖。文獻[23]使用BERT 進行預訓練,然后根據交互順序將用戶歷史交互序列劃分為多個時間窗口。通過融合空洞卷積和前向注意,得到各時間窗內的局部偏好和時間窗間的全局偏好,進而為每個用戶生成多個不同的興趣嵌入。文獻[24]在每個時間步上對用戶的長、短期順序行為進行建模,并通過分層注意機制在更高階上捕獲物品對物品的依賴關系。該模型同時考慮動態(tài)的長期和短期用戶偏好,并引入聯(lián)合學習機制將兩者融合。文獻[25]同樣采用自注意力學習最近幾次交互的局部特征表示,提出基于位置的注意力層提取長期偏好,并通過物品相似度門控函數(shù)融合局部和全局特征表示。
定義U={u1,u2,…,u|U|}和I={i1,i2,…,i|I|}作為用戶集合和項目集合,其中和分別是用戶的數(shù)量和項目的數(shù)量。對于每一個用戶u,可以獲得其按照時間升序的交互序列,其中代表用戶u在時刻t交互的項目。序列推薦系統(tǒng)的目標是預測用戶將要點擊的下一個項目。
本文提出基于動態(tài)卷積和自注意力的序列推薦模型DConvSA,該模型旨在利用動態(tài)卷積和自注意力的優(yōu)勢分別對局部和全局2 個方面的興趣特征進行建模。其整體架構如圖2 所示,主要分為嵌入層、動態(tài)卷積層、自注意力層、混合注意力層和預測層5 個部分。首先,將高維稀疏的用戶交互序列及用戶特征作為模型的輸入。其次,通過嵌入層將所有的特征映射到一個低維的空間中,得到低維稠密的嵌入向量。然后,將用戶交互序列嵌入向量通過自注意力學習全局項目間的聯(lián)系,得到全局依賴;通過動態(tài)卷積提取每一時刻局部的特征,得到局部依賴。下一步,通過混合注意力層,自適應計算全局-局部特征的非線性關系。接著,將用戶最后一次交互得到的向量作為當前時刻的興趣表示,同時融入矩陣分解的用戶特征表示,用于下一項交互預測。
圖2 DConvSA模型結構圖
將項目編號的one-hot編碼嵌入連續(xù)的低維密集向量中,定義E∈R|I|×d作為一個d維的嵌入查詢表,其中d是隱向量空間的維度,|I|代表數(shù)據集里面的物品數(shù)量。嵌入矩陣E是隨機初始化的,它將在模型訓練過程中和參數(shù)共同學習。對于給定的用戶點擊序列Xi=[x1,x2,…,xn]T,可以通過快速查表的方式得到其對應的嵌入向量表示Ei=[e1,e2,…,en]T。同理,可以得到用戶的嵌入向量表U∈R|U|×d。
物品在序列中的位置很重要,因為用戶和物品之間的交互順序有可能影響用戶的下一個交互行為。然而,自注意力模型不包含任何循環(huán)或卷積模塊來捕捉前一項的位置信息,因此需要編碼項目在行為序列中的位置信息,在模型的輸入階段注入可學習的位置嵌入向量P=[P1,P2,…,Pn]T∈Rn×d,所以最終的模型輸入如下:
其中,ei,Pi∈Rd分別表示第i個項目的嵌入向量和位置向量。
自注意力從全局范圍提取項目的特征信息,挖掘項目個體之間的關聯(lián)性,從而提升推薦的準確性。自注意力使用相同的對象作為查詢、鍵和值的輸入,在該模塊里,項目嵌入層的嵌入矩陣E'作為輸入,經過線性映射轉化為3 個矩陣,進一步進行注意力計算,采用scaled dot-product attention 的方式。
其中,Q代表查詢向量,K代表鍵向量,V代表值向量。WQ,WK,WV∈Rd×d是可訓練的參數(shù)矩陣,d是輸入向量的維度大小。比例因子用來避免內積值過大,特別是高維度的情況下,能夠避免梯度爆炸問題。自注意力機制無法完全學習到用戶多個層面的興趣偏好,因此,采用多頭自注意力機制,使用j個獨立的自注意力塊并行訓練。然后將各自注意模塊的輸出進行拼接,得到不同層面的用戶興趣組合。
自注意力是一個高度非局部的操作,沒有很好地捕捉局部特征依賴。卷積網絡常用來提取局部特征。受文獻[26]啟發(fā),與部署所有輸入共享固定參數(shù)的標準卷積相比,動態(tài)卷積是在捕獲不同項目的局部依賴性方面提供了更高的靈活性。
圖3 展示了深度卷積的操作過程。定義卷積核為W∈Rd×k,其中d為隱向量維度,k為卷積核寬度。用戶交互的序列項目可以看作用戶的“畫像”,項目嵌入向量的每一維度看作通道。使用卷積核按照交互的順序方向滑動進行乘積運算,則交互位置i通道c的深度卷積輸出如公式(6)所示。
圖3 Depthwise卷積示意圖
傳統(tǒng)的序列卷積方式需要的參數(shù)量為d2k,而深度卷積的參數(shù)量為dk,可以有效縮減參數(shù)量。
將權值和通道維度綁定,不同通道共享一個卷積核,則能進一步簡化卷積核W∈Rk,從而得到輕量級卷積,計算公式如下:
動態(tài)卷積的操作過程如圖4 所示,其為每一個項目的嵌入向量動態(tài)生成卷積核,生成卷積核時使用一個內核生成器,內核生成器是一個函數(shù)f:Rd→RH×k,f(Xi)=WQXi,其中權重WQ∈RH×k×d,H為通道共享卷積的組數(shù)(圖中H為3,同顏色通道共享卷積核),類似于多頭注意力的頭數(shù),可以動態(tài)調整。
圖4 動態(tài)卷積示意圖
但是,這樣卷積核只依賴于輸入的單個項目,忽略了局部上下文。同一個項目在不同的上下文中可能具有不同的含義,對刻畫當前局部興趣具有不同程度的重要性。如圖5 所示,在[iPhone,iPad,skirt]和[iPad,skirt,shoes]這2 個局部窗口內,skirt 對刻畫當前興趣的重要程度大不相同。理想情況下,前者權重很小,后者權重更大,模型可以根據輸入動態(tài)分配權重。因此,通過接收一個輸入范圍而不是單個物品向量來產生更自適應的卷積核。
圖5 局部卷積核生成圖
為了能夠使自注意力更好地兼容動態(tài)卷積,局部動態(tài)卷積和自注意力使用相同的查詢向量Q和值向量V,Q,V∈Rn×d。輸入的項目嵌入向量要經過一個Depthwise 卷積來獲取每個項目局部的一個區(qū)間內的信息Ks,然后使用這個卷積后的結果Ks與Q的哈達瑪積來動態(tài)生成卷積核(內核生成器的權重為Wf,Wf∈Rk×d),如公式(9)所示。
使用動態(tài)生成的卷積核在V上做卷積,由此得到局部動態(tài)卷積的計算公式如下:
前面2 個模塊分別針對每一時刻的交互獲得了全局特征依賴和局部特征依賴,本模塊將全局-局部特征結合一起。
同時為了使模型具有非線性,讓全局-局部特征充分交互,應用前饋層到混合注意力子層的輸出。
其中,W1∈R2d×d,W2∈Rd×d是可學習的參數(shù)矩陣,b1,b2∈Rd是偏置向量,使用ReLU 激活函數(shù)。在一層混合注意力層后,F(xiàn)i已經學習到了每次交互物品的全局和局部特征,堆疊多個自注意力層能夠進一步挖掘復雜的物品轉換模式。因此模型使用多個全局-局部注意力塊,每個塊的輸出是下一個塊的輸入,并使用殘差網絡和層歸一化避免由于網絡層數(shù)增加可能造成過擬合和訓練不穩(wěn)定,計算公式如下:
式中,g(x)表示混合注意層或前饋網絡,l代表所處層數(shù),第1 層的輸入是序列嵌入向量。也就是說,對于每個塊中的g層,在輸入g之前對輸入x應用層歸一化,對g的輸出應用Dropout,并將輸入Fl加到最終輸出中。
經過多層注意力塊后,時刻t的輸出已經有效融合了全局的特征和局部特征。使用時刻t的輸出作為下一項的興趣,采用經典的矩陣分解來獲取用戶的一般性興趣Ui,形成最終的興趣表示ri,t。
為了預測下一項交互,需要對所有的候選項目進行預測打分,使用向量內積計算與候選項目ei的相似度評分:
模型的損失函數(shù)使用二值交叉熵損失函數(shù):
其中,S表示所有用戶的交互序列集合,θ為可訓練的參數(shù)集合,λ為正則化系數(shù)。對于真實交互的項目視作正樣本,隨機采樣用戶未交互的項目作為負樣本對模型進行訓練,通過反向傳播將損失函數(shù)的值最小化。
本文在3個真實的應用程序數(shù)據集上評估模型的性能。數(shù)據集在領域、平臺和稀疏性方面差異顯著:
1)Amazon:由從亞馬遜網站上的產品評論語料庫構成。亞馬遜網站上的不同的產品類別被視為獨立的數(shù)據集,本文使用“Beauty”數(shù)據集,該數(shù)據集以其高度的稀疏性和可變性而著稱。
2)Steam:一個來自大型在線視頻游戲分發(fā)平臺Steam的新數(shù)據集。
3)MovieLens:一個廣泛用于推薦系統(tǒng)的電影評分數(shù)據集。本文使用MovieLens-1M 這個版本,包括100萬用戶評分。
對于所有數(shù)據集,將評論或評分的存在視為隱式反饋,即用戶與項目進行交互,并使用時間戳來確定操作的順序,丟棄產生交互少于5 個的用戶和物品。對于每個用戶將其歷史交互序列分為3 個部分:最近的一次交互用于測試;倒數(shù)第2 次交互用于驗證;剩余的交互,…用于訓練。對于訓練集,每次隨機采樣4 個用戶未交互的項目作為負樣本,同樣隨機采樣100 個未交互的項目作為測試集的負樣本。經過預處理后的數(shù)據統(tǒng)計結果如表1 所示??梢钥吹紸mazon Beauty 數(shù)據集的每個用戶和每個項目的平均交互動作最少,Steam 用戶交互行為和商品交互行為較不對稱,而MovieLens-1M 是最密集的數(shù)據集。
表1 預處理數(shù)據集統(tǒng)計
本文使用Recall@K(Recall rate)作為評估準確性的指標。Recall@K代表了用戶下一次點擊的項目在前K個預測項中所占有的比率。
其中,n表示測試集的樣本總數(shù),hhit代表在前K個預測結果中真實結果的數(shù)量。Recall 指標只能衡量在前K個預測結果中是否有真實結果,忽略了真實結果在前K個預測結果中的排名情況。為了衡量模型的排序能力,引入MRR@K(Mean Reciprocal Rank)和NDCG@K(Normalized Discounted Cumulative Gain)2個指標。
其中,n表示測試集的樣本總數(shù),Q表示前K個推薦項目中包含正確項目的樣本集;ranki是項目i在推薦排名列表中的排名。
NDCG@K關注的是預測到的項目是否放在推薦列表中更靠前的位置,即強調推薦系統(tǒng)的“順序性”。其中r(i)為推薦列表中第i個項目的相關性分數(shù),命中為1,否則為0。
1)BPR[27]:使用偏置矩陣分解法作為隱式反饋的學習方法。
2)NCF[28]:結合矩陣分解和多層感知機學習用戶和項目的內部交互特征。
3)GRU4Rec[8]:使用RNN 對用戶行為序列中的項目間依賴關系進行建模。
4)Caser[2]:使用垂直卷積核和水平卷積核捕獲序列的點級、聯(lián)合級及跳躍行為模式。
5)SASRec[14]:通過Transformer 中的自注意力機制自適應尋找與目標相關的項目并進行推薦。
6)AttRec[21]:利用自注意力機制來捕捉用戶歷史行為交互的物品與物品之間的關系,從而更好地學習用戶短期興趣的表示;利用度量學習來對用戶的長期偏好進行建模,即同時考慮“局部”與“全局”。
7)FISSA[25]:提出一種類似LSTM 單元的門控函數(shù),將局部興趣表示和全局偏好有效融合。
對于實驗參數(shù)設置,采用均值為0、標準差為0.1的高斯分布隨機對網絡中所有參數(shù)進行初始化,采用Adam 動量梯度下降法進行損失函數(shù)優(yōu)化,初始學習率為0.001。在嵌入層中,項目的嵌入維度d=64。Amazon Beauty 和Steam 的序列長度為50,MovieLens-1M 的序列長度為200。對所有需要調整的參數(shù)在驗證集上運行網格搜索,以此來求解不同的數(shù)據集的最佳設置和超參數(shù)值,訓練模型直到驗證集上性能不再提升。
3 個數(shù)據集MovieLens-1M、Amazon Beauty 和Steam 的對比模型在3 個評估指標Recall@10、MRR@10 和NDCG@10 上的實驗結果如表2 所示(最好結果用粗體標出,下劃線為次好結果)。
表2 不同數(shù)據集上對比模型的實驗結果
由表2可得出,在3個公開數(shù)據集上進行實驗,其召回率、平均倒數(shù)排名和歸一化折損累計增益在MovieLens-1M 數(shù)據集上至少提升1.53%、3.77%和3.28%,在Amazon Beauty 數(shù)據集上至少提升1.86%、1.94%和2.46%,在Steam 數(shù)據集上至少提升0.22%、0.97%和1.08%。
通過對比實驗可以得出:
1)相比于傳統(tǒng)矩陣分解的協(xié)同過濾推薦方法BPR和深度學習協(xié)同過濾模型NCF,多數(shù)情況深度序列模型效果都有極大提升,特別是在衡量模型排序能力的指標MRR和NDCG上。
2)不同應用場景下,推薦效果也不是絕對的:Amazon Beauty 數(shù)據集最稀疏,使用簡單的協(xié)同過濾模型NCF 有更高的召回率,能夠更好地對用戶的靜態(tài)興趣進行建模;同時,稀疏場景下,卷積模型Caser獲得了更好的排序效果,反映了卷積提取稀疏特征的優(yōu)勢,能夠更好地挖掘不同層次的特征;在用戶行為密度較高的場景下,自注意力大多取得了較好的效果,這是由自注意力能夠關注全局依賴決定的,進而學習不同項目間的內在聯(lián)系。
3)SASRec、AttRec 和FISSA 模型都使用了自注意力機制,AttRec 模型的效果是最差的,其僅對最近幾個交互的項目使用自注意力;相比之下GRU4Rec 模型的效果更好,這是因為它使用GRU 對整個序列建模,學習到了全局依賴,但是存在序列過長導致梯度消失問題。FISSA 模型相比于AttRec 模型的優(yōu)勢在于使用基于位置的注意力機制學習全局的興趣表示,并且提出物品相似度門控融合全局和局部表示解決用戶意圖不確定問題。
4)在所有數(shù)據集上,本文使用的DConvSA 模型相比于基線模型在稀疏場景和稠密場景下,都取得了一致性提升,充分說明結合動態(tài)卷積提取局部特征和自注意力提取全局表示的方法能夠很好地對用戶興趣進行建模。在MovieLens-1M 數(shù)據集上,本文模型效果提升最為明顯,能夠在稠密場景下提取復雜的行為轉換模式。特別地,在Steam 數(shù)據集上,F(xiàn)ISSA 模型和本文模型相比有較強競爭力,個別指標甚至更優(yōu),這是因為其考慮了候選列表進行物品相似度計算,獲得了更好的相關性。
消融實驗的主要設置如下:
1)DConv:只有動態(tài)卷積模塊的模型。
2)SA:只有多頭自注意力模塊的模型。
3)DConvSA(w/o user):不添加用戶特征向量的模型。
4)DConvSA:同時使用動態(tài)卷積和自注意力,融合用戶特征信息。
根據圖6 的實驗結果可以觀察到,在Steam 和MovieLens-1M 數(shù)據集上,單一的動態(tài)卷積效果相對較差,這是因為只有動態(tài)卷積堆疊時只關注到了最后幾次交互的項目,是短期的局部興趣。而只有多頭自注意力則關注到的是單個項目級別的注意力,關注的是全局范圍內的項目間的聯(lián)系,效果好于動態(tài)卷積。而在Beauty數(shù)據集上,單一的動態(tài)卷積效果好于自注意力,因為該數(shù)據集的用戶行為稀疏,在間隔時間較長的條件下,最近點擊的項目對預測下一項目更加重要。不添加用戶特征信息的模型沒有體現(xiàn)用戶的個性化興趣依賴,在召回率指標上區(qū)別較為明顯,這是因為融合矩陣分解的用戶特征能反映用戶的一般興趣特征。在同時使用動態(tài)卷積和自注意力后,效果明顯提升,動態(tài)卷積專注提取每次交互發(fā)生時上下文的局部特征,使得自注意力計算項目間聯(lián)系時更加準確。
圖6 消融實驗結果圖
3.6.1 動態(tài)卷積核尺寸
在動態(tài)卷積模塊,改變動態(tài)卷積的卷積核寬度運行模型,圖7 顯示了不同數(shù)據集的NDCG@10 值??梢钥闯鲭S著卷積核寬度的增加,不同數(shù)據集上的精度趨勢表現(xiàn)相似。當卷積核k=3、k=4 時分別在MovieLens-1M 和Steam 數(shù)據集精度達到飽和。較小的卷積核尺寸不足以挖掘上下文的行為聯(lián)系,而較大的尺寸將模糊局部特征的提取。而Steam 數(shù)據集需要較大的卷積核尺寸是因為該場景下用戶的交互行為更緊密。相比之下,k=2 時Beauty 數(shù)據集取得了較好的效果,說明稀疏場景下用戶點擊項目的差異性較大,動態(tài)卷積時“組合興趣”的粒度更小。
圖7 不同卷積核寬度對性能的影響
3.6.2 堆疊層數(shù)
隨著層數(shù)的增加,網絡的容量更大,表達能力也更強。特別是本文模型,會多次計算項目間的相關性,得到更準確的興趣狀態(tài)表示。如圖8所示,在3個數(shù)據集上,MovieLens-1M 和Amazon Beauty 的最佳堆疊層數(shù)為2,Steam 的最佳堆疊層數(shù)為3。層數(shù)過小會導致模型表達能力不夠,性能沒有飽和;而層數(shù)過大,性能不會提升,甚至下降,還會出現(xiàn)網絡的收斂速度慢、梯度消失等問題。
圖8 不同堆疊層數(shù)對性能的影響
在序列推薦問題中,大多數(shù)卷積方法都使用多個固定的卷積核提取局部特征,沒有很好地體現(xiàn)動態(tài)興趣,并且需要大量參數(shù)。此外,現(xiàn)有的方法很少研究“組合興趣”間的關系。針對上述問題,本文提出了DConvSA模型,該模型結合了動態(tài)卷積和自注意力機制的優(yōu)勢,根據局部輸入自適應生成卷積核,提取局部上下文特征,學習動態(tài)的組合興趣;同時使用自注意力在全局范圍內學習項目個體間的顯著興趣依賴。因此,該模型能夠更好地對不同時刻興趣間的聯(lián)系進行建模。通過對公開數(shù)據集的實驗,以及與基線模型的比較,驗證了該方法在序列推薦上的有效性。
目前深度學習快速發(fā)展,在推薦方面的應用也逐漸成熟??梢試L試對用戶的多興趣表示進行建模,刻畫用戶不同角度的“人物畫像”。另外,目前可解釋性在序列推薦的研究工作較少,如何對推薦的結果做出令用戶滿意的解釋也是未來的研究方向。