文/王曉陽(yáng) 劉峰
截至2018年12月,我國(guó)網(wǎng)民規(guī)模達(dá)8.29億,普及率達(dá)59.6%,較2017年底提升3.8個(gè)百分點(diǎn),全年新增網(wǎng)民5653萬(wàn);我國(guó)手機(jī)網(wǎng)民規(guī)模達(dá)8.17億,網(wǎng)民通過(guò)手機(jī)接入互聯(lián)網(wǎng)比例高達(dá)98.6%。隨著互聯(lián)網(wǎng)發(fā)展,網(wǎng)絡(luò)在線廣告的投放也隨之越來(lái)越多。雖然當(dāng)前互聯(lián)網(wǎng)盈利模式多樣性,但互聯(lián)網(wǎng)廣告仍然是不可忽視的大筆收入來(lái)源。無(wú)論是國(guó)外FaceBook,Amazon還是國(guó)內(nèi)百度,淘寶,騰訊,京東等等大型互聯(lián)網(wǎng)公司在不經(jīng)意間為用戶推送著各式各樣的網(wǎng)絡(luò)廣告。無(wú)論對(duì)于展示廣告或搜索廣告來(lái)說(shuō),只有優(yōu)質(zhì)廣告的推送才能較好的平衡用戶、廣告主和平臺(tái)三方之間的關(guān)系。在保證用戶體驗(yàn)的同時(shí),讓廣告主的ROI(投資回報(bào)率)以及平臺(tái)收益最大化是電商平臺(tái)廣告的最終目標(biāo)。
圖1:CVR模型訓(xùn)練流程
目前Amazon已開始進(jìn)攻推薦廣告業(yè)務(wù)。根據(jù)此前披露的Q2財(cái)報(bào)顯示,亞馬遜2018年二季度總營(yíng)收同比增速為39%。廣告業(yè)務(wù)營(yíng)收22億美元,同比大增132%,而今年一季度的同比增速高達(dá)139%。廣告業(yè)務(wù)營(yíng)收增速明顯高于公司整體營(yíng)收增速。據(jù)此前發(fā)布的《2018中國(guó)互聯(lián)網(wǎng)廣告發(fā)展報(bào)告》顯示,2018 年我國(guó)互聯(lián)網(wǎng)廣告總收入達(dá)到 3,694 億元人民幣,較上一年增長(zhǎng)24.2%。因此推薦廣告在電商領(lǐng)域的價(jià)值不言而喻。
廣告投放從平臺(tái)的收益考慮通常的做法是對(duì)候選集的廣告根據(jù)預(yù)期收益排序?qū)㈩A(yù)期收益最高的一部分廣告進(jìn)行投放。大部分廣告實(shí)行按照點(diǎn)擊次數(shù)收費(fèi)(Cost per Click,CPC),按照行為計(jì)費(fèi)(Cost per Action,CPA)的計(jì)費(fèi)模式情況下,并不能確定得到廣告收益,因此通常需要對(duì)目標(biāo)廣告的點(diǎn)擊率(CTR)或轉(zhuǎn)化率(CVR)進(jìn)行預(yù)估。而這些預(yù)估通常是推薦系統(tǒng)的主要任務(wù),推薦系統(tǒng)一般經(jīng)過(guò)召回和排序兩個(gè)階段。召回階段是根據(jù)用戶長(zhǎng)期和短期興趣以及歷史行為,從上百億商品中挑選出幾百個(gè),通過(guò)算法模型或指定規(guī)則對(duì)商品進(jìn)行粗略排序的過(guò)程。排序階段是對(duì)召回的商品中使用復(fù)雜模型,分場(chǎng)景對(duì)各廣告的轉(zhuǎn)化率進(jìn)行預(yù)估。從而篩選出合適的商品展示給用戶。文獻(xiàn)[6]首次將廣告點(diǎn)擊率預(yù)估由概率估計(jì)問(wèn)題轉(zhuǎn)成回歸問(wèn)題。提出用邏輯回歸LR(Logistic Regression)來(lái)解決廣告點(diǎn)擊率預(yù)估問(wèn)題,將廣告原有特性,以及所在場(chǎng)景提取為該廣告的特征,從而對(duì)廣告點(diǎn)擊率進(jìn)行預(yù)測(cè)。文獻(xiàn)[7]使用FM(Factorization Machine)解決數(shù)據(jù)稀疏的情況下,特征的組合問(wèn)題。隨后,針對(duì)各個(gè)文獻(xiàn)[8]FFM(Field-aware Factorization Machines)以及文獻(xiàn)[9]針對(duì)Facebook的社交廣告點(diǎn)擊率預(yù)估研究,提出了迭代決策樹算法GBDT(Gradient Boost Decision Tree)+LR等模型。最初,F(xiàn)M模型和FFM模型使用隱向量的內(nèi)積來(lái)建模組合特征,但只能做二階交叉特征。隨著DNN模型在自然語(yǔ)言處理,計(jì)算機(jī)視覺(jué)等領(lǐng)域的成果越來(lái)越顯著,但是DNN學(xué)到的是非線性的高階特征,沒(méi)有明確的物理含義。于是Google提出了DCN(Deep & Cross Network)模型,有效解決上述問(wèn)題。隨著深度學(xué)習(xí)的發(fā)展成熟,目前在廣告推薦業(yè)務(wù)中,各大公司也都逐漸用深度學(xué)習(xí)模型替代了機(jī)器學(xué)習(xí)模型,DCN以及DIN(Deep Interest Network of CTR)和DIΕN(Deep Interest Εvolution Network)等等。LR模型作為簡(jiǎn)單的模型,也普遍應(yīng)用在各大互聯(lián)網(wǎng)公司,作為線上模型使用。模型復(fù)雜度小,可有效降低系統(tǒng)耗時(shí),增強(qiáng)實(shí)時(shí)性。但是需要大量的人工特征組合。
圖2:邏輯回歸圖形表示
本文研究的在線廣告轉(zhuǎn)化率預(yù)估是指:輸入用戶查詢及其他相關(guān)信息(用戶年齡、性別以及歷史購(gòu)買行為等等),經(jīng)過(guò)廣告轉(zhuǎn)化率預(yù)估系統(tǒng)架構(gòu),輸出每一則廣告商品發(fā)生購(gòu)買的概率。CVR預(yù)估總體流程如圖1所示。
在整個(gè)訓(xùn)練過(guò)程中需要考慮算法模型是否簡(jiǎn)單高效,性能上是否滿足要求,訓(xùn)練數(shù)據(jù)是否足夠充分以及特征的選取是否有效等。
邏輯斯蒂回歸是最常見(jiàn)的機(jī)器學(xué)習(xí)方法之一。在cvr預(yù)估問(wèn)題中已得到廣泛的研究。
邏輯斯諦分布(Logistic Distribution):設(shè)X是隨機(jī)變量,X服從邏輯斯蒂分布是指X具有下列分布函數(shù)和密度函數(shù):
式中u為位置參數(shù),r>0為形狀參數(shù)。
其分布函數(shù)即邏輯斯諦函數(shù),圖形是一條S形曲線,特點(diǎn):以點(diǎn)(u,1/2)為中心對(duì)稱,曲線在中心附近增長(zhǎng)速度較快,在兩端增長(zhǎng)速度較慢,形狀參數(shù)越小,曲線在中心附近增長(zhǎng)的越快。
對(duì)于電商廣告中的轉(zhuǎn)化率預(yù)估而言,是一個(gè)典型的分類問(wèn)題。邏輯斯諦回歸(LogisticRegression)模型是一種分類模型。由條件概率P(Y|X)表示,形式為參數(shù)化的邏輯斯諦分布。
對(duì)于任意的輸入x,通過(guò)計(jì)算其對(duì)應(yīng)的式(3)和式(4)的結(jié)果,邏輯斯諦回歸比較兩個(gè)條件概率值,將其分到概率值較大的一類中。
邏輯回歸是廣義的線性模型,可以用如圖2表示。
該模型簡(jiǎn)單且成熟,訓(xùn)練參數(shù)便于解釋和理解,訓(xùn)練結(jié)果相對(duì)較準(zhǔn)確。在大規(guī)模稀疏性特征方面建模時(shí)表達(dá)能力往往較弱,不能自動(dòng)學(xué)習(xí)到特征之間的非線性關(guān)系。因此隨著深度學(xué)習(xí)的成功落地,越來(lái)越多的深度神經(jīng)網(wǎng)絡(luò)模型被應(yīng)用到實(shí)際的廣告變現(xiàn)業(yè)務(wù)中,支撐企業(yè)的生存和發(fā)展。
DCN(Deep & Cross Network) 模型在互聯(lián)網(wǎng)廣告點(diǎn)擊率預(yù)估中得到了廣泛應(yīng)用,其模型構(gòu)可以用如圖3表示。
DCN模型包括三部分:嵌入堆疊層、并行的深層網(wǎng)絡(luò)與交叉網(wǎng)絡(luò),最后是組合輸出層。
嵌入和堆疊層:對(duì)于類別特征one-hot后會(huì)產(chǎn)生超高維度的特征空間,因此為了減少維數(shù)空間而采用嵌入過(guò)程將二值特征轉(zhuǎn)換為連續(xù)的稠密向量。
交叉網(wǎng)絡(luò):由多個(gè)交叉層組成,每層使用以下公式產(chǎn)生交叉特征。
其中,xl,xl+1分別表示來(lái)自第l和第(l+1)交叉層的輸出;w,b均是參數(shù);隨著l的增加,可產(chǎn)生高階交叉特征,彌補(bǔ)了FM算法只能產(chǎn)生二階交叉特征的缺點(diǎn)。
深層網(wǎng)絡(luò):是一個(gè)全連接的前饋神經(jīng)網(wǎng)絡(luò)。每層使用以下公式得出隱層的輸出。
其中:Wl,bl是深度層參數(shù),hl+1,hl分別是第l和l+1層的輸出隱向量,f(.)是激活函數(shù)
最終經(jīng)過(guò)組合輸出層,將交叉層和深層的輸出拼接后,作為標(biāo)準(zhǔn)邏輯回歸的輸入,最終輸出概率值。
DCN模型其輸入包括稀疏、稠密特征以及embedding特征。其最大的特點(diǎn)是對(duì)于稀疏數(shù)據(jù)具有很好的學(xué)習(xí)能力。對(duì)于本文研究的廣告轉(zhuǎn)化率預(yù)估問(wèn)題,其數(shù)據(jù)具有高維稀疏、正負(fù)樣本比例相差較大,類別分布不均衡等特點(diǎn)。使用DCN模型不僅可以自動(dòng)學(xué)習(xí)交叉特征,避免大量人工特征工程;而且也能夠?qū)ο∈钄?shù)據(jù)進(jìn)行有效處理。
本文采用兩個(gè)實(shí)驗(yàn)數(shù)據(jù)集:
(1)騰訊移動(dòng)App廣告轉(zhuǎn)化率預(yù)估數(shù)據(jù)集(以下簡(jiǎn)稱:騰訊廣告);
(2)阿里媽媽搜索廣告轉(zhuǎn)化率預(yù)估數(shù)據(jù)集(以下簡(jiǎn)稱:阿里廣告)。
以上數(shù)據(jù)集均由三部分組成:用戶特征,廣告特征,以及上下文特征。本文主要介紹模型優(yōu)化,因此特征提取方式不過(guò)多介紹。針對(duì)不同的類別標(biāo)簽,分別從兩個(gè)數(shù)據(jù)集中選取相同數(shù)量的訓(xùn)練集和測(cè)試集。如表1所示。
表1:訓(xùn)練集、測(cè)試集數(shù)據(jù)分布
表2:模型對(duì)比實(shí)驗(yàn)結(jié)果
表3:DCN模型采樣實(shí)驗(yàn)結(jié)果
表4:DCN+數(shù)據(jù)融合實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)環(huán)境是基于Hadoop-2.7.1的大數(shù)據(jù)處理平臺(tái),用到的組件包括HDFS分布式文件系統(tǒng)、MapReduce離線計(jì)算框架、YARN分布式資源管理系統(tǒng)、Hive分布式數(shù)據(jù)倉(cāng)庫(kù)和Spark的MLlib機(jī)器學(xué)習(xí)算法庫(kù),集群規(guī)模為1個(gè)Master節(jié)點(diǎn),3個(gè)Slave節(jié)點(diǎn)。
本實(shí)驗(yàn)中DCN模型訓(xùn)練最優(yōu)參數(shù):深層網(wǎng)絡(luò)及交叉層網(wǎng)絡(luò)結(jié)構(gòu)均是3層,每層150個(gè)節(jié)點(diǎn);激活函數(shù)使用Relu,該函數(shù)可以極大地加快收斂速度;優(yōu)化算法采用隨機(jī)梯度下降算法SGD;訓(xùn)練過(guò)程采用了批量標(biāo)準(zhǔn)化(Batch normalization)方式優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),加速網(wǎng)絡(luò)訓(xùn)練;初始化學(xué)習(xí)率設(shè)置0.006。
為了評(píng)價(jià)模型實(shí)驗(yàn)效果,本文使用業(yè)界常用的AUC(Area Under Curve)[16]指標(biāo)。AUC為ROC(Receiver Operating Characteristics)曲線下的面積,反映分類器的好壞。一個(gè)完美分類器的AUC為1.0,而隨機(jī)猜測(cè)的AUC為0.5。訓(xùn)練過(guò)程中損失函數(shù)使用的是交叉熵代價(jià)函數(shù)。
4.2.1 單模型實(shí)驗(yàn)
本文使用的兩個(gè)廣告數(shù)據(jù)集均為稀疏數(shù)據(jù)。為了驗(yàn)證DCN模型比LR模型能更好處理高維稀疏數(shù)據(jù),對(duì)兩者進(jìn)行了單模型對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如下:
由表2可以看出,在兩個(gè)數(shù)據(jù)集上DCN模型都表現(xiàn)出優(yōu)于LR模型的預(yù)估效果。同時(shí)為了進(jìn)一步驗(yàn)證在訓(xùn)練過(guò)程兩個(gè)模型的收斂速度,本文對(duì)兩個(gè)模型訓(xùn)練過(guò)程的loss變化做了如下對(duì)比;DCN是深層模型較LR淺層模型能學(xué)出對(duì)訓(xùn)練過(guò)程具有指導(dǎo)意義更充分的高階交叉特征信息。
從圖4中可以看出兩個(gè)模型的loss整體下降趨勢(shì)是一致的,但在起始和最終DCN的loss要明顯小于LR模型的loss,這更直觀的說(shuō)明對(duì)于同樣的數(shù)據(jù)分布,DCN模型的訓(xùn)練效果優(yōu)于LR模型。
4.2.2 采樣實(shí)驗(yàn)
當(dāng)訓(xùn)練數(shù)據(jù)正負(fù)樣本分布過(guò)于不平衡時(shí),會(huì)嚴(yán)重影響模型訓(xùn)練效果。因此,本文對(duì)數(shù)據(jù)集進(jìn)行了不同比例的采樣,最終確定使得模型效果最佳的采樣策略。本文實(shí)驗(yàn)了在兩個(gè)數(shù)據(jù)集上的多種正負(fù)樣本比例時(shí)DCN模型的效果,其中每個(gè)采樣比例做了三次實(shí)驗(yàn),AUC取平均值。實(shí)驗(yàn)結(jié)果如表3所示。
實(shí)驗(yàn)結(jié)果表明,隨著負(fù)樣本比例增大,AUC總體呈現(xiàn)下降趨勢(shì),在正負(fù)樣本為1:1的情況下,AUC達(dá)到最大值。同時(shí)也對(duì)正樣本進(jìn)行了重采樣,實(shí)驗(yàn)結(jié)果出現(xiàn)了過(guò)擬合現(xiàn)象,訓(xùn)練集上loss直線下降,測(cè)試集上確明顯上升。
4.2.3 數(shù)據(jù)融合實(shí)驗(yàn)
經(jīng)過(guò)上述單模型實(shí)驗(yàn)以及采樣實(shí)驗(yàn),AUC在一定程度上得到了提高。但是采樣實(shí)驗(yàn)在保證訓(xùn)練樣本平衡時(shí)會(huì)丟失大量有效信息,模型上線后的效果會(huì)很不理想。因此,本文為保證信息不丟失,提出了DCN模型加數(shù)據(jù)融合的方案。在廣告轉(zhuǎn)化率預(yù)估中,最大的問(wèn)題就是樣本過(guò)于稀疏。而DCN模型作為深度神經(jīng)網(wǎng)絡(luò)是需要大量的訓(xùn)練樣本才能得到更好的訓(xùn)練效果。在實(shí)際的廣告轉(zhuǎn)化率預(yù)估中,往往會(huì)因?yàn)轭A(yù)估的場(chǎng)景不同,而分為不同的廣告位。例如購(gòu)物車和商品詳情頁(yè)中推薦的商品列表往往因?yàn)閳?chǎng)景不同,模型提取的訓(xùn)練數(shù)據(jù)特征不同,導(dǎo)致推薦的商品列表有較大差異。單廣告位數(shù)據(jù)集相對(duì)更少,使得在深度學(xué)習(xí)中模型收斂效果很差。因此,在本實(shí)驗(yàn)中,選用所有廣告位通過(guò)數(shù)據(jù)融合方式作為訓(xùn)練數(shù)據(jù),驗(yàn)證集采用單廣告位數(shù)據(jù),最終的實(shí)驗(yàn)結(jié)果是所有廣告位結(jié)果的加權(quán)和。
圖3:DCN網(wǎng)絡(luò)圖形表示
圖4:LR和DCN訓(xùn)練過(guò)程loss變化
由表4可以看出,兩個(gè)數(shù)據(jù)集上數(shù)據(jù)融合效果比單模型實(shí)驗(yàn)都有所提升。由此可以看出在不同的場(chǎng)景推薦位,其數(shù)據(jù)分布對(duì)模型訓(xùn)練的影響要小于訓(xùn)練樣本數(shù)據(jù)量大小對(duì)模型的效果。
本文首先對(duì)互聯(lián)網(wǎng)廣告發(fā)展進(jìn)行了概述,簡(jiǎn)述了推薦系統(tǒng)流程以及目前CVR預(yù)估中常用模型,詳細(xì)介紹了LR和DCN模型基本原理;然后提出了DCN+數(shù)據(jù)融合的改進(jìn)方法;最后通過(guò)單模型實(shí)驗(yàn),采樣實(shí)驗(yàn)以及數(shù)據(jù)融合實(shí)驗(yàn),驗(yàn)證了DCN+數(shù)據(jù)融合的有效性。同時(shí)在Hadoop集群上實(shí)現(xiàn)了數(shù)據(jù)并行化,加速了模型訓(xùn)練過(guò)程。