Categories
程式開發

全新的深度模型在推薦系統中的應用


導讀: 如今,在電子商務、物聯網等領域,推薦系統扮演著越來越重要的地位。如何根據用戶的歷史行為和項目的特徵信息,判斷用戶對商品是否感興趣成了重要的研究問題之一。日前,第四範式提出了全新的深度神經網絡表數據分類模型——深度稀疏網絡( Deep Sparse Network,又名NON ),被機器學習頂會SIGIR 2020收錄。本次分享將帶你全面了解NON模型的提出動機、整體結構、局部特點以及突出貢獻。

01 背景介紹

首先對推薦系統和深度學習進行簡單的介紹。什麼是推薦系統?什麼是深度學習?

1. Recommendation system ( 推薦系統 )

全新的深度模型在推薦系統中的應用 1

維基百科給出對於推薦系統的定義:推薦系統是一個過濾系統,推薦系統的目標是預測用戶對給定物品的評分或者喜好度,然後根據評分或者喜好度推薦給用戶對應的物品。

以右圖為例,通過user profile和item properties,預測用戶對item1-4的打分,預測用戶的最後選擇item 1和item 2,然後推薦給用戶。在現實生活中的應用, 不同的應用軟件會向用戶推薦商品、電影、書籍、視頻等。

2. Deep Learning ( 深度學習 )

全新的深度模型在推薦系統中的應用 2

維基百科對深度學習的介紹:

  • 深度學習是機器學習的分支,一種基於人工神經網絡的表徵學習方法;
  • 神經網絡是受到生物神經網絡的啟發,從而構建的計算系統。

一個簡單的神經網絡分為三個部分: 輸入特徵,隱藏層,預測層 。對於全連接的神經網絡結構,每一層的神經元都是以前一層所有的輸出作為輸入。然後每個神經元都有一個非線性的函數,對輸出值做一個非線性的變化。有一種說法,只要神經網絡的層數夠深,它就能擬合或者逼近任何一種函數。這種說法表達了神經網絡強大的表徵能力,也說明了神經網絡主要功能之一,即學習輸入到輸出的函數變換。

02 相關工作

可以將推薦系統分為以下四類,簡單介紹基於內容的推薦算法、基於協同過濾的推薦算法、混合推薦算法,重點介紹基於模型的推薦算法。在介紹基於模型的推薦時,先給出了一些淺層的推薦算法,之後介紹了一些基於深度學習的推薦算法。

全新的深度模型在推薦系統中的應用 3

知足常識

基於內容的推薦算法。主要根據用戶的瀏覽記錄,或者購買記錄,向用戶推薦與其瀏覽記錄或者購買記錄相似的物品。

協同過濾

基於協同過濾的推薦算法。主要根據擁有相同經驗或者相同群體的喜好,為用戶推薦感興趣的資訊或者物品。例如用戶A和用戶B相似,就可以把用戶B喜歡的物品推薦給用戶A。協同過濾算法還可以分為基於用戶的協同算法和基於物品的協同算法。

雜種

混合推薦算法,將不同的算法混合使用。可以在不同階段使用不同的推薦算法,也可以對多個推薦算法進行不同的處理,然後將多個推薦算法的結果耦合,將最終結果推薦給用戶。

基於模型

基於模型的推薦算法。將用戶的profile和物品的properties作為特徵,用機器學習模型,來預測用戶對物品的喜好程度。在推薦系統中,經常會用到點擊率( CTR ) 來表示喜好程度。點擊率表示用戶點擊物品的概率,點擊率越高說明用戶對該物品的喜好程度越高。

在上圖中給出了一個例子,表示用戶對電影的點擊率。其中每一行是一個樣本,每一列是不同的特徵,表示用戶的屬性,電影的特徵,以及用戶的一些歷史行為記錄。在每一條樣本中,0表示用戶沒有點擊對應的movie,1表示點擊對應電影。那麼此時問題已經轉化為二分類問題。

接下來介紹下基於模型的常見方法:

1. 淺層的基於模型的方法

全新的深度模型在推薦系統中的應用 4

首先,是一些比較淺層的推薦方法,例如LR、FM、FFM等。邏輯回歸算法( Logistic Regression,LR ) 是推薦系統的常用方法之一。將用戶的瀏覽記錄和項目的信息、離散特徵,通過one-hot編碼;將數值類特徵歸一化,或者通過分桶技術,進行離散化;然後通過LR模型進行訓練。 LR模型很穩定, 但是缺乏學習高階特徵的能力,尤其是特徵間的交互。而FM模型和FFM模型則將高度的離散特徵通過embedding,轉化為低維的稠密向量。然後用稠密向量的內積表示特徵之間的交互特徵。

