1、前言
特徵工程是許多預測模型成功的關鍵,但需要人工進行特徵工程的提取,DNNs能自動學習組合特徵,但是也會學到無用的組合特徵。本文提出Deep&Cross Network(DCN)模型,不僅保持了DNNs模型的優勢,而且能夠有效的學習bounded-degree的組合特徵,尤其DCN模型會在每一層都實現cross feature,不需要人工特徵工程。
2、Introduction
CTR預估是一個大規模的問題。在做特徵工程時如果能探索到少量的cross feature,這會產生一個好的預測結果。但是大規模的稀疏特徵,對於特徵的探索產生了極大的挑戰。
本文提出一個新穎的網路結構,cross network,其主優勢:
在多個層都實現了自動化的cross feature,也不需要進行人工特徵工程
最高的多項式度在每一層增加,並由層深度決定。 網路由度數的所有交叉項組成,直到最高,其係數都不同。
cross network記憶體效率高,並且利於實現
本文的實驗結果顯示,DCN的logloss小於DNN,且其引數數量幾乎少一個數量級
3、DEEP & CROSS NETWORK (DCN)
結構圖:
3.1、Embedding and Stacking Layer
由於輸入是存在sparse feature(離散特徵)和dense feature(連續特徵)的資料,加上categorical feature的one-hot,這導致了資料更加的稀疏且維度高,所以我們需要進行embedding降維處理,Embedding Vector:
x_{embed, i } = Wembed, i^{x_i}
。其中xi為輸入的二值向量中第i個category,最後我們對所有的Embedding Vector以及dense feature進行stacking,即:
x_0 = \begin{bmatrix} x^T_{embed,1}, &..., & x^T_{embed,k},&x^T_{dense} \end{bmatrix}
然後將x0輸入到下一個網路。
3.2、Cross Network
cross network由cross layers組成,每一層有如下公式:
x_{l+1} = x_0x^T_lw_l+b_l+x_l = f(x_l, w_l, b_l) +x_l
,xl為第l層cross layer,wl,bl為第l層的權重和偏差(引數)。cross操作如圖所示:
3.3、Deep Network
全連線層,公式:
3.4、Combination Layer
將cross network以及deep network的輸出結果進行concat,然後將結果送入logits layer,對於二分類問題:
p = \sigma ([x^T_{L_1}, h^T_{L_2}]w_{logits})
4、CROSS NETWORK ANALYSIS
4.1、Polynomial Approximation
多項式公式:
P_n({x}) = \begin{Bmatrix} & \sum_\alpha w_\alpha x^{\alpha_1}_1x^{\alpha_2}_2 ... x^{\alpha_d}_d | 0 \leq |\alpha | \leq n , \alpha \in N^d \end{Bmatrix}
。在cross network中實際上進行的是多項式乘法操作得到cross feature。
cross network的第l層與第l+1層的關係,
x_{i+1} = x_0x^T_iw_i+x^i
,x0為embedding層的輸出,第l層的輸出為
gl(x_0) = x^T_lw_l
,gl(x0) reproduces polynomials
\begin{Bmatrix} \sum_\alpha c_\alpha (w_0,...,w_l) x_1^{\alpha_1}x_2^{\alpha_2}....x_d^{\alpha_d} | 0\leq |\alpha|\leq l+1,\alpha \in N^d \end{Bmatrix}
,其中
c_\alpha = M_\alpha \sum_{i\in B_\alpha } \sum_{j\in P_\alpha } \prod ^{|\alpha|}_{k=1}w^{(j_k)}_{i_k}
4.2、Generalization of FMs
cross network的引數思想來源於FM模型,FM模型是進行二階組合特徵,degree為2,二階表示式為權重W乘上xixj,其中W等於i,vj>,FM只能做到兩階的特徵組合。而在DCN中可以完成任意多階的組合,階數與cross的深度一致,並且其引數複雜度與階數是線性關係。
d \cdot L_c \cdot 2
,d為輸入向量的大小,Lc為cross的深度。
5、總結
DCN模型的輸入基本為連續特徵(Dense Feature)和id類的離散特徵(Sparse Feature),同時將會離散特徵處理成embedding特徵,這樣就可以通過理解為模型的輸入是一個連續的向量x0
根據提供的DCN網路結構圖,其右側部分是傳統的DNN模型,其中每個全連線層都使用RELU啟用函式, 把輸入特徵通過多個全連線層之後特徵變得更加高階。
左側部分則是DCN的核心Cross層,每一層的特徵都由其上一層的特徵進行交叉組合,並且會吧上一層的原始特徵重新加回來。這樣既能做特徵組合,又能保留低階原始特徵,而且還隨著Cross層的增加,是可以生成任意高階的交叉組合特徵。
最終會將DNN模型和Cross模型輸出的向量進行concat起來之後過一把LR進行點選率預測。
本作品採用《CC 協議》,轉載必須註明作者和本文連結
文章!!首發於我的部落格Stray_Camel(^U^)ノ~YO。