孫克雷,寧昱霖,周華平
(安徽理工大學(xué) 計算機科學(xué)與工程學(xué)院,安徽 淮南 232001)
序列推薦模型通過提取用戶與項目交互序列中項目之間的關(guān)聯(lián)性捕捉用戶偏好特征的動態(tài)變化[1]。早期的序列推薦模型采用可以處理序列信息的馬爾可夫鏈模型,隨著深度學(xué)習(xí)在人工智能領(lǐng)域大放異彩,推薦系統(tǒng)領(lǐng)域也受益頗多?;谘h(huán)神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)以及自注意力機制的序列推薦模型先后被提出,其中基于自注意力機制的序列推薦模型是當(dāng)今序列推薦領(lǐng)域研究的熱點[2,3]。盡管基于自注意力機制的序列推薦模型已取得了優(yōu)異的成績,但仍存在著一定程度的問題,大量的文獻證實了在自注意力機制中直接把輔助信息與項目序列的嵌入表征相加會導(dǎo)致信息過載,通常只會帶來負面的影響[2,4]。信息過載指的是由輔助信息的嵌入表征與項目序列的嵌入表征直接相加改變了項目序列嵌入表征原有的特征表達,從而引入噪聲[4]。由于存在數(shù)據(jù)稀疏問題,如果自注意力網(wǎng)絡(luò)的輸入只有項目序列的嵌入表征,那么模型會因為數(shù)據(jù)集提供的信息量過少無法支持網(wǎng)絡(luò)中大量參數(shù)的更新導(dǎo)致推薦精度不佳。因此,本文提出了一種有效緩解網(wǎng)絡(luò)信息過載的非侵入式嵌入自注意力網(wǎng)絡(luò)并且在網(wǎng)絡(luò)中引入了項目的類別信息,以緩解數(shù)據(jù)稀疏問題。實驗結(jié)果表明,本文提出的模型可以有效地緩解自注意力網(wǎng)絡(luò)的信息過載問題以及數(shù)據(jù)稀疏問題,其評估指標(biāo)優(yōu)于近期所提出的基于自注意力機制的序列推薦模型。
近年來,深度學(xué)習(xí)受到人工智能各個領(lǐng)域研究人員的青睞,推薦系統(tǒng)領(lǐng)域也不例外。隨著DIN[5]、DIEN[6]等基于深度學(xué)習(xí)的推薦模型接二連三地被提出,推薦系統(tǒng)全面進入深度學(xué)習(xí)時代。與傳統(tǒng)的機器學(xué)習(xí)模型相比,基于深度學(xué)習(xí)的推薦模型能夠挖掘出數(shù)據(jù)中更深層次的信息,并且模型結(jié)構(gòu)非常靈活,可以根據(jù)不同的數(shù)據(jù)或不同的應(yīng)用場景靈活調(diào)整模型[7]。
序列推薦早期通常利用馬爾可夫鏈模型從用戶與項目的交互歷史中捕獲用戶偏好的轉(zhuǎn)變。進入深度學(xué)習(xí)時代后,循環(huán)神經(jīng)網(wǎng)絡(luò)首先被應(yīng)用到序列推薦模型中,基于循環(huán)神經(jīng)網(wǎng)絡(luò)的序列推薦模型通過一個隱藏狀態(tài)總結(jié)用戶所有的歷史行為,然后將這個隱藏狀態(tài)用于預(yù)測下一個行為。Tang等[8]基于卷積神經(jīng)網(wǎng)絡(luò)提出了Caser模型,該模型把用戶與項目交互序列的嵌入表征看成一張圖片矩陣,使用豎直和水平兩個方向的卷積核提取序列特征。近年來,自然語言處理領(lǐng)域的序列數(shù)據(jù)處理技術(shù)——自注意力機制在序列推薦領(lǐng)域得到了廣泛的應(yīng)用。Kang等[2]等根據(jù)自然語言處理中的Transformer模型[9]提出了SASRec模型,該模型將自注意力機制應(yīng)用在推薦任務(wù)里,成為了當(dāng)時的SOTA(state of the art)模型。隨后,越來越多的SASRec模型的變體被應(yīng)用到序列推薦任務(wù)中,如Li等[10]提出的TiSASRec模型,該模型在SASRec的基礎(chǔ)上融合了序列中項目之間的時間間隔信息,又如Wu等[11]提出的SSE-PT模型,該模型在SASRec的基礎(chǔ)上引用了一種新型正則化技術(shù)——Stochastic shared embeddings[12]。
盡管上述基于自注意力機制的序列推薦模型已取得良好的效果,但均沒有解決自注意力網(wǎng)絡(luò)存在的信息過載問題。由于它們皆引入了項目的絕對位置信息,而絕對位置信息的嵌入表征作為輔助信息的一種,直接與項目的嵌入表征相加會導(dǎo)致信息過載從而引入噪聲。接下來通過公式證明將輔助信息的嵌入表征與項目序列的嵌入表征相加會導(dǎo)致信息過載從而引入噪聲。例如在自注意力機制計算項目i與項目j之間的相關(guān)性時引入絕對位置信息, (Ei+Pi)(Ej+Pj)T=EiEj+EiPj+PiEj+PiPj,E代表項目的嵌入表征、P代表絕對位置信息的嵌入表征[4]。其中EiPj、PiEj分別是項目i與項目j的位置的點積、項目i的位置與項目j的點積,由于這兩部分的結(jié)果得不出任何相關(guān)性,因此,若輔助信息以直接相加的形式引入自注意力網(wǎng)絡(luò)中只會增加噪聲干擾模型捕捉項目之間的聯(lián)系,并且以此方式引入輔助信息的種類越多,產(chǎn)生的無關(guān)項就越多,引入的噪聲也就越多。雖然TiSASRec的作者意識到了數(shù)據(jù)稀疏問題,在模型中引入了項目之間的時間間隔信息,但他將時間間隔的嵌入表征直接與項目嵌入表征相加導(dǎo)致信息過載,因此,對模型的提升不大。對此,本文提出的NIESR模型通過使用多個自注意力機制提取不同種類的輸入信息以解決上述因直接把各種嵌入表征直接相加造成的問題,并引入項目類別信息緩解數(shù)據(jù)稀疏問題。
NIESR模型框架如圖1所示,模型從項目序列信息、項目的絕對位置信息、項目的類別信息3個角度提取用戶與項目交互信息的特征。模型可概括為:①嵌入層:將模型的輸入轉(zhuǎn)化成低維稠密的嵌入表征;②多標(biāo)簽類別信息拼接層:在提取項目類別信息的特征前對多標(biāo)簽類別信息的嵌入表征進行拼接處理并使用一個線性層調(diào)整拼接后嵌入表征的維度;③非侵入式自注意力機制模塊:使用3個多頭自注意力機制分別提取3種輸入信息的線性特征;④偏好表征拼接層:對3個多頭自注意力機制提取的用戶偏好表征進行拼接,再通過線性層調(diào)整拼接后的用戶偏好表征的維度;⑤前饋神經(jīng)網(wǎng)絡(luò):賦予模型非線性處理能力,提取輸入信息的非線性特征;⑥預(yù)測層:根據(jù)輸出的用戶偏好表征計算用戶下一個可能感興趣的項目。下文將仔細闡述模型各個部分的細節(jié)。
圖1 NIESR模型框架
在真實世界中,項目的類別標(biāo)簽通常不是單值,例如電影《泰坦尼克號》的類別標(biāo)簽既是愛情片又是災(zāi)難片。愛情片和災(zāi)難片就屬于多標(biāo)簽離散型類別。在本文提出的NIESR模型中,先把每個項目的類別標(biāo)簽轉(zhuǎn)化成定長序列m,m等于數(shù)據(jù)集中擁有最多類別標(biāo)簽的項目的標(biāo)簽個數(shù)。類別標(biāo)簽長度不足m的項目在類別標(biāo)簽序列后填充0直至長度等于m,將類別標(biāo)簽轉(zhuǎn)化為嵌入表征后,填充項0轉(zhuǎn)化為零向量,對于多標(biāo)簽的處理方法采取拼接法,然后通過一個線性層調(diào)整嵌入維度的大小,使拼接后的嵌入表征的維度保持為單個嵌入表征的維度以保持維度的統(tǒng)一,保證模型中的殘差連接以及多層自注意力機制的迭代可以順利執(zhí)行。而在線性層調(diào)整嵌入維度的大小時將高維稀疏的嵌入表征壓縮成低維稠密的嵌入表征,相當(dāng)于提取一次非線性特征。多標(biāo)簽離散型類別信息的嵌入表征拼接處理的實現(xiàn)步驟如圖2所示。
圖2 多標(biāo)簽離散型類別信息的處理
2.3.1 嵌入層
首先為項目字典創(chuàng)建嵌入表征查找表MI∈R|I|×d,d代表嵌入層的維度。將數(shù)據(jù)集中每個用戶的交互序列轉(zhuǎn)換成定長序列,設(shè)序列的長度為n,對數(shù)據(jù)集中長度大于n的序列進行截斷操作,即從序列末尾往前取n個項目,對于長度小于n的序列進行填充操作,即在序列的頭部添加填充項0,用零向量作為填充項的嵌入表征。通過檢索嵌入表征查找表MI將每個用戶交互序列轉(zhuǎn)換成嵌入表征EI=[i1,i2,…,in]T,EI∈Rn×d。
由于自注意力機制無法獲取項目的位置信息,因此,需要在自注意力網(wǎng)絡(luò)中加入一個可學(xué)習(xí)的位置嵌入表征EP=[p1,p2,…,pn]T,EP∈Rn×d。
最后為項目類別字典創(chuàng)建嵌入表征查找表MC∈R|C|×d, 通過檢索嵌入表征查找表MC找到每個序列中每個項目的類別嵌入表征,然后通過2.1節(jié)的方法進行處理,最終得到類別嵌入表征EC=[c1,c2,…,cn]T,EC∈Rn×d。
2.3.2 非侵入式自注意力機制
非侵入式自注意力機制即使用不同的多頭自注意力機制處理不同類別的輸入信息。根據(jù)嵌入層的3個輸入序列EI、EP、EC,計算新的序列ZI=[z1,z2,…,zn]T,ZI∈Rn×d, 每個輸出項zj都是由3個輸入序列經(jīng)過非侵入式自注意力機制后進行拼接再通過線性層轉(zhuǎn)換維度后得到,這里使用的拼接法與類別標(biāo)簽的拼接方法及思想一致。
非侵入式自注意力機制(NISA)的輸出O表示為
(1)
(2)
(3)
其中,F(xiàn)C代表調(diào)節(jié)拼接后嵌入層維度的線性層,⊙代表嵌入表征的拼接,h代表多頭自注意力機制中頭的數(shù)量,線性層W∈Rd×d。 為了防止自注意力機制未卜先知,在預(yù)測t+1項時,模型應(yīng)只考慮前t項,因此,需要屏蔽所有Qm與Kn(m 2.3.3 前饋神經(jīng)網(wǎng)絡(luò) 非侵入式自注意力機制本質(zhì)上是個線性模型,為了提取輸入信息的非線性特征在非侵入式自注意力機制后添加一個前饋神經(jīng)網(wǎng)絡(luò),為了防止模型過擬合以及訓(xùn)練不穩(wěn)定,引入了殘差連接、Dropout、層規(guī)范化來解決,其輸出F如下 (4) O′=LayerNorm(QI+QP+QC+Dropout(O)) (5) LeakyReLU激活函數(shù)可以在反向傳播過程中讓輸入小于零的部分也可以計算得到梯度,而不是像ReLU激活函數(shù)一樣將輸入小于零的部分置0。前饋神經(jīng)網(wǎng)絡(luò)中每層參數(shù)W和b互相獨立[13]。 2.3.4 多層非侵入式自注意力機制模塊 在第一層非侵入式自注意力機制模塊輸出后,模型可能沒有充分挖掘輸入信息。為進一步挖掘輸入信息,將第一層模塊的輸出輸入到第二層非侵入式自注意力機制模塊中,以此類推。第b層(b>1)模塊的輸出定義如下 ZI=F(b)=FFN(O(b)) (6) O(b)=NISA(F(b-1)) (7) 其中,O(1)=O, 遞歸傳入NISA的張量替換模型的輸入EI,EP和EC共享整個多層非侵入式自注意力機制模塊。 2.3.5 預(yù)測層 在多層非侵入式自注意力機制模塊輸出之后可以得到項目序列信息、項目絕對位置信息和項目對應(yīng)的類別信息的組合表示。為了預(yù)測第t+1個項目,使用潛因子模型來計算用戶對項目i的偏好分?jǐn)?shù),其定義如下 (8) 模型的目標(biāo)是提供一個排序后的項目列表。本文采用負采樣優(yōu)化項目的排名,對于每個預(yù)期的正輸出oi都生成一個負樣本o′i?Su。 損失函數(shù)采用二元交叉熵函數(shù) (9) 為了驗證本文提出模型的推薦效果,選擇3個真實場景中的數(shù)據(jù)集進行驗證: (1)Movielens 1M數(shù)據(jù)集:廣泛用于推薦算法的數(shù)據(jù)集,包含約6千名用戶對約4千部電影的100萬條評分?jǐn)?shù)據(jù)。 (2)京東數(shù)據(jù)集:由京東競賽公開,記錄了2016年2月至4月用戶的行為信息。本文選取了2016年2月的數(shù)據(jù)進行實驗,包含大約7萬名用戶對2萬個項目的455萬條行為信息,行為信息包括瀏覽、加入購物車、購物車刪除、下單、關(guān)注、點擊。在本文實驗中只選取行為信息中用戶瀏覽的部分。 (3)豆瓣影評數(shù)據(jù)集:本數(shù)據(jù)集采集于豆瓣電影,包含大約60萬個用戶對大約7萬部電影的400萬條評分?jǐn)?shù)據(jù)。 以上數(shù)據(jù)集均包含用戶與項目交互的時間戳,在數(shù)據(jù)預(yù)處理后將每個用戶的交互序列根據(jù)時間戳升序排序。在構(gòu)建訓(xùn)練集、驗證集和測試集時,刪除序列長度小于3的序列,以序列倒數(shù)第二個項目作為驗證集,末尾的項目作為測試集,剩下的數(shù)據(jù)作為訓(xùn)練集。清洗后數(shù)據(jù)集的基本信息見表1。 表1 數(shù)據(jù)集的基本信息 由于模型會給用戶提供一個排序后的項目列表,因此,本文選取2個Top-N推薦評估指標(biāo),Hit Rate@N以及NDCG@N,以評估模型推薦的質(zhì)量。Hit Rate@N用于計算推薦成功的用戶在所有用戶中的占比,用戶下一個感興趣的項目出現(xiàn)在推薦列表的前N項中則代表推薦成功。NDCG@N考慮了用戶下一個感興趣的項目在推薦列表的前N項中的排名,排名越靠前得到的分值越高。對于每個用戶模型會隨機選取100個未在該用戶序列中出現(xiàn)的負樣本,根據(jù)這101個項目計算Hit Rate@N和NDCG@N。 Hit Rate@N計算如下所示 (10) 式中:UT代表推薦成功用戶,U代表所有參與計算的用戶。 NDCG@N計算如下所示 (11) 式中:r(i) 代表推薦列表中排在第i位的項目與需要推薦的正樣本的相關(guān)性分?jǐn)?shù)。若排在第i位的項目為正樣本,r(i) 為1;反之,r(i) 為0。 為驗證本文提出模型的有效性,將模型與以下基于自注意力機制的序列推薦模型進行對比: (1)SASRec[2]:首個基于自注意力機制的序列推薦模型。 (2)TiSASRec[10]:2020年提出的基于自注意力機制的序列推薦模型,在SASRec模型的基礎(chǔ)上融合了序列中項目和項目之間的時間間隔信息。 (3)SSE-PT[11]:2020年提出的基于自注意力機制的序列推薦模型,在SASRec模型的基礎(chǔ)上引入了一種新型的正則化技術(shù)SSE。 本節(jié)將在3個數(shù)據(jù)集上進行消融實驗以測試非侵入式自注意力機制能否解決信息過載問題并測試加入項目類別信息能否緩解數(shù)據(jù)稀疏問題;分析本文提出的NIESR模型中一些主要超參數(shù)對于模型性能的影響;與3個對比模型的性能作比較;分析NIESR模型的時空復(fù)雜度。為保持實驗公平性,除超參數(shù)對比實驗外的實驗,模型的超參數(shù)設(shè)置為默認(rèn)超參數(shù)(見表2),在超參數(shù)對比實驗中對默認(rèn)超參數(shù)采取控制變量法,只改變一個超參數(shù)其它超參數(shù)不變。實驗均在RTX2080Ti顯卡上部署。 表2 默認(rèn)超參數(shù)設(shè)置 3.4.1 消融實驗 為驗證本文提出的非侵入式自注意力機制能否解決信息過載問題,將刪除NIESR模型輸入的項目類別信息部分,并命名為NIESR-。NIESR-模型與基線模型SASRec有著相同的輸入,區(qū)別在于SASRec模型直接將項目序列的絕對位置信息的嵌入表征與項目序列的嵌入表征直接相加,然后用多頭自注意力機制提取特征,而NIESR-模型使用兩個多頭自注意力機制分別處理這兩種輸入信息,因此,將NIESR-模型與基線模型SASRec進行對比即可驗證本文提出的非侵入式自注意力機制能否解決信息過載問題。NIESR-模型作為NIESR模型刪去項目類別信息的版本,將它們的評估指標(biāo)作對比即可驗證在模型中融合項目類別信息能否緩解數(shù)據(jù)稀疏問題。模型的主要超參數(shù)設(shè)置為表2提供的默認(rèn)超參數(shù)。實驗結(jié)果見表3。其中最佳的評估指標(biāo)將用加粗字體標(biāo)注,次佳用下劃線標(biāo)注。 從表3可以看出,NIESR-模型的評估指標(biāo)皆優(yōu)于SASRec模型,驗證了本文提出的非侵入式自注意力機制可以解決信息過載問題;NIESR模型的性能皆優(yōu)于NIESR-模型,這說明引入項目類別信息的確可以緩解數(shù)據(jù)稀疏問題。其中對于Top-1指標(biāo)的提升最大,這更能說明引入項目類別信息的重要性,因為序列推薦模型的任務(wù)就是給用戶推薦下一個他可能會感興趣的項目。 表3 消融實驗 3.4.2 嵌入層維度對評估指標(biāo)的影響 為衡量嵌入層維度對評估指標(biāo)的影響,取嵌入層維度分別為8、16、32、64、128、256時評估指標(biāo)NDCG@10的結(jié)果進行比較,如圖3所示。 圖3 嵌入層的維度對評估指標(biāo)的影響 從圖3可以看出,Movielens 1M數(shù)據(jù)集與京東數(shù)據(jù)集在嵌入層維度為128時趨近飽和,這在一定程度上表明了當(dāng)本文提出的模型面對稠密數(shù)據(jù)集時,應(yīng)分配高維度的嵌入層。相反,豆瓣電影數(shù)據(jù)集在嵌入層維度為32時達到了飽和,這在一定程度上表明當(dāng)模型面對稀疏數(shù)據(jù)集時設(shè)置嵌入層維度不宜過大,否則會導(dǎo)致模型過度參數(shù)化[4],表現(xiàn)反而會更差。 3.4.3 序列長度對評估指標(biāo)的影響 為衡量序列長度對評估指標(biāo)的影響,取序列長度分別為10、25、50、100、200時評估指標(biāo)NDCG@10的結(jié)果進行比較,如圖4所示。 圖4 序列長度對評估指標(biāo)的影響 從圖4可以看出,隨著序列長度的增加本文提出的模型在3個數(shù)據(jù)集上的表現(xiàn)都是上升趨勢,當(dāng)序列長度低于序列平均長度時隨著序列長度的增加評估指標(biāo)的提高非常明顯,當(dāng)序列長度高于序列平均長度后評估指標(biāo)的提高開始減緩并趨近于飽和。 3.4.4 自注意力機制的頭數(shù)對評估指標(biāo)的影響 為衡量自注意力機制的頭數(shù)對評估指標(biāo)的影響,取頭數(shù)分別為1、2、4、8時評估指標(biāo)NDCG@10的結(jié)果進行比較,如圖5所示。 圖5 自注意力機制的頭數(shù)對評估指標(biāo)的影響 Transformer模型的作者發(fā)現(xiàn)使用多頭注意力機制可以提高模型性能,它將注意力分布于h個子空間,每個子空間包含d/h維嵌入表征,而在本文提出的模型中多頭自注意力機制的頭數(shù)對于模型的影響很小,可能是因為在Transformer模型中嵌入層維度d=512,而本文所提出的問題中所需的維度過小,不適合分解成更多的子空間。 3.4.5 自注意力機制的層數(shù)對評估指標(biāo)的影響 為衡量自注意力機制的層數(shù)對評估指標(biāo)的影響,取層數(shù)分別為1、2、3、4時評估指標(biāo)NDCG@10的結(jié)果進行比較,如圖6所示。 圖6 自注意力機制的層數(shù)對評估指標(biāo)的影響 多層堆疊的自注意力機制可以捕獲數(shù)據(jù)集中更深層次的信息,如圖6所示,自注意力機制的層數(shù)對于模型的影響很小,是因為一層自注意力機制已經(jīng)可以捕獲數(shù)據(jù)集中絕大多數(shù)的信息。 3.4.6 不同模型的實驗結(jié)果對比 對比模型均以原文作者給出的原代碼運行,在模型對比實驗中所有模型的主要超參數(shù)都設(shè)置為表2的參數(shù),表中未提及的超參數(shù)保持原代碼的默認(rèn)設(shè)置,實驗結(jié)果對比見表4。 表4列出了NIESR模型與其它對比模型在Top-N=1、Top-N=5以及Top-N=10時的評估指標(biāo),其中最佳表現(xiàn)與次佳表現(xiàn)分別用粗體和下劃線表示,提升率為次佳表現(xiàn)至最佳表現(xiàn)的提升。 從表4中可以看出NIESR模型在評估指標(biāo)NDCG以及Hit Rate上均達到了最好的結(jié)果。NIESR在評估指標(biāo)上的提升得益于模型在不造成信息過載的前提下融合了項目的類別信息,項目類別信息緩解了數(shù)據(jù)稀疏問題可以輔助模型更精確地捕捉項目之間的關(guān)聯(lián)性。SASRec相比于NIESR推薦效果不佳的原因是SASRec不但存在著數(shù)據(jù)稀疏問題,而且在融入項目絕對位置信息時造成了信息過載。TiSASRec相比于NIESR推薦效果不佳的原因是TiSASRec雖然在SASRec模型的基礎(chǔ)上融入了項目之間的時間間隔信息嘗試解決數(shù)據(jù)稀疏問題,但是使用直接相加的形式造成了模型輸入信息過載,導(dǎo)致模型對于SASRec的提升很小。SSE-PT相比于NIESR推薦效果不佳的原因是SSE-PT僅僅在正則化技術(shù)方面改善了SASRec,但是沒有改善數(shù)據(jù)稀疏問題,因此,對于SASRec模型的提高不是很明顯。通過表4還可以看出本文模型在數(shù)據(jù)集Movielens 1M和京東上的評估指標(biāo)提升不夠明顯,因為在這兩個數(shù)據(jù)集中用戶與項目的平均交互長度較長,序列信息較為充分,導(dǎo)致增加項目類別信息對于模型捕捉項目之間的關(guān)聯(lián)性的作用不明顯,而本文模型在用戶與項目的平均交互長度較短的豆瓣電影上的評估指標(biāo)提高比較明顯,因為序列較短,模型可以學(xué)習(xí)到的信息有限,增加項目類別信息緩解了數(shù)據(jù)稀疏問題。因此,評估指標(biāo)的提升較為明顯。 表4 3個數(shù)據(jù)集上不同模型的實驗結(jié)果比較 3.4.7 時空復(fù)雜度分析 由于本文提出的NIESR模型是基于SASRec模型進行改進的,因此,在本節(jié)將NIESR模型與SASRec模型在時空復(fù)雜度的層面進行對比。 時間復(fù)雜度:本文提出的NIESR模型的時間復(fù)雜度主要受多標(biāo)簽類別信息拼接層、多頭自注意力機制、偏好表征拼接層以及前饋神經(jīng)網(wǎng)絡(luò)的影響,因此,模型的時間復(fù)雜度可表示為O(nmd2+n2d+nld2+nd2), 其中m代表項目擁有的類別標(biāo)簽的最大個數(shù),n代表序列的長度,l代表偏好表征拼接層拼接的偏好表征個數(shù),d代表嵌入表征的維度。SASRec模型的時間復(fù)雜度可表示為O(n2d+nd2)。 接下來將對比這兩個模型在3個數(shù)據(jù)集上訓(xùn)練的時間開銷(1個epoch的訓(xùn)練時間)及測試的時間開銷。實驗結(jié)果見表5。 表5 時間開銷對比 由表5可以看出,本文提出的NIESR模型訓(xùn)練所需的時間約為SASRec模型的1.5倍,測試時間約為SASRec模型的2倍,NIESR模型在時間開銷上高于SASRec模型的部分主要在于兩個調(diào)節(jié)嵌入表征拼接后大小的線性層,由于項目擁有的類別標(biāo)簽的最大個數(shù)m為常數(shù)且偏好表征拼接層拼接的偏好表征的個數(shù)l為常數(shù)3,通常情況下,m與l是小于n和d的,因此,NIESR模型的時間復(fù)雜度與SASRec模型的時間復(fù)雜度是同一個量級的。由于NIESR模型的評估指標(biāo)相對于SASRec模型的提升是可觀的,因此,NIESR模型的時間開銷高于SASRec模型的部分是適度的。 空間復(fù)雜度:空間復(fù)雜度代表了在模型訓(xùn)練過程中需要學(xué)習(xí)的參數(shù)量。本文提出的NIESR模型需要學(xué)習(xí)的參數(shù)來自于嵌入表征以及嵌入表征拼接使用的線性層、多頭自注意力機制、前饋神經(jīng)網(wǎng)絡(luò)和層規(guī)范化中的相關(guān)參數(shù)。NIESR模型與SASRec模型的參數(shù)量對比見表6。 表6 參數(shù)量對比 項目嵌入表征的參數(shù)量占整個模型訓(xùn)練過程中需要學(xué)習(xí)的參數(shù)量的主導(dǎo)地位,因此,在相同的數(shù)據(jù)集中,NIESR模型的參數(shù)量高于SASRec模型的部分僅在于類別信息的嵌入表征以及兩個調(diào)節(jié)嵌入表征拼接后大小的線性層。因此參數(shù)量高于SASRec模型的部分可以忽略不計。 本文提出的融合項目類別信息的非侵入式嵌入序列推薦模型通過使用多個多頭自注意力機制分別處理不同種類的輸入信息,解決了在基于自注意力機制的推薦模型中融合輔助信息會造成信息過載的問題,并通過融合項目類別信息緩解了數(shù)據(jù)稀疏問題。經(jīng)上述實驗驗證,在3個真實數(shù)據(jù)集上的評估指標(biāo)相比幾個近期提出的模型均得到了提升,但忽略了數(shù)據(jù)集中的用戶畫像信息,用戶畫像信息可以進一步改善數(shù)據(jù)稀疏問題。下一步工作將著手研究如何將用戶畫像信息與模型相融合,進一步緩解數(shù)據(jù)稀疏問題,提高模型的推薦性能。2.4 損失函數(shù)
3 實 驗
3.1 數(shù)據(jù)集概況
3.2 評估指標(biāo)
3.3 對比模型
3.4 實驗結(jié)果對比與分析
4 結(jié)束語