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