首頁/ 家居/ 正文

微軟深度CTR預估模型DeepCrossing:殘差網路擬合特徵的自動交叉

深度學習和推薦演算法模型的結合,自從2016年開始,如雨後春筍般爆發,微軟的DeepCrossing模型就是在這一時期發表的。DeepCrossing結合了深度網路模型和cv領域的經典模型Residual Network,並實現了對推薦領域常見的稀疏特徵的互動資訊表達。DeepCrossing模型也是深度學習技術應用在推薦演算法中的一個開創性的工作。

一、模型結構

DeepCrossing模型結構如下所示,主要分為下面2個模組:

Embedding and Stacking Layers:對模型輸入的原始特徵進行embedding化,並且做concat操作;

Residual Layers:將拼接後的特徵向量輸入殘差網路。

微軟深度CTR預估模型DeepCrossing:殘差網路擬合特徵的自動交叉

1.Embedding and Stacking Layers

對原始輸入特徵進行embedding的預處理,是深度CTR預估模型中很常見的操作,在DeepCrossing模型中,對特徵的處理分成了兩類特徵:

counting feature:即統計類特徵,這一類特徵為dense特徵;

sparse feature:即離散特徵,多為類別形式的特徵,這一類特徵採取了兩種處理方式:

特徵包含的類別數量大於256時,對類別特徵進行embedding變換;

特徵包含的類別數量不大於256時,直接使用onehot格式即可。

特徵預處理之後,所有處理後的特徵進行concat在一起,flatten即可。

2.Residual Layers

DeepCrossing中特別提到了,將殘差網路和深度CTR預估模型的結合使用,DeepCrossing是首創的。我們先來回顧一下殘差網路,如下所示是常見的殘差網路模型結構。

微軟深度CTR預估模型DeepCrossing:殘差網路擬合特徵的自動交叉

X_I為殘差網路的輸入,X_O為殘差網路的輸出,從X_I到X_O有兩條路徑,其中一路是常規的經過多層全連線層的feed-forward結構,另外一路是一個直連的short-cut結構,因此合併一起的輸入到輸出的公式為:

而在使用殘差結構之前,DeepCrossing也實驗了其他的深度模型結構,但是都沒有證明,能夠透過增加複雜性來獲得比兩到三層的淺層模型更好的效果。DeepCrossing的模型結構具有通用性,很容易拓展到其它場景的CTR預估模型中,這也一定程度上說明Residual結構似乎顯現出一些隱性的正則化能力(對資料有較強的泛化能力)。

二、模型分析

我們可以從Early Crossing vs。 Late Crossing的角度,對比一下DeepCrossing模型和DSSM模型的相似性和區別。下圖是一個修改後的DSSM模型,其中綠色實線的左側保留了DSSM模型的原始結構,右側為一個logloss的目標函式,這看起來更像是一個預估CTR目標的二分類模型。

微軟深度CTR預估模型DeepCrossing:殘差網路擬合特徵的自動交叉

從DeepCrossing和修改後的DSSM模型來看:

修改後的DSSM模型,也就是變種的雙塔模型,是在feed-forward的比較靠後的階段才出現特徵互動步驟的,具體也就是在計算Cosine距離之前,輸入特徵完全是在兩個各自不同的路徑上進行embedding後的MLP變換的;

DeepCorssing模型,先是對原始特徵做了一個單層的embedding變換,之後就對特徵做互動操作了,因此,從整個模型的feed-forward過程來看,DeepCrossing模型更早地實現了特徵互動操作。

因此,儘管在很多工業場景下已經驗證了DSSM模型的有效性,但是在我們這裡實驗來看,DeepCrossing仍然獲得了更優秀的效果,這也證明了DeepCrossing模型結構設計的有效性。

微軟深度CTR預估模型DeepCrossing:殘差網路擬合特徵的自動交叉

三、後續模型學習

DeepCrossing模型第一次實現了CV領域的Residual結構和深度CTR預估模型的結合使用,並且獲得了更優的模型效果。這也為後來學術界乃至工業界的其他優秀學者和工程師們,不斷地去探索將機器學習的其它領域如CV、NLP、語音識別等和深度學習推薦演算法領域進行有效的結合。

相關文章

頂部