鄔 彤,于蓮芝
(上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093)
隨著互聯(lián)網(wǎng)進入Web2.0時代,信息逐漸從匱乏變得過載。推薦系統(tǒng)[1]能夠在海量的信息中找到滿足用戶個性化需求的信息。在推薦系統(tǒng)中,信息需要經(jīng)過召回和排序等幾個階段,而點擊率(Click Through Rate,CTR)預(yù)估就是對信息進行排序的前提。
目前,CTR預(yù)估模型在個性化推薦、信息檢索、在線廣告等多個領(lǐng)域都有廣泛應(yīng)用。該模型通過對用戶點擊項目的概率進行預(yù)估、排序,從而最大化整個推薦系統(tǒng)的點擊數(shù)。用戶的點擊行為涉及很多特征,但是這些特征數(shù)據(jù)非常稀疏。原始特征相互作用會產(chǎn)生隱性的交叉特征,這對點擊率預(yù)估非常重要。這種交叉特征可以通過人工提取或者機器學(xué)習(xí)自動捕獲。考慮到人工提取特征耗時耗力,且不能提取到訓(xùn)練數(shù)據(jù)中看不見的一些交叉特征,因此讓機器自動學(xué)習(xí)捕獲交叉特征具有一定的意義。
在機器學(xué)習(xí)和數(shù)據(jù)挖掘中,支持向量機(Support Vector Machines,SVM)是最常見的預(yù)估模型之一。但是對于CTR預(yù)估而言,在數(shù)據(jù)高維且稀疏的情況下,SVM不能在核空間學(xué)習(xí)到超平面,無法發(fā)揮其重要作用,故而需要考慮稀疏數(shù)據(jù)及交叉特征,建立有效的機器學(xué)習(xí)模型。本文提出了一種新的基于深度學(xué)習(xí)的可用于CTR預(yù)估的模型。
在推薦系統(tǒng)中,CTR預(yù)估起著重要作用。除了本文提到的邏輯回歸(Logistic Regression,LR)模型、因子分解機相關(guān)模型外,CTR預(yù)估還提出了基于樹的模型[3],可幫助構(gòu)造特征轉(zhuǎn)換[5]。CTR預(yù)估還提出了關(guān)于在線學(xué)習(xí)的模型[7],可幫助處理大規(guī)模稀疏數(shù)據(jù)場景的問題。
與傳統(tǒng)推薦模型相比,基于深度學(xué)習(xí)的推薦模型能夠幫助推薦系統(tǒng)更好地反映用戶和物品之間的聯(lián)系[9]。本文提到的Wide & Deep Network[10]模型、DeepFM(Deep Factorization Machine)[11]模型以及Atte-xDeepFM模型等均基于多層感知機MLP(Multi-Layer Perceptron)。推薦系統(tǒng)中的深度學(xué)習(xí)方法還包括基于自編碼器的模型、基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的模型、基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的模型、基于深度語義相似性的模型以及基于限制性玻爾茲曼機的模型[12-19]。
文獻[20]于2010年提出了FM(Factorization Machines)模型。FM模型結(jié)合了SVM和因式分解模型的優(yōu)點,在數(shù)據(jù)高維稀疏的情況下,通過嵌入向量的內(nèi)積來實現(xiàn)特征之間的交互。在實踐中,由于FM高階特征交互的復(fù)雜度較高,因此FM通常只對二階特征訓(xùn)練。在FM的基礎(chǔ)上,文獻[21]提出了FFM(Field-aware Factorization Machines)模型,增加了field的概念,將相同性質(zhì)的特征都歸屬到同一個field。FM和FFM都是針對低階的特征組合,而Higher-order factorization machines模型[22]采用線性方式擬合高階特征,可以對任意階特征進行訓(xùn)練。文獻[23]提出的AFM(Attentional Factorization Machines)模型,將注意力機制的思想加入到FM中,通過區(qū)分不同特征的重要性來改進FM。這些模型用于處理高維稀疏的二進制特征可取得較好的效果,但是其對處理高階特征的提升效果仍較為有限。FNN(Factorisation Machine supported Neural Network)模型[24]和PNN(Product-Based Neural Networks)模型[25]都是用FM去除特征稀疏性,再分別用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)捕捉高階交叉特征,能夠高效地處理高階特征。但它們的缺點也是過多地關(guān)注高階特征。文獻[10]提出的Wide & Deep模型能夠同時實現(xiàn)模型的記憶能力和泛化能力。DeepFM[11]、DCN(Deep& Cross Network)[26]等模型則基于Wide&Deep模型的思想。DeepFM模型[11]結(jié)合了因子分解機FM和深度神經(jīng)網(wǎng)絡(luò)DNN的特征學(xué)習(xí)的能力,能夠同時學(xué)習(xí)低階和高階的特征交叉。DCN模型[26]將Cross模型(Cross Network)和Deep模型(Deep Neural Network)聯(lián)合訓(xùn)練。Cross Network引入新的交叉網(wǎng)絡(luò),將FM參數(shù)共享的思想從一層擴展到多層,能夠有效捕捉有界度的特征交互。NFM(Neural Factorization Machines)模型[27]將FM的二階交叉特征通過Bi-Interaction Layer(Bi-linear Interaction)結(jié)構(gòu)處理后輸入到DNN中,使交叉特征能夠更好地被DNN學(xué)習(xí)。對比Wide & Deep、DeepFM和DCN模型,NFM模型結(jié)構(gòu)簡單、參數(shù)少且學(xué)習(xí)訓(xùn)練速度快。在2018年,文獻[28]提出了xDeepFM(eXtreme Deep Factorization Machine)模型。該模型基于FM的vertor-wise思想,提出了新的CIN(Compressed Interaction Network)網(wǎng)絡(luò)結(jié)構(gòu),并基于DCN的思想,用CIN替換掉DCN中的交叉網(wǎng)絡(luò),提高了特征交互的能力。
本文提出的Atte-xDeepFM模型基于極端深度分解機(xDeepFM)模型,其目的是以更有效的方式捕捉低階特征,并以區(qū)分重要性的方式有效捕捉更多的交叉特征。該模型將xDeepFM模型的LR部分改為FM,在不改變模型復(fù)雜度的同時提高了模型捕捉低階特征的能力。另外,考慮到xDeepFM中CIN特征交互的復(fù)雜性以及CIN的池化操作將丟失大量的空間信息,模型對CIN的輸入層進行了Dropout,在CIN的池化層加上注意力網(wǎng)絡(luò),通過區(qū)分不同特征交互的重要性來進一步改進CIN。
Atte-xDeepFM模型的整體結(jié)構(gòu)如圖1所示,模型輸入的特征包括連續(xù)型和離散型。首先對特征進行one-hot編碼向量化;然后將離散型特征one-hot后的高維稀疏特征乘以embedding矩陣,得到稠密特征;再將得到的稠密特征和類別型特征進行拼接,共同作為FM層、Atte-CIN層、DNN層的輸入。這種特征共享輸入的方式能夠使模型同時學(xué)習(xí)低階和高階交叉特征,并提高模型泛化能力。
如圖1所示,CIN部分和注意力網(wǎng)絡(luò)是串行結(jié)構(gòu)。該部分將CIN的最后一層的結(jié)果作為注意力網(wǎng)絡(luò)的輸入,經(jīng)過注意力網(wǎng)絡(luò)得到串行結(jié)構(gòu)的結(jié)果。本文將這部分串型結(jié)構(gòu)稱為Atte-CIN。FM部分、Atte-CIN部分和DNN部分是并行結(jié)構(gòu)。本文中,將各部分分別計算結(jié)果后,在輸出層進行融合。
圖1 Atte-xDeepFM模型的整體結(jié)構(gòu)Figure 1. The overall structure of the Atte-xDeepFM model
本章節(jié)將對FM模型、Atte-CIN模型、DNN模型基礎(chǔ)算法的推導(dǎo)過程以及各個模型和所提出的Atte-xDeepFM模型關(guān)系進行描述。
在Atte-xDeepFM模型中,將xDeepFM模型的LR線性模型替換為FM因式分解機,在線性模型的基礎(chǔ)上,還能自動構(gòu)造二階特征叉乘[20]。相比LR模型,F(xiàn)M除了考慮到單個變量對輸出的作用,還考慮到變量之間的相互作用。FM的模型方程為
(1)
(2)
從計算式可以看出,F(xiàn)M模型通過LR線性模型和交叉特征的組合來判斷特征向量之間和目標變量之間的關(guān)系,且FM模型表達能力明顯強于LR模型。FM模型的復(fù)雜度是O(kn),與LR模型相同。綜上所述,本文選擇FM模型代替LR模型作為線性模型來捕獲低階特征。
CIN的目的是以一種顯示、可控且高效的方式自動構(gòu)造有限高階交叉特征[28]。在Atte-xDeepFM模型中,對xDeepFM模型的CIN的池化層進行了改進。CIN的模型為
(3)
圖2 壓縮交互網(wǎng)絡(luò)的整體架構(gòu)對比圖(a)CIN整體架構(gòu) (b)Atte-CIN整體架構(gòu)Figure 2. Comparison of the overall architecture of the compressed interaction network(a)The overall architecture of CIN (b)The overall architecture of Atte-CIN
由圖2可知,圖2(a)中原本的CIN對所有的特征映射進行了池化操作,再將池化向量進行一個拼接。池化前,CIN的第k層輸出表示為一組向量,如式(3)所示。圖2(b)中,改進后的Atte-CIN通過對交互特征進行加權(quán)求和,將注意力機制應(yīng)用于特征交互。Atte-CIN模型為
(4)
(5)
(6)
式中,W∈Rt×k,b∈Rt,h∈Rt是模型參數(shù);t是注意因子,即注意力機制中隱藏層的大??;激活函數(shù)為ReLU。
在Atte-CIN層,模型學(xué)習(xí)了顯示的特征交互。而在DNN層,模型將學(xué)習(xí)到隱式特征交互。式(7)為DNN模型
(7)
綜上所述,各部分模型輸出分別是式(1)、式(4)和式(7)。Atte-xDeepFM模型的總式為
(8)
對于二元分類,模型的損失函數(shù)為
優(yōu)化目標最小化目標函數(shù)為
J=L+λ*‖θ‖
(10)
式中,L為模型損失函數(shù),如式(9)所示;λ*‖θ‖部分為防止過擬合的L2正則化函數(shù)。
實驗基于Tensorflow深度學(xué)習(xí)框架。模型的學(xué)習(xí)率為0.000 4,正則化系數(shù)為0.000 002,嵌入層維數(shù)為固定值16。采用Adam優(yōu)化算法,設(shè)置訓(xùn)練輪數(shù)為5,批次大小為4 096。默認狀態(tài)下,所有DNN的網(wǎng)絡(luò)深度為3,神經(jīng)元個數(shù)分別為512、256、128。CIN的網(wǎng)絡(luò)深度為2,每一層大小分別是128和128。初始化模型參數(shù),通過調(diào)整各個超參數(shù)得到模型最佳得分。
Avazu數(shù)據(jù)集和Criteo數(shù)據(jù)集均來源于Kaggle針對點擊率預(yù)估展開的賽題。這兩個數(shù)據(jù)集在推薦系統(tǒng)中廣泛使用。Avazu數(shù)據(jù)集是移動廣告DSP公司Avazu在2014年發(fā)布的。該數(shù)據(jù)集包含了10天的Avazu的廣告點擊數(shù)據(jù),總數(shù)據(jù)量達到了4 000多萬條。Criteo數(shù)據(jù)集是Criteo Labs在2017年發(fā)布的,包含了連續(xù)7天的Criteo廣告展示數(shù)據(jù),有數(shù)百萬的廣告功能值和廣告點擊數(shù)據(jù)。
實驗數(shù)據(jù)集的具體信息如表1所示。對于表1中數(shù)據(jù)集,隨機選擇70%數(shù)據(jù)作為訓(xùn)練集,其余30%數(shù)據(jù)作為測試集。
表1 實驗數(shù)據(jù)集具體信息Table 1. Specific information of experimental data sets
實驗選擇AUC(Area under curve)和LogLoss作為模型的評價指標。其中AUC是評估二分類模型性能的常見指標。在CTR預(yù)估中,通常用AUC來衡量模型的排序能力。AUC值越大,表明模型區(qū)分正負例的能力越強。Logloss是評估模型預(yù)測準確性的常見指標,其值越小,表明模型的推薦結(jié)果越準確。
本文將AFM[23]、NFM[27]、DeepFM[11]、CIN、xDeepFM[28]方法與Atte-CIN、Atte-xDeepFM模型進行了對比實驗??紤]到Atte-xDeepFM模型和CTR預(yù)估、深度學(xué)習(xí)密切相關(guān),故選擇推薦系統(tǒng)CTR領(lǐng)域常用的算法模型來說明Atte-xDeepFM模型在稀疏數(shù)據(jù)集上的性能。
各模型方法在Criteo和Avazu數(shù)據(jù)集上的實驗結(jié)果及得到整體性能的AUC、Logloss對比結(jié)果如表2所示。
表2 各模型的整體性能對比Table 2. Overall performance comparison of each model
由表2可知,Atte-xDeepFM模型在這兩個數(shù)據(jù)集的AUC和Logloss5指標均優(yōu)于其他模型,且Atte-CIN模型優(yōu)于CIN模型。比較各模型可知,AFM模型和NFM模型比單個CIN模型效果都要好,說明CIN特征交互的能力沒有傳統(tǒng)模型好。但是DeepFM模型和xDeepFM模型的性能都優(yōu)于其他傳統(tǒng)模型,說明CIN模型和DNN模型配合能夠?qū)W習(xí)到更優(yōu)的特征交互。Atte-xDeepFM模型一方面添加了FM模型,另一方面在改進的CIN模型的基礎(chǔ)上配合DNN模型。通過對比實驗可知,在特征輸入相同的情況下,Atte-xDeepFM模型的AUC值和Logloss值高于其他模型。具體可以看到,在Avazu數(shù)據(jù)集上,本文模型的AUC值比xDeepFM模型提升了0.506%;在Criteo數(shù)據(jù)集上,本文模型的AUC值比xDeepFM模型提升了2.27%。因此在本文的數(shù)據(jù)場景中,Atte-xDeepFM模型的性能對比其他模型有所提升。
本文提出了一種新的基于深度學(xué)習(xí)的CTR預(yù)估模型,簡稱為Atte-xDeepFM模型。該模型能夠解決特征稀疏問題,有效學(xué)習(xí)特征之間的交互關(guān)系,不需要手動提取特征工程中的有用信息。在xDeepFM模型的基礎(chǔ)上,該模型通過添加FM模型捕捉低階特征;通過改進CIN模型,更有效地學(xué)習(xí)高階特征交互。本文改進的Atte-CIN模型采用Dropout思想降低CIN復(fù)雜度,用注意力網(wǎng)絡(luò)使CIN能夠更有效地學(xué)習(xí)高階特征交互。本文在Avazu數(shù)據(jù)集、Criteo數(shù)據(jù)集上分別進行了對比實驗,結(jié)果表明,相比其他CTR預(yù)估模型,Atte- xDeepFM模型可以達到更好的推薦效果。
本文的研究仍存在不足之處,具體為:(1)本文只是用Dropout降低了CIN的復(fù)雜度,而Atte-CIN結(jié)構(gòu)的池化層使用注意力網(wǎng)絡(luò),導(dǎo)致復(fù)雜度仍然較高;(2)Atte-xDeepFM模型的各子模型是并行結(jié)構(gòu),只在輸出層進行簡單融合。在下一步的工作中,將進一步優(yōu)化模型的整體結(jié)構(gòu)。