上圖展示了embedding的過程,Categorical Field x一世是高維稀疏離散特徵,通過one-hot表示,只有一元為1,其他都是0。因為x一世的one-hot表示只有一元為1,通過矩陣乘法,取出W一世矩陣的x一世列,得到對應低維的稠密向量。 LR、FM和FFM三種模型取得了較好的效果,但由於它們的結構較淺,其表達能力也受到了限制。

2. 基於深度學習的方法

全新的深度模型在推薦系統中的應用 5

基於深度學習的推薦方法,以其中兩個典型的模型為例:DNN模型和Wide&Deep模型。

  • DNN模型。 DNN方法使用了Embedding技術,將離散和數值特徵Embedding 到低維的稠密向量。然後和將稠密向量和數值特徵拼接,作為DNN的輸入,然後直接預測輸出。
  • Wide&Deep模型。 Wide&Deep方法,對比DNN方法。增加了Wide的部分,即專家手工設計的高階特徵。然後把高階特徵和DNN學到的特徵拼接,作為模型的輸入,預測最終的點擊率。

其他深度學習的方法借鑒了Wide&Deep的模式。例如,在DeepFM模型中,將專家手工設計的部分( Wide部分) 替換成了FM;在xDeepFM模型中, 將Wide部分替換成了CNN;在AutoInt模型中,將Wide部分替換成self-attention的網絡。

在推薦系統中還有一類方法,基於用戶的興趣, 使用了用戶的歷史行為數據,例如DIN、DSIN,但是這類方法不在本次討論範圍之內。

3. 上述方法存在的問題

全新的深度模型在推薦系統中的應用 6

首先,現有方法直接融合不同特徵域的向量表示,而未顯式地考慮域內信息。我們將”每個特徵域內的不同特徵值,均屬於同一個特徵域”記為域內信息。對於每個特徵域中的特徵,它們的內在屬性是都屬於同一個特徵域。以在線廣告場景為例,假設特徵域“advertiser_id” 和“user_id” 分別表示廣告商和用戶的ID,則特徵域“advertiser_id” ( “user_id” ) 中的不同的廣告商ID ( 用戶ID ) 都屬於廣告商( 用戶) 這個特徵域。此外,特徵域有自己的含義,如“advertiser_id” 和“user_id” 分別代表廣告主和用戶,而不管域內特徵的具體取值。

其次,大多數現有方法使用預定義的特徵域交互操作組合( 如DNN、FM ),而未考慮輸入數據。事實上,預定義的操作組合併不適用於所有的數據,而是應該根據數據選擇不同的操作,以獲得更好的分類效果。如上圖所示:

  • Wide&Deep中的Operations使用了Linear和DNN;
  • DeepFM使用了FM和DNN;
  • xDeepFM使用了CIN、Linear和DNN;
  • AutoInt中使用了self-attention和DNN。

同時他們在預測時,都是將不同的結果通過線性求和關聯起來,沒有考慮非線性的關係,即現有方法忽略了特徵域交互操作( 如DNN和FM ) 的輸出之間的非線性。

03 NON模型詳細講解

接下來為大家全面介紹Network on Network。

1. NON模型整體結構

全新的深度模型在推薦系統中的應用 7

為了解決上述問題,第四範式提出了深度稀疏網絡( NON ),它由三部分組成:底層為域內網絡( Field-wise Network ) 中層為域間網絡( Across Field Network ),頂層為融合網絡( Operation Fusion Network )。域內網絡為每個特徵域使用一個DNN來捕獲域內信息;域間網絡包含了大部分已有的Operation,採用多種域間交互操作來刻畫特徵域間潛在的相互作用;最後融合網絡利用DNN的非線性,對所選特徵域交互操作的輸出進行深度融合,得到最終的預測結果。

2.現場網絡

全新的深度模型在推薦系統中的應用 8

每一個特徵Field都和一個NN網絡相連,其中類別特徵先進行Embedding操作,而數值型特徵直接通過NN網絡。通過NN網絡強大的學習能力,顯示地學習特徵域內信息。鑑於DNN的強大的表達能力,特徵域內信息可以被充分地學習。還有一點需要注意,在模型中還加入了一個Gate Function,將NN的輸出和輸入耦合起來,常見的Gate Function包括concatenation、element-wise product以及其他更加複雜的操作。對於Field-wise network的詳細分析將在實驗中介紹。

3.跨現場網絡

全新的深度模型在推薦系統中的應用 9

在域間網絡( Across field network ) 中,利用已有的Operation,來學習特徵之間的Interaction,這些Operation都是以Field-wise network的輸出為輸入。常見的特徵域交互操作包括LR、DNN、FM、Bi-Interaction和多頭自註意網絡等。 NON在設計上,兼容目前大部分學術上提出的Operation。在實際應用中,NON將Operation作為超參數,在訓練過程中根據數據進行選擇。現有方法中,域間交互操作的方式是用戶事先指定的。而在深度稀疏網絡中,可以通過數據,自適應地選擇最合適的操作組合,即在深度稀疏網絡中,操作組合的選擇是數據驅動的。

