模型構(gòu)造
一個(gè)DCN模型從嵌入和堆積層開始搅吁,接著是一個(gè)交叉網(wǎng)絡(luò)和一個(gè)與之平行的深度網(wǎng)絡(luò)藻丢,最后是組合層病蛉,結(jié)合了兩個(gè)網(wǎng)絡(luò)的輸出扛施。模型如圖:
嵌入和堆積層
考慮離散和連續(xù)特征的輸入數(shù)據(jù)汽烦,在網(wǎng)絡(luò)規(guī)模的推薦系統(tǒng)中涛菠,如CTR預(yù)測(cè),輸入主要是categories特征,比如"country=China"俗冻,這些特征通常通過(guò)獨(dú)熱編碼礁叔,將其編碼為獨(dú)熱向量,比如"[0,0,1,0]", 然而迄薄,這樣往往會(huì)出現(xiàn)高維特征空間琅关。為了減少維數(shù),我們利用嵌入讥蔽,將這些離散特征轉(zhuǎn)換成實(shí)數(shù)值的稠密向量(通常稱為嵌入向量)涣易。
然后,將嵌入向量和連續(xù)特征堆積起來(lái)冶伞,形成一個(gè)向量新症。
將 作為Cross network和 Deep network的輸入。
因?yàn)樵谳斎雽用嫦烨荩挥衑mbedding和continuous账劲,特征交叉在交叉網(wǎng)絡(luò)中實(shí)現(xiàn)。
Cross Network
交叉網(wǎng)絡(luò)的核心是以有效的方式應(yīng)用顯示特征交叉金抡。交叉網(wǎng)絡(luò)由交叉層組成瀑焦,第 層的cross layer為:
一個(gè)交叉層如下圖:
由上圖可以看出,交叉網(wǎng)絡(luò)的的總參數(shù)量非常少梗肝,僅僅為, 每一層的維度也都保持一致榛瓮,最后的output依然與input維度相等。另一方面巫击,特征交叉的概念體現(xiàn)在每一層禀晓,當(dāng)前層的輸出的交叉特征都要與第一層輸入的原始特征做一次兩兩交叉,至于在最后又把
加上坝锰,應(yīng)該是借鑒了ResNet的思想粹懒,模型最終擬合的是
這一項(xiàng)的殘差。從cross layer的表示公式中也能看出顷级,實(shí)際的特征交叉部分
凫乖,擬合就是殘差。
Deep Network
深度網(wǎng)絡(luò)就是一個(gè)全連接的前饋神經(jīng)網(wǎng)絡(luò)弓颈,每個(gè)深度層都有如下公式:
假設(shè)所有的層都是一樣的大小帽芽,表示層的深度,
表示層的尺寸翔冀,在深度網(wǎng)絡(luò)中导街,參數(shù)量為:
可以看出整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)量主要還是在深度網(wǎng)絡(luò)一側(cè)。
Combination Layer
組合層將兩個(gè)并行網(wǎng)絡(luò)的輸出連接起來(lái)纤子,經(jīng)過(guò)一層全連接層得到輸出:
采用對(duì)數(shù)損失函數(shù)搬瑰,形式如下:
總結(jié)
DCN能有效地找出有限度的有效特征的相互作用款票,學(xué)會(huì)高度非線性的相互作用,不需要人工特征或遍歷搜索泽论,并具有較低的計(jì)算成本艾少。實(shí)驗(yàn)結(jié)果表明,DCN在對(duì)數(shù)損失函數(shù)上與DNN相比佩厚,少了近一個(gè)量級(jí)的參數(shù)量姆钉。