李興兵,謝 珺,續(xù)欣瑩,李小飛,趙旭棟
(1.太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,山西 晉中 030600;2.太原理工大學(xué) 電氣與動(dòng)力工程學(xué)院,山西 太原 030024)
自2020年以來,在線廣告的收入不斷增長,已經(jīng)發(fā)展成為一項(xiàng)千億美元的業(yè)務(wù)。點(diǎn)擊率預(yù)估(Click-through rate,CTR)在廣告行業(yè)至關(guān)重要,主要目標(biāo)是在適當(dāng)?shù)沫h(huán)境下向適當(dāng)?shù)挠脩籼峁┻m當(dāng)?shù)膹V告。廣告的精準(zhǔn)投放,依賴于預(yù)估目標(biāo)受眾對相應(yīng)廣告的點(diǎn)擊率預(yù)估[1]。因此,廣告點(diǎn)擊率預(yù)估的效果和準(zhǔn)確率成為人們關(guān)注的焦點(diǎn)。點(diǎn)擊率預(yù)測是預(yù)測用戶點(diǎn)擊推薦項(xiàng)目的概率。它在個(gè)性化廣告和推薦系統(tǒng)中起著重要的作用。目前已經(jīng)有很多模型被提出來解決這個(gè)問題,如邏輯回歸(Logistic regression,LR)[2],Poly2[3]模型,因子分解機(jī)模型(Factorization machine,FM)[4],梯度提升樹(Gradient boosting decision tree,GBDT)+LR[5]模型。近年來,利用神經(jīng)網(wǎng)絡(luò)進(jìn)行點(diǎn)擊率估計(jì)也是這個(gè)領(lǐng)域的一個(gè)研究趨勢,并引入了一些基于深度學(xué)習(xí)的模型,如Wide&Deep[6]模型,基于因子分解機(jī)的神經(jīng)網(wǎng)絡(luò)(Factorization machine supported neural network,FNN)[7]模型和DeepFM[8]等模型。特征學(xué)習(xí)對于CTR任務(wù)至關(guān)重要,對于排序模型來說,有效地捕捉這些復(fù)雜的特征非常重要。但是這些淺層模型,例如LR和FM等模型只對低階特征相互作用建模有效,對捕捉高階特征相互作用沒有什么效果。基于深度神經(jīng)網(wǎng)絡(luò)的深度模型則利用多層非線性神經(jīng)網(wǎng)絡(luò)捕獲高階特征相互作用,而無法有效學(xué)習(xí)到低階特征交互。因此,本文提出一種既能利用改進(jìn)FM算法來有效學(xué)習(xí)到低階特征又能利用深度神經(jīng)網(wǎng)絡(luò)(Deep neural network,DNN)[9]和注意力機(jī)制[10]學(xué)習(xí)到高階特征交互的點(diǎn)擊率預(yù)估模型——基于改進(jìn)FM算法和注意力機(jī)制的深度點(diǎn)擊率預(yù)估模型(Deep click rate prediction model based on attention mechanism and improved FM algorithm,DAHFM)。不僅增強(qiáng)了模型的可解釋性,而且提高了點(diǎn)擊率預(yù)估的準(zhǔn)確率。本文的主要工作包括以下4個(gè)方面。
(1)提出了一種基于改進(jìn)FM算法和注意力機(jī)制的深度點(diǎn)擊率預(yù)估模型,通過大量實(shí)驗(yàn)判斷其是否有效提升了點(diǎn)擊率預(yù)估效果;
(2)全息簡化表示(Holographic reduced representation,HRR)[11]的壓縮外積被應(yīng)用到FM中來改進(jìn)FM算法從而更好地學(xué)習(xí)低階特征,利用快速傅里葉變換降低算法的事件復(fù)雜度,使模型訓(xùn)練效果更快更好;
(3)利用DNN學(xué)習(xí)高階特征,并構(gòu)建合適的注意力網(wǎng)絡(luò)來區(qū)分不同高階特征的重要性,從而更好地利用高階特征提高模型的準(zhǔn)確率;
(4)應(yīng)用不同數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明本文提出的新模型DAHFM可以有效學(xué)習(xí)低階和高階組合特征,在一定程度上提高了點(diǎn)擊率預(yù)估的效果。
早期人們解決點(diǎn)擊率預(yù)估問題的方法是構(gòu)建LR模型[2],沒有考慮特征間的相互關(guān)系,而且需要人工特征,但算法簡單也易于調(diào)參。Poly2[3]是考慮了二階特征的模型,它可以在一定程度上解決特征交叉組合的問題,但是此模型需要非常稀疏的特征向量作為輸入,導(dǎo)致模型訓(xùn)練難度大,而且不容易收斂。2010年Rendle[4]提出FM,考慮了二階特征的組合,模型的性能要優(yōu)于線性模型,而且它的復(fù)雜性是線性的。其后,Facebook提出GBDT模型,由其中的集成決策樹自動(dòng)學(xué)習(xí)有效特征組合信息,然后聯(lián)合LR做出預(yù)測[5],取得了不錯(cuò)的效果。近幾年,隨著深度神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,其在文字、語音、圖像等眾多領(lǐng)域取得成功,人們提出了一些基于深度學(xué)習(xí)的模型來進(jìn)行CTR預(yù)測。2016年谷歌提出的Wide和Deep[6]結(jié)合了LR和多層感知器(Multi-layer perceptron,MLP),其中Wide這部分采用了有比較強(qiáng)的記憶模型LR,而Deep端則使用了有一定泛化能力的MLP。FNN[7]同時(shí)結(jié)合了預(yù)訓(xùn)練的FM和MLP。2017年Guo等[8]提出的DeepFM可以同時(shí)學(xué)習(xí)到低階和高階特征信息,且FM部分和Deep部分共享輸入和嵌入層,也加快了訓(xùn)練,提高了模型的效率。Wang等[12]提出的深度交叉網(wǎng)絡(luò)(Deep & cross network,DCN)使用交叉網(wǎng)絡(luò)而不需要人工就能自動(dòng)提取顯示組合特征,且網(wǎng)絡(luò)結(jié)構(gòu)簡單,節(jié)省內(nèi)存。Xiao等[13]提出的注意因子分解機(jī)(Attentional factorization machine,AFM)利用注意力機(jī)制對FM的二階交叉特征進(jìn)行加權(quán)有效地學(xué)習(xí)了組合特征。2018年Lian等[14]提出的xDeepFM通過一種新穎的壓縮模型來模塊化功能交互互動(dòng)網(wǎng)絡(luò)(Compressed interaction network,CIN)部分。2019年Song等[15]進(jìn)一步提出AUTOINT模型,采用多頭自注意力機(jī)制將高維稀疏特征映射到低維空間,然后自動(dòng)構(gòu)建特征交互。Liu等[16]提出的基于卷積神經(jīng)網(wǎng)絡(luò)的特征生成(Feature generation by convolutional neural network,FGCNN)使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)生成特征并將最新的深度分類器應(yīng)用于擴(kuò)展特征空間。Huang等[17]提出的FiBiNet通過雙線性有效地學(xué)習(xí)特征相互作用功能。2020年Lu等[18]提出了一種雙輸入感知因子分解機(jī)(Dual input-aware factorization machine,DIFMs),它可以按位和向量兩個(gè)層次上同時(shí)自適應(yīng)地重新加權(quán)原始特征表示。Tao等[19]提出基于高階稀疏特征交互的模型(High-order attentive factorization machine,HoAFM),將高階特征交互注入到特征表示學(xué)習(xí)中,以建立具有表達(dá)性和信息性的交叉特征。楊妍婷等[20]提出一種基于增強(qiáng)型因子分解向量輸入神經(jīng)網(wǎng)絡(luò)的廣告點(diǎn)擊率預(yù)測模型,在基于因子分解向量輸入神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了新特征生成層,采用一種針對CTR數(shù)據(jù)的卷積操作,對數(shù)據(jù)進(jìn)行通道變換后引入Inception結(jié)構(gòu)進(jìn)行卷積,將生成的新特征和原始特征結(jié)合,提升了深度網(wǎng)絡(luò)的學(xué)習(xí)能力。2021年Deng等[21]提出DeepLight模型通過在淺層組件中顯式搜索信息特征交互,修剪DNN冗余參數(shù)和密集的嵌入向量,加速模型訓(xùn)練。Zhu等[22]提出了一種新的解耦自注意力神經(jīng)網(wǎng)絡(luò)(Disentangled self-attentive neural network,DSAN)模型,通過解耦技術(shù)來促進(jìn)學(xué)習(xí)特征的相互作用。本文采用改進(jìn)的FM算法全息因子分解機(jī)(Holographic factorization machine,HFM)[23],將HRR用于FM中,因?yàn)镠RR[11]可以表示壓縮的外積,可以幫助模型獲得更好地表示,從而更好地學(xué)習(xí)到低階特征得到更好的實(shí)驗(yàn)效果。同時(shí)結(jié)合DNN學(xué)習(xí)高階特征,利用注意力機(jī)制[10]處理來自不同層次的分層特征,然后自動(dòng)選擇出占優(yōu)勢的特征從而提升模型預(yù)測的準(zhǔn)確率。
本文所提出的DAHFM模型結(jié)構(gòu)如圖1所示。
圖1 DAHFM模型結(jié)構(gòu)
圖1中包括6大部分,分別為:(1)輸入層,稀疏特征由輸入層輸入;(2)嵌入層,將高維稀疏特征轉(zhuǎn)換成低維稠密向量輸出;(3)HFM組件,利用HRR[11]算法改進(jìn)FM,不僅可以建模一階特征,還可以高效地獲取二階特征表示;(4)注意力層,加權(quán)平均來判斷不同特征之間交互的重要性,突出優(yōu)勢特征;(5)隱含層,對輸入特征多層次的抽象,使不同類型的數(shù)據(jù)得到更好的線性劃分,從而更好地學(xué)習(xí)高階特征;(6)輸出層,將模型通過一系列操作得到的低階和高階特征信息通過Sigmoid函數(shù)做歸一化輸出。
點(diǎn)擊率預(yù)估輸入的稀疏特征首先需要經(jīng)過獨(dú)熱編碼[24]使其轉(zhuǎn)化為獨(dú)熱向量,首先將用戶的個(gè)人資料和商品的屬性表示為一個(gè)稀疏向量。輸入數(shù)據(jù)有兩種值,第一種是數(shù)值,例如,[年齡=54]。第二種是分組分類值,例如,[職業(yè)=學(xué)生]或[專業(yè)=計(jì)算機(jī)]。分類值可以直接轉(zhuǎn)換成二進(jìn)制向量表示。通常情況下模型的輸入是高維稀疏的,將x∈RD表示為稀疏特征向量,其中D表示特征空間的維數(shù)。對于CTR預(yù)測,這里假設(shè)y∈{0,1}表示用戶是否點(diǎn)擊了給定的項(xiàng)目。如果y=1則表明用戶點(diǎn)擊了該廣告,y=0表明用戶沒有點(diǎn)擊。
嵌入是指將高維稀疏特征轉(zhuǎn)換成低維密集向量的常用技術(shù)[25]。嵌入層的輸出可以看作K×F矩陣,其中每一列都是一個(gè)嵌入向量,K是嵌入層的維數(shù),F是特征字節(jié)的個(gè)數(shù)。通過E=[e1,e2,…,eF]表示嵌入。其中:ei∈RK表示嵌入向量,K是一個(gè)超參數(shù),表示嵌入的維數(shù)。
FM是因子分解機(jī),它的數(shù)學(xué)表達(dá)式為
(1)
(2)
(3)
式中:★:Rd*Rd→Rd表示循環(huán)相關(guān)算子CCOR;?:Rd*Rd→Rd表示循環(huán)卷子算子CCOV。有了式(2)和(3)兩個(gè)算子,假設(shè)有一個(gè)m,如果
m=a?b
(4)
a★m≈b+n
(5)
式中:n為噪聲,式(4)和式(5)也被稱作為相關(guān)性提取,CCOV和CCOR可以作為編碼解碼對,再引入聯(lián)想記憶運(yùn)算符,那么
m=a1?b1+a2?b2+a3?b3
(6)
這樣計(jì)算任一b都會(huì)相對容易,比如希望計(jì)算b1,只需要計(jì)算a1★m就可以得到一個(gè)帶有噪聲的b1。最簡單計(jì)算外積和壓縮外積需要的時(shí)間復(fù)雜度都為O(n2),但是在這里,可以利用快速傅里葉變換(Fast Fourier transform,FFT)在O(nlogn)的運(yùn)行時(shí)間內(nèi)計(jì)算得到結(jié)果
a?b=F-1(F(a)⊙F(b))
(7)
(8)
式中:F和F-1分別為傅里葉變換和傅里葉逆變換,⊙為哈達(dá)瑪乘積,也就是矩陣對位相乘。最終選取快速傅里葉變換的實(shí)數(shù)值作為輸出。通過FFT可以將HRR的計(jì)算時(shí)間復(fù)雜度壓縮為O(n),提高了模型的效率。再看CCOV和CCOR的計(jì)算,發(fā)現(xiàn)它們就是在把外積壓縮為向量表示,一方面可以節(jié)省大量內(nèi)存,另一方面,相較于FM直接內(nèi)積求和,壓縮外積可以獲得更多的信息,得到更強(qiáng)的特征表達(dá),因而獲得更佳的效果。此處將HRR替換FM中的內(nèi)積的形式,得到HFM表達(dá)式
(9)
m=α12(v1?v2)+α13(v1?v3)+…
(10)
式中:αij表示特征對(xi,xj)的交互,因此只需要計(jì)算v1★m,就可以得到v2,v3,…,vn的組合信息。利用HFM組件對RK的嵌入向量進(jìn)行操作,得到2K個(gè)v,最后使用式(9)計(jì)算得到結(jié)果并輸入到下一層。
這部分的輸入是上文定義的嵌入E。實(shí)際上,這里連接嵌入向量
H0=contact(e1,e2,…,eF)
(11)
這里采用了一個(gè)前饋神經(jīng)網(wǎng)絡(luò),所有隱藏層的大小相同。設(shè)Hk表示隱藏層,其中k=1,2,…,L。Hk∈Rd,其中d是超參數(shù)。隱含層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如下
H1=Relu(W(0)H0+b(0))
(12)
Hk+1=Relu(W(k)Hk+b(k))
(13)
隱含層最終的輸出是把不同層的輸出連接起來作為一個(gè)總的輸出。隱藏單元是高階特征交叉,它比低階相互作用包含更全面的信息。隨著層越來越深,隱藏的單元會(huì)呈現(xiàn)更高階的特征。那么總的輸出表達(dá)式為
OutL=[H1,H2,…,HL]
(14)
式中:L是網(wǎng)絡(luò)的深度。然后將隱含層的輸出送入注意力層。
注意力機(jī)制的核心思想在于:讓不同輸入特征對結(jié)果的貢獻(xiàn)程度不同,主要突出更加重要的特征。本文采用一種使用注意力機(jī)制的解決方案處理隱含層輸出的高階組合特征,實(shí)現(xiàn)高階特征整合。不同層的分層權(quán)重可以定義為
α′k=〈h,Relu(WaHk+ba)〉
(15)
(16)
式中:Wa∈Rd×e,d表示每一層隱藏單元的數(shù)目,ba∈Re,h∈Rd,e表示注意力網(wǎng)絡(luò)中隱藏單元的數(shù)目。利用Softmax函數(shù)的特性來對注意力機(jī)制的得分進(jìn)行歸一化處理,使用Relu[26]函數(shù)作為激活函數(shù)。α代表層與層之間的層次關(guān)系。于是注意力層的輸出就可以定義為
(17)
Sigmoid函數(shù)表達(dá)式為
(18)
經(jīng)過HFM得到的低階特征信息和經(jīng)過注意力層輸出的高階組合特征信息經(jīng)過Sigmoid函數(shù)輸出,最終得到組合預(yù)測模型表達(dá)式
p=Sigmoid(HFM(x)+OutA)
(19)
式中:HFM(x)代表HFM組件的輸出,OutA表示注意力層的輸出。
本文所提出的模型DAHFM在輸入層和嵌入層上與DeepFM類似,學(xué)習(xí)低階特征和高階特征兩部分共享同樣的輸入,不僅節(jié)省了內(nèi)存而且提高了模型的訓(xùn)練效率。由式(1)可知,FM的算法時(shí)間復(fù)雜度為O(n2),但本文采用的HFM算法時(shí)間復(fù)雜度由式(7)、式(8)和式(9)可知,通過快速傅里葉變換可以將HRR的計(jì)算時(shí)間復(fù)雜度壓縮為O(n),相較于傳統(tǒng)的FM效率更高,算法的復(fù)雜度也更加小。這樣不僅節(jié)約了整個(gè)模型的計(jì)算資源,也降低了模型訓(xùn)練的計(jì)算代價(jià)。DNN與注意力機(jī)制的結(jié)合不僅可以有效學(xué)習(xí)到高階組合特征,而且對不同高階特征重要性進(jìn)行區(qū)分,更加利于高階特征的表達(dá),使得模型的準(zhǔn)確率更好。對模型整體來說,DAHFM模型不僅分別有效學(xué)習(xí)了低階特征和高階特征,而且也降低了時(shí)間復(fù)雜度,提升了訓(xùn)練效率和模型點(diǎn)擊率預(yù)估的效果。
為了對模型的權(quán)重和參數(shù)更好地學(xué)習(xí),本文使用對數(shù)損失函數(shù)LogLoss作為模型的目標(biāo)函數(shù),其公式表示如下
(20)
本次實(shí)驗(yàn)的實(shí)驗(yàn)環(huán)境是Windows 10操作系統(tǒng),I5處理器,基于Python3,Tensorflow2.0框架。為了驗(yàn)證本文所提模型DAHFM的性能,本節(jié)在兩個(gè)公共數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn)來證明所提模型的總體性能,并與現(xiàn)有的一些模型進(jìn)行了比較。
本文使用兩個(gè)數(shù)據(jù)集,第一個(gè)是Criteo數(shù)據(jù)集,它包含一個(gè)在線廣告服務(wù)的7天點(diǎn)擊日志,有超過4 500萬個(gè)樣本,每個(gè)樣本包含13個(gè)整數(shù)特征和26個(gè)分類特征。第二個(gè)是MovieLens-1M數(shù)據(jù)集,MovieLens-1M數(shù)據(jù)集含有來自6 000名用戶對4 000部電影的100萬條評分?jǐn)?shù)據(jù)。其中評分得分?jǐn)?shù)值從0到5,在分類過程中,將評分小于3的樣本視為負(fù)樣本,因?yàn)榉謹(jǐn)?shù)低表示用戶不喜歡這部電影。同時(shí)將評分大于3的樣本視為陽性樣本,并移除中性樣本,即評分等于3的樣本。對于這兩個(gè)數(shù)據(jù)集,將數(shù)據(jù)隨機(jī)分為訓(xùn)練集(70%)、驗(yàn)證集(20%)和測試集(10%)。本次實(shí)驗(yàn)采用LogLoss和AUC[30]作為評價(jià)指標(biāo),其中LogLoss的計(jì)算公式見式(20),AUC是指ROC曲線下面積,它是隨機(jī)選擇的正樣本比隨機(jī)選擇的負(fù)樣本更高分?jǐn)?shù)的概率。AUC的大小與模型性能的優(yōu)劣呈正相關(guān)。
在實(shí)驗(yàn)中,將本文所提出的模型DAHFM與其他7個(gè)不同方法的模型進(jìn)行了比較,以下是這些模型的簡介。
LR:LR[2]是工業(yè)應(yīng)用中最廣泛使用的線性模型。它易于實(shí)現(xiàn),訓(xùn)練速度快,但不能捕捉非線性信息。
FM:FM[4]使用因子分解技術(shù)來模擬二階特征相互作用。對于稀疏數(shù)據(jù)具有很好的學(xué)習(xí)能力。
AFM:AFM[13]是捕捉二階特征相互作用的最先進(jìn)的模型之一。它通過使用注意機(jī)制來區(qū)分二階組合特征的不同重要性,從而擴(kuò)展了FM。
Wide&Deep:Wide&Deep[6]包括Wide和Deep部分,其中Wide部分模擬線性低階特征相互作用,Deep部分模擬非線性高階特征相互作用。然而,大部分仍然需要特征工程。
DeepFM:DeepFM[8]結(jié)合了FM模型和DNN模型在特征學(xué)習(xí)方面的優(yōu)勢??梢酝瑫r(shí)學(xué)習(xí)低階和高階特征交互,而且顯著減少了特征工程工作量。
DCN:DCN[12]將Wide&Deep中的Wide部分替換為由特殊網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)的Cross,自動(dòng)構(gòu)造有限高階的交叉特征,并學(xué)習(xí)對應(yīng)權(quán)重,不需要手動(dòng)特征工程。
AutoInt:AutoInt[15]提出了一種基于自注意力神經(jīng)網(wǎng)絡(luò)的新方法,它可以自動(dòng)學(xué)習(xí)高階特征交互,并有效地處理大規(guī)模高維稀疏數(shù)據(jù)。
Dropout大小設(shè)置為0.5,優(yōu)化器為Adam[31],激活函數(shù)是Relu[26],學(xué)習(xí)率為0.001。
表1中AUC1、AUC2和LogLoss1、LogLoss2分別表示模型在Criteo和MovieLens-1M數(shù)據(jù)集上的AUC和LogLoss。
表1 不同模型在兩個(gè)數(shù)據(jù)集上的表現(xiàn)
由表1可知,作為唯一一個(gè)不考慮特征交互的模型,LR與其他模型相比表現(xiàn)最差。說明同時(shí)并適當(dāng)?shù)貙W(xué)習(xí)高階和低階特征交互作用,可以提高點(diǎn)擊率預(yù)測模型的性能。由圖2和圖3可以直觀地看出,與其他模型相比,DAHFM在Criteo數(shù)據(jù)集和MovieLens-1M數(shù)據(jù)集上的表現(xiàn)也更好。由此可見,同時(shí)有效學(xué)習(xí)高階和低階特征信息,提高了點(diǎn)擊率預(yù)測模型的性能。
圖2 不同模型在Criteo上的表現(xiàn)
圖3 不同模型在MovieLens-1M上的表現(xiàn)
本節(jié)研究在Criteo數(shù)據(jù)集上DAHFM模型的不同超參數(shù)對點(diǎn)擊率評估結(jié)果的影響。這里選取AUC作為評價(jià)指標(biāo)。主要對以下超參數(shù)依次實(shí)驗(yàn):(1)Dropout;(2)隱藏層數(shù)量;(3)注意力網(wǎng)絡(luò)的層數(shù)。
3.4.1Dropout
Dropout指的是一個(gè)神經(jīng)元在網(wǎng)絡(luò)中保留的概率。它是一種折衷神經(jīng)網(wǎng)絡(luò)的精度和復(fù)雜性的正則化技術(shù)。這里將Dropout分別設(shè)置為1.0、0.9、0.8、0.7、0.6、0.5。如圖4和圖5所示,當(dāng)Dropout在0.6到0.9時(shí),所有深度模型都能達(dá)到各自的最佳性能。實(shí)驗(yàn)結(jié)果表明,在模型中設(shè)置合適的Dropout可以增強(qiáng)模型的魯棒性,從而提升了模型的性能,使最終的點(diǎn)擊率預(yù)估效果更好。
圖4 不同深度模型在不同Dropout下的AUC
圖5 不同深度模型在不同Dropout下的LogLoss
3.4.2 隱藏層數(shù)量
如圖6和圖7所示,增加隱藏層的數(shù)量可以在一開始提高模型的性能,但是如果隱藏層的數(shù)量不斷增加,會(huì)出現(xiàn)過擬合現(xiàn)象,從而使模型的性能下降。這也說明了設(shè)置合適的隱藏層數(shù)量對模型的性能提升是有益的。
圖6 不同深度模型在不同隱含層數(shù)量下的AUC
圖7 不同深度模型在不同隱含層數(shù)量下的Logloss
3.4.3 注意力網(wǎng)絡(luò)的層數(shù)
表2中AUC1和AUC2分別表示模型在Criteo和MovieLens-1M數(shù)據(jù)集上的AUC。
由表2可以看出,隨著注意力網(wǎng)絡(luò)層數(shù)的增大,模型性能可以繼續(xù)提高。但注意力網(wǎng)絡(luò)層數(shù)過大會(huì)造成過擬合使得預(yù)測的準(zhǔn)確率降低,這也證明了適當(dāng)?shù)淖⒁饬W(wǎng)絡(luò)層數(shù)會(huì)提高模型的性能,提高點(diǎn)擊率預(yù)估的準(zhǔn)確率。
表2 不同注意力網(wǎng)絡(luò)層數(shù)下DAHFM在兩個(gè)數(shù)據(jù)集上的AUC
本文提出的DAHFM模型可以劃分為3大部分,第一部分是HFM[23]組件,第二部分可以理解為DNN[9],第三部分為注意力網(wǎng)絡(luò)(Attention net),故模型關(guān)鍵組件可以分為以下幾類:
(1)HFM[23]組件單獨(dú)作為一個(gè)模型;
(2)DNN[9]模塊單獨(dú)作為一個(gè)模型;
(3)HFM組件+注意力網(wǎng)絡(luò)作為一個(gè)模型,簡寫為AHFM;
(4)DNN+注意力網(wǎng)絡(luò)組成一個(gè)模型,簡寫為ADNN;
(5)HFM組件+DNN構(gòu)成一個(gè)模型,簡寫為DHFM。
表3中AUC1、AUC2和LogLoss1、LogLoss2分別表示模型在Criteo和MovieLens-1M數(shù)據(jù)集上的AUC和LogLoss。
表3 關(guān)鍵組件在兩個(gè)數(shù)據(jù)集下的表現(xiàn)
由表1和表3可知HFM的性能比FM的性能好,其中在Criteo數(shù)據(jù)集和MovieLens-1M數(shù)據(jù)集上HFM的AUC分別比FM提高了0.8%和0.5%,而且LogLoss分別降低了0.7%和0.6%;這也驗(yàn)證了HFM算法是優(yōu)于FM的。從圖8和圖9可以看出AHFM的性能優(yōu)于HFM,ADNN的性能優(yōu)于DNN,DAHFM的性能也比DHFM好。這也說明加入了注意力網(wǎng)絡(luò)的模型是優(yōu)于沒有加入注意力機(jī)制的。證明了合適的注意力網(wǎng)絡(luò)能夠有效提升模型的性能,增強(qiáng)模型的點(diǎn)擊率預(yù)估能力。從圖8和圖9也可以直觀地看出后4個(gè)深度模型DNN、ADNN、DHFM、DAHFM的性能優(yōu)于前兩個(gè)淺層模型AHFM和HFM,這說明了深度神經(jīng)網(wǎng)絡(luò)的優(yōu)越性,它能夠?qū)W習(xí)到淺層模型學(xué)習(xí)不到的高階特征,雖然DNN和ADNN只學(xué)習(xí)到了高階而沒有學(xué)習(xí)到低階特征,但他們的性能也比HFM和AHFM的性能好,這充分證明了高階組合特征的重要性。但是低階特征也不能忽視,由表3可知,DAHFM模型的性能優(yōu)于其他的消融模型,因?yàn)樗粌H學(xué)習(xí)到了低階特征而且也充分重視了高階特征組合對模型性能的影響,使用深度神經(jīng)網(wǎng)絡(luò)對高階特征建模,又加入注意力網(wǎng)絡(luò)區(qū)分不同高階組合特征的重要性,突出更加有用的高階交叉特征,不僅增強(qiáng)了模型的性能也提高了模型的可解釋性。通過消融實(shí)驗(yàn)也證明了HFM組件,DNN和注意力網(wǎng)絡(luò)對模型性能的重要性,融合了這3部分的DAHFM模型也明顯優(yōu)于其他的消融模型。
圖8 關(guān)鍵組件在兩個(gè)數(shù)據(jù)集下的AUC
圖9 關(guān)鍵組件在兩個(gè)數(shù)據(jù)集下的LogLoss
針對目前點(diǎn)擊率預(yù)估模型難以充分學(xué)習(xí)低階特征也難以有效模擬高階交叉特征的非線性關(guān)系,本文提出了一種基于注意力機(jī)制和深度學(xué)習(xí)的點(diǎn)擊率預(yù)估模型DAHFM。首先通過改進(jìn)的FM算法HFM對低階特征信息進(jìn)行學(xué)習(xí),通過實(shí)驗(yàn)證明HFM算法相對FM更好地學(xué)習(xí)了低階特征。其次,利用深度神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)高階特征信息,并加入注意力網(wǎng)絡(luò)區(qū)分不同高階組合特征的重要性,提高了高階特征學(xué)習(xí)的效率。最后,構(gòu)建同時(shí)學(xué)習(xí)低階特征和高階組合特征的模型來對廣告點(diǎn)擊率做預(yù)估。在Criteo和MovieLens-1M數(shù)據(jù)集上的大量實(shí)驗(yàn)結(jié)果表明了相對其他淺層和深層模型,DAHFM的性能更加優(yōu)異,點(diǎn)擊率預(yù)估的效果也更好。
模型關(guān)鍵組件效果分析實(shí)驗(yàn)也表明,無論是低階還是高階特征的學(xué)習(xí)都對模型的性能以及點(diǎn)擊率預(yù)估的準(zhǔn)確率至關(guān)重要。因此下一階段的研究將更加注重對特征的學(xué)習(xí),不斷研究新的特征學(xué)習(xí)方法來優(yōu)化和改進(jìn)現(xiàn)有模型,從而提高點(diǎn)擊率預(yù)估效果。