4.運營融合網絡

全新的深度模型在推薦系統中的應用 10

在融合網絡( Operation fusion network ) 中,將域間網絡層的輸出拼接作為NN的輸入,並利用NN的非線性,學習不同Operation的高階特徵表示。

需要注意一點,NON網絡設計的特別深,所以在訓練過程中,很容易出現梯度消散的現象,導致模型效果變差。受到GoogLeNet的啟發,在模型訓練過程中引入了輔助損失。在DNN的每一層都加入了一條路徑,連接到最終的損失上,緩解了梯度消散問題。經測試,該方案不僅能夠增加模型最終預測效果,也使得模型能在更短的時間內,取得更好的效果。如下圖所示。

全新的深度模型在推薦系統中的應用 11

至此模型介紹結束,接下來將分析實驗結果。

04 NON模型實驗結果分析

1.具有輔助損耗的DNN

全新的深度模型在推薦系統中的應用 12

這是在Criteo的採樣數據集上的實驗結果,圖中的橫坐標是訓練的輪次,縱坐標是AUC。從圖上可以看出,通過添加輔助損失,訓練效率明顯提升。在同等AUC的情況下,產生了1.67倍的加速。本文之後的所有關於NON的訓練都是通過添加輔助函數的方式進行訓練的。

2. NON的消融研究

全新的深度模型在推薦系統中的應用 13

在NON消融學習中,展示NON每一個模塊的作用。從左到右:第一列數據集;第二列,只有DNN;第三列,增加輔助損失的DNN,和DNN比較,添加了輔助損失可以提高性能;第四列,添加了Field-wise Network ,從結果看出,域內網絡捕獲的域內信息有助於提高模型的泛化性能;第五列,加入了Across field network,結果有所提升;第六列,完整的NON模型,取得了最好的結果。可以看出隨著NON不同的組件堆疊,模型的預測效果持續增長。

3.現場網絡研究

全新的深度模型在推薦系統中的應用 14

從定性和定量的角度分析Field-wise network的結果。右圖是不同特徵域Embedding的可視化展示。第一行是通過Field-wise network之前,第二行是通過Field-wise network之後。不同的顏色表示不同Field中的Embedding。通過對Field-wise network處理前後特徵值對應的向量進行可視化的比較,可以看出經過Field-wise network後,每個Field內的特徵在向量空間中更加接近,不同Field間的特徵也更容易區分。

左側的表格展示了所有的Field 內部的Embedding 平均餘弦相似度( 數值越大,相似度越高)。 Field-wise network可以使餘弦距離提高一到兩個量級,即能有效地捕獲每個域內特徵的相似性。

4.運作研究

全新的深度模型在推薦系統中的應用 15

對Operation的學習,就是對Across field network層的學習。這一部分做了兩個實驗。在Across field network,深度稀疏網絡將不同的交互操作視為超參數,並根據在具體數據驗證集上的效果,選擇最適合的交互操作。其中,DNN 被視為必選,而其他操作( LR、Bi-Interaction和multi-head self-attention ) 被視為可選。第二個試驗,通過固定域間網絡中的操作組合來進行更多驗證。橫坐標是不同的組合,縱坐標是AUC。可以看出沒有一個操作組合能夠在所有數據集上都取得最優效果,這表明了根據數據選擇操作組合的必要性。

全新的深度模型在推薦系統中的應用 16

上表列出了在不同數據集上表現好的Operation組合,可以看到DNN和LR都有,可能是因為LR的穩定性很好。同時,從結果可以看出來,大數據集傾向於選擇容量大、複雜的操作組合;小數據集傾向於輕量、簡單的操作組合。再一次證明需要對不同的數據集需要選擇不同的Operation組合。

5.與SOTA的比較

全新的深度模型在推薦系統中的應用 17

和當前的SOTA模型進行比較。與FFM、DNN、Wide&Deep、NFM、xDeepFM、AutoInt等模型相比,深度稀疏網絡在實驗數據集上均能獲得最好的結果,AUC可提高0.64%~0.99%,結果說明NON模型設計的有效性。其次,看一些細節,在Talkshow數據集上,NFM模型的效果退步,說明網絡不一定越複雜越來,需要進行仔細的設計,才能獲得較好的結果。結果證明了NON模型設計範式的有效性。

今天的分享就到這裡,謝謝大家。

作者介紹

周浩博士,第四範式研究員。

周浩,第四範式研究員,復旦大學博士。主要研究方向為自動機器學習、深度學習在推薦系統中的應用,相關研究成果發表在KDD/SIGIR上。

本文來自DataFunTalk

原文鏈接

全新的深度模型在推薦系統中的應用