Deep Crossing模型——經典的深度學習架構

Litra LIN發表於2020-10-31

1、前言

承上啟下:由於AutoRec模型過於簡單的網路結構會出現一些表達能力不足的問題,Deep Crossing模型完整地解決了從特徵方程向量稠密化,多層神經網路進行優化目標擬合等一系列深度學習再推薦系統中的應用問題,為後續打下了良好的基礎。

2、Deep Crossing的應用場景

Deep Crossing模型的應用場景是微軟搜尋引擎Bing中的搜尋廣告推薦場景。使用者在搜尋引擎中輸入搜尋詞之後,搜尋引擎除了會返回相關結果,還會返回與搜尋詞相關的廣告。儘可能地增加搜尋廣告的點選率,準確地預測廣告點選率,並以此作為廣告排序的指標之一,是非常重要的工作,也是Deep Crossing模型的優化目標。

微軟使用的特徵如下表所示,這些特徵可以分為三類:一類是可以被處理成one-hot或者multi-hot向量的類別型特徵,包括使用者搜尋詞(query)、廣告關鍵詞(keyword)、廣告標題(title)、落地頁(landing page)、匹配型別(match type);一類是數值型特徵,微軟稱其為計數型特徵,包括點選率、預估點選率(click prediction);一類是需要進一步處理的特徵,包括廣告計劃(campaign)、曝光計劃(impression)、點選樣例(click)等。

3、特徵表示

類別型特徵可以通過one-hot或multi-hot編碼生成特徵向量,數值型特徵則可以直接拼接進特徵向量中,在生成所有輸入特徵的向量表達後,Deep Crossing模型利用該特徵向量進行CTR預估。深度學習網路的特點是可以根據需求靈活地對網路結構進行調整,從而達成從原始特徵向量到最終的優化目標的端到端的訓練目的。

