聶庭焜,劉夢赤
(華南師范大學(xué) 計算機學(xué)院 廣州市大數(shù)據(jù)智能教育重點實驗室,廣東 廣州 510000)
互聯(lián)網(wǎng)發(fā)展至今,各種推薦算法與推薦模型已經(jīng)應(yīng)用到了我們生活的方方面面,其中點擊率(Click-through Rate, CTR)預(yù)測在在線廣告領(lǐng)域發(fā)揮了重要作用[1],同時促進(jìn)推薦系統(tǒng)取得長足的進(jìn)步。
隨著當(dāng)前互聯(lián)網(wǎng)中的數(shù)據(jù)種類更加復(fù)雜,量級更加巨大,傳統(tǒng)的推薦算法,如邏輯回歸(Logistic Regression, LR)推薦算法,因為多特征問題的存在,已經(jīng)很難適應(yīng)當(dāng)前復(fù)雜的環(huán)境。于是有學(xué)者提出因子分解機(Factorization Machines,FM)模型[2],FM模型采用了隱向量交叉來表示特征權(quán)重,從而解決了LR模型中特征交叉困難的問題。但是FM模型難以交叉3階以上的高階特征。隨著神經(jīng)網(wǎng)絡(luò)在計算機視覺[3]與自然語言處理[4]領(lǐng)域取得成功,有學(xué)者將神經(jīng)網(wǎng)絡(luò)與協(xié)同過濾相結(jié)合提出了神經(jīng)網(wǎng)絡(luò)協(xié)同過濾(NCF)模型[5],雖然NCF模型有著較強的表達(dá)能力,但其并沒有解決高階特征交互的問題。因此有學(xué)者將深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNN)結(jié)構(gòu)與FM相結(jié)合提出了DeepFM[6]。DeepFM在解決了高階特征交互問題的同時,也解決了需要人工進(jìn)行特征工程(需要人工進(jìn)行特征組合)的問題。在此之后的模型大量使用了DNN結(jié)構(gòu)。
隨著注意力機制[7]被證明能夠提升模型的推薦效果,AFM[8]首次將注意力機制與FM模型結(jié)合,取得了好于FM模型的預(yù)測效果,隨后注意力機制也被眾多模型采用。
近些年,很多優(yōu)秀的模型被提出,FiBiNET[9]將自然語言處理領(lǐng)域的壓縮激勵網(wǎng)絡(luò)(Squeeze and Excitation Networks, SENET)引入推薦系統(tǒng)并提出了雙線性特征交互方式。Autoint[10]將多頭自注意力機制與DNN結(jié)合。xDeepFM[11]顯示的學(xué)習(xí)特征有更好的可讀性。DIFM[12]在向量(Vector)級注意力機制中采用多頭注意力,而在位(Bit)級注意力機制中采用簡單的全連接網(wǎng)絡(luò),這種多維度的特征權(quán)重學(xué)習(xí)在DIFM論文中被證明有效。LSRL[13]則使用強化學(xué)習(xí)技術(shù)增加推薦的準(zhǔn)確性。
隨著廣告與商品這些傳統(tǒng)推薦領(lǐng)域的蓬勃發(fā)展,教育領(lǐng)域的習(xí)題推薦需求也在日益增大[14]。現(xiàn)有的習(xí)題推薦大多選擇知識追蹤[15]或認(rèn)知診斷[16]等技術(shù)。將廣告推薦領(lǐng)域的模型與教育推薦領(lǐng)域結(jié)合一直是教育領(lǐng)域的研究熱點之一,如認(rèn)知診斷的個性化習(xí)題推薦方法[16]中將認(rèn)知診斷對學(xué)生建模與推薦模塊分開并取得了較好的效果,本文依據(jù)該思路提出一種基于雙路注意力機制的推薦模型壓縮激勵因子分解機(Squeeze and Excitation Factorization Machines,SEFM)。在現(xiàn)有的模型中,對雙線性交互方式的研究較少,雙路注意力結(jié)構(gòu)則是當(dāng)前推薦模型的研究熱點之一,本文將這兩種創(chuàng)新點有效結(jié)合并取得了較好的效果。在FM部分添加基于全連接網(wǎng)絡(luò)的注意力機制,從位層面學(xué)習(xí)特征間的關(guān)系,在DNN部分添加基于SENET[17]網(wǎng)絡(luò)的注意力機制,從向量層面學(xué)習(xí)特征間的關(guān)系,分別對特征向量進(jìn)行重新賦值,然后通過FM與DNN計算得分,從而提升預(yù)測的準(zhǔn)確率。
本文的主要貢獻(xiàn)是:
(1) 對FM模型進(jìn)行創(chuàng)新,將FM模型中特征的交互方式改進(jìn)為雙線性方式;
(2) 對FM模型添加注意力機制,與FiBiNET組成雙路注意力機制;
(3) 在廣告領(lǐng)域數(shù)據(jù)集上進(jìn)行實驗表明,模型在AUC(Area Under Roc)[18]與對數(shù)損失(LOGLOSS)上的表現(xiàn)優(yōu)于其他基線模型。在教育領(lǐng)域數(shù)據(jù)集上的實驗證明了,模型與教育領(lǐng)域進(jìn)一步結(jié)合的可能性。
FM模型作為一類處理實值特征向量的預(yù)測模型,能夠在數(shù)據(jù)顯著稀疏時完成預(yù)測。FM預(yù)測目標(biāo)如式(1)所示。
(1)
其中,參數(shù)w0是偏置項,vi∈Rk,R為實數(shù),k為特征向量的維度,vi表示第i個特征向量,wi是第i個特征的標(biāo)量形式,x表示當(dāng)模型對一個用戶預(yù)測時,表示用戶在各特征中實際表現(xiàn)的特征分量,n表示特征向量總數(shù),〈vi,vj〉表示vi與vj特征交互,FM選擇的方式是點積。
但FM模型難以交叉二階以上的高階特征,因此在FM模型發(fā)表后許多學(xué)者對FM模型進(jìn)行改進(jìn),如DeepFM,xDeepFM,DIFM等。DeepFM解決了人工特征工程的問題,但是模型缺乏可解釋性。xDeepFM提高了模型的可解釋性,但并沒有使用注意力機制。DIFM則引入了多頭注意力機制[12]。
基于DNN的模型是為了解決FM模型表達(dá)能力不足問題。DNN結(jié)構(gòu)前i層的前饋結(jié)構(gòu)如式(2)所示。
(2)
其中,σ為激活函數(shù),本文選擇的是RELU激活函數(shù),ID為DNN的輸入向量,ai為神經(jīng)網(wǎng)絡(luò)第i層輸出,Wi為第i層參數(shù)矩陣,bi為第i層偏置向量。RELU激活函數(shù)如式(3)所示。
(3)
另外,與DNN一起被引入推薦領(lǐng)域的還有嵌入層,輸入層對原始輸入特征onehot編碼后采用稀疏表示,嵌入層能夠?qū)⑾∈杼卣髑度氲降途S、稠密的實值向量中。嵌入層的輸出是一個嵌入向量E={e1,…,ef},其中f表示特征域的數(shù)量。
學(xué)者們從Deep Crossing[19]模型發(fā)現(xiàn)了DNN在推薦領(lǐng)域的應(yīng)用前景,提出了眾多基于DNN的優(yōu)秀模型。FiBiNET模型是于2019年提出的CTR模型,該模型首次將自然語言處理領(lǐng)域的SENET注意力網(wǎng)絡(luò)應(yīng)用于推薦領(lǐng)域,同時提出了一種新的特征交互方式。FiBiNET的整體結(jié)構(gòu)如圖1所示。Autoint[10]利用多個初始化矩陣實現(xiàn)了多頭注意力機理,并將其與DNN相結(jié)合。DCN[19]具有簡單的結(jié)構(gòu),并且在保證推薦效果的情況下參數(shù)數(shù)目較少。
圖1 FiBiNET結(jié)構(gòu)示意圖
本文提出的模型全稱為壓縮激勵因子分解機SEFM,SEFM的整體結(jié)構(gòu)如圖2所示。模型分為三個部分: 線性部分、位因子分解機(Bit Factorization Machines,BFM),SENET注意力部分。為了突出本文的核心工作,我們將著重介紹BFM與SENET部分。模型的整體結(jié)構(gòu)類似于DeepFM[6],區(qū)別在于我們分別在FM部分與DNN部分加上了簡單與復(fù)雜兩種不同的注意力機制,從而實現(xiàn)雙路注意力機制。在FM部分的注意力機制稱為位級別注意力機制,整體結(jié)構(gòu)稱為BFM。在DNN部分添加的注意力機制稱為向量級別的注意力機制,整體結(jié)構(gòu)稱為SENET,這一結(jié)構(gòu)的作用在FiBiNET[9]中已經(jīng)得到了驗證。
圖2 SEFM結(jié)構(gòu)示意圖
由于深度神經(jīng)網(wǎng)絡(luò)更偏好于處理稠密的數(shù)據(jù),所以在讀取數(shù)據(jù)后對其進(jìn)行分類,分為稠密數(shù)據(jù)與稀疏數(shù)據(jù),稠密數(shù)據(jù)是每一條數(shù)據(jù)都不會為空的關(guān)鍵信息,包括做題數(shù)據(jù)中的學(xué)生、習(xí)題、得分等。稀疏數(shù)據(jù)是一條數(shù)據(jù)中起到輔助作用的數(shù)據(jù),包括學(xué)生的年齡、班級等。這里的稀疏數(shù)據(jù)還有一個重要作用,DNN通過這些額外數(shù)據(jù)的學(xué)習(xí),可以在一定程度上解決新用戶的冷啟動問題。對稠密數(shù)據(jù)與稀疏數(shù)據(jù)我們采取不同的嵌入方式,保證在減少計算量的情況下所有數(shù)據(jù)都能符合BFM與SENET的輸入標(biāo)準(zhǔn)。
FM組合二階特征時能發(fā)揮較好的性能,也常用于各種模型中,BFM結(jié)構(gòu)是一種新穎的將雙線性交互式FM結(jié)構(gòu)和位注意力網(wǎng)絡(luò)相結(jié)合的方法,可以使該模型在二次特征組合中保持更好的性能。
在BFM部分,首先對嵌入層輸出的特征向量E進(jìn)行拆分,然后連接,連接方式如式(4)所示。
(4)
其中,ei為E中第i個向量,計數(shù)i與j的范圍為1≤i≤f,i≤j≤f,f為特征域總數(shù),也等于E的長度。ei1表示ei中第1個值。特征向量E在拆分連接后進(jìn)行注意力權(quán)重賦值,注意力機制使用兩層全連接層(Fully Connected,FC)結(jié)構(gòu),如圖3所示。
圖3 位注意力網(wǎng)絡(luò)結(jié)構(gòu)示意圖
BFM的注意力網(wǎng)絡(luò)中第1至第i層與一般DNN結(jié)構(gòu)一致。其中最后一層的計算如式(5)所示。
ol=σl(Wlal-1+bl)
(5)
其中,ol代表注意力網(wǎng)絡(luò)輸出,bl代表最后一層的偏置向量,al-1表示上一層的神經(jīng)網(wǎng)絡(luò)輸出,σl代表最后一層的激活函數(shù),這里使用的是Softmax激活函數(shù),如式(6)所示。
(6)
其中,i為計數(shù)變量,e為常數(shù),k為輸入向量的長度,yi為輸入向量中索引為i的值,Si為Softmax得到的yi權(quán)重。
注意力網(wǎng)絡(luò)計算出權(quán)重后得到權(quán)重向量,再與之前的輸入向量進(jìn)行加權(quán)操作,得出的結(jié)果向量作為FM結(jié)構(gòu)的輸入,如式(7)所示。
FMinput=Sbit⊙Ibit
(7)
其中,Ibit代表位注意力網(wǎng)絡(luò)的輸入向量,FMinput代表下一結(jié)構(gòu)FM的輸入向量,Sbit代表位注意力網(wǎng)絡(luò)輸出的權(quán)重。
然后在FM結(jié)構(gòu)中對FMinput進(jìn)行交互,交互方式?jīng)]有選擇傳統(tǒng)的內(nèi)積或者元素積,而是使用由FiBiNET提出的雙線性特征交互方式[9]。雙線性特征交互方式的結(jié)構(gòu)如圖4所示。
圖4 雙線性交互方式示意圖
雙線性特征交互的作用是使特征能更好地表現(xiàn),此處雙線性結(jié)構(gòu)有三種組合方式: ①All: 所有特征共用一個W矩陣; ②Each: 每一個特征域使用一個W矩陣; ③Interaction: 每一次特征交互使用一個W矩陣。SEFM中選擇的是Interaction組合方式,結(jié)構(gòu)的輸出P計算如式(8)所示。
Pij=vi·Wij⊙vj
(8)
Wij為兩個特征向量交互產(chǎn)生需要從參數(shù)矩陣,vi與vj為兩個特征域,索引i與j的范圍為1≤i≤f,i≤j≤f,f為特征域總數(shù),參數(shù)矩陣W的數(shù)量Nw計算如式(9)所示。
(9)
經(jīng)過初始化得出,W全為正數(shù),一個W參數(shù)矩陣訓(xùn)練所需要的參數(shù)量Wx的計算如式(10)所示。
Wx=k×k
(10)
其中,k為嵌入向量的長度。FM結(jié)構(gòu)的預(yù)測得分如式(11)所示。
(11)
Pij為雙線性特征交互后得到的向量,x為FMinput向量,Sorcebf為BFM結(jié)構(gòu)最終的輸出得分。
SENET注意力機制最早出現(xiàn)于2017年[17],它在獲得了ImageNet 2017競賽分類任務(wù)的冠軍之后受到各領(lǐng)域的關(guān)注。SEFM模型中創(chuàng)新性地將SENET注意力機制與FM結(jié)合,SENET在模型中起到向量級別的注意力機制的作用。SENET注意力機制分為三個部分,壓縮(Squeeze)、激勵(Excitation)和權(quán)重賦值(Reweight)。SENET整體結(jié)構(gòu)如圖5 所示。
圖5 SENET注意力網(wǎng)絡(luò)示意圖
壓縮的主要作用為特征融合,即對已經(jīng)經(jīng)過嵌入層壓縮的特征向量進(jìn)行二次壓縮,有三種可以選擇的壓縮方式。在SENET原文中,使用的是最大值池化方式,而在SEFM模型中選擇的是平均值池化方式。在經(jīng)過Squeeze的二次壓縮之后,得到了一個特征向量池化后的值組成的向量。計算過程如式(12)所示。
(12)
激勵的主要作用是學(xué)習(xí)池化后特征之間的關(guān)系。SENET選擇的學(xué)習(xí)方式是通過兩層的全連接層來進(jìn)行學(xué)習(xí)。這里使用的第一個全連接層是參數(shù)W1的降維層,其中降維率r為超參數(shù),使用σ1作為非線性激活函數(shù)。第二個全連接層隨參數(shù)增加維數(shù),參數(shù)為W2。權(quán)重A如式(13)所示。
A=σ2(W2σ1(W1Z))
(13)
A為嵌入層輸出的向量E的權(quán)重,A={a1,…,af},σ1與σ2為兩層全連接層的激活函數(shù),σ1為RELU激活函數(shù),σ2為Softmax激活函數(shù)。第一層學(xué)習(xí)的參數(shù)W1的形狀如式(14)所示。
(14)
第二層學(xué)習(xí)的參數(shù)W2的形狀如式(15)所示。
(15)
其中,r為降維比。
權(quán)重賦值的作用是將在激勵模塊中學(xué)習(xí)到的權(quán)重賦值給特征向量,計算如式(16)所示。
V=E⊙A=[a1·e1,…,af·ef]
(16)
V為帶權(quán)重的嵌入層輸出向量E,也作為SENET結(jié)構(gòu)的輸出,V={v1,…,vf}。然后將帶有權(quán)重的特征向量V與原特征向量E交由帶有DNN的雙線性結(jié)構(gòu)進(jìn)行特征交互,經(jīng)過DNN預(yù)測得出的預(yù)測得分Scorese交給組合層。Scorese的計算如式(17)所示。
Scorese=σl2(Wl2σl1(Wl1(V+E)))
(17)
其中,σl1,σl2為RELU激活函數(shù),Wl1,Wl2為兩層神經(jīng)網(wǎng)絡(luò)的參數(shù)。
組合層是SEFM模型中的最后一層,在本層中會對LR部分、BFM部分與SENET部分得出的得分進(jìn)行整合并輸出最終結(jié)果,得分的計算如式(18)所示。
Scoretotal=Scorelr+Scorebf+Scorese
(18)
得到Scoretotal數(shù)組后就可以對其內(nèi)部進(jìn)行排序,最后得出推薦物排序并給出推薦結(jié)果。
實驗部分將對SEFM模型與最新的模型進(jìn)行比較,以驗證其可行性與有效性,通過消融實驗與超參數(shù)實驗驗證模型中各模塊與超參數(shù)的作用。
實驗環(huán)境選取的操作系統(tǒng)為Windows 10旗艦版64位,CPU為AMD銳龍7,顯卡為NVIDIA RTX1650TI,使用的語言為Python 3.6版本,深度學(xué)習(xí)部分使用到的包有PytorchCUDA 10.2版本,以及Tensorflow 1.14-gpu版本,使用到的軟件為Pycharm。
實驗采用的數(shù)據(jù)集有三個: Criteo、Avazu與Assistments2009。前兩個數(shù)據(jù)集為推薦領(lǐng)域內(nèi)常用的公共數(shù)據(jù)集,第三個數(shù)據(jù)集為教育領(lǐng)域的公共數(shù)據(jù)集。選用前兩個數(shù)據(jù)集的目的是驗證SEFM模型的先進(jìn)性,而第三個數(shù)據(jù)集的作用是驗證SEFM模型在教育領(lǐng)域也同樣有效。
Criteo數(shù)據(jù)集是Criteo Labs發(fā)布的在線廣告數(shù)據(jù)集,包含數(shù)百萬個展示廣告的功能值和點擊反饋。數(shù)據(jù)集具有40個屬性,第一個屬性是標(biāo)簽,其中值1表示已單擊廣告,而值0表示未單擊廣告。該屬性包含13個整數(shù)列和26個類別列。對Criteo數(shù)據(jù)集進(jìn)行分類處理,13個整數(shù)列標(biāo)記為I0至I12,26個類別列標(biāo)記為C0至C25。
Avazu數(shù)據(jù)集是用于CTR預(yù)測賽事的廣告數(shù)據(jù)集。該數(shù)據(jù)集包含千萬級別的廣告數(shù)據(jù)。我們的實驗選用其中前100萬條作為數(shù)據(jù)集。其結(jié)構(gòu)與Criteo類似,實驗中同樣將其標(biāo)記為數(shù)字列與標(biāo)記列。
Assistments2009數(shù)據(jù)集是學(xué)生在類似的問題(同一個知識點)上不斷練習(xí),直到能準(zhǔn)確地回答連續(xù)的N個問題(N一般設(shè)置為3)。我們在該數(shù)據(jù)集實驗中只選取其中比較關(guān)鍵的幾列數(shù)據(jù)作為實驗數(shù)據(jù)使用,包括assignment_id(作業(yè)ID),user_id(用戶ID),problem_id(問題ID),correct(是否正確)。
實驗中選擇的評價指標(biāo)為AUC與LOGLOSS。
AUC是推薦領(lǐng)域常用的指標(biāo)之一,分別隨機從正負(fù)樣本集中抽取一個正樣本、一個負(fù)樣本,正樣本的預(yù)測值大于負(fù)樣本的概率。AUC的取值范圍為[0,1],值越大表示模型預(yù)測的準(zhǔn)確率越高。
LOGLOSS同樣是推薦領(lǐng)域常用的指標(biāo),LOGLOSS 反映了樣本的平均偏差,經(jīng)常作為模型的損失函數(shù)來對模型進(jìn)行優(yōu)化,如式(19)所示。
(19)
為了使實驗數(shù)據(jù)能被模型所讀取,我們對三個數(shù)據(jù)集進(jìn)行類似的預(yù)處理: 首先是數(shù)據(jù)填充,對數(shù)據(jù)集中的空數(shù)據(jù)進(jìn)行填充,填充方式為對整數(shù)列中的空數(shù)據(jù)填充為0,類別列的空數(shù)據(jù)填充為-1。其次是對于類別的編碼,編碼中使用到了sklearn包中的LabelEncoder函數(shù),將類別編碼轉(zhuǎn)換為整數(shù),然后再對整數(shù)大小進(jìn)行調(diào)整,使它們的數(shù)值限制在[0,1]之中。然后將類別列與整數(shù)列重新整合,整合后進(jìn)行訓(xùn)練集與測試集劃分,訓(xùn)練集與測試集采用 4∶1 的比例。
為了驗證SEFM模型的性能,實驗中選擇了一共8個模型作為對比基線,在實驗中分為經(jīng)典模型與深度模型兩類。經(jīng)典模型包括線性回歸模型LR、因子分解機FM。深度模型包括FiBiNET(2019),DIFM(2020),FRNET(2021),xDeepFM(2019),DeepFM(2016),Autoint(2019)。模型選擇包含基于FM的與基于DNN的經(jīng)典模型,也包含近3年最新的模型。由于SEFM中許多結(jié)構(gòu)受到經(jīng)典模型啟發(fā),所以與經(jīng)典模型進(jìn)行對比能起到消融實驗的作用。與最新的模型進(jìn)行對比則能體現(xiàn)SEFM性能上的進(jìn)步。
實驗參數(shù)的設(shè)置如表1所示,在參數(shù)介紹前先對實驗過程中的參數(shù)選擇進(jìn)行整體性的說明,實驗過程中使用到的模型參數(shù)選擇遵循以下規(guī)則: 如果模型論文原文中對比實驗使用到了該數(shù)據(jù)集,則選擇論文中的參數(shù)進(jìn)行實驗,在表中參數(shù)設(shè)置為斜杠代表與原文參數(shù)一致。如果模型論文原文中對比實驗沒有使用該數(shù)據(jù)集,但超參數(shù)實驗有對某個參數(shù)的推薦值,則使用原文的推薦值;否則,為了公平起見,參數(shù)的設(shè)置將與SEFM參數(shù)保持一致,而對于一些模型中特有的參數(shù),如DIFM中的多頭注意力數(shù)量參數(shù),則選擇論文中推薦的參數(shù),如DIFM中推薦的多頭注意力數(shù)量為4。
表1 實驗參數(shù)設(shè)置
在表1中,Layer代表DNN結(jié)構(gòu)的深度,Size表示一次訓(xùn)練所需要選取的樣本數(shù)(Batch Size),Dim表示嵌入維度,Cin-layer表示Cin網(wǎng)絡(luò)的深度[11],Attention Size表示注意力系數(shù)[20],r表示減縮率。對于ASSISTments2009實驗的參數(shù),除Size與Dim參數(shù)不同外,其他參數(shù)與CRITEO實驗一致。
為保證實驗的公平性與性能,進(jìn)行以下三點設(shè)置:
(1) 由于優(yōu)化器的選擇對模型的性能影響巨大,各模型選擇的神經(jīng)網(wǎng)絡(luò)優(yōu)化器均為論文原文中使用的,基線模型與SEFM選擇的優(yōu)化器都為Adam[21],學(xué)習(xí)率設(shè)置為0.001。
(2) 丟棄率(Dropout)可以通過丟棄DNN中的一部分節(jié)點實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的不斷變化,從而達(dá)到防止過擬合的作用。所有模型除非原文有要求,否則設(shè)置為0.5。
(3) 迭代次數(shù)(Epoch)實驗中使用早停法控制迭代次數(shù),這樣可以防止模型實驗結(jié)果收斂后繼續(xù)迭代導(dǎo)致性能下降。
實驗結(jié)果如表2所示。LR&DNN與FM&DNN由于自身在特征交互方面的劣勢表現(xiàn)較差, Deep-FM作為早期的深度學(xué)習(xí)模型,在面對復(fù)雜種類的特征時表現(xiàn)要優(yōu)于LR&DNN與FM&DNN,但低于更新的帶有注意力機制的模型。xDeepFM與DeepFM類似??傮w來說,深度學(xué)習(xí)模型整體表現(xiàn)好于傳統(tǒng)機器學(xué)習(xí)模型,帶有注意力機制的模型表現(xiàn)好于沒有注意力機制的模型。而在教育數(shù)據(jù)集Assistments2009上,由于特征簡單,不需要復(fù)雜的特征交互,帶有FM的模型都取得了不錯的實驗結(jié)果,包括FM,DIFM,SEFM等。SEFM與深度學(xué)習(xí)模型在Criteo與Avazu等傳統(tǒng)的廣告數(shù)據(jù)集上差距較小,最小差距達(dá)到了0.2%,深度學(xué)習(xí)模型之間的差距也在2%以內(nèi),而對于教育數(shù)據(jù)集,SEFM的優(yōu)勢較為明顯,與深度學(xué)習(xí)模型的差距最大在5%以上。原因是SEFM中BFM與SENET不同粒度的雙路注意力機制發(fā)揮了作用,同時也說明了SEFM在教育領(lǐng)域提高推薦效果的可行性。
表2 對比實驗結(jié)果
消融實驗可以證明模型中各部分的作用。在SEFM中一共包含BFM,SENET兩個創(chuàng)新部分,SEFM_NO_BFM表示去除BFM部分的模型,SEFM_NO_SE表示去除SENET部分的模型。
實驗結(jié)果如表3所示。SEFM模型中各個結(jié)構(gòu)都能起到正向的作用,完整的SEFM模型在三個數(shù)據(jù)集上的兩個評價指標(biāo)中均好于SEFM_NO_BFM與SEFM_NO_SE,在Criteo數(shù)據(jù)集上對比去除SENET后的模型提升最大,達(dá)到2.9%。原因是對于特征復(fù)雜的Criteo數(shù)據(jù)集,模型僅依靠BFM模塊不能很好的進(jìn)行特征交互。而在Avazu與 ASSISTments2009 數(shù)據(jù)集上SEFM_NO_SE表現(xiàn)好于SEFM_NO_BFM也印證了這一觀點。
表3 消融實驗對比結(jié)果
本節(jié)研究的是在實驗過程中比較重要的超參數(shù)造成的影響。在實驗過程中會保證其他參數(shù)一致,只修改要驗證的參數(shù),驗證實驗均在Criteo數(shù)據(jù)集上進(jìn)行。要研究的超參數(shù)包括以下幾個: ①嵌入維度: 控制嵌入層輸出向量的維度。②丟棄率: 控制神經(jīng)網(wǎng)絡(luò)在某次迭代中丟棄某個節(jié)點的概率。③降維比: SENET激勵過程中參數(shù)的縮減比率。
嵌入維度的實驗結(jié)果如圖6所示,可以看到嵌入維度從5增加到40,評價指標(biāo)AUC與LOGLOSS都是在嵌入維度等于10時達(dá)到高點與低點。這是由于過低的嵌入維度會損失原有向量的特征,而過高的嵌入維度則會影響神經(jīng)網(wǎng)絡(luò)計算速度與準(zhǔn)確率。所以在實驗過程中選擇的嵌入維度參數(shù)為10。
圖6 嵌入維度的實驗結(jié)果
丟棄率的實驗結(jié)果如圖7所示,在丟棄率的實驗中丟棄率從0增加到0.9,評價指標(biāo)AUC與 LOGLOSS 分別是在丟棄率0.2與0.5時達(dá)到高點與低點,這是由于維持一定的丟棄率可以防止過擬合,然后隨著丟棄率的增加,AUC反而下降,這是由于丟棄率過高導(dǎo)致DNN中可用的節(jié)點過少導(dǎo)致欠擬合。所以模型選擇的參數(shù)0.2到0.5均可。實驗中選擇的是0.5。
圖7 丟棄率的實驗結(jié)果
降維比的實驗結(jié)果如圖8所示, 降維比通過控制SENET網(wǎng)絡(luò)的注意力權(quán)重間接控制模型的最終預(yù)測結(jié)果,可以看到當(dāng)降維率達(dá)到2時,也就是在進(jìn)行預(yù)測的神經(jīng)網(wǎng)絡(luò)中特征域的寬度縮減為一半的情況下,注意力網(wǎng)絡(luò)能達(dá)到最好的性能。所以在實驗過程中選擇的縮減率為2。
圖8 降維比的實驗結(jié)果
為了研究CTR預(yù)測模型中注意力機制在教育領(lǐng)域的前景,本文提出一種基于SENET注意力網(wǎng)絡(luò)與FM模型的新型推薦模型SEFM。通過簡單與復(fù)雜兩種注意力機制的結(jié)合,提出了一種新的雙路注意力機制。同時在進(jìn)行特征交互時使用雙線性交互,保證了交互中特征向量的表現(xiàn)能力。在Criteo、Avazu數(shù)據(jù)集上的表現(xiàn)驗證了模型在傳統(tǒng)推薦問題上的有效性,在Assistments2009數(shù)據(jù)集上的表現(xiàn)證明了模型在教育習(xí)題推薦領(lǐng)域的前景。下一步我們將在模型上針對習(xí)題推薦進(jìn)行特征優(yōu)化,以提高模型在教育領(lǐng)域的影響。