標籤:

TransNets: Learning to Transform for Recommendation

TransNets: Learning to Transform for Recommendation

來自專欄西土城的搬磚日常

論文來源:RecSys 2017

論文鏈接:TransNets: Learning to Transform for Recommendation

1、推薦問題介紹

商品推薦的目標是準確判斷某個用戶對某個物品的打分。可以將某個物品的所有review concat之後作為該物品的描述文檔,同樣可以將某個用戶的review concat之後作為該用戶的描述文檔,之後基於描述文檔對用戶和物品建模,分別得到用戶和物

品的向量表示,最後採用FM方法預測打分。

2、作者要改進的模型

比較好的對用戶文檔或者物品文檔的建模方式是CNN,結構如下:

CNN的輸入長度是固定的,一般會選取一個長度閾值,長於這個閾值的部分會被截斷。

第一層的embedding層是對截斷文檔中的每個詞做embedding,之後是卷積、池化,最後得到一個截斷文檔的隱層表示作為用戶或者物品的特徵表示。

作者要改進的模型:

2邊分別是用戶的建模和物品的建模,中間的 Gamma_{A}Gamma_{B} 是Figure 1中的CNN模型,CNN模型之後是全連接層和Dropout層,Dropout層的輸出可以認為是某個用戶或者物品的特徵表達,最後經過FM得到預測打分。

其中 z 向量是2邊Dropout層的輸出concat得到的, z_{i}z_{j}z 的元素。

loss採用L1 loss:

3、DeepCoNN模型的limit

由於用戶(物品)的描述文檔是用戶(物品)所有review concat得到的,所以在訓練中要擬合用戶A對物品B的打分時,用戶A對物品B的review也是包含在該描述文檔中的,但是在實際中,要預測某個用戶對某個物品的打分時,一般是得不到此用戶對此物品的review的,所以訓練數據的構造是不合理的。作者基於這個想法,提出了新的模型TransNet。

4、TransNet

source network的輸入和DeepCoNN相比,在擬合用戶A對物品B的打分時,會把A對B的review Rev_{AB} 從描述文檔中去掉。TRANSFROM 之前的部分和DeepCoNN是相同的,描述文檔經過CNN,之後用戶的特徵向量和物品的特徵向量concat起來作為TRANSFROM的輸入。

TRANSFROM部分利用了用戶A對物品B的review,右邊的Target Network用CNN對 Rev_{AB} 建模,也就是 Gamma_{T} 部分,之後得到該review的特徵表示,作者的思想是Source NetWork學到的特徵表示應該和Target Network 學到的特徵表示類似,也就是說只要Source Network可以擬合出用戶真實review的表達就可以,即圖中的loss部分。Target Network會根據真實打分來學習該review的特徵表示。

Target Network的數學表達:

Source Network的前部分數學表達(TRANSFROM 輸入之前):

TRANSFROM之後是前向神經網路。loss部分放在訓練過程中講。

5、訓練過程和預測過程

作者的幾種訓練方式嘗試:

  • end2end 訓練vs training with sub-steps

如果在一次迭代中一起更新所有的loss: loss=loss_{T}+loss_{trans}+loss_{S} ,就會使得 loss_{T} 的更新不僅僅依賴於Target Network,還有受Transform的影響,可能最終 loss_{trans} 比較小,但是其它的loss卻相對大,這不是我們期待的結果。最終的目標是希望 loss_{S} 比較小。

  • 訓練Target Network獨立收斂

單獨訓練Target Network的時候,無法評估網路參數學的好壞,當 loss_{T} 比較低的時候,未必 loss_{S} 會比較小。

6、實驗

  • 數據集

  • 評價指標

  • 實驗結果

TransNet-Ext是作者在上述模型的基礎上加上了用戶和物品的偏置矩陣。詳細可以參考論文。

7、可視化

對於一個測試example 用戶P和物品Q,為了驗證source network學到了用戶P對物品Q的真實review特徵,作者首先根據用戶p和物品Q的描述文檔,經過source network得到review隱特徵表示,也就是 z_{l} ;之後將其它用戶對物品Q 的review文檔分別通過target network,得到很多的 x_{T} ,根據歐式距離, z_{l} 與那個 x_{T} 最接近,就代表該 x_{T} 對應的review與用戶P對物品Q的review最相似。

8、總結

其實作者只是改進了一個點,但是論文裡面訓練過程的分析特別清楚,包括為什麼選擇這種方式訓練,以及後面和很多現有結構的對比,還有可視化過程,讓整篇論文非常完整,邏輯也很清晰,值得學習。

推薦閱讀:

笑到全身抽搐的經典圖片![22P] [幽默推薦]
[好文推薦]等待是一生最初的蒼老 —— 顧小白
強烈推薦7對超強食物組合
閱讀推薦:《納粹德國:一部新的歷史》
東皇太一有什麼銘文推薦?

TAG:推薦 |