楊澤平 吳巨聰 熊文龍 劉詩(shī)薇 王恒巖
摘要:點(diǎn)擊率預(yù)估是廣告推薦系統(tǒng)中的一個(gè)重要方向,現(xiàn)有的點(diǎn)擊率預(yù)估模型大多是基于特征feature與CTR之間的關(guān)系預(yù)測(cè)一條廣告是否被用戶點(diǎn)擊,但是仍有許多能提高點(diǎn)擊率模型性能的信息被忽略。文章提出了一種基于廣告特征與用戶特征相似度的模型,該模型在DeepFM點(diǎn)擊率預(yù)測(cè)算法的基礎(chǔ)上,增加了一個(gè)能夠擬合廣告特征與用戶特征之間關(guān)系的模塊,即Match Subnet。在訓(xùn)練時(shí),將此模塊與DeepFM一起進(jìn)行訓(xùn)練,但是在預(yù)測(cè)時(shí),只用DeepFM進(jìn)行預(yù)測(cè),在公共數(shù)據(jù)集上對(duì)比了兩種模型,發(fā)現(xiàn)添加了擬合用戶特征與廣告特征關(guān)系的模塊后,相比原算法有了更好表現(xiàn)。
關(guān)鍵詞:廣告點(diǎn)擊率;DeepFM;Match Subnet;用戶特征;廣告特征
中圖分類(lèi)號(hào):TP183? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)06-0076-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
廣告點(diǎn)擊率(Click-Through Rate,CTR)預(yù)測(cè)在學(xué)術(shù)界和工業(yè)界都是一個(gè)比較重要的問(wèn)題,傳統(tǒng)的點(diǎn)擊率預(yù)測(cè)算法,利用邏輯回歸(Logistic Regression)擬合的是特征與CTR之間的線性關(guān)系[1],后來(lái)考慮到二階特征組合對(duì)CTR的影響,提出因子分解機(jī)模型(Factorization Machine)[2]。近些年,隨著深度學(xué)習(xí)的興起,將深度學(xué)習(xí)帶入到點(diǎn)擊率預(yù)測(cè)中,比如:使用DNN自動(dòng)學(xué)習(xí)高階特征組合對(duì)CTR的影響[3],將邏輯回歸(LR)與DNN進(jìn)行組合的Wide & Deep,將因子分解機(jī)(FM)與DNN組合提升模型記憶能力的DeepFM等。
以上主流的點(diǎn)擊率預(yù)測(cè)算法學(xué)習(xí),基本是特征與CTR間的關(guān)系,但是同樣包含重要信息的特征與特征之間的關(guān)系卻被忽略了。基于以上問(wèn)題,阿里團(tuán)隊(duì)提出了DeepMCP模型[4],該模型在DNN的基礎(chǔ)上增加了能夠?qū)W習(xí)廣告特征與用戶特征之間關(guān)系的模塊(Match Subnet),以及能夠?qū)W習(xí)廣告特征與廣告特征之間關(guān)系的模塊(Correlation Subnet)。該模型在兩個(gè)公共數(shù)據(jù)集上的表現(xiàn)均好于其他主流的點(diǎn)擊率預(yù)估算法。
本文提出了DeepMFM模型,基于DeepMCP模型,在DeepFM的基礎(chǔ)上,增加Match Subnet模塊來(lái)學(xué)習(xí)廣告特征與用戶特征之間的關(guān)系,并且在相同的數(shù)據(jù)集上進(jìn)行對(duì)比,證明該模型能夠有效地提升點(diǎn)擊率預(yù)測(cè)的精度。
1 DeepMFM模型
本節(jié)內(nèi)容將詳細(xì)介紹DeepMFM模型,如圖1所示。。首先介紹Embedding部分,然后再分別介紹預(yù)測(cè)的DeepFM模塊以及Match Subnet模塊。
1.1 特征的表征
首先將特征分為四個(gè)部分,分別是:用戶特征(User-features),即用戶的id和用戶的年齡等;查詢特征(Query-features),即具體的查詢或類(lèi)別查詢等;廣告特征(Ad-features),即廣告的標(biāo)題、廣告id等;其他特征(Other-features),即時(shí)間特征等。
其中DeepFM部分用到了全部的特征,而Match Subnet部分只用到了用戶特征、查詢特征以及廣告特征。
1.2 Embedding
首先一個(gè)特征[xi∈R],經(jīng)過(guò)Embedding層之后轉(zhuǎn)換成其對(duì)應(yīng)的embedding向量[ei∈Rk],其中[k]是向量的維度。然后再將所有的特征Embedding集合成一個(gè)Embedding矩陣[E∈Rn×k],其中[n]是特征的數(shù)量。
1.3 DeepFM層
Embedding矩陣會(huì)先轉(zhuǎn)換成一個(gè)長(zhǎng)向量[m],向量[m]的長(zhǎng)度為[n×k],其中[n]是特征的數(shù)量,[k]是Embedding的維度,DeepFM層中的Deep部分的輸入是[m]向量,而FM部分輸入的是經(jīng)過(guò)處理后的數(shù)據(jù)。
1.3.1 FM層
FM部分是一個(gè)因子分解機(jī)[5],可以同時(shí)學(xué)習(xí)低階和高階的組合特征,在學(xué)習(xí)特征之間線性關(guān)系的基礎(chǔ)上,因子分解機(jī)提出用一對(duì)特征中,各自的特征隱向量的內(nèi)積來(lái)捕捉特征之間的二階交互:
[yFM=<w,x>+n1=1dn2=n1+1d<Vi,Vj>xn1?xn2]
其中[<w,x>]反應(yīng)的是一階特征,[w∈Rd],[Vi]和[Vj]分別是[xn1]和[xn2]的因向量,一階特征后面的部分屬于是二階特征交互,[yFM]是[FM]層的輸出。
1.3.2 DNN層
DNN部分就是一個(gè)前向反饋網(wǎng)絡(luò),用來(lái)學(xué)習(xí)高階的特征交互,[m]向量會(huì)首先進(jìn)入兩個(gè)全連接層,對(duì)每一層全連接層,都用了一個(gè)dropout[6]。在特征學(xué)習(xí)期間,通過(guò)將一部分隱藏單元設(shè)置為0,防止過(guò)擬合,最后再經(jīng)過(guò)一個(gè)sigmoid的輸出單元,得到DNN部分的CTR預(yù)估值:
[yDNN=LH+1=σ(WHLH+bH)]
其中[H]是全連接的數(shù)量。
1.3.3 DeepFM層的輸出
將DNN的輸出和FM部分的輸出拼接在一起,然后再用sigmoid函數(shù)得到DeepFM層的輸出:
[y=sigmoid(yDNN+yFM)]
其中[yDNN]是DNN部分的輸出,[yFM]是[FM]部分的輸出。
1.3.4 損失函數(shù)
選擇交叉熵?fù)p失函數(shù)作為該部分的損失函數(shù):
[lossp=-1Υy∈Υ[ylogy+(1-y)log(1-y)]]
其中[y∈{0,1}],是否點(diǎn)擊目標(biāo)廣告的真實(shí)標(biāo)簽。
1.4 Match SubNet
Match SubNet是受到網(wǎng)絡(luò)搜索語(yǔ)義匹配模型的啟發(fā)[7],模塊模擬的是用戶和廣告之間的關(guān)系,即一條廣告是否與用戶的興趣匹配,目的是學(xué)習(xí)到有用的用戶和廣告表征。
當(dāng)用戶點(diǎn)擊了一個(gè)廣告,假設(shè)點(diǎn)擊的廣告至少有一部分是與用戶的需求相關(guān)的,所以希望用戶特征的表征和廣告特征的表征能夠更好地匹配。
1.4.1 輸入
Match SubNet的輸入分為兩個(gè)部分,其中User-features和Query-features經(jīng)過(guò)Embedding之后,組合成一個(gè)長(zhǎng)向量[mu∈RNu],代表的是用戶特征。而Ad-features經(jīng)過(guò)Embedding后,相似的轉(zhuǎn)換成長(zhǎng)向量[ma∈RNa],其中[Na]是向量的維度,代表廣告特征。
1.4.2 user部分
首先[mu]經(jīng)過(guò)兩層全連接層,學(xué)習(xí)更抽象和更高階的特征表示,其中第一層使用的是relu激活函數(shù),第二層使用的是tanh激活函數(shù),[tanh(x)=1-exp(-2x)1+exp(-2x)]。
最后user部分的輸出,是高階的用戶部分的表示向量Vu∈Rm,其中[m]是向量維度。
1.4.3 ad部分
相似的[ma]經(jīng)過(guò)兩層全連接層,第一層使用的是relu激活函數(shù),第二層用的是tanh激活函數(shù),得到高階的廣告表示向量[Va∈Rm],其中[m]是向量的維度。
值得注意的是,因?yàn)橛脩舻奶卣鲾?shù)量和廣告的特征數(shù)量可能并不相等,所以用戶部分輸入的長(zhǎng)度和廣告部分輸入的長(zhǎng)度并不相等,即[Nu≠Na],但是經(jīng)過(guò)Match Subnet后,得到用戶特征的表征[vu]和廣告特征的表征[va]的長(zhǎng)度是一樣的,即將兩種不同的特征映射到了一個(gè)公共的低維空間中。
1.4.4 輸出
將最后廣告部分和用戶部分經(jīng)過(guò)一個(gè)公式得到兩部分的匹配分?jǐn)?shù):
[s(va,vu)=11+exp(vTuva)]
其中,如果用戶[u]點(diǎn)擊了廣告[a],則[s(va,vu)→1],否則[s(va,vu)→0],在這里,解釋了為什么第二層全連接層的激活函數(shù)使用的是tanh,而不是relu,因?yàn)槿绻褂胷elu激活函數(shù),輸出會(huì)包含大量的0,導(dǎo)致[vTuva→0]。
1.4.5 損失函數(shù)
將最小化Match Subnet的損失函數(shù)如下:
[lossm=-1Υy∈Υ[y(u,a)logs(vu,va)+(1-y(u,a))log(1-s(vu,va))]]
其中如果用戶[u]點(diǎn)擊了廣告[a],則[y(u,a)=1],否則[y(u,a)=0]。
1.5 損失函數(shù)
最終DeepFMF的聯(lián)合損失函數(shù)如下:
[loss=lossp+αlossm]
其中[lossp]是DeepFM部分的損失函數(shù),[lossm]是Match Subnet部分的損失函數(shù),[α]是平衡DeepFM和Match Subnet的超參數(shù)。
2 實(shí)驗(yàn)部分
本文采用點(diǎn)擊率領(lǐng)域中常用的公開(kāi)數(shù)據(jù)集Criteo,在該數(shù)據(jù)集上進(jìn)行了對(duì)比試驗(yàn),比較了DNN、DeepFM、DeepMP(DNN與Match Subnet結(jié)合)以及DeepMFM的表現(xiàn),并且對(duì)該實(shí)驗(yàn)結(jié)果展開(kāi)討論。
2.1 數(shù)據(jù)集以及評(píng)價(jià)指標(biāo)
本實(shí)驗(yàn)采用Criteo作為實(shí)驗(yàn)數(shù)據(jù)集,采用的評(píng)價(jià)指標(biāo)是AUC[8]和logloss[9],其中AUC表示的是ROC曲線下與坐標(biāo)軸圍成的面積,其取值范圍一般在0.5~1之間,AUC越接近1,說(shuō)明模型的效果越好,AUC越接近0.5甚至在0.5之下,說(shuō)明模型效果差。而logloss越小,模型的效果越好。
2.2 實(shí)驗(yàn)結(jié)果及分析
文章以DNN為參照,發(fā)現(xiàn)DeepFM的性能要比DNN好,因?yàn)樵黾恿薋M部分可以同時(shí)學(xué)習(xí)低階和高階的特征交互。同時(shí)在加了Match Subnet之后,模型的提升很顯著,如果將DeepMP中的Prediction Subnet的DNN換成DeepFM的話,即DeepMFM,模型的性能也會(huì)有所提升。
3 結(jié)束語(yǔ)
本文提出了DeepMFM模型,其中包括用于預(yù)測(cè)的DeepFM模塊和用于學(xué)習(xí)用戶特征與廣告特征的相似度來(lái)提升模型性能的Match Subnet模塊,在DeepMP的基礎(chǔ)上,將Prediction Subnet的DNN網(wǎng)絡(luò)替換成了能夠?qū)W習(xí)特征二階交互的DeepFM網(wǎng)絡(luò)。通過(guò)對(duì)比一些典型的點(diǎn)擊率預(yù)測(cè)算法,在廣告點(diǎn)擊率預(yù)測(cè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),明顯觀察到DeepMFM的性能更好一些,可能是因?yàn)榭紤]到了用戶和廣告特征,并且DeepFM可以同時(shí)學(xué)習(xí)低階和高階的特征交互。
參考文獻(xiàn):
[1] Richardson M,Dominowska E,RagnoR.Predicting clicks:estimating the click-through rate for new ads[C]//WWW '07:Proceedings of the 16th international conference on World WideWeb.2007:521-530.
[2] Rendle S.Factorization machines[C]//2010 IEEE International Conference on Data Mining.December13-17,2010,Sydney,NSW,Australia.IEEE,2010:995-1000.
[3] LeCun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436-444.
[4] Ouyang W T,Zhang X W,Ren S K,et al.Representation learning-assisted click-through rate prediction[C]//Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence.August10-16,2019.Macao,China.California:International Joint Conferences on Artificial IntelligenceOrganization,2019.
[5] Rendle S.Factorization machines[C]//2010 IEEE International Conference on Data Mining.December13-17,2010,Sydney,NSW,Australia.IEEE,2010:995-1000.
[6] Srivastava N,Hinton G E,Krizhevsky A,et al.Dropout:asimple way to prevent neural networks from overfitting[J].Journal of Machine Learning Research,2014,15(1):1929-1958.
[7] Huang P S,He X D,Gao J F,et al.Learning deep structured semantic models for web search using clickthrough data[C]//CIKM'13:Proceedings of the 22nd ACM international conference on Information &Knowledge Management.2013:2333-2338.
[8] Lobo J M,Jiménez-Valverde A,Real R.AUC:a misleading measure of the performance of predictive distribution models[J].Global Ecologyand Biogeography,2008,17(2):145-151.
[9] Altun Y,Johnson M,Hofmann T.Investigating loss functions and optimization methods for discriminative learning of label sequences[C]//Proceedings of the 2003 conference on Empirical methods in natural language processing -.NotKnown.Morristown,NJ,USA:Association for Computational Linguistics,2003.
【通聯(lián)編輯:唐一東】