特徵包括個體特徵(Individual Features)和組合特徵(Combinatorial Features)。個體特徵Xi可以通過向量進行表示,例如搜尋詞這樣的文字特徵,可以通過使用將字串轉換成3個字母的詞來表示[3]。組合特徵由個體特徵組合而成,個體特徵 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-TgEti7IR-1604106691266)(https://www.zhihu.com/equation?tex=X_%7Bi%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bi%7D%7D)] ,[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-oEQ1EAbR-1604106691271)(https://www.zhihu.com/equation?tex=X_%7Bj%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bj%7D%7D)] ,組合特徵 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Eldk3B3O-1604106691274)(https://www.zhihu.com/equation?tex=X_%7Bi%2Cj%7D%E2%88%88%5Cmathbb%7BR%7D%5E%7Bn_i%7D++%5Ctimes+%5Cmathbb%7BR%7D%5E%7Bn_j%7D+)] 。Deep Crossing避免使用組合特徵。它可以處理稀疏和密集的個體特徵,並且支援上面描述的各種特性型別。這使使用者可以自由地使用他們從特定應用程式中選擇的特徵。

4.模型結構

下圖為Deep Crossing的模型結構,模型的輸入是一系列個體特徵。模型有四種型別的層,包括Embedding層,Stacking層,Residual Unit層和Scoring層。目標函式是log損失函式,也可以使用softmax函式或其他函式。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-KltGlZfA-1604106691280)(https://www.zhihu.com/equation?tex=%5Coperatorname%7Blogloss%7D%3D-%5Cfrac%7B1%7D%7BN%7D+%5Csum_%7Bi%3D1%7D%5E%7BN%7D%5Cleft%28y_%7Bi%7D+%5Clog+%5Cleft%28p_%7Bi%7D%5Cright%29%2B%5Cleft%281-y_%7Bi%7D%5Cright%29+%5Clog+%5Cleft%281-p_%7Bi%7D%5Cright%29%5Cright%29)]

N是樣本數,yi是每個樣本的標籤,pi是下圖中單節點Scoring層的輸出,在本例中是一個Sigmoid函式。

imgDeep Crossing模型的結構圖

Embedding層:Embedding層將稀疏的類別型特徵轉換成稠密的Embedding向量。Embedding層由單層神經網路構成,一般形式為:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-r6eTj5mS-1604106691285)(https://www.zhihu.com/equation?tex=X_%7Bj%7D%5E%7BO%7D%3D%5Cmax+%5Cleft%28%5Cmathbf%7B0%7D%2C+%5Cmathbf%7BW%7D_%7Bj%7D+X_%7Bj%7D%5E%7BI%7D%2B%5Cmathbf%7Bb%7D_%7Bj%7D%5Cright%29)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-2MB50OSU-1604106691287)(https://www.zhihu.com/equation?tex=X_%7Bj%7D%5E%7BI%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bj%7D%7D)] 是輸入特徵,Wj是一個mj×nj的矩陣, [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-6nXcatdU-1604106691289)(https://www.zhihu.com/equation?tex=%5Cmathbf%7Bb%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bj%7D%7D)]

需要指出的是,Embedding的大小對模型的整體大小有著重大的影響。Figure1中的Feature#2代表了數值型特徵,可以看到,數值型特徵不需要經過Embedding層,直接進入了Stacking層。Embedding被用來減少輸入特徵的維度。

Stacking層:Stacking層的作用是將Embedding的輸出特徵和數值型特徵拼接在一起,形成新的包含全部特徵的特徵向量, [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-mHECerJf-1604106691290)(https://www.zhihu.com/equation?tex=X%5E%7BO%7D%3D%5Cleft%5BX_%7B0%7D%5E%7BO%7D%2C+X_%7B1%7D%5E%7BO%7D%2C+%5Ccdots%2C+X_%7BK%7D%5E%7BO%7D%5Cright%5D)] ,K為輸入特徵的數量。該層通常也被稱為連線層。

Multiple Residual Units層:該層的主要結構是多層感知機,相比標準的以感知機為基本單元的神經網路,Deep Crossing模型採用了多層殘差網路作為MLP的具體實現。在推薦模型中的應用,也是殘差網路首次在影像識別領域之外的成功推廣。通過多層殘差網路對特徵向量各個維度進行充分的交叉組合,使模型能夠抓取到更多的非線性特徵和組合特徵的資訊,進而使深度學習模型在表達能力上較傳統機器學習模型大為增強。

殘差層由如下圖的殘差單元構造而成。Deep Crossing簡單的修改了殘差單元,不適用卷積核。殘差單元的獨特之處在於兩個,(1)它是將原輸入特徵通過兩層以ReLU為啟用函式的全連線層後,生成輸出向量 。(2) 輸入可以通過一個短路通路直接與輸出向量進行元素加操作,生成最終的輸出向量。在這樣的結構下,殘差單元中的兩層ReLU網路其實擬合的是輸出和輸入之間的“殘差”( [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-fuorwgcm-1604106691291)(https://www.zhihu.com/equation?tex=x%5Eo-x%5Ei)] ),這就是殘差神經網路名稱的由來。

img

殘差神經網路的誕生主要解決了兩個問題:

(1)神經網路是不是越深越好?對於傳統的基於感知機的神經網路,當網路加深之後,往往存在過擬合現象,即網路越深,在測試集上的表現越差。而在殘差神經網路中,可以越過兩層ReLU網路,減少過擬合現象的發生。

(2)當神經網路足夠深時,往往存在嚴重的梯度消失現象。梯度消失現象是指在梯度反向傳播過程中,越靠近輸入端,梯度的幅度越小,引數收斂的速度越慢。殘差單元使用了ReLU啟用函式取代原來的sigmoid啟用函式。此外,輸入向量短路相當於直接把梯度毫無變化地傳遞到下一層,這也使殘差網路的收斂速度更快。

Scoring層:Scoring層作為輸出層,就是為了擬合優化目標而存在的。對於CTR預估這類二分類問題,Scoring層往往使用的是邏輯迴歸模型,而對於影像分類等多分類問題,Scoring層往往採用softmax模型。

以上就是Deep Crossing的模型結構,在此基礎上採用梯度反向傳播的方法進行訓練,最終得到基於Deep Crossing的CTR預估模型。

5.Deep Crossing模型對特徵交叉方法的革命

從歷史的角度看,Deep Crossing模型的出現是有革命意義的。Deep Crossing模型中沒有任何人工特徵工程的參與,原始特徵經Embedding後輸入神經網路層,將全部特徵交叉的任務交給模型。Deep Crossing模型可以通過調整神經網路的深度進行特徵之間的“深度交叉”,這也是Deep Crossing名稱的由來。

相關文章