蔣興渝,黃賢英,陳雨晶,徐 福
(重慶理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
廣告點(diǎn)擊率(Click-Through Rate,CTR)預(yù)測(cè)的目標(biāo)是根據(jù)廣告信息和用戶信息預(yù)測(cè)廣告是否被點(diǎn)擊。在線廣告公司利用準(zhǔn)確的廣告CTR 預(yù)測(cè)最大限度地吸引用戶并提高用戶粘性。廣告CTR 預(yù)測(cè)在推薦系統(tǒng)、智能信息檢索和金融領(lǐng)域被廣泛的研究與應(yīng)用[1],如何準(zhǔn)確、有效地預(yù)測(cè)點(diǎn)擊率成為研究熱點(diǎn)。
CTR 預(yù)測(cè)的研究主要分為基于傳統(tǒng)機(jī)器學(xué)習(xí)的淺層模型和基于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)的模型?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的淺層模型主要是邏輯回歸(Logistic Regression,LR)模型[2]。LR 模型具有易于實(shí)現(xiàn)可解釋性強(qiáng)的優(yōu)點(diǎn),但無法通過特征交互提取組合信息。文獻(xiàn)[3]提出Poly2 模型對(duì)所有特征進(jìn)行兩兩交互,并對(duì)所有特征組合賦予權(quán)重,由于CTR 模型的輸入特征通常是由獨(dú)熱編碼[4]得到高維稀疏化二維向量,因此Poly2 模型具有大部分特征交互權(quán)重、缺乏有效數(shù)據(jù)訓(xùn)練、訓(xùn)練復(fù)雜度高的缺點(diǎn)。文獻(xiàn)[5]提出因子分解機(jī)(Factorization Machine,F(xiàn)M)模型,通過隱向量獲得元素級(jí)特征交互以減少計(jì)算開銷,F(xiàn)M 模型并未考慮不同特征組合攜帶不同的信息量,在實(shí)際情況中不同特征組合攜帶隱向量的信息也有所不同。文獻(xiàn)[6]提出特征域概念,在特征域感知因子分解機(jī)(Field-aware Factorization Machine,F(xiàn)FM)模型中每一維特征都?xì)w屬一個(gè)特定域,而特定域和特征是一對(duì)多的關(guān)系。該模型進(jìn)一步加強(qiáng)了特征交互能力,其計(jì)算時(shí)間開銷遠(yuǎn)大于FM 模型,在實(shí)際使用中較難應(yīng)用于純數(shù)值類型的數(shù)據(jù)集。文獻(xiàn)[7]提出基于FM 模型的注意力因子分解機(jī)(Attention Factorization Machine,AFM),在FM 模型的基礎(chǔ)上增加注意力機(jī)制,這個(gè)機(jī)制對(duì)元素級(jí)交互特征進(jìn)行注意力加權(quán),用于判斷不同特征之間交互的重要性,有利于模型發(fā)現(xiàn)并重視對(duì)預(yù)測(cè)結(jié)果有幫助的直接關(guān)聯(lián)特征交互,使模型具有記憶能力。由于最后直接加權(quán)累加,高階特征并沒有輸入更深的網(wǎng)絡(luò)模型以學(xué)習(xí)非線性交互特征,因此AFM 模型未利用DNN 的優(yōu)勢(shì)。Poly2、FM、FFM、AFM 模型都是基于傳統(tǒng)LR 模型增加了對(duì)特征進(jìn)行全交叉的自動(dòng)學(xué)習(xí)權(quán)重部分,此外,利用GBDT 產(chǎn)生高維非線性特征的GBDT+LR[8]組合模型進(jìn)行特征變換。
近年來,GPU 矩陣運(yùn)算性能得到逐步提升,深度學(xué)習(xí)被廣泛應(yīng)用在圖像分類[9]、機(jī)器翻譯[10]、對(duì)抗攻擊[11]等領(lǐng)域?;贒NN 的模型將深度學(xué)習(xí)運(yùn)用于CTR 預(yù)測(cè)任務(wù),通過DNN 學(xué)習(xí)復(fù)雜的高階特征交互模式。隨之出現(xiàn)基于因子分解機(jī)支持的神經(jīng)網(wǎng)絡(luò)(FNN)[12]、基于乘積產(chǎn)生層的神經(jīng)網(wǎng)絡(luò)PNN[13]等,F(xiàn)NN 和PNN 模型都充分考慮高階向量級(jí)特征的交互,卻忽略低階特征的重要性導(dǎo)致模型泛化能力不足。因此,文獻(xiàn)[14-15]提出Wide&Deep 和深度因子分解機(jī)DeepFM 模型,不僅考慮高階特征交互所攜帶的信息,同時(shí)也兼顧低階特征攜帶的信息。因此,Wide&Deep 和DeepFM 模型同時(shí)具有記憶和泛化能力,預(yù)測(cè)準(zhǔn)確度優(yōu)于之前的模型,但其記憶和泛化能力仍有提升的潛力?;谏疃葘W(xué)習(xí)模型的共同點(diǎn)是利用嵌入層得到嵌入向量,并通過DNN 學(xué)習(xí)高階交互特征從而完成CTR 預(yù)測(cè)。
文獻(xiàn)[16]指出,由于不同特征級(jí)上的特征交互所含特征信息表達(dá)不同,因此最終模型的預(yù)測(cè)泛化能力也有所不同。在CTR 預(yù)測(cè)任務(wù)中,傳統(tǒng)模型都屬于單一特征級(jí)交互模型,在記憶和泛化能力方面有一定局限性。本文以并行結(jié)構(gòu)結(jié)合AFM 和PNN模型,構(gòu)建一種基于特征增強(qiáng)聚合的融合深度神經(jīng)網(wǎng)絡(luò)(APNN)點(diǎn)擊率預(yù)測(cè)模型。將一階信息重要性嵌入原始數(shù)據(jù)的特征向量進(jìn)行特征增強(qiáng),利用注意力交互的元素級(jí)交互特征與外積操作得到向量級(jí)交互特征,并與增強(qiáng)一階特征進(jìn)行融合,增強(qiáng)模型的記憶和泛化能力。在此基礎(chǔ)上,采用多個(gè)全連接層從融合特征中獲得高階特征之間的交互關(guān)系,從而計(jì)算得到CTR 預(yù)測(cè)值。
在CTR 預(yù)測(cè)任務(wù)中,數(shù)據(jù)集特征分為類別特征和數(shù)值特征,由于類別特征不能直接用于數(shù)值計(jì)算,因此通常會(huì)對(duì)類別特征進(jìn)行One-Hot 操作,例如某種寵物食品廣告里,狗的性別特征可以用編碼表示為:雌性[1,0]、雄性[0,1],共占2 bit;年齡特征按照幼年、成年和老年劃分,表示為[0,0,1]、[0,1,0]、[1,0,0],共占3 bit。
獨(dú)熱編碼雖然解決了用于數(shù)值計(jì)算的特征表示問題,但每個(gè)特征的多個(gè)bit 僅有1 位表示某個(gè)特征,編碼后用于計(jì)算的特征向量呈現(xiàn)高維稀疏的形態(tài),若直接將這樣的特征向量輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,導(dǎo)致計(jì)算開銷大。因此,在輸入深度網(wǎng)絡(luò)訓(xùn)練前,特征編碼需要增加1 個(gè)嵌入層來降低神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的權(quán)重單元開銷。嵌入層可以將原來高維且稀疏的獨(dú)熱編碼映射為1 個(gè)低維且稠密的嵌入向量用于計(jì)算,例如性別域?yàn)榇菩?,年齡為16 歲的狗的獨(dú)熱編碼為[1,0,1,0,0],其中前bit 表示性別特征,后3 bit表示年齡特征,假設(shè)將5 bit 的獨(dú)熱編碼映射為4 維的嵌入向量[0.8,0.2,0.9,0.1],其中前2 維[0.8,0.2]表示性別特征,后2 維[0.9,0.1]表示年齡特征,能夠減少網(wǎng)絡(luò)中神經(jīng)元數(shù)量和計(jì)算開銷。不同特征所對(duì)應(yīng)的映射嵌入向量也是不同的。
AFM[7]模型由基礎(chǔ)的FM 模型引入注意力機(jī)制演變而來。雖然FM 模型能夠發(fā)現(xiàn)二階組合特征,但是將所有交互特征的權(quán)重都視為相同,則降低FM 模型的效果,因?yàn)椴皇撬械奶卣鹘M合貢獻(xiàn)度都是一樣的,某些無用的特征進(jìn)行組合可能引入噪聲,降低模型預(yù)測(cè)性能。因此,AFM 模型引入注意力機(jī)制用于判斷不同特征級(jí)交互的重要性,使模型具有記憶能力。AFM 模型前3 個(gè)部分(Sparse Input、嵌入層、雙向交互層)與FM 模型是一致的。假設(shè)有N個(gè)嵌入向量,通過雙向交互層得到N(N-1)/2 個(gè)特征向量組合,每個(gè)組合向量都是由2 個(gè)不同的嵌入向量的元素級(jí)交互產(chǎn)生。AFM 模型的核心是注意力池化層,由上一層雙向交互層得到的特征組合被多層感知機(jī)(Multi-Layer Perceptron,MLP)經(jīng)Softmax 歸一化得到重要性分?jǐn)?shù)。
PNN[13]模型由嵌入層、產(chǎn)生層和MLP 組成,傳統(tǒng)方式是直接將MLP 與嵌入向量相連進(jìn)行特征交互組合。該方式首先忽略了不同特征組合的特異性;其次MLP 并不是專門設(shè)計(jì)用于特征之間的交互計(jì)算。但在實(shí)際應(yīng)用中,PNN 模型需要考慮不同特征之間的交互信息,例如1.1 節(jié)中性別和年齡在預(yù)測(cè)任務(wù)中是重要的分類特征,而兩者的組合特征同樣包含大量的高價(jià)值信息。因此,PNN 模型在嵌入層和MLP 之間設(shè)計(jì)的產(chǎn)生層不僅包含一階信息而且針對(duì)性地完成了向量級(jí)特征交互工作,同時(shí)由于產(chǎn)生層中不同求積方式,PNN 模型分為內(nèi)積PNN(Inner PNN,IPNN)、外積PNN(Outer PNN,OPNN),其中OPNN 計(jì)算方式隨著網(wǎng)絡(luò)層數(shù)的增加效果優(yōu)于IPNN,更適合深度神經(jīng)網(wǎng)絡(luò)模型。通過這兩種內(nèi)積方式捕獲不同特征交互信息,增強(qiáng)模型表征不同數(shù)據(jù)模式的記憶能力。
基于AFM 和PNN 在模型記憶能力上的研究,以及兩者對(duì)模型泛化能力忽略的部分,本文設(shè)計(jì)一種新的點(diǎn)擊率預(yù)測(cè)模型,在保持模型記憶能力的基礎(chǔ)上,同時(shí)提升模型記憶和泛化能力,使其能夠敏感地捕捉到對(duì)預(yù)測(cè)結(jié)果有幫助的特征和交互信息,并對(duì)稀疏甚至未曾出現(xiàn)的特征具有一定的預(yù)測(cè)能力。
APNN 模型結(jié)構(gòu)如圖1 所示,主要由6 個(gè)部分構(gòu)成,原始數(shù)據(jù)經(jīng)過嵌入門機(jī)制層獲得嵌入向量和一階信息重要性后,分別輸入注意力交互層、一階信息增強(qiáng)層和外積層,然后利用聚合層把它們輸出的特征拼接融合,最后將融合特征輸入深度網(wǎng)絡(luò)部分?jǐn)M合出不同高階特征之間的交互關(guān)系,并通過sigmoid[17]激活函數(shù)計(jì)算得到CTR 預(yù)測(cè)值。
圖1 APNN 模型結(jié)構(gòu)Fig.1 Structure of APNN model
嵌入門機(jī)制層根據(jù)原始域特征得到嵌入向量E和一階信息重要性表示S。單獨(dú)表示的一階信息重要性使特征中的有效信息更加豐富,在預(yù)測(cè)時(shí)能夠作為新特征進(jìn)行計(jì)算,加強(qiáng)模型記憶能力。以1.1 節(jié)提到的狗的特征信息為例,嵌入門機(jī)制層示意圖如圖2 所示。
圖2 嵌入門機(jī)制層示意圖Fig.2 Schematic diagram of embedding and gate layer
嵌入門機(jī)制層表達(dá)如式(1)所示:
其中:si∈Rk為一階嵌入向量ei∈Rk的信息重要性;w∈Rk×k為k維嵌入向量ei的元素權(quán)重;σR為用于信息選擇的ReLU[18]激活函數(shù)。
嵌入門機(jī)制層經(jīng)過參數(shù)WG、WA得出兩個(gè)可能對(duì)狗的健康產(chǎn)生影響的一階信息重要性向量,其中性別特征重要性向量為[0.4,0.6],年齡特征重要性向量為[0.7,0.3]。嵌入向量和一階信息重要性通常有兩種訓(xùn)練方式,一種是使用其他點(diǎn)擊預(yù)測(cè)模型,例如FM 模型進(jìn)行預(yù)訓(xùn)練得到,也可以參考DeepFM 模型的訓(xùn)練方式。APNN 模型將嵌入向量與一階信息重要性向量代入模型進(jìn)行統(tǒng)一訓(xùn)練。通過嵌入門機(jī)制層計(jì)算各個(gè)特征域一階重要性表示和嵌入向量,并分別用于不同的特征交互層以挖掘特征交互組合中的深層信息。
注意力交互層的輸入是嵌入向量,輸出是帶權(quán)的元素級(jí)交互特征A∈Rk,如式(2)~式(4)所示:
其中:aij為特征組合的重要性;ei為k維的嵌入向量;N為特征域的數(shù)量;Re為所有可能的特征交互組合;W∈Rt×k,b∈Rt,h∈Rt為模型參數(shù);t為隱藏層節(jié)點(diǎn)數(shù);σR為ReLU 激活函數(shù);⊙為向量元素積。交互特征如式(5)所示:
這種交互特征對(duì)分類貢獻(xiàn)程度較高的特征組合賦予較高的權(quán)值,采用的元素級(jí)特征交互能夠利用更多維度的向量元素,使融合后的交互特征所含有效信息更加豐富。
在一階信息增強(qiáng)層中加入特征重要性以增強(qiáng)一階信息,并利用元素積把一階信息重要性表示S嵌入向量E,如式(6)所示:
其中:ei∈Rk為第i個(gè)嵌入向量;si∈Rk為嵌入向量信息重要性;zi∈Rk為含有增強(qiáng)信息的一階信息節(jié)點(diǎn),i=1,2,…,n;n為嵌入向量節(jié)點(diǎn)的個(gè)數(shù);⊙為向量元素積。
在特征交互中,一階信息增強(qiáng)層引入嵌入向量元素的重要性,使得每個(gè)向量元素獲得獨(dú)立的重要性信息。在模型整體中,一階信息增強(qiáng)層引入一階信息節(jié)點(diǎn)的重要性以豐富模型提取的特征信息,從而獲得更準(zhǔn)確的高階特征組合表示。
外積層在向量級(jí)上計(jì)算嵌入向量的外積矩陣g,然后通過權(quán)重矩陣W計(jì)算每個(gè)交互的貢獻(xiàn)度,如式(7)所示:
其中:ei∈Rk是經(jīng)過嵌入層后的k維嵌入特征向量;為第n個(gè)節(jié)點(diǎn)的嵌入向量外積權(quán)重矩陣;N為特征域的數(shù)量;⊕為矩陣逐項(xiàng)相乘后全部相加。
其中:eΣ∈Rk表示嵌入向量ei按域相加求和。聯(lián)合式(7)~式(8),得到:
最后通過一個(gè)單隱藏層,把外積映射為D維的向量P=(p1,p2,…,pn,…,pD),D是單隱藏層神經(jīng)元數(shù)量,設(shè)置D=N(N-1)/2,N是特征域的數(shù)量。外積過程中由于求和池化損失的一部分信息,通過與注意力交互層的輸出融合彌補(bǔ)。
聚合層是將注意力交互層、一階信息增強(qiáng)層和外積層輸出的對(duì)重要特征以及交互具有記憶能力的不同特征級(jí)信息進(jìn)行拼接,得到同時(shí)具有記憶能力和泛化能力的融合特征數(shù)據(jù)c0∈Rk×(2N+1)+D=[A,S,Z,P],其中A∈Rk是注意力交互層輸出,S∈RN×k是一階信息重要性表示,Z∈RN×k是增強(qiáng)后的一階信息節(jié)點(diǎn),P∈RD×1是向量級(jí)特征交互。然后將拼接后的數(shù)據(jù)c0作為深度網(wǎng)絡(luò)部分的輸入,使拼接后的融合特征能夠進(jìn)行高階交互。
深度網(wǎng)絡(luò)部分使用的DNN 由多個(gè)全連接層組成,其中DNN 的全連接層數(shù)量是可調(diào)的,當(dāng)層數(shù)為0時(shí),如果僅使用淺度網(wǎng)絡(luò)部分的輸出作為最終特征,通過sigmoid 函數(shù)激活后進(jìn)行預(yù)測(cè),則得到一個(gè)APNN-Shallow 模型,如式(10)所示:
其中:w0為輸出節(jié)點(diǎn)的偏置;wi∈Rk是第i個(gè)向量ei的權(quán)重;c(0)是聚合層輸出的融合特征;N為特征域的個(gè)數(shù);σS為sigmoid 激活函數(shù);∈(0,1)為CTR 任務(wù)所求的預(yù)測(cè)值。
為進(jìn)一步使用DNN 捕獲高階特征交互信息,提升模型性能,本文將淺度網(wǎng)絡(luò)部分與DNN 串聯(lián)形成深度網(wǎng)絡(luò)結(jié)構(gòu)。深度網(wǎng)絡(luò)部分的輸入是聚合層輸出的融合特征c0,如式(11)所示:
其 中:l為DNN 的層數(shù);σR為ReLU 激活函數(shù);W(l)、b(l)、c(l)分別為深度模型的權(quán)重、偏置以及第l層的輸出。深度網(wǎng)絡(luò)部分將生成的稠密實(shí)數(shù)特征向量c(l)送入sigmoid 函數(shù)中進(jìn)行CTR 預(yù)測(cè)。本文在一定程度上增加少量全連接層以提升模型的精度。因此,APNN-Deep 模型的輸出如式(12)所示:
其中:w0為輸出節(jié)點(diǎn)的偏置;wi∈Rk是第i個(gè)向量ei的權(quán)重;N為特征域的個(gè)數(shù);σS為sigmoid 激活函數(shù);∈(0,1)為CTR 任務(wù)所求的預(yù)測(cè)值。APNN 模型旨在最小化式(13)中的交叉熵目標(biāo)函數(shù)值:
其中:yi和分別為第i個(gè)樣本的真實(shí)值和預(yù)測(cè)值;M為樣本的大小。APNN 整體算法流程如下:
算法1基于特征增強(qiáng)聚合的融合廣告點(diǎn)擊率預(yù)測(cè)算法
本文通過Criteo 和Avazu 2 個(gè)公開數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),對(duì)APNN 模型的預(yù)測(cè)性能進(jìn)行評(píng)價(jià)。首先對(duì)實(shí)驗(yàn)使用的數(shù)據(jù)和評(píng)價(jià)指標(biāo)進(jìn)行介紹,然后對(duì)7 種作為對(duì)比CTR 預(yù)測(cè)模型進(jìn)行描述,最后通過實(shí)驗(yàn)數(shù)據(jù)展示APNN 模型的實(shí)驗(yàn)效果,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行討論。
3.1.1 數(shù)據(jù)集
從2014 年起Criteo 和Avazu 數(shù)據(jù)集作為學(xué)術(shù)界衡量CTR 預(yù)測(cè)模型性能的基準(zhǔn)數(shù)據(jù)集[14-16],在各種研究中[19-20]被廣泛使用。Criteo 數(shù)據(jù)集是2014 年由Criteo公司在Kaggle 平臺(tái)上發(fā)起的展示廣告點(diǎn)擊率預(yù)測(cè)大賽的數(shù)據(jù)集,近年來被廣泛用于許多CTR 模型評(píng)估中。該數(shù)據(jù)集包含約4 500 萬條真實(shí)的用戶點(diǎn)擊反饋數(shù)據(jù),其特征由26 個(gè)脫敏分類特征和13 個(gè)連續(xù)數(shù)值特征組成。本文實(shí)驗(yàn)將數(shù)據(jù)集隨機(jī)分為兩部分:90%用于訓(xùn)練,其余部分用于測(cè)試。Avazu 數(shù)據(jù)集是按照時(shí)間順序排列的不同日期廣告點(diǎn)擊數(shù)據(jù)組成。該數(shù)據(jù)集包含約4 000 萬個(gè)真實(shí)數(shù)據(jù)的用戶點(diǎn)擊反饋,每條廣告點(diǎn)擊數(shù)據(jù)有24 個(gè)特征。本文實(shí)驗(yàn)將其隨機(jī)分為兩部分:80%用于訓(xùn)練,其余部分用于測(cè)試。
3.1.2 評(píng)價(jià)指標(biāo)
本文實(shí)驗(yàn)采用AUC[21]和LogLoss[22]作為評(píng)價(jià)指標(biāo)。AUC是評(píng)估分類問題中廣泛使用的指標(biāo)。AUC是ROC曲線下的面積,其上限為1。此外,文獻(xiàn)[21]證明AUC在CTR 預(yù)測(cè)中是一種很好的評(píng)價(jià)標(biāo)準(zhǔn)。AUC 值越大表明模型預(yù)測(cè)性能越好。
LogLoss 是二分類問題中廣泛使用的評(píng)價(jià)標(biāo)準(zhǔn),用于測(cè)量預(yù)測(cè)值與真實(shí)值之間的差距。LogLoss 下限為0 時(shí)表示預(yù)測(cè)值與真實(shí)值完全匹配。在實(shí)驗(yàn)中,LogLoss 值較小表示預(yù)測(cè)模型的性能更優(yōu)。
3.1.3 實(shí)驗(yàn)超參數(shù)設(shè)置
本文在實(shí)驗(yàn)中使用Tensorflow編碼構(gòu)建所需模型。在使用Criteo 數(shù)據(jù)集時(shí),實(shí)驗(yàn)中的嵌入門機(jī)制層嵌入向量的維度設(shè)置為15;對(duì)于Avazu 數(shù)據(jù)集,嵌入向量的維度設(shè)置為50。本文使用Adam[23]作為實(shí)驗(yàn)優(yōu)化方法,對(duì)于Criteo數(shù)據(jù)集,最小Batch-Size為1 024;對(duì)于Avazu數(shù)據(jù)集,最小Batch-Size 為512。Criteo 數(shù)據(jù)集的每層神經(jīng)元數(shù)為1 000,Avazu 數(shù)據(jù)集的每層神經(jīng)元數(shù)為2 000。統(tǒng)一設(shè)置學(xué)習(xí)率為0.000 01,丟棄率為0.5,DNN的層數(shù)為3 層。
為驗(yàn)證APNN 僅使用淺度網(wǎng)絡(luò)部分模型和深度網(wǎng)絡(luò)部分模型的性能,本文將實(shí)驗(yàn)分為Shallow 組和Deep 組。實(shí)驗(yàn)還將基線對(duì)比模型分為淺基線模型和深基線模型。淺基線模型包括LR[2]、FM[3]、AFM[7],而深基線模型包括FNN[12]、PNN[13]、Wide&Deep[14]、DeepFM[15]。為了簡(jiǎn)化對(duì)比實(shí)驗(yàn),深基線模型每個(gè)隱層節(jié)點(diǎn)的激活函數(shù)統(tǒng)一設(shè)置為ReLU,輸出節(jié)點(diǎn)的激活函數(shù)為sigmoid,最優(yōu)參數(shù)求解都采用Adam。如果公司的用戶群數(shù)量非常大,則AUC 提高1 將為公司收入帶來大幅增長(zhǎng)[14,24-27]。
本文通過6 組實(shí)驗(yàn)對(duì)APNN 模型的性能進(jìn)行評(píng)價(jià)。實(shí)驗(yàn)1 是經(jīng)典CTR 模型與APNN 模型的性能對(duì)比;實(shí)驗(yàn)2 是增加DNN 對(duì)AFM 模型的性能影響;實(shí)驗(yàn)3 是引入一階信息重要性對(duì)PNN 的性能影響;實(shí)驗(yàn)4 是不同超參數(shù)對(duì)APNN 模型的影響;實(shí)驗(yàn)5 是單一模型結(jié)構(gòu)與融合模型結(jié)構(gòu)的性能對(duì)比;實(shí)驗(yàn)6 是不同改進(jìn)對(duì)APNN 模型性能的影響。
3.3.1 APNN 模型與經(jīng)典CTR 模型的性能對(duì)比
在Criteo 和Avazu 數(shù)據(jù)集上APNN-Shallow 與其他模型的性能對(duì)比如表1 所示。APNN-Shallow 表示淺層APNN 模型,與LR、FM、AFM 模型相比,APNN-Shallow模型性能最優(yōu)。實(shí)驗(yàn)結(jié)果表明,AFM、PNN 與增強(qiáng)一階信息融合后的APNN-Shallow 模型能夠有效提升實(shí)際任務(wù)的精準(zhǔn)度。
表1 在Criteo 和Avazu 數(shù)據(jù)集上APNN-Shallow 與其他模型的性能對(duì)比Table 1 Performance comparison of APNN-Shallow and the other models on Criteo and Avazu data sets
為進(jìn)一步提升模型性能,在Criteo 和Avazu 數(shù)據(jù)集上APNN-Deep 與其他模型的性能對(duì)比如表2所示。APNN-Deep 模型由部分APNN-Shallow 和DNN 串聯(lián)組成。從表2 可以看出,APNN-Deep 模型提高了特征的高階交互學(xué)習(xí)能力:?jiǎn)我唤Y(jié)構(gòu)的深度學(xué)習(xí)模型FNN 與PNN 性能均優(yōu)于Shallow 組模型的性能,其中在Criteo 數(shù)據(jù)集上基于FM 模型的FNN 模型的AUC 和LogLoss 性能指標(biāo)上較FM 提高了1.63 和1.33 個(gè)百分點(diǎn),PNN 模型的AUC 和LogLoss 性能指標(biāo)較FM 模型提升了1.74 和1.42 個(gè)百分點(diǎn)。與其他Deep 組模型相比,APNN-Deep 模型具有更優(yōu)的性能,說明融合后的模型結(jié)構(gòu)可以挖掘更多對(duì)于CTR 預(yù)測(cè)有價(jià)值的信息,同時(shí)也表示隱含的高階特征相互作用有助于Shallow 部分獲得更多的表達(dá)能力。
表2 在Criteo 和Avazu 數(shù)據(jù)集上APNN-Deep 與其他模型的性能對(duì)比Table 2 Performance comparison of APNN-Deep and the other models on Criteo and Avazu data sets
3.3.2 DNN 對(duì)AFM 模型的性能影響
APNN 模型的改進(jìn)是將AFM 的帶權(quán)特征輸入到DNN 中,獲到注意力交互層后的高階特征交互信息。在Criteo 和Avazu 數(shù)據(jù)集上原始AFM 與增加DNN 的深度AFM(AFM-Deep)模型的性能對(duì)比如表3 所示。從表3 可以看出,本文增加DNN 后的AFM-Deep 模型具有較優(yōu)的性能,在Criteo數(shù)據(jù)集上AFM-Deep的AUC指標(biāo)較AFM 模型提高了0.11 個(gè)百分點(diǎn),LogLoss 指標(biāo)提高了0.12 個(gè)百分點(diǎn)。在Avazu 數(shù)據(jù)集上AFM-Deep的AUC 指標(biāo)較原來的AFM 提高了0.37 個(gè)百分點(diǎn),LogLoss 指標(biāo)提升了0.34 個(gè)百分點(diǎn)。
表3 在Criteo 和Avazu 數(shù)據(jù)集上AFM 與AFM-Deep模型性能對(duì)比Table 3 Performance comparison of AFM and AFM-Deep models on Criteo and Avazu data sets
AFM-Deep 模型性能提升的原因是通過將AFM訓(xùn)練特征輸入DNN 并對(duì)特征進(jìn)行更高階組合,一方面可以減少人工特征工程干預(yù),另一方面通過DNN學(xué)習(xí)注意力特征交互后得到的特征,在一定程度上增強(qiáng)了模型挖掘高階特征交互信息的能力。
3.3.3 一階信息重要性的引入對(duì)PNN 性能影響
APNN 模型的另一個(gè)改進(jìn)方法是引入一階信息的重要性,PNN 與引入一階信息增強(qiáng)層的增強(qiáng)PNN(Linear Feature Enhanced PNN,LFE-PNN)模型性能對(duì)比如表4 所示。從表4 可以看出,本文將一階特性重要信息引入PNN 模型能夠提升模型性能。
表4 在Criteo 和Avazu 數(shù)據(jù)集上PNN 與LFE-PNN模型性能對(duì)比Table 4 Performance comparison of PNN and LFE-PNN models on Criteo and Avazu data sets
相比PNN 模型,LFE-PNN 模型的AUC 指標(biāo)分別在Criteo 和Avazu 數(shù)據(jù)集上提升了0.08 和0.06 個(gè)百分點(diǎn),LogLoss 指標(biāo)分別提升了0.08 和0.02 個(gè)百分點(diǎn),其原因是LFE-PNN 模型在有效數(shù)據(jù)信息量上較PNN 模型有一定增加,通過DNN 挖掘高階信息后得到了更準(zhǔn)確的特征表示。
3.3.4 不同模型超參數(shù)對(duì)APNN 模型的影響
本文對(duì)APNN 模型使用的超參數(shù)進(jìn)行研究,并把研究重點(diǎn)放在嵌入層部分和DNN 部分,其中DNN 部分包含激活函數(shù)、丟棄率、DNN 深度以及DNN 中每層神經(jīng)元的數(shù)量。為簡(jiǎn)化實(shí)驗(yàn),本文僅研究DNN 的深度以及DNN 中每層神經(jīng)元的數(shù)量,將更改以下超參數(shù):嵌入層維度、DNN中每層神經(jīng)元的數(shù)量、DNN的深度。本文使用的DNN 網(wǎng)絡(luò)超參數(shù)設(shè)置為3.1.3 節(jié)中的數(shù)據(jù)。
1)嵌入層維度對(duì)模型預(yù)測(cè)性能的影響
嵌入層維度的變化影響嵌入層和DNN 部分中參數(shù)的數(shù)量。本文將嵌入層維度按步長(zhǎng)為5,逐步從5 更改為70。嵌入層維度對(duì)APNN 模型性能的影響如表5所示。從表5可以看出,隨著嵌入層維度從5增大到70,在Avazu 數(shù)據(jù)集上APNN 模型性能得到提升;隨著嵌入層維度的增大,在Criteo 數(shù)據(jù)集APNN 模型的預(yù)測(cè)性能反而下降。其原因是Criteo 數(shù)據(jù)集的特征數(shù)量大于Avazu 數(shù)據(jù)集,導(dǎo)致模型優(yōu)化困難。
表5 嵌入層維度對(duì)APNN 模型性能的影響Table 5 Influence of embedding dimension on performance of APNN model
2)DNN 每層神經(jīng)元的數(shù)量對(duì)模型預(yù)測(cè)性能影響
DNN 每層神經(jīng)元的數(shù)量對(duì)預(yù)測(cè)性能影響是用于分析全連接層不同的神經(jīng)單元數(shù)量對(duì)模型預(yù)測(cè)性能的影響。為簡(jiǎn)化實(shí)驗(yàn)步驟,本文統(tǒng)一將每個(gè)全連接層的神經(jīng)元數(shù)量按如下順序設(shè)置:{500,750,1 000,1 250,1 500,1 750,2 000,2 250,2 500},每層神經(jīng)元數(shù)量對(duì)APNN 性能的影響如表6 所示。從表6 可以看出,每層神經(jīng)元的數(shù)量增加在一定程度上可以提升模型的性能,同時(shí)提升了學(xué)習(xí)參數(shù)的復(fù)雜度,因此在訓(xùn)練模型時(shí)需要考慮神經(jīng)元數(shù)量。每個(gè)全連接層神經(jīng)元數(shù)量剛開始逐步增加時(shí),AUC 指標(biāo)逐漸增加,LogLoss 指標(biāo)逐漸降低。對(duì)于Criteo 數(shù)據(jù)集,神經(jīng)元數(shù)量在1 000 時(shí),AUC達(dá)到最優(yōu)值,當(dāng)逐步增加神經(jīng)元數(shù)量時(shí)AUC 指標(biāo)不再有明顯提升,反而會(huì)有所降低。在Avazu 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,每層神經(jīng)元數(shù)量的最優(yōu)值設(shè)置為2 000,之后AUC 指標(biāo)同樣不再明顯提升。隨著神經(jīng)元數(shù)量的增多,APNN 模型可以學(xué)習(xí)到更多高階隱含信息,從而提升模型預(yù)測(cè)精度。但是當(dāng)神經(jīng)元數(shù)量達(dá)到一定閾值時(shí),神經(jīng)元數(shù)量對(duì)APNN 模型性能的影響已經(jīng)到達(dá)極限,再增加神經(jīng)元數(shù)量,模型可能學(xué)習(xí)到更多噪聲,無法提升模型性能,不僅增加了模型復(fù)雜度而且導(dǎo)致模型精度下降,因此需要合理選擇每層神經(jīng)元數(shù)量。
表6 每層神經(jīng)元數(shù)量對(duì)APNN 模型性能的影響Table 6 Influence of the number of neurons in each layer on performance of APNN model
3)DNN 的深度對(duì)模型預(yù)測(cè)性能的影響
DNN 的深度對(duì)模型預(yù)測(cè)性能的影響是用于分析增加DNN 的全連接層數(shù)量對(duì)模型預(yù)測(cè)性能的影響。本文使用全連接層數(shù)量設(shè)置為0~7,當(dāng)層數(shù)設(shè)置為0時(shí),APNN 模型由APNN-Deep 退化為APNN-Shallow。全連接層數(shù)量對(duì)APNN模型性能的影響如表7所示。DNN層數(shù)增加也會(huì)增加模型的復(fù)雜性。從表7 可以看出,DNN 層數(shù)增加開始可以提升模型的性能,如果層數(shù)持續(xù)增加,則模型性能下降,這是因?yàn)檫^于復(fù)雜的模型容易過擬合。因此,全連接層的數(shù)量設(shè)置為3 是一個(gè)合理的選擇。
表7 全連接層數(shù)量對(duì)APNN 模型性能的影響Table 7 Influence of the number of fully connected layers on APNN model performance
3.3.5 單一結(jié)構(gòu)與融合結(jié)構(gòu)的模型性能對(duì)比
本文將AFM-Deep、引入一階信息重要性的LFE-PNN 與APNN 進(jìn)行對(duì)比,得到融合模型性能提升的原因。不同模型的性能對(duì)比如表8 所示。從表8 可以看出,APNN 融合模型在實(shí)驗(yàn)結(jié)果上高于原來的基礎(chǔ)算法,原因是AFM 本身是元素級(jí)特征交互,LFE-PNN 模型是向量級(jí)特征交互,融合這兩種模型的目的在于既考慮特征元素之間的交互信息,進(jìn)一步使向量在各維度上充分交互,又考慮了特征向量化后的特征與特征之間的向量直接交互信息。因此,融合后的APNN 模型同時(shí)具有兩種特征級(jí)的信息表示,并且具有不同特征交互信息,能夠使DNN 挖掘出更多的高階特性交互信息表示。
表8 在Criteo 和Avazu 數(shù)據(jù)集上不同模型的性能對(duì)比Table 8 Performance comparison among different models on Criteo and Avazu datasets
3.3.6 不同改進(jìn)對(duì)APNN 模型性能的影響
盡管之前的實(shí)驗(yàn)證明改進(jìn)的APNN 模型對(duì)預(yù)測(cè)性能的提升,但還未將APNN中每個(gè)改進(jìn)從模型中分離出以單獨(dú)研究改進(jìn)對(duì)模型性能提升的貢獻(xiàn)。本文通過對(duì)APNN 模型進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)分為Shallow 組和Deep組,分別設(shè)置APNN-Shallow 為Shallow 組的基礎(chǔ)模型,APNN-Deep 為Deep 組的基礎(chǔ)模型。通過以下方式進(jìn)行實(shí)驗(yàn):1)APNN-S-AE 模型是將注意力交互層和一階信息增強(qiáng)層的特征數(shù)據(jù)進(jìn)行拼接后預(yù)測(cè);2)APNN-S-AP是將注意力交互層和外積層的特征數(shù)據(jù)進(jìn)行拼接后進(jìn)行預(yù)測(cè);3)LFE-PNN 模型將一階信息增強(qiáng)層和外積層的特征數(shù)據(jù)拼接輸入DNN得出的結(jié)果用于預(yù)測(cè)。APNN模型中不同改進(jìn)的性能對(duì)比如表9 所示,如果Shallow組中APNN-S-AE 模型去掉一階信息增強(qiáng)層,則模型會(huì)退化為AFM 模型。如果APNN-S-AP模型刪除外積層,則同樣會(huì)退化為AFM 模型。在Deep 組中如果刪除APNN-Deep 模型的注意力交互層輸出結(jié)果,模型也會(huì)降級(jí)為L(zhǎng)FE-PNN 模型。從表9 可以看出,引入一階信息的貢獻(xiàn)度比AFM 引入DNN 稍大,以實(shí)現(xiàn)APNN 模型的預(yù)測(cè)性能,注意力交互層、一階信息增強(qiáng)層和外積層都是必要的,刪除任何一部分都會(huì)導(dǎo)致模型預(yù)測(cè)性能明顯下降。
表9 APNN 模型中不同改進(jìn)的性能對(duì)比Table 9 Performance comparison of APNN model with different improvements
為提高廣告點(diǎn)擊率預(yù)測(cè)效果,本文提出一種基于特征增強(qiáng)聚合的APNN 模型。通過結(jié)合AFM 和PNN 模型的特征提取優(yōu)勢(shì),動(dòng)態(tài)地學(xué)習(xí)一階信息重要性和不同特征級(jí)信息,實(shí)現(xiàn)對(duì)記憶和泛化能力的平衡。在Criteo 和Avazu 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,相比FNN、PNN、AFM 等模型,APNN 模型的AUC 和LogLoss 性能指標(biāo)較優(yōu)。后續(xù)將引入遷移學(xué)習(xí)[28]解決在線CTR 預(yù)測(cè)任務(wù)中新用戶、新廣告的冷啟動(dòng)問題[29-30],進(jìn)一步提升模型性能。