深度学习在CTR预估中的应用 | CTR深度模型大盘点
作者丨辛俊波
單位丨騰訊
研究方向丨CTR預估,推薦系統(tǒng)
前言
深度學習憑借其強大的表達能力和靈活的網(wǎng)絡結(jié)構(gòu)在 NLP、圖像、語音等眾多領域取得了重大突破。在廣告領域,預測用戶點擊率(Click Through Rate,簡稱 CTR)領域近年也有大量關于深度學習方面的研究,僅這兩年就出現(xiàn)了不少于二十多種方法。
本文就近幾年 CTR 預估領域中學術界的經(jīng)典方法進行探究,并比較各自之間模型設計的初衷和各自優(yōu)缺點。通過十種不同 CTR 深度模型的比較,不同的模型本質(zhì)上都可以由基礎的底層組件組成。?
本文中出現(xiàn)的變量定義:?
n: 特征個數(shù),所有特征 one-hot 后連接起來的整體規(guī)模大小
f: 特征 field 個數(shù),表示特征類別有多少個?
k: embedding 層維度,在 FM 中是隱向量維度?
H1: 深度網(wǎng)絡中第一個隱層節(jié)點個數(shù),第二層 H2,以此類推
深度學習模型
1. Factorization-machine (FM)?
FM 模型可以看成是線性部分的 LR,還有非線性的特征組合 xixj 交叉而成,表示如下:
其中 vi 是第 i 維特征的隱向量,長度 k<<n,包含 k 個描述特征的因子。參數(shù)個數(shù)為 k*n。所有包含 xi 的非零組合特征都可以用來訓練 vi,緩解數(shù)據(jù)稀疏問題。
▲?圖1:FM模型結(jié)構(gòu)
圖 1 是從神經(jīng)網(wǎng)絡的角度表示 FM, 可以看成底層為特征維度為 n 的離散輸入,經(jīng)過 embedding 層后,對 embedding 層線性部分(LR)和非線性部分(特征交叉部分)累加后輸出。
FM 等價于 FM + embedding,待學習的參數(shù)如下:?
LR 部分:1+n
embedding 部分:n*k
FM 下文中將作為各種網(wǎng)絡模型的基礎組件。
2. Deep Neural Network (DNN)?
▲?圖2:DNN模型結(jié)構(gòu)
圖 2 是經(jīng)典的 DNN 網(wǎng)絡, 結(jié)構(gòu)上看就是傳統(tǒng)的多層感知機(MultiLayer Perceptron,簡稱 MLP)。
在 MLP 網(wǎng)絡中,輸入是原始的特征 n 維特征空間,假設第一層隱層節(jié)點數(shù)為 H1,第二層為 H2,以此類推。在第一層網(wǎng)絡中,需要學習的參數(shù)就是 n*H1。
對于大多數(shù) CTR 模型來說,特征體系都極其龐大而且稀疏,典型的特征數(shù)量級 n 從百萬級到千萬級到億級甚至更高,這么大規(guī)模的 n 作為網(wǎng)絡輸入在 CTR 預估的工業(yè)界場景中是不可接受的。
下面要講到的大多數(shù)深度學習 CTR 網(wǎng)絡結(jié)構(gòu),都圍繞著如何將 DNN 的高維離散輸入,通過 embedding 層變成低維稠密的輸入工作來展開。
DNN 待學習參數(shù):?
n*H1+H1*H2+H2*H3+H3*o
o 為輸出層大小,在 CTR 預估中為 1。
DNN(后文稱 MLP)也將作為下文各種模型的基礎組件之一。
3. Factorization-machine supported Neural Networks (FNN)?
在上述的 DNN 中,網(wǎng)絡的原始輸入是全部原始特征,維度為 n,通常都是百萬級以上。然而特征維度 n 雖然空間巨大,但如果歸屬到每個特征所屬的 field(維度為 f),通常 f 維度會小很多。
如果有辦法將每個特征用其所屬的 field 來表示,原始輸入將大大減少不少。Factorisation-machine Supported Neural Networks,簡稱 FNN 就是基于這種思想提出來的。
▲?圖3:FNN模型結(jié)構(gòu)
FNN 假設每個 field 有且只有一個值為 1,其他均為 0。x 為原始輸入的特征,它是大規(guī)模離散稀疏的。它可以分成 n 個 field,每一個 field 中,只有一個值為 1,其余都為 0(即 one hot)。?
field i 的輸入可以表示成 x[start_i: end_i],Wi 為field i 的 embedding 矩陣。z為 embedding 后的向量,是一個 k 維的向量,它由一次項 wi ,二次項 vi=(vi1,vi2,…vik) 組成,其中 k 是 FM 中二次項的向量的維度。而后面的 l1,l2 則為神經(jīng)網(wǎng)絡的全連接層的表示。?
除此之外,FNN 還具有以下幾個特點:?
FM 參數(shù)需要預訓練?
FM 部分的 embedding 需要預先進行訓練,所以 FNN 不是一個 end-to-end 模型。在其他論文中,有試過不用 FM 初始化 embedding,而用隨機初始化的方法,要么收斂速度很慢,要么無法收斂。有興趣的同學可以實驗驗證下。?
無法擬合低階特征?
FM 得到的 embedding 向量直接 concat 連接之后作為 MLP 的輸入去學習高階特征表達,最終的 DNN 輸出作為 CTR 預估值。因此,FNN 對低階信息的表達比較有限。?
每個 field 只有一個非零值的強假設?
FNN 假設每個 fileld 只有一個值為非零值,如果是稠密原始輸入,則 FNN 失去意義。對于一個 fileld 有幾個非零值的情況,例如用戶標簽可能有多個,一般可以做 average/sum/max 等處理。?
本質(zhì)上講,FNN = LR+DEEP = LR + embedding + MLP,參數(shù)如下:
LR 部分: 1+n
embedding 部分: n*k
MLP 部分: f*k*H1+H1*H2+H2?
可以看到,對比 DNN,在進入 MLP 部分之前,網(wǎng)絡的輸入由 n 降到了 f*k(f 為 field 個數(shù),幾十到幾百之間,k 為隱向量維度,一般 0~100)。
4. Product-based Neural Network (PNN)?
FNN 的 embedding 層直接 concat 連接后輸出到 MLP 中去學習高階特征。
PNN,全稱為 Product-based Neural Network,認為在 embedding 輸入到 MLP 之后學習的交叉特征表達并不充分,提出了一種 product layer 的思想,既基于乘法的運算來體現(xiàn)體征交叉的 DNN 網(wǎng)絡結(jié)構(gòu),如圖 4 所示。
▲?圖4:PNN模型結(jié)構(gòu)
對比 FNN 網(wǎng)絡,PNN 的區(qū)別在于中間多了一層 Product Layer 層。Product Layer 層由兩部分組成,左邊 z 為 embedding 層的線性部分,右邊為 embedding 層的特征交叉部分。
除了 Product Layer 不同,PNN 和 FNN 的 MLP 結(jié)構(gòu)是一樣的。這種 product 思想來源于,在 CTR 預估中,認為特征之間的關系更多是一種 and“且”的關系,而非 add"加”的關系。例如,性別為男且喜歡游戲的人群,比起性別男和喜歡游戲的人群,前者的組合比后者更能體現(xiàn)特征交叉的意義。
根據(jù) product 的方式不同,可以分為 inner product (IPNN) 和 outer product (OPNN),如圖 5 所示。
▲?圖5:PNN (左圖 IPNN,右圖 OPNN)
Product Layer 的輸出為:
Inner Product-based Neural Network?
IPNN 的叉項使用了內(nèi)積 g(fi, fj) = <fi, fj>。f 個 filed,兩兩求內(nèi)積共計交叉項 p 部分的參數(shù)共 f*(f-1)/2(f 為特征的 field 個數(shù),原始論文里用的 N)個,線性部分 z 部分參數(shù)共 f*k 個。需要學習的參數(shù)為:?
FM 部分:1+ n + n*k?
product部分:(f*k + f*(f-1)/2)*H1?
MLP 部分:H1*H2+H2*1?
Outer Product-based Neural Network?
OPNN 用矩陣乘法來表示特征的交叉,g(fi, fj)=fifit。f 個 field 兩兩求矩陣乘法,交叉項 p 共 f*(f-1)/2*k*k 個參數(shù)。線性部分 z 部分參數(shù)共 f*k 個。需要學習的參數(shù)為:
FM 部分: 1+ n + n*k
product 部分:(f*k + f*(f-1)/2*k*k)*H1
MLP 部分:H1*H2+H2*1
5. Wide & Deep Learning (Wide & Deep)?
前面介紹的兩種變體 DNN 結(jié)構(gòu) FNN 和 PNN,都在 embedding 層對輸入做處理后輸入 MLP,讓神經(jīng)網(wǎng)絡充分學習特征的高階表達,deep 部分是有了,對高階的特征學習表達較強,但 wide 部分的表達是缺失的,模型對于低階特征的表達卻比較有限。
Google 在 2016 年提出了大名鼎鼎的 Wide & Deep 結(jié)構(gòu)正是解決了這樣的問題。Wide & Deep 結(jié)合了 Wide 模型的優(yōu)點和 Deep 模型的優(yōu)點,網(wǎng)絡結(jié)構(gòu)如圖 6 所示,Wide 部分是 LR 模型,Deep 部分是 DNN 模型。
▲?圖6:Wide & Deep 模型結(jié)構(gòu)
在這個經(jīng)典的 Wide & Deep?模型中,Google 提出了兩個概念,Generalization(泛化性)和 Memory(記憶性)。?
Memory(記憶性)?
Wide 部分長處在于學習樣本中的高頻部分,優(yōu)點是模型的記憶性好,對于樣本中出現(xiàn)過的高頻低階特征能夠用少量參數(shù)學習;缺點是模型的泛化能力差,例如對于沒有見過的 ID 類特征,模型學習能力較差。?
Generalization(泛化性)?
Deep 部分長處在于學習樣本中的長尾部分,優(yōu)點是泛化能力強,對于少量出現(xiàn)過的樣本甚至沒有出現(xiàn)過的樣本都能做出預測(非零的 embedding 向量);缺點是模型對于低階特征的學習需要用較多參才能等同 Wide 部分效果,而且泛化能力強某種程度上也可能導致過擬合出現(xiàn) bad case。
除此之外,Wide & Deep 模型還有如下特點:
人工特征工程?
LR 部分的特征,仍然需要人工設計才能保證一個不錯的效果。因為 LR 部分是直接作為最終預測的一部分,如果作為 Wide 部分的 LR 特征工程做的不夠完善,將影響整個 Wide & Deep 的模型精度。
聯(lián)合訓練?
模型是 end-to-end 結(jié)構(gòu),Wide 部分和 Deep 部分是聯(lián)合訓練的。
Embedding 層 Deep 部分單獨占有?
LR 部分直接作為最后輸出,因此 embedding 層是 Deep 部分獨有的。
Wide & Deep 等價于 LR + embedding + MLP,需要學習的網(wǎng)絡參數(shù)有:?
LR: 1+n?
embedding 部分:n*k?
MLP 部分:f*k*H1 + H1*H2 + H2*1?
6. Factorization-Machine based Neural Network (DeepFM)?
Google 提出的 Wide & Deep 框架固然強大,但由于 Wide 部分是個 LR 模型,仍然需要人工特征工程。
Wide & Deep?給整個學術界和工業(yè)界提供了一種框架思想。基于這種思想,華為諾亞方舟團隊結(jié)合 FM 相比 LR 的特征交叉的功能,將 Wide & Deep?部分的 LR 部分替換成 FM 來避免人工特征工程,于是有了 DeepFM,網(wǎng)絡結(jié)構(gòu)如圖 7 所示。
▲?圖7:DeepFM 模型結(jié)構(gòu)
比起 Wide & Deep 的 LR 部分,DeepFM 采用 FM 作為 Wide 部分的輸出,FM 部分如圖 8 所示。
▲?圖8:DeepFM 模型中的 FM 部分結(jié)構(gòu)
除此之外,DeepFM 還有如下特點:?
低階特征表達?
Wide 部分取代 WDL 的 LR,比 FNN 和 PNN 更能捕捉低階特征信息。
Embedding 層共享?
Wide & Deep 部分的 embedding 層得需要針對 Deep 部分單獨設計;而在 DeepFM 中,FM 和 Deep 部分共享 embedding 層,FM 訓練得到的參數(shù)既作為 Wide 部分的輸出,也作為 DNN 部分的輸入。?
end-end訓練?
embedding 和網(wǎng)絡權(quán)重聯(lián)合訓練,無需預訓練和單獨訓練。
DeepFM 等價于 FM + embedding + DNN:
FM 部分:1+n
embedding 部分:n*k
DNN 部分:f*k*H1 + H1*H2+H1?
通過 embedding 層后,FM 部分直接輸出沒有參數(shù)需要學習,進入 DNN 部分的參數(shù)維度從原始 n 維降到 f*k 維。?
7. Neural Factorization Machines (NFM)?
前面的 DeepFM 在 embedding 層后把 FM 部分直接 concat 起來(f*k 維,f 個 field,每個 filed 是 k 維向量)作為 DNN 的輸入。
Neural Factorization Machines,簡稱 NFM,提出了一種更加簡單粗暴的方法,在 embedding 層后,做了一個叫做 BI-interaction 的操作,讓各個 field 做 element-wise 后 sum 起來去做特征交叉,MLP 的輸入規(guī)模直接壓縮到 k 維,和特征的原始維度 n 和特征 field 維度 f 沒有任何關系。
網(wǎng)絡結(jié)構(gòu)如圖 9 所示:
▲?圖9:NFM 模型結(jié)構(gòu)
這里論文只畫出了其中的 Deep 部分,Wide 部分在這里省略沒有畫出來。
Bi-interaction 聽名字很高大上,其實操作很簡單:就是讓 f 個 field 兩兩 element-wise 相乘后,得到 f*(f-1)/2 個向量,然后直接 sum 起來,最后得到一個 k 維的向量。所以該層沒有任何參數(shù)需要學習。?
NFM 等價于 FM + embedding + MLP,需要學習的參數(shù)有:?
FM部分:1+n
embedding部分:n*k
MLP部分:k*H1 + H1*H2+…+Hl*1?
NFM 在 embedding 做了 bi-interaction 操作來做特征的交叉處理,優(yōu)點是網(wǎng)絡參數(shù)從 n 直接壓縮到 k(比 FNN 和 DeepFM 的 f*k 還少),降低了網(wǎng)絡復雜度,能夠加速網(wǎng)絡的訓練得到模型;但同時這種方法也可能帶來較大的信息損失。?
8. Attention Neural Factorization Machines (AFM)?
前面提到的各種網(wǎng)絡結(jié)構(gòu)中的 FM 在做特征交叉時,讓不同特征的向量直接做交叉,基于的假設是各個特征交叉對 CTR 結(jié)果預估的貢獻度是一樣的。這種假設其實是不合理的,不同特征在做交叉時,對 CTR 預估結(jié)果的貢獻度是不一樣的。
Attention Neural Factorization Machines,簡稱 NFM 模型,利用了近年來在圖像、NLP、語音等領域大獲成功的 attention 機制,在前面講到的 NFM 基礎上,引入了 attention 機制來解決這個問題。
AFM 的網(wǎng)絡結(jié)構(gòu)如圖 10 所示。和 NFM 一樣,這里也省略了 Wide 部分,只畫出了 Deep 部分結(jié)構(gòu)。
▲?圖10:AFM 模型結(jié)構(gòu)
AFM 的 embedding 層后和 NFM 一樣,先讓 f 個 field 的特征做了 element-wise product 后,得到 f*(f-1)/2 個交叉項。
和 NFM 直接把這些交叉項 sum 起來不同,AFM 引入了一個 Attention Net,認為這些交叉特征項每個對結(jié)果的貢獻是不同的,例如 xi 和 xj 的權(quán)重重要度,用 aij 來表示。
從這個角度來看,其實 AFM 就是個加權(quán)累加的過程。Attention Net 部分的權(quán)重 aij 不是直接學習,而是通過如下公式表示:
這里 t 表示 attention net 中的隱層維度,k 和前面一樣,為 embedding 層的維度。所以這里需要學習的參數(shù)有 3 個,W, b, h,參數(shù)個數(shù)共 t*k+2*t 個。
得到 aij 權(quán)重后,對各個特征兩兩點積加權(quán)累加后,得到一個 k 維的向量,引入一個簡單的參數(shù)向量 pT,維度為 k 進行學習,和 Wide 部分一起得到最終的 AFM 輸出。
總結(jié) AFM 的網(wǎng)絡結(jié)構(gòu)來說,有如下特點:?
Attention Network?
AFM 的亮點所在,通過一個 Attention Net 生成一個關于特征交叉項的權(quán)重,然后將 FM 原來的二次項直接累加,變成加權(quán)累加。本質(zhì)上是一個加權(quán)平均,學習 xjxj 的交叉特征重要性。?
Deep Network?
沒有 Deep,卒。?
Attention Net 學習得到的交叉項直接學些個 pt 參數(shù)就輸出了,少了 DNN 部分的表達,對高階特征部分的進一步學習可能存在瓶頸。另外,FFM 其實也引入了 field 的概念去學習 filed 和 featrue 之間的權(quán)重。
沒有了 Deep 部分的 AFM,和優(yōu)化的 FFM 上限應該比較接近。?
AFM 等價于 FM + embedding + attention + MLP(一層),需要學習的參數(shù)有:?
FM部分參數(shù):1+n
Embedding部分參數(shù):n*k?
Attention Network部分參數(shù):k*t + t*2
MLP部分參數(shù):k*1
9. Deep&Cross Network (DCN)?
在 CTR 預估中,特征交叉是很重要的一步,但目前的網(wǎng)絡結(jié)構(gòu),最多都只學到二級交叉。
LR 模型采用原始人工交叉特征,FM 自動學習 xi 和 xj 的二階交叉特征,而 PNN 用 product 方式做二階交叉,NFM 和 AFM 也都采用了 Bi-interaction 的方式學習特征的二階交叉。對于更高階的特征交叉,只有讓 Deep 去學習了。
為解決這個問題,Google 在 2017 年提出了 Deep & Cross Network,簡稱 DCN 的模型,可以任意組合特征,而且不增加網(wǎng)絡參數(shù)。圖 11 為 DCN 的結(jié)構(gòu)。
▲?圖11:DCN 模型結(jié)構(gòu)
整個網(wǎng)絡由 4 部分組成:?
Embedding and Stacking Layer?
之所以不把 embedding 和 stacking 分開來看,是因為很多時候,embedding 和 stacking 過程是分不開的。
前面講到的各種 XX-based FM 網(wǎng)絡結(jié)構(gòu),利用 FM 學到的 v 向量可以很好地作為 embedding。
而在很多實際的業(yè)務結(jié)構(gòu),可能已經(jīng)有了提取到的 embedding 特征信息,例如圖像的特征 embedding,text 的特征 embedding,item 的 embedding 等,還有其他連續(xù)值信息,例如年齡,收入水平等,這些 embedding 向量 stack 在一起后,一起作為后續(xù)網(wǎng)絡結(jié)構(gòu)的輸入。
當然,這部分也可以用前面講到的 FM 來做 embedding。為了和原始論文保持一致,這里我們假設 X0 向量維度為 d(上文的網(wǎng)絡結(jié)構(gòu)中為 k),這一層的做法就是簡單地把各種 embedding 向量 concat 起來。
Deep Layer Network
在 Embedding and Stacking Layer 之后,網(wǎng)絡分成了兩路,一路是傳統(tǒng)的 DNN 結(jié)構(gòu)。表示如下:
為簡化理解,假設每一層網(wǎng)絡的參數(shù)有 m 個,一共有 Ld 層,輸入層由于和上一層連接,有 d*m 個參數(shù)(d 為 x0 向量維度),后續(xù)的 Ld-1 層,每層需要 m*(m+1) 個參數(shù),所以一共需要學習的參數(shù)有 d*m+m*(m+1)*(Ld-1)。最后的輸出也是個 m 維向量 Hl2。
Cross Layer Network?
Embedding and Stacking Layer 輸入后的另一路就是 DCN 的重點工作了。假設網(wǎng)絡有 L1 層,每一層和前一層的關系可以用如下關系表示:
可以看到 f 是待擬合的函數(shù),xl 即為上一層的網(wǎng)絡輸入。需要學習的參數(shù)為 wl 和 bl,因為 xl 維度為 d, 當前層網(wǎng)絡輸入 xl+1 也為 d 維,待學習的參數(shù) wl 和 bl 也都是 d 維度向量。
因此,每一層都有 2*d 的參數(shù)(w 和 b)需要學習,網(wǎng)絡結(jié)構(gòu)如下:
經(jīng)過 Lc 層的 Cross Layer?Network 后,在該 layer 最后一層 Lc 層的輸出為 Lc2 的 d 維向量。
Combination Output Layer?
經(jīng)過 Cross Network 的輸出 XL1(d 維)和 Deep Network 之后的向量輸入(m 維)直接做 concat,變?yōu)橐粋€ d+m 的向量,最后套一個 LR 模型,需要學習參數(shù)為 1+d+m。?
總結(jié)起來,DCN 引入的 Cross Network 理論上可以表達任意高階組合,同時每一層保留低階組合,參數(shù)的向量化也控制了模型的復雜度。?
DCN 等價于 embedding + cross + deep + LR:
embedding 部分參數(shù):根據(jù)情況而定
cross 部分參數(shù):2*d*Lc(Lc 為 cross 網(wǎng)路層數(shù))
deep 部分參數(shù):d*(m+1)+m*(m+1)*(Ld-1),Ld 為深度網(wǎng)絡層數(shù),m 為每層網(wǎng)絡參數(shù)
LR 部分參數(shù):1+d+m
10. Deep Interest Network (DIN)?
最后介紹阿里在 2017 年提出的 Deep Interest Network,簡稱 DIN 模型。與上面的 FNN,PNN 等引入低階代數(shù)范式不同,DIN 的核心是基于數(shù)據(jù)的內(nèi)在特點,引入了更高階的學習范式。
用戶的興趣是多種多樣的,從數(shù)學的角度來看,用戶的興趣在興趣空間是一個多峰分布。在預測 CTR 時,用戶 embedding 表示的興趣維度,很多是和當前 item 是否點擊無關的,只和用戶興趣中的局部信息有關。
因此,受 attention 機制啟發(fā),DIN 在 embedding 層后做了一個 action unit 的操作,對用戶的興趣分布進行學習后再輸入到 DNN 中去,網(wǎng)絡結(jié)構(gòu)如圖 12所示:
▲?圖12:DIN 模型結(jié)構(gòu)
DIN 把用戶特征、用戶歷史行為特征進行 embedding 操作,視為對用戶興趣的表示,之后通過 attention network,對每個興趣表示賦予不同的權(quán)值。?
Vu:表示用戶最終向量?
Vi:表示用戶興趣向量(shop_id, good_id..)?
Va:表示廣告表示向量?
Wi: 對于候選廣告,attention 機制中該興趣的權(quán)重
可以看到,對于用戶的每個興趣向量 Vi,都會通過學習該興趣的權(quán)重 Vi, 來作為最終的用戶表示。
寫在最后
前面介紹了 10 種深度學習模型的網(wǎng)絡結(jié)構(gòu),總結(jié)起來如下所表示:
各種 CTR 深度模型看似結(jié)構(gòu)各異,其實大多數(shù)可以用如下的通用范式來表達:
input->embedding:把大規(guī)模的稀疏特征 ID 用 embedding 操作映射為低維稠密的 embedding 向量。?
embedding 層向量:concat, sum, average pooling 等操作,大部分 CTR 模型在該層做改造。
embedding->output:通用的 DNN 全連接框架,輸入規(guī)模從 n 維降為 k*f 維度甚至更低。
▲?圖13:通用深度學習模型結(jié)構(gòu)
其中,embedding vector 這層的融合是深度學習模型改造最多的地方,該層是進入深度學習模型的輸入層,embedding 融合的質(zhì)量將影響 DNN 模型學習的好壞。
個人總結(jié)大體有以下 4 種操作,當然后續(xù)可能會有越來越多其他的變形結(jié)構(gòu)。
▲?圖14:embedding 層融合方式
另外,DNN 部分,業(yè)界也有很多或 state-of-art 或很 tricky 的方法,都可以在里面進行嘗試,例如 dropout,在 NFM 的 Bi-interaction 中可以嘗試以一定概率 dropout 掉交叉特征增前模型的泛化能力等。
結(jié)語
CTR 預估領域不像圖像、語音等領域具有連續(xù)、稠密的數(shù)據(jù)以及空間、時間等的良好局部相關性,CTR 預估中的大多數(shù)輸入都是離散而且高維的,特征也分散在少量不同的 field 上。
要解決這樣的一個深度學習模型,面臨的第一個問題是怎么把輸入向量用一個 embedding 層降維策劃那個稠密連續(xù)的向量,如本文介紹的用 FM 去做預訓練,或者和模型一起聯(lián)合訓練,或者其他數(shù)據(jù)源提取的 embedding 特征向量去做 concat。
其次,在寬和深的大戰(zhàn)中,在 Google 提出了 Wide & Deep 模型框架后,這套體系基本已成為業(yè)內(nèi)的基本框架。無論 Wide 部分或者 Deep 怎么改造,其實本質(zhì)上還是一些常見組件的結(jié)合,或者改造 Wide,或者改造 Weep,或者在 Wide 和 Deep 的結(jié)合過程中進行改造。?
CTR 預估領域方法變化層出不窮,但萬變不離其宗,各種模型本質(zhì)上還是基礎組件的組合,如何結(jié)合自己的業(yè)務、數(shù)據(jù)、應用場景去挑選合適的模型應用,可能才是真正的難點所在。
參考文獻
[1] Factorization Machines?
[2] Wide & Deep Learning for Recommender Systems?
[3] Deep Learning over Multi-Field Categorical Data: A Case Study on User Response Prediction?
[4] Product-based Neural Networks for User Response Prediction?
[5] DeepFM: A Factorization-Machine based Neural Network for CTR Prediction?
[6] Neural Factorization Machines for Sparse Predictive Analytics?
[7] Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks?
[8] Deep & Cross Network for Ad Click Predictions?
[9] Deep Interest Network for Click-Through Rate Prediction
#作 者 招 募#
讓你的文字被很多很多人看到,喜歡我們不如加入我們
? ? ? ? ??
?我是彩蛋
?解鎖新功能:熱門職位推薦!
PaperWeekly小程序升級啦
今日arXiv√猜你喜歡√熱門職位√
找全職找實習都不是問題
?
?解鎖方式?
1. 識別下方二維碼打開小程序
2. 用PaperWeekly社區(qū)賬號進行登陸
3. 登陸后即可解鎖所有功能
?職位發(fā)布?
請?zhí)砑有≈治⑿?#xff08;pwbot02)進行咨詢
?
長按識別二維碼,使用小程序
賬號注冊paperweek.ly
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 進入作者知乎專欄
總結(jié)
以上是生活随笔為你收集整理的深度学习在CTR预估中的应用 | CTR深度模型大盘点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于CNN的阅读理解式问答模型:DGCN
- 下一篇: 用于部分迁移学习的加权对抗网络 | CV