李 巖
(江蘇科技大學(xué) 鎮(zhèn)江 212001)
隨著互聯(lián)網(wǎng)的快速發(fā)展,搜索廣告和電商廣告在互聯(lián)網(wǎng)廣告中的占比越來(lái)越高,成為互聯(lián)網(wǎng)行業(yè)最主要的商業(yè)模式之一。與此同時(shí),搜索廣告以其巨大的商業(yè)價(jià)值和研究?jī)r(jià)值吸引了大量的專家學(xué)者,在學(xué)術(shù)界得到了廣泛的研究。搜索廣告的轉(zhuǎn)化率,作為衡量廣告轉(zhuǎn)化效果的指標(biāo),從廣告創(chuàng)意、商品品質(zhì)、商店質(zhì)量等多個(gè)角度綜合刻畫用戶對(duì)廣告商品的購(gòu)買意向,即廣告商品被用戶點(diǎn)擊后產(chǎn)生購(gòu)買行為的概率。
廣告數(shù)據(jù)里總是存在著大量的相關(guān)特征和離散特征,如何從這些特征中提取出有意義和健壯的特征顯得尤為重要。傳統(tǒng)的特征工程往往需要豐富的先驗(yàn)知識(shí)和大量的搜索與嘗試,因此建立一個(gè)模型都會(huì)在特征工程上花費(fèi)大量的時(shí)間和精力。本文利用階梯網(wǎng)絡(luò)保留其中更為健壯的特征來(lái)替代原來(lái)的特征工程并改進(jìn)算法效果。
線性模型[1]是一種簡(jiǎn)單并且易于解釋的方法,但是表達(dá)能力往往有限。本文將階梯神經(jīng)網(wǎng)絡(luò)[2]應(yīng)用到數(shù)據(jù)挖掘中去,并根據(jù)數(shù)據(jù)挖掘的數(shù)據(jù)特征,將其與交叉網(wǎng)絡(luò)結(jié)合,生成更加有意義和健壯的特征,從而提升算法的效果。
利用無(wú)監(jiān)督學(xué)習(xí)來(lái)學(xué)習(xí)特征的方法有很多,比 如 經(jīng) 典 的 自 編 碼 器[3~5],以 及 降 噪 編 碼 器(DAE)[6~7]。自編碼器在函數(shù)形式上與 RBM[8]十分相似,盡管它們?cè)谠砗陀?xùn)練方式上不盡相同。深度置信網(wǎng)絡(luò)(Deep belief networks[9])在提取層次化的特征方面效果也很好。
將有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)結(jié)合的算法早已有之,但是這些算法[10~11]都是將無(wú)監(jiān)督學(xué)習(xí)作為預(yù)訓(xùn)練步驟來(lái)輔助有監(jiān)督學(xué)習(xí)的進(jìn)行。階梯網(wǎng)絡(luò)結(jié)合DAE和噪源分離結(jié)構(gòu)(DSS)[12],將有監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督結(jié)合起來(lái)去發(fā)現(xiàn)有用于分類任務(wù)的特征,共同訓(xùn)練有監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)和無(wú)監(jiān)督學(xué)習(xí)網(wǎng)絡(luò),通過(guò)在解碼器部分增加與編碼器的連接來(lái)改善特征學(xué)習(xí)的效果并在半監(jiān)督學(xué)習(xí)任務(wù)上取得了較好的效果。
DAE(降噪自編碼器)從加入噪聲的信號(hào)x?里學(xué)習(xí)原信號(hào)x,通過(guò)最小化重建信號(hào)x?與x之間的誤差來(lái)訓(xùn)練網(wǎng)絡(luò),目標(biāo)函數(shù)為‖‖x-x?2。DAE只考慮源信號(hào)和重新構(gòu)建的源信號(hào)之間的誤差,階梯網(wǎng)絡(luò)還考慮到了隱變量z和重建的隱變量z?之間的誤差,損失函數(shù)形式與DAE相同,為‖‖z-z?2。階梯網(wǎng)絡(luò)和DAE的另一個(gè)區(qū)別在同層的編碼部分和解碼部分之間多了一重連接,這種結(jié)構(gòu)被證明可以更有效地使高層網(wǎng)絡(luò)專注于更為抽象的特征[13],使其更適合有監(jiān)督學(xué)習(xí),從而獲得有效的有監(jiān)督學(xué)習(xí)特征。階梯網(wǎng)絡(luò)可以理解為一系列嵌套的DAE的集合,使得該網(wǎng)路結(jié)構(gòu)更容易解釋和理解。
本章主要介紹該模型的具體結(jié)構(gòu)。首先將稀疏特征通過(guò)嵌入層進(jìn)行降維,然后輸出和密集特征進(jìn)行合并,最后再通過(guò)階梯網(wǎng)絡(luò)輸出最終結(jié)果。模型整體架構(gòu)如圖1所示。
圖1 模型總體結(jié)構(gòu)圖
廣告轉(zhuǎn)化率預(yù)測(cè)(CVR)數(shù)據(jù)的特征中存在很多的類型特征,在對(duì)其進(jìn)行one-hot編碼后維度很高,為了避免維災(zāi)難我們利用嵌入層對(duì)稀疏特征進(jìn)行降維,嵌入層的計(jì)算公式如式(1),Xi是特征i,Xembed,i是特征i進(jìn)行嵌入后的向量:
然后將降維后的向量與稠密向量進(jìn)行組合,組合方式只需簡(jiǎn)單將向量合并,具體方法如式(2)所示,Xcom是組合后的向量,Xdense是未經(jīng)降維的原始稠密向量:
圖2 階梯網(wǎng)絡(luò)結(jié)構(gòu)
階梯網(wǎng)絡(luò)具體算法如下,x為輸入向量,噪聲(noise)分布服從標(biāo)準(zhǔn)差為σ標(biāo)準(zhǔn)正態(tài)分布。Batchnorm為批標(biāo)準(zhǔn)化函數(shù),activation(激活函數(shù))除了輸出層均使用relu函數(shù),輸出層使用sigmod函數(shù)。降噪函數(shù)如下式:
算法一:階梯網(wǎng)絡(luò)算法
#加噪編碼器
本部分會(huì)對(duì)實(shí)驗(yàn)步驟進(jìn)行介紹,并在廣告轉(zhuǎn)化率數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。
本文選用阿里媽媽廣告營(yíng)銷的數(shù)據(jù)集,該數(shù)據(jù)集大概包含1700萬(wàn)條用戶記錄,時(shí)間跨度為一周。論文將前六天數(shù)據(jù)作為訓(xùn)練集,將最后一天的數(shù)據(jù)隨機(jī)分為驗(yàn)證集和測(cè)試集。數(shù)據(jù)包含25個(gè)整型特征和7個(gè)基數(shù)很高的類型特征。由于用戶基數(shù)很大,對(duì)實(shí)驗(yàn)結(jié)果0.001的改進(jìn)對(duì)公司來(lái)講都會(huì)是一筆不小的利潤(rùn)。
論文利用tensorflow實(shí)現(xiàn)該模型,下面簡(jiǎn)單介紹模型的細(xì)節(jié)。
數(shù)據(jù)預(yù)處理和嵌入層:所有的實(shí)值特征都會(huì)進(jìn)行對(duì)數(shù)變換,對(duì)于每個(gè)類型特征,通過(guò)嵌入層降維到log(基數(shù))+1。
優(yōu)化算法:論文采用Adam優(yōu)化算法[14]去求解變量。階梯網(wǎng)絡(luò)引入批標(biāo)準(zhǔn)化,批量大小設(shè)為500。
超參數(shù):通過(guò)網(wǎng)格搜索來(lái)尋找隱層數(shù)量和大小,以及交叉層數(shù)量,和初始學(xué)習(xí)率的最優(yōu)值。階梯網(wǎng)絡(luò)隱層數(shù)量范圍為1~4,神經(jīng)元數(shù)量范圍為100~800。
本部分首先對(duì)階梯網(wǎng)絡(luò)和DNN的最優(yōu)性能進(jìn)行了比較,然后再將兩個(gè)模型不同超參數(shù)的細(xì)節(jié)進(jìn)行可視化,包括兩個(gè)模型驗(yàn)證誤差的比較,以及對(duì)階梯網(wǎng)絡(luò)模型不同參數(shù)模型的對(duì)比。
兩個(gè)模型在測(cè)試集上使用交叉熵作為比較標(biāo)準(zhǔn)。階梯網(wǎng)絡(luò)在隱層數(shù)量為4,隱層節(jié)點(diǎn)數(shù)為800時(shí)表現(xiàn)最優(yōu),DNN則是在隱層數(shù)量為2,隱層節(jié)點(diǎn)數(shù)為200表現(xiàn)最優(yōu)。在兩個(gè)模型的最優(yōu)參數(shù)下,都分別獨(dú)立進(jìn)行了10次實(shí)驗(yàn),模型交叉熵?fù)p失的均值和標(biāo)準(zhǔn)差如下:階梯網(wǎng)絡(luò):0.188±9×10-5,DNN:0.204±3.7×10-4??梢钥闯鲭A梯網(wǎng)絡(luò)的表現(xiàn)是優(yōu)于DNN的。
表1展示了兩個(gè)模型在相同隱層數(shù)量,相同隱層節(jié)點(diǎn)數(shù)的情況下,模型性能表現(xiàn)的差值。負(fù)值代表本文模型優(yōu)于DNN??梢钥闯?,幾乎在所有的情況下,階梯網(wǎng)絡(luò)的性能都是優(yōu)于DNN的。
表1 階梯網(wǎng)絡(luò)和DNN在相同參數(shù)下的驗(yàn)證誤差的差值
階梯網(wǎng)絡(luò)在不同隱層數(shù)量和節(jié)點(diǎn)數(shù)下的交叉熵?fù)p失如圖3所示??梢钥闯?,隨著隱層數(shù)量和節(jié)點(diǎn)數(shù)的增加,模型的表現(xiàn)也越來(lái)越好。但是當(dāng)隱層數(shù)量超過(guò)3時(shí),模型性能提升并不理想。
數(shù)據(jù)挖掘中關(guān)鍵部分就是特征工程,特征工程的質(zhì)量總是與豐富的先驗(yàn)知識(shí)有著很大的關(guān)系,因此消耗的時(shí)間和成本也隨之增大。論文將階梯網(wǎng)絡(luò)應(yīng)用于廣告轉(zhuǎn)化率的預(yù)測(cè)中去,與DNN相比,在有效地提取更為健壯的特征,提高模型的精度上有更好的效果。
圖3 不同隱層數(shù)量和節(jié)點(diǎn)數(shù)的損失
下一步研究將會(huì)考慮使階梯網(wǎng)絡(luò)模塊化,更好地與不同類型的網(wǎng)絡(luò)結(jié)合,生成更具表達(dá)力的特征。