今天給大家?guī)硪黄A為在CIKM2021上中稿的文章剑逃。通過在并行CTR預(yù)估模型引入信息共享機制來提升特征交互的效果,一起來看一下。
1、背景
CTR預(yù)估中的特征交互可以分為顯式特征交互和隱式特征交互兩類悠反。不同的CTR預(yù)估模型對這兩類特征交互建模形式存在一定的差異,主要可以分為兩種結(jié)構(gòu):并行結(jié)構(gòu)(parallel structure)和堆疊結(jié)構(gòu)(stacked structrue)馍佑,如下圖所示:
其中斋否,堆疊結(jié)構(gòu)如PIN、DIN和DIEN挤茄,而并行結(jié)構(gòu)如DeepFM如叼、DCN冰木、XDeepFM等穷劈。本文主要關(guān)注如何在并行結(jié)構(gòu)的CTR模型中進行創(chuàng)新。先來回顧一下上述并行模型的結(jié)構(gòu)踊沸,如下圖:
對于上述的并行結(jié)構(gòu)的CTR預(yù)估模型歇终,以DCN為基礎(chǔ),論文提出了兩點可能影響模型效果的問題:
1)隱層信息共享不充分:DCN的整體模型結(jié)構(gòu)分為cross網(wǎng)絡(luò)和deep網(wǎng)絡(luò)逼龟,分別用于建模顯式和隱式的特征交互评凝,并在最后的輸出層進行結(jié)果的融合。論文稱這種方式為late fusion腺律。在這種方式下奕短,兩個并行的網(wǎng)絡(luò)在中間層不存在任何的特征交互宜肉,這容易導(dǎo)致梯度傾斜問題(skewed gradients)
2)網(wǎng)絡(luò)輸入過度共享:cross網(wǎng)絡(luò)和deep網(wǎng)絡(luò)共享同一個embedding層作為輸入,但不同的特征可能適合于不同的交互方式翎碑,不加區(qū)分的將所有特征輸入到并行的多個網(wǎng)絡(luò)中可能導(dǎo)致次優(yōu)的結(jié)果谬返。
針對上述兩方面的問題,論文提出了Enhanced Deep & Cross Network (簡稱EDCN)日杈,在DCN的基礎(chǔ)上增加了bridge module和regulation module遣铝,前者用于在cross和deep網(wǎng)絡(luò)之間進行信號傳遞 ,后者則用于篩選用于不同網(wǎng)絡(luò)的特征組合莉擒。接下來酿炸,對EDCN進行詳細(xì)介紹。
2涨冀、EDCN介紹
2.1 DCN回顧
首先來簡單回顧一下DCN的模型結(jié)構(gòu)填硕,如下圖所示:
在DCN中,Embedding分別輸入兩個并行的網(wǎng)絡(luò)中蝇裤,分別為Cross network和Deep network廷支,用于建模特征之間的顯式和隱式交互。兩部分網(wǎng)絡(luò)的輸出在最后進行融合栓辜,進而得到CTR的預(yù)估值恋拍。
前文也提到,論文提出了DCN主要存在的兩點問題藕甩,分別是隱層信息共享不充分和網(wǎng)絡(luò)輸入過度共享施敢。為了克服這兩方面的問題,論文提出了EDCN狭莱,結(jié)構(gòu)如下圖所示:
可以看到僵娃,EDCN在DCN的基礎(chǔ)上,引入了Bridge Module和Regulation Module腋妙。接下來默怨,對這兩個模塊進行介紹。
2.2 Regulation Module
這里與論文介紹的順序進行了調(diào)換骤素,先來介紹下Regulation Module匙睹,主要是為了方便后續(xù)Bridge Module的介紹。
DCN中將所有的特征都輸入到兩個子網(wǎng)絡(luò)中济竹,而在論文《AutoFeature: Searching for Feature Interactions and Their Architectures for Click-through Rate Prediction》中提到痕檬,不同的特征適合不同的交互方式。因此送浊,論文借鑒MMoE中的門控機制梦谜,在DCN中引入了Regulation Module,圖示如下:
可以看到,每一個子網(wǎng)絡(luò)都有一組可學(xué)習(xí)的權(quán)重向量G(從Embedding層得到子網(wǎng)絡(luò)輸入時唁桩,權(quán)重是field-wise的)闭树,經(jīng)過softmax之后與輸入的Embedding進行如下運算,得到每個子網(wǎng)絡(luò)的輸入:
2.3 Bridge Module
前文也提到荒澡,DCN這類只在最后輸出層對兩個并行子網(wǎng)絡(luò)輸出進行融合的方式蔼啦,稱之為late fusion,對這種方式而言仰猖,無法捕捉到中間層中兩個并行網(wǎng)絡(luò)之間的相關(guān)性捏肢,削弱了顯式和隱式特征交互之間的交互信號,同時在反向傳播時可能出現(xiàn)梯度傾斜的現(xiàn)象饥侵。
論文引入了Bridge Module鸵赫,來捕獲并行網(wǎng)絡(luò)之間層級的交互信號。這種融合的方式躏升,論文稱為dense fusion策略笛丙,兩種融合策略的對比如下圖所示:
那么Bridge Module具體是如何實現(xiàn)的呢靡努,其實就是將Cross Network和Deep Network的中間層的輸出做了一個融合fl=f(xl,hl)操骡,需要保證兩個網(wǎng)絡(luò)中間層的輸出長度是一樣的宗苍,而融合后的結(jié)果也是相同的長度。f是提前定義好的交互公式佃却,可以隨意定義者吁,論文給出了其中四種方式:
1)對位相加:
2)對位相乘(哈達(dá)瑪積):
3)拼接后經(jīng)過一層MLP:
4)Attention Pooling:
經(jīng)過Bridge Module之后得到的融合向量,并不是直接輸入到下一層子網(wǎng)絡(luò)中的饲帅。這個時候复凳,Regulation Module又派上用場了,融合向量會經(jīng)過Regulation Module分別得到兩個子網(wǎng)絡(luò)的下一層輸入灶泵。論文中也指出育八,Cross Network中每一層的輸出是初始輸入x0的線性變換,因此filed信息還保留在Bridge Module之后的融合向量中赦邻,所以中間層的Regulation Module仍然使用field-wise的形式髓棋。
最后值得一提的是,論文中提出的Bridge Module和Regulation Module是具有一定的可擴展性的惶洲,比如Regulation Module可以應(yīng)用在任意的并行結(jié)構(gòu)中按声,如DeepFM、xDeepFM湃鹊、AutoInt等儒喊,而Bridge Module需要并行的子網(wǎng)絡(luò)的具有相同的網(wǎng)絡(luò)層數(shù)和中間維度镣奋,可擴展性較差币呵,Wide & Deep、DeepFM都不行。
3余赢、實驗結(jié)果
最后來看一下實驗結(jié)果芯义,首先是和base模型的對比:
接下來看一下Bridge Module和Regulation Module的可擴展性分析,將Bridge Module應(yīng)用于XDeepFM等模型中妻柒,在不同數(shù)據(jù)集上都有一定效果的提升:
而將Regulation Module分別應(yīng)用在DeepFM扛拨、XDeepFM等模型中,同樣在不同數(shù)據(jù)集上都有一定效果的提升:
然后再看下Bridge Module不同計算方式的效果举塔,哈達(dá)瑪積的效果最優(yōu):
最后看一下線上效果绑警,盡管耗時有一定的提升,但是在CTR和eCPM上提升明顯:
好了央渣,論文就介紹到這里计盒,有一點疑惑沒有解開,那就是對于梯度傾斜現(xiàn)象的分析芽丹,論文中一直在強調(diào)這一點但最后的實驗中并沒有給出相應(yīng)的解釋和數(shù)據(jù)北启。另外,對于DCN來說拔第,兩個子網(wǎng)絡(luò)是具有明確的作用的咕村,即分別建模顯式和隱式交互,中間加入Bridge Module之后蚊俺,兩個網(wǎng)絡(luò)的作用反而不是那么明顯了懈涛。總之論文的創(chuàng)新點是有的泳猬,但感覺有些地方不是特別嚴(yán)謹(jǐn)肩钠。感興趣的小伙伴可以閱讀原文~~