論文《Deep & Cross Network for Ad Click Predictions》
這篇文章的思想很簡單。
wide&deep網(wǎng)絡是在dnn旁加了一個需要特征工程的wide部分,
deep&cross則是在dnn旁加了一個cross network。

如上圖所示,網(wǎng)絡前面是常見的embedding層和連續(xù)feature拼接之后,送進deep&cross network。deep&cross network左邊的部分就是整個結(jié)構(gòu)的核心cross network。
cross network定義
cross network層與層之間的算子:
可見cross network顯式地進行了特征之間的交叉組合,每一層在上一層的基礎(chǔ)上進行矩陣乘法,很容易就獲得高于二階的特征組合。相比fm,可以獲得更高階的特征。相比wide&deep,不需要專門特征工程來獲得高階的交叉特征。
復雜度
另一方面,cross network所需要的參數(shù)只有上式w,b對應的dL2個參數(shù)(d是輸入特征維度,L是cross network層數(shù))。因此cross network相比dnn在計算復雜度上大大減少。這也是論文宣稱的優(yōu)點之一。
在代碼實現(xiàn)上,embedding后size較大時, 顯然會占用不少資源,得到的矩陣在和后面的w相乘,也是非常消耗計算資源的。由于矩陣滿足交換率,可以先計算后面的
, 得到一個標量,標量再和
相乘,大大節(jié)省了計算復雜度。這也算deep&cross network在實現(xiàn)上的一個trick。
update:
實際應用了下cross network,在embedding層后面接了一層cross network。線上效果并不是很好。整體au基本持平,上漲千分之二。acp漲,ctr降??赡苁墙恿艘粚觕ross network的緣故?需要更多層cross network才能發(fā)揮其優(yōu)勢。有待驗證。