1. 程式人生 > >基於深度學習的推薦系統(二)MLP based

基於深度學習的推薦系統(二)MLP based

在第二部分,我們總結MLP基礎上的推薦系統,我在這裡只截取了原文的一部分內容。這篇部落格中所使用的註解字元和參考文獻目錄可以在基於深度學習的推薦系統(一)Overview中找到。我們把這些工作分為如下幾部分:

傳統推薦演算法的神經網路擴充套件

許多現有的推薦模型基本上是線性方法。 MLP可用於向現有RS方法新增非線性變換。

Neural Collaborative Filtering

在大多數情況下,推薦被視為使用者偏好和專案特徵之間的雙向互動。 例如,矩陣分解(MF)將評分矩陣分解為低維的使用者/專案latent factors。 構建雙神經網路來模擬使用者和專案之間的雙向互動是很自然的。 神經網路矩陣分解(NNMF)[37]和神經協同過濾(NCF)[53]是兩個代表性的著作。

圖2a顯示了NCF架構。 設suusers_u^{user}siitems_i^{item}表示使用者和item的特徵(例如使用者簡檔和專案特徵),或者僅表示使用者uu和專案ii的一個one-hot編碼。 其評分函式定義如下:
rui^=f(UT˙suuser,VT˙siitemU,V,θ)\hat{r_{ui}} = f(U^T \dot~ s_u^{user}, V^T \dot~ s_i^{item} | U, V, \theta),其中f(˙)f(\dot~)是MLP網路,θ

\theta是網路的引數。傳統的MF可以被視為NCF的一個特例。 因此,將矩陣因子分解與MLP融合,以制定更通用的模型是很方便的,該模型利用MF的線性和MLP的非線性來提高推薦質量。 整個網路可以用加權平方損失(用於顯式反饋)或二進位制交叉熵損失(用於隱式反饋)來訓練。

Deep Factorization Machine

DeepFM[47]是一種端到端模型,可無縫整合FM和MLP。它能夠通過深度神經網路來建模high-order interactions,用FM來建模low-order interactions。分解機器(FM)利用加法和內積運算來捕獲特徵之間的線性和成對相互作用(更多細節參見[119]中的等式(1))。MLP利用非線性啟用和深層結構來建模高次特徵互動。 MLP與FM結合的方式受到wide & deep 的網路的啟發。它用FM的神經解釋取代了wide分量。與wide & deep模型相比,DeepFM不需要繁瑣的特徵工程。圖2b說明了DeepFM的結構。 DeepFM的輸入是由pair(

ui)(u,i)(user和item的標識和特徵)組成的m欄位資料。為簡單起見,FM和MLP的輸出分別表示為yFM(x)yFM(x)yMLP(x)yMLP(x)。預測分數的計算方法是:
rui^=σ(yFM(x)+yMLP(x))\hat{r_{ui}} = \sigma(yFM(x) + yMLP(x))σ\sigma代表sigmoid方法。
上述方法都有很多改進版本,我在這裡不再贅述,感興趣的讀者可以去看原文。

使用MLP進行特徵學習

使用MLP進行特徵表示非常簡單且高效,即使它可能不像自編碼器,CNN和RNN那樣強大。

wide & deep model

這個通用模型(如圖3a所示)可以解決迴歸和分類問題,但最初是為Google Play中的App推薦引入的[20]。 wide學習元件是單層感知器,也可以視為廣義線性模型。 deep學習元件是多層感知器。 結合這兩種學習技術的基本原理是它使推薦演算法能夠具備記憶力和泛化能力。 wide學習元件實現的記憶代表了從歷史資料中捕獲直接特徵的能力。 同時,deep學習元件通過產生更一般和抽象的表示來捕捉泛化能力。 該模型可以提高推薦的準確性和多樣性。

形式上,wide元件可以表示為y=WwideT{x,ϕ(x)}+by = W^T_{wide}\{x, \phi(x)\} + b,即線性模型。{x,ϕ(x)}\{x, \phi(x)\}表示一組輸入,輸入由原始輸入特徵xx和變換(例如,交叉
轉換以捕獲特徵之間的相關性)之後的特徵組成。而深度網路部分的每一層的形式都為α(l+1)=f(Wdeep(l)a(l)+b(l))\alpha^{(l+1)} = f(W_{deep}^{(l)}a^{(l)} + b^{(l)})ll代表層數, f(˙)f(\dot~)是啟用函式。整個wide & deep模型則表示為:
P(rui^=1x)=σ(WwideT{x,ϕ(x)}+Wdeep(l)a(lf)+bias)P(\hat{r_{ui}} = 1|x) = \sigma(W^T_{wide}\{x, \phi(x)\} + W_{deep}^{(l)}a^{(l_f)} + bias)。其中σ\sigma代表sigmoid函式,a(lf)a^{(l_f)}代表最後一層的activation。

同樣地,這個模型的其他擴充套件也請去原文閱讀。

基於深層結構化語義模型的推薦

深度結構化語義模型(DSSM)[65]是一種深度神經網路,用於學習公共連續語義空間中實體的語義表示並測量它們的語義相似性。 它廣泛應用於資訊檢索領域,非常適合於top-n推薦[39,182]。 DSSM將不同的實體投射到一個共同的低維空間,並計算它們的餘弦相似性。基本的DSSM由MLP組成,因此我們將其放在本節中。 請注意,更高階的神經層(如卷積和最大池層)也可以輕鬆整合到DSSM中。

Deep Semantic Similarity based Personalized Recommendation (DSPR) [182]是標籤感知個性化推薦器,其中每個使用者xux_u和專案xix_i由標籤註釋表示並對映到公共標籤空間。 餘弦相似度sim(ui)sim(u,i)用於決定item和user的相關性(或使用者對專案的偏好)。 DSPR的損耗函式定義如下:
L=(u,i)[log(esim(u,i))log((u,i)D)esim(u,i)]L = -\sum_{(u,i*)}[log(e^{sim(u,i*)}) - log(\sum_{(u, i^-) \in D^-})e^{sim(u, i^-)}]

其中(u,i)(u, i^-)是從負的user-item pair中隨機抽取的負樣本。

Multi-View Deep Neural Network (MV-DNN) [39]是為跨域推薦而設計的。 它將使用者視為樞軸檢視,並將每個域(假設我們有Z個域)視為輔助檢視。 顯然,Z個user-domain對有Z個相似度得分。 圖3b示出了MV-DNN的結構。 MV-DNN的損失函式定義為:

其中θ\theta是模型引數,γ\gamma是平滑因子,YuY_u是user檢視的輸出,a是當前active的檢視的index,RdaR^{da}是view a的輸入domain。MV-DNN能夠擴充套件到許多domain。 然而,它基於這樣的假設:如果使用者在某一個domain中具有相似的品味,那麼他們在其他domain中也應該具有相似的品味。 直觀地說,在許多情況下,這種假設可能是不合理的。 因此,我們應該對不同domain之間的相關性有一些初步瞭解,以充分利用MV-DNN。