【翻譯】Neural Collaborative Filtering--神經協同過濾

【說明】

  本文翻譯自新加坡國立大學何向南博士 et al.發佈在《World Wide Web》(2017)上的一篇論文《Neural Collaborative Filtering》。本人英語水平通常+學術知識匱乏+語文水平拙劣,翻譯權當進一步理解論文和提升專業英語水平,translate不到key point還請見諒。web

何博士的主頁:http://www.comp.nus.edu.sg/~xiangnan/算法

本文原文:http://www.comp.nus.edu.sg/~xiangnan/papers/ncf.pdf跨域

P.S. 何博士的論文通常都是paper+slide+code齊全,學習起來很方便網絡

  翻譯過程當中,不肯定的詞組都會附英文原文,另外本身的補充會用括號+傾斜加粗的形式給出,以助於理解。app

 

【翻譯正文】

神經協同過濾

摘要

  近年來,深層神經網絡在語音識別,計算機視覺和天然語言處理方面都取得了巨大的成功。然而相對的,對應用深層神經網絡的推薦系統的探索卻受到較少的關注。在這項工做中,咱們力求開發一種基於神經網絡的技術,來解決在含有隱形反饋的基礎上進行推薦的關鍵問題————協同過濾。框架

  儘管最近的一些工做已經把深度學習運用到了推薦中,可是他們主要是用它(深度學習)來對一些輔助信息(auxiliary information)建模,好比描述文字的項目和音樂的聲學特徵。當涉及到建模協同過濾的關鍵因素(key factor)————用戶和項目(item)特徵之間的交互的時候,他們仍然採用矩陣分解的方式,並將內積(inner product)作爲用戶和項目的潛在特徵點乘。經過用神經結構代替內積這能夠從數據中學習任意函數,據此咱們提出一種通用框架,咱們稱它爲NCF(Neural network-based Collaborative Filtering,基於神經網絡的協同過濾)。NCF是一種通用的框架,它能夠表達和推廣矩陣分解。爲了提高NFC的非線性建模能力,咱們提出了使用多層感知機去學習用戶-項目之間交互函數(interaction function)。在兩個真實世界(real-world)數據集的普遍實驗顯示了咱們提出的NCF框架對最早進的方法的顯著改進。dom

關鍵字

  協同過濾,神經網絡,深度學習,矩陣分解,隱性反饋(Implicit Feedback).機器學習

1. 引言

  在信息爆炸的時代,推薦系統在減輕信息過載方面發揮了巨大的做用,被衆多在線服務,包括電子商務,網絡新聞和社交媒體等普遍採用。個性化推薦系統的關鍵在於根據過去用戶交互的內容(e.g. 評分,點擊),對用戶對項目的偏好進行建模,就是所謂的協同過濾[31,46]。在衆多的協同過濾技術中,矩陣分解(MF)[14,21]是最受歡迎的,它將用戶和項目映射到共享潛在空間(shared latent space),使用潛在特徵向量(latent features),用以表示用戶或項目。這樣一來,用戶在項目上的交互就被建模爲它們潛在向量之間的內積。ide

  因爲Netflix Prize的普及,MF已經成爲了潛在因素(latent factor)建模推薦的默認方法。已經有大量的工做致力於加強MF(的性能),例如將其與基於鄰居(相鄰用戶or項目)的模型集成[21],與項目內容的主題模型[38]相結合,還有將其擴展到因式分解機(factorization machines)[26],以實現特徵的通用建模。儘管MF對協同過濾有效,但衆所周知,其性能能夠被簡單選擇交互函數(內積)所阻礙。例如,對於顯式反饋的評估預測任務,能夠經過將用戶和項目偏移項歸入交互函數來改善MF模型的性能1。雖然內積算子[14]彷佛只是一個微不足道的調整,但它指出了設計一個更好的專用交互函數,用於建模用戶和項目之間的潛在特徵交互的積極效果。簡單地將潛在特徵的乘積線性組合的內積可能不足以捕捉用戶交互數據的複雜結構。函數

  


1http://alex.smola.org/teaching/berkeley2012/slides/8_Recommender.pdf

  本文探討了使用深層神經網絡來學習數據的交互函數,而不是那些之前已經完成的手動工做(handcraft)[18,21]。神經網絡已經被證實有擬合任何連續函數的能力[17],最近深層神經網絡(DNN)被髮掘出在幾個領域的出色表現:從計算機視覺,語音識別到文本處理[5,10,15,47]。然而,與普遍的MF方法文獻相比,使用DNNs進行推薦的工做相對較少。雖然最近的一些研究進展[37,38,45]已經將DNN應用於推薦任務,並展現出不錯的效果,但他們大多使用DNN來建模一些輔助信息,例如物品的文字描述,音樂的音頻特徵和圖像的視覺內容(描述)。對於影響建模效果的關鍵因素——協同過濾,他們仍然採用MF,使用內積結合用戶和項目潛在特徵。

  咱們這項工做是經過形式化用於協同過濾的神經網絡建模方法來解決上述研究問題。咱們專一於隱性反饋(implicit feedback),經過參考觀看視頻,購買產品和點擊項目等間接反映用戶偏好的行爲。與顯性反饋(explicit feedback)(i.e. 評級和評論)相比,隱性反饋能夠自動跟蹤,從而更容易爲內容提供商所收集。可是,因爲隱性反饋不能反映用戶的滿意度,而且負反饋(negative feedback)存在天然稀疏(natural scarcity)問題,使得這個問題更具挑戰性。在本文中,咱們探討了如何利用DNN來模擬噪聲隱性反饋信號的中心問題。

  這項工做的主要貢獻有以下幾點:

  一、咱們提出了一種神經網絡結構來模擬用戶和項目的潛在特徵,並設計了基於神經網絡的協同過濾的通用框架NCF。

  二、咱們代表MF能夠被解釋爲NCF的特例,並利用多層感知器來賦予NCF高水平的非線性建模能力。

  三、咱們對兩個現實世界的數據集進行普遍的實驗,以證實咱們的NCF方法的有效性和對使用深度學習進行協做過濾的承諾。

2. 準備工做

  咱們首先把問題形式化,並討論現有的隱性反饋協同過濾解決方案。而後,咱們簡要歸納普遍使用的MF模型,重點指出使用內積所形成的對模型的限制。

2.1 學習隱性數據

  令\(\ M\ \)和\(\ N\ \)分別表示用戶和項目的數量。咱們將從用戶的隱性反饋獲得的用戶-項目交互矩陣\(\ Y\in\mathbb{R}^{M\times N}\ \)定義爲:

 

\(y_{ui}=\{_{0,otherwise.}^{1,if\ interaction(user\ u,item\ i)is\ observed;}\ \ \ \ (1)\)

 

  這裏 \(\ y_{ui}\ \)爲 1 表示用戶 \(u\) 和項目 \(i\) 存在交互記錄;然而這並不意味着 \(u\) 真的喜歡 \(i\)。一樣的,值 0 也不是代表 \(u\) 不喜歡 \(i\),也有多是這個用戶根本不知道有這個項目。這對隱性反饋的學習提出了挑戰,由於它提供了關於用戶偏好的噪聲信號。雖然觀察到的條目至少反映了用戶對項目的興趣,可是未查看的條目可能只是丟失數據,而且這其中存在天然稀疏的負反饋。

  在隱性反饋上的推薦問題能夠表達爲估算矩陣 \(Y\) 中未觀察到的條目的分數問題(這個分數被用來評估項目的排名)。基於模型的方法假定這些缺失的數據能夠由底層模型生成(或者說描述)。形式上它能夠被抽象爲學習函數 \(\hat{y}_{ui}=f(u,i|\Theta)\) ,其中 \(\hat{y}_{ui}\) 表示交互 \(\ y_{ui}\ \)的預測分數,\(\Theta\) 表示模型參數,\(f\) 表示表示模型參數映射到預測分數的函數(咱們把它稱做交互函數)。

  爲了估計參數Θ,現有的方法通常是遵循機器學習範例,優化目標函數。在文獻中最經常使用到兩種損失函數:逐點損失[14,19](pointwise loss)和成對損失[27,33] (pairwise loss) 。因爲顯性反饋研究上豐富的工做的天然延伸[21,46],在逐點的學習方法上通​​常是遵循的迴歸模式,最小化 \(\hat{y}_{ui}\) 及其目標值 \(\ y_{ui}\ \)之間的均方偏差。同時爲了處理沒有觀察到的數據,他們要麼將全部未觀察到的條目視做負反饋,要麼從沒有觀察到條目中抽樣做爲負反饋實例[14]。對於成對學習[27,44],作法是,觀察到的條目應該比未觀察到的那些條目的排名更高。所以,成對學習最大化觀察項 \(\hat{y}_{ui}\) 和未觀察到的條目 \(\hat{y}_{ui}\) 之間的空白,而不是減小 \(\hat{y}_{ui}\) 和 \(\ y_{ui}\ \)之間的損失偏差。

  更進一步,咱們的NCF框架利用神經網絡,參數化相互做用函數 \(f\),從而估計 \(\hat{y}_{ui}\)。所以,它就很天然地同時支持點損失和成對損失。

2.2 矩陣分解

  MF(Matrix Factorization)用一個潛在特徵向量實值將每一個用戶和項目關聯起來。令 \(\mathbf{\mathrm{p}}_{u}\) 和 \(\mathbf{\mathrm{q}}_{i}\) 分別表示用戶 \(u\) 和項目 \(i\) 的潛在向量;MF評估相互做用\(\ y_{ui}\ \)做爲 \(\mathbf{\mathrm{p}}_{u}\) 和 \(\mathbf{\mathrm{q}}_{i}\) 的內積:

 

\(\hat{y}_{u,i}=f(u,i|\mathbf{\mathrm{p}_{u}},\mathbf{\mathrm{q}_{i}})=\mathbf{\mathrm{p}_{u}^{T}}\mathbf{\mathrm{q}_{i}}=\sum_{k=1}^{K}p_{uk}q_{ik},\ \ \ \ (2)\)

 

這裏的 \(K\) 表示潛在空間(latent space)的維度。正如咱們所看到的,MF模型是用戶和項目的潛在因素的雙向互動,它假設潛在空間的每一維都是相互獨立的而且用相同的權重將它們線性結合。所以,MF可視爲潛在因素(latent factor)的線性模型。

 

  圖1(Figure 1)展現了的內積函數(inner product function)如何限制MF的表現力。這裏有兩個背景必須事先說明清楚以便於更好地瞭解例子。第一點,因爲MF將用戶和項目映射到同一潛在空間中,兩個用戶之間的類似性也能夠用內積,或者潛在向量之間的角度的餘弦值來衡量2。第二點,不失通常性,咱們使用Jaccard係數3做爲MF須要恢復的兩個用戶的真實情況之間的類似度。

 


2假定潛在向量都是單位長度

3令 \(\boldsymbol{R}_{u}\) 表示與用戶 \(u\) 交互的項目集,那麼用戶 \(u\) 和 \(j\) 之間的Jaccard類似係數就被定義爲:

  \(s_{ij}=\frac{|\boldsymbol{R}_{i}|\cap|\boldsymbol{R}_{j}|}{|\boldsymbol{R}_{i}|\cup|\boldsymbol{R}_{j}|}\)

  咱們首先關注的圖1(a)中的前三行(用戶)。很容易能夠計算出 \(s_{23}(0.66)>s_{12}(0.5)>s_{13}(0.4)\) 。這樣,\(\bf p_{1}\),\(\bf p_{2}\) 和 \(\bf p_{3}\) 在潛在空間中的幾何關係可繪製成圖1(b)。如今,讓咱們考慮一個新的用戶 \(u_{4}\),它的輸入在圖1(a)中的用虛線框出。咱們一樣能夠計算出 \(s_{41}(0.6)>s_{43}(0.4)>s_{42}(0.2)\) ,表示 \(u_{4}\) 最接近 \(u_{1}\),接着是  \(u_{3}\) ,最後是 \(u_{2}\) 。然而,若是MF模型將 \(\bf p_{4}\) 放在了 最接近 \(\bf p_{1}\) 的位置(圖1(b) 中的虛線展現了兩種不一樣的擺放 \(\bf p_{4}\) 的方式,結果同樣),那麼會使得 \(\bf p_{4}\) 相比與 \(\bf p_{3}\) 更接近於 \(\bf p_{2}\) (顯然,根據圖1(a),\(u_{4}\) 應該更接近 \(u_{3}\)),這會致使很大的排名偏差(ranking loss)。

  上面的示例顯示了MF由於使用一個簡單的和固定的內積,來估計在低維潛在空間中用戶-項目的複雜交互,從而所可能形成的限制。咱們注意到,解決該問題的方法之一是使用大量的潛在因子 \(K\) (就是潛在空間向量的維度)。然而這可能對模型的泛化能力產生不利的影響(e.g. 數據的過擬合問題),特別是在稀疏的集合上。在本文的工做中,咱們經過使用DNNs從數據中學習交互函數,突破了這個限制。

3. 神經協同過濾

  咱們首先提出的整體框架NCF,闡述NCF如何學習強調了隱式數據的二進制屬性的機率模型。而後,咱們展現了,MF可以表達爲NCF 的推廣(MF矩陣分解模型是NCF的一個特例)。咱們探索DNNs在協同過濾上的應用,提出了NCF的一個實例,它採用了多層感知器(MLP)來學習用戶-項目交互函數。最後,咱們在NCF框架下結合了MF和MLP,提出了一種新的神經矩陣分解模型(neural matrix factorization model);它統一了在建模用戶項目潛在結構方面,MF的線性建模優點和MLP的非線性優點。

3.1 通用框架

  爲了容許神經網絡對協同過濾進行一個完整的處理,咱們採用圖2(Figure 2)展現的多層感知機去模擬一個用戶項目交互 \(y_{ui}\) ,它的一層的輸出做爲下一層的輸入。底部輸入層包括兩個特徵向量 \({\bf v}_u^U\) 和 \({\bf v}_i^I\) ,分別用來描述用戶 \(u\) 和項目 \(i\) 。 他們能夠進行定製,用以支持普遍的用戶和項目的建模,例如上下文感知[28,1],基於內容[3],和基於鄰居的構建方式[26]。因爲本文工做的重點是純的協同過濾模型設置,咱們僅使用一個用戶和一個項目做爲輸入特徵,它使用one-hot編碼將它們轉化爲二值化稀疏向量。注意到,咱們對輸入使用這樣的通用特徵表示,能夠很容易地使用的內容特徵來表示用戶和項目,以調整解決冷啓動問題。

  輸入層上面是嵌入層(Embedding Layer);它是一個全鏈接層,用來將輸入層的稀疏表示映射爲一個稠密向量(dense vector)。所得到的用戶(項目)的嵌入(就是一個稠密向量)能夠被看做是在潛在因素模型的上下文中用於描述用戶(項目)的潛在向量。而後咱們將用戶嵌入和項目嵌入送入多層神經網絡結構,咱們把這個結構稱爲神經協做過濾層,它將潛在向量映射爲預測分數。NCF層的每一層能夠被定製,用以發現用戶-項目交互的某些潛在結構。最後一個隱含層 \(X\) 的維度尺寸決定了模型的能力。最終輸出層是預測分數 \(\widehat{y}_{ui}\) ,訓練經過最小化 \(\widehat{y}_{ui}\) 和其目標值 \(y_{ui}\) 之間逐點損失進行。咱們注意到,另外一種方式來訓練模型是經過成對學習,如使用個性化貝葉斯排名[27]和基於餘量的損失(margin-based)[33]。因爲本文的重點是對神經網絡建模部分,咱們將使用成對學習訓練NCF留給從此的工做。

  當前咱們制定的NCF預測模型以下:

 

\(\widehat{y}_{ui}=f({\bf P}^{T}{\bf v}_u^U,{\bf Q}^{T}{\bf v}_i^I|{\bf P},{\bf Q},\Theta_{f}),\ \ \ \ (3)\)

 

其中 \({\bf P}\in \mathbb{R}^{M\times K}\), \({\bf Q}\in \mathbb{R}^{N\times K}\),分別表示用戶和項目的潛在因素矩陣;\(\Theta_{j}\) 表示交互函數 \(f\) 的模型參數。因爲函數 \(f\) 被定義爲多層神經網絡,它能夠被定製爲:

 

\(f({\bf P}^{T}{\bf v}_u^U,{\bf Q}^{T}{\bf v}_i^I)=\phi_{out}(\phi_{X}(...\phi_{2}(\phi_{1}({\bf P}^{T}{\bf v}_u^U,{\bf Q}^{T}{\bf v}_i^I))...)),\ \ \ \ (4)\)

 

其中 \(\phi_{out}\) 和 \(\phi_{x}\) 分別表示爲輸出層和第 \(x\) 個神經協做過濾(CF)層映射函數,總共有 \(X\) 個神經協做過濾(CF)層。

3.1.1 NCF學習

  學習模型參數,現有的逐點學習方法[14,39]主要運用均方偏差(squared loss)進行迴歸:

 

\(L_{sqr}=\sum_{(u,i)\in{\bf{y}\cup\bf{y^{-}}}}w_{ui}(y_{ui}-\widehat{y}_{ui})^{2},\ \ \ \ (5)\)

 

其中 \(\bf{y}\) 表示交互矩陣 \(\bf Y\) 中觀察到的條目(如對電影有明確的評分,評級), \(\bf{y^{-}}\)  表示消極實例(negative instances,能夠將未觀察的樣本全體視爲消極實例,或者採起抽樣的方式標記爲消極實例); \(w_{ui}\) 是一個超參數,用來表示訓練實例 \((u,i)\) 的權重。雖然均方偏差能夠經過假設觀測服從高斯分佈[29]來做出解釋,咱們仍然指出,它不適合處理隱性數據(implicit data)。這是由於對於隱含數據來講,目標值 \(y_{ui}\) 是二進制值1或0,表示 \(u\) 是否與 \(i\) 進行了互動。在下文中,咱們提出了逐點學習NCF的機率學方法,特別注重隱性數據的二進制屬性。

  考慮到隱性反饋的一類性質,咱們能夠將 \(y_{ui}\) 的值做爲一個標籤————1表示項目 \(i\) 和用戶 \(u\) 相關,不然爲0。這樣一來預測分數 \(\widehat{y}_{ui}\) 就表明了項目 \(i\) 和用戶 \(u\) 相關的可能性大小。爲了賦予NCF這樣的機率解釋,咱們須要將網絡輸出限制到[0,1]的範圍內,經過使用機率函數(e.g. 邏輯函數sigmoid或者probit函數)做爲激活函數做用在輸出層 \(\phi_{out}\) ,咱們能夠很容易地實現數據壓縮。通過以上設置後,咱們這樣定義似然函數:

 

\(p\left(\bf{y},\bf{y^{-}}|{\bf P},{\bf Q},\Theta_f\right)=\prod_{(u,i)\in\bf{y}}\widehat{y}_{ui}\prod_{(u,i)\in\bf{y}^{-}}\left(1-\widehat{y}_{ui}\right).\ \ \ \ (6)\)

 

對似然函數取負對數,咱們獲得(負對數能夠用來表示Loss函數,並且還能消除小數乘法的下溢出問題):

 

\(L=-\sum_{(u,i)\in\bf{y}}\log\widehat{y}_{ui}-\sum_{(u,i)\in\bf{y}^{-}}\log\left(1-\widehat{y}_{ui}\right)=\sum_{(u,i)\in\bf{y}\cup\bf{y}^{-}}y_{ui}\log\widehat{y}_{ui}+\left(1-y_{ui}\right)\log\left(1-\widehat{y}_{ui}\right).\ \ \ \ (7)\)

 

這是NCF方法須要去最小化的目標函數,而且能夠經過使用隨機梯度降低(SGD)來進行訓練優化。細心的讀者可能發現了,這個函數和二類交叉熵損失函數(binary cross-entropy loss,又被成爲log loss)是同樣的。經過在NCF上使用這樣一個機率處理(probabilistic treatment),咱們把隱性反饋的推薦問題當作一個二分類問題來解決。因爲分類用的交叉熵損失不多出如今有關推薦的文獻中,咱們將在這項工做中對它進行探討,並在4.3節展現它的有效性。對於消極實例 \(\bf{y}^{-}\) ,咱們在每次迭代均勻地從未觀察到的相互做用中採樣(做爲消極實例)而且對照可觀察到交互的數量,控制採樣比率。雖然非均勻採樣策略(例如,基於項目流行度進行採樣[14,12])可能會進一步提升模型性能,咱們將這方面的探索做爲從此的工做。

3.2 廣義矩陣分解

  咱們如今來證實MF是如何被解釋爲咱們的NCF框架的一個特例。因爲MF是推薦領域最流行的模型,並已在衆多文獻中被普遍的研究,復現它能證實NCF能夠模擬大部分的分解模型[26]。因爲輸入層是用戶(項目)ID中的一個one-hot encoding編碼,所得到的嵌入向量能夠被看做是用戶(項目)的潛在向量。咱們用 \({\bf{P}}^{T}{\bf{v}}_u^U\) 表示用戶的潛在向量 \({\bf{p}}_{u}\) ,\({\bf{Q}}^{T}{\bf{v}}_i^I\) 表示項目的潛在向量 \({\bf{q}}_{i}\) ,咱們定義第一層神經CF層的映射函數爲:

 

\(\phi_{1}\left({\bf{p}}_{u},{\bf{q}}_{i}\right)={\bf{p}}_{u}\odot{\bf{q}}_{i},\ \ \ \ (8)\)

 

其中 \(\odot\) 表示向量的逐元素乘積。而後,咱們將向量映射到輸出層:

 

\(\widehat{y}_{ui}=a_{out}\left({\bf h}^{T}\left({\bf{p}}_{u}\odot{\bf{q}}_{i} \right)\right),\ \ \ \ (9)\)

 

其中 \(a_{out}\) 和 \({\bf h}\) 分別表示輸出層的激活函數和鏈接權。直觀地講,若是咱們將 \(a_{out}\) 看作一個恆等函數, \({\bf h}\) 權重全爲1,顯然這就是咱們的MF模型。在NCF的框架下,MF能夠很容易地被泛化和推廣。例如,若是咱們容許從沒有一致性約束(uniform constraint)的數據中學習  \({\bf h}\) ,則會造成MF的變體,它容許潛在維度的不一樣重要性(這句話很差翻譯,原文放在這裏For example, if we allow \({\bf h}\)  to be learnt from data without the uniform constraint, it will result in a variant of MF that allows varying importance of latent dimensions)。若是咱們用一個非線性函數 \(a_{out}\) ,將進一步推廣MF到非線性集合,使得模型比線性MF模型更具備表現力。在本文的工做中,咱們在NCF下實現一個更通常化的MF,它使用Sigmoid函數 \(σ(x)=1/(1+e^{-x})\) 做爲激活函數,經過log loss(第3.1.1節)學習 \({\bf h}\) 。咱們稱她爲GMF(Generalized Matrix Factorization,廣義矩陣分解)。

3.3 多層感知機(MLP)

  因爲NCF用兩條路線來對用戶和項目建模(圖2中能夠明顯看出用戶和項目兩個輸入),天然地,須要經過兩個路線,把他們各自的特徵鏈接結合起來。這種設計已經在多模態深度學習工做中[47,34]被普遍採用。然而,簡單地對向量的鏈接不足以說明用戶和項目之間的潛在特徵,這對協同過濾建模來講是不夠的。爲了解決這個問題,咱們提出在向量鏈接上增長隱藏層,使用標準的MLP(多層感知機)學習用戶和項目潛在特徵之間的相互做用。在這個意義上,咱們能夠賦予模型高水平的靈活性和非線性建模能力,而不是GMF(廣義矩陣分解)那樣的簡單使用逐元素相乘的內積來描述用戶和項目之間的潛在交互特徵。更確切地說,咱們的NCF框架下的MLP模型定義爲:

 

\({\bf{z}}_{1}=\phi_{1}\left({{\bf{p}}_{u}},{{\bf{q}}_{i}}\right)=\begin{bmatrix}{{{\bf{p}}_{u}}}\\{{{\bf{q}}_{i}}}\end{bmatrix}\)

\(\phi_{2}({\bf{z}}_{1})=a_{2}\left({\bf{W}}_2^T{\bf{z}}_{1}+{\bf b}_{2}\right),\)
......

\(\phi_{L}({\bf{z}}_{L-1})=a_{L}\left({\bf{W}}_L^T{\bf{z}}_{L-1}+{\bf b}_{L}\right),\)

\(\widehat{y}_{ui}=\sigma\left({\bf{h}}^{T}\phi_{L}\left({\bf{z}}_{L-1}\right)\right),\ \ \ \ \ \ \ \ \ \ (10)\)

 

這裏的 \({\bf W}_{x}\), \({\bf b}_{x}\) 和 \(a_{x}\) 分別表示 \(x\) 層的感知機中的的權重矩陣,偏置向量(神經網絡的神經元閾值)和激活函數。對於MLP層的激活函數,能夠選擇sigmoid,雙曲正切(tanh)和ReLU,等等。咱們分析一下每一個函數:1)sigmoid函數將每一個神經元的輸出限制在(0,1),這有可能限制該模型的性能;而且它存在過飽和的問題,當輸出接近1或者0的時候,神經元就會陷入中止學習的困境(這裏應該指的是「早停的問題」)。2)雖然雙曲正切是一個更好的選擇,並已被普遍使用[6,44],但它只是在必定程度上緩和了sigmoid的問題,由於它能夠被看做是sigmoid的縮放的版本(\(tanh(x/2)=2σ(x)-1\))。3)所以,咱們選擇ReLU,它更具生物合理性(biologically plausible),而且已經被證實不會致使過飽和[9];此外,它支持稀疏的激活(sparse activations),很是適合稀疏的數據,使模型不至於過擬合。咱們的實驗結果代表,ReLU的表現略好於雙曲正切函數tanh和sigmoid。

  至於網絡結構的設計,一種常見的解決方案是設計一個塔式模型,其中,底層是最寬的,而且每一個相繼的層具備更少的神經元數量(如圖2(Figure 2))。(設計這種結構的)前提是,經過在更高層使用少許的隱藏單元,它們能夠從數據中學習到更多的抽象特徵[10]。根據經驗,咱們搭建這樣的塔結構:對於更高的層,相比於以前一層,縮減一半規模。

3.4 結合GMF和MLP

  到目前爲止,咱們已經開發了NCF的兩個實例:GMF,它應用了一個線性內核來模擬潛在的特徵交互;MLP,使用非線性內核從數據中學習交互函數。接下來的問題是:咱們如何可以在NCF框架下融合GMF和MLP,使他們可以相互強化,以更好地對複雜的用戶-項目交互建模?

  一個直接的解決方法是讓GMF和MLP共享相同的嵌入層(Embedding Layer),而後再結合它們分別對相互做用的函數輸出。這種方式和著名的神經網絡張量(NTN,Neural Tensor Network)[33]有點類似。具體地說,對於結合GMF和單層MLP的模型能夠公式化爲:

 

\(\widehat{y}_{ui}=\sigma({\bf h}^{T}a({\bf p}_u\odot{\bf q}_i)+{\bf W}\begin{bmatrix}{{\bf p}_u}\\{{\bf q}_i}\end{bmatrix}+{\bf b}).\ \ \ \ (11)\)

 

  然而,共享GMF和MLP的嵌入層可能會限制融合模型的性能。例如,它意味着,GMF和MLP必須使用的大小相同的嵌入(embedding,這裏指的應該是潛在向量維度,下面的embedding都被譯爲嵌入);對於數據集,兩個模型的最佳嵌入尺寸差別很大,使得這種解決方案可能沒法得到最佳的組合。

  爲了使得融合模型具備更大的靈活性,咱們容許GMF和MLP學習獨立的嵌入,並結合兩種模型經過鏈接他們最後的隱層輸出。圖3(Figure 3)展現了咱們的方案,公式以下:

 

\(\phi^{GMF}={\bf p}_u^G\odot{\bf q}_i^G,\\\phi^{MLP}=a_{L}(W_L^T(a_{L-1}(...a_{2}(W_2^T\begin{bmatrix}{{\bf p}_u^M}\\{{\bf q}_i^M}\end{bmatrix}+{\bf b}_2)...))+{\bf b}_L),\\\widehat{y}_{ui}=\sigma({\bf h}^T\begin{bmatrix}{\phi^{GMF}}\\{\phi^{MLP}}\end{bmatrix}),\ \ \ \ (12)\)

 

這裏的 \({\bf p}_u^G\) 和 \({\bf p}_u^M\) 分別表示 GMF 部分和 MLP 部分的用戶嵌入(user embedding);一樣的,\({\bf q}_i^G\) 和 \({\bf q}_i^M\) 分別表示項目的嵌入。如以前所討論的,咱們使用ReLU做爲 MLP層的激活功能。該模型結合MF的線性度和DNNs的非線性度,用以建模用戶-項目之間的潛在結構。咱們將這一模式稱爲「NeuMF」,簡稱神經矩陣分解(Neural Matrix Factorization)。該模型的每一個模型參數都能使用標準反向傳播(back-propagation)計算,因爲空間限制這裏就再也不展開。

3.4.1 預訓練

  因爲NeuMF的目標函數的非凸性,使得基於梯度的優化方法只能找到局部最優解(這也是訓練通常神經網絡所面臨的問題)。研究代表,初始化(initialization)在深度學習模型的收斂性和性能的方面起到了重要的做用[7]。因爲 NeuMF 是 GMF 和 MLP 的組合,咱們建議使用 GMF 和 MLP 的預訓練模型來初始化NeuMF。

  咱們首先訓練隨機初始化的 GMF 和 MLP 直到模型收斂。而後,咱們用它們的模型參數初始化 NeuMF 相應部分的參數。惟一的調整是在輸出層,在那裏咱們將二者用權重鏈接起來:

 

\(h\leftarrow\begin{bmatrix}{\alpha{\bf h}^{GMF}}\\{(1-\alpha){\bf h}^{MLP}}  \end{bmatrix},\ \ \ \ (13)\)

 

這裏 \({\bf h}^{GMF}\) 和 \({\bf h}^{MLP}\) 分別表示 GMF 和 MLP 模型預訓練的 \({\bf h}\) 向量; \(\alpha\) 是一個超參數,用來權衡兩個預訓練模型(的比重)

  對於從頭開始訓練的 GMF 和 MLP ,咱們採用自適應矩估計(Adam,Adaptive Moment Estimation)[20],它經過對不頻繁的參數進行頻繁和更大幅度的更新來適應每一個參數的學習速率。Adam方法在兩種模型上的收斂速度都比普通SGD快,並緩解了調整學習率的痛苦。在將預先訓練的參數輸入NeuMF以後,咱們用普通SGD而不是Adam進行優化。 這是由於Adam須要保存更新參數的動量信息(momentum information)。由於咱們用預先訓練的模型參數初始化NeuMF,而且放棄保存動量信息,不適合用基於動量的方法進一步優化NeuMF。

4. 實驗

  在本節中,咱們指導實驗的進行,用以回答如下研究問題:

  \(\bf{RQ1}\) 咱們提出的NCF方法是否賽過 state-of-the-art 的隱性協同過濾方法?

  \(\bf{RQ2}\) 咱們提出的優化框架(消極樣本抽樣的log loss)怎樣爲推薦任務服務?

  \(\bf{RQ3}\) 更深的隱藏單元是否是有助於對用戶項目交互數據的學習?

接下來,咱們首先介紹實驗設置,其次是回答上述三個問題。

4.1 實驗設置

\(\bf{Datasets}\)。 咱們嘗試了兩個可公開訪問的數據集: MovieLens和 Pinterest兩個數據集,它們的特徵總結在表1中。


 

4http://grouplens.org/datasets/movielens/1m/

5https://sites.google.com/site/xueatalphabeta/ academic-projects

  \(\bf{1. MovieLens}\)。 這個電影評級數據集被普遍地用於評估協同過濾算法。咱們使用的是包含一百萬個評分的版本,每一個用戶至少有20個評分。 雖然這是顯性反饋數據集,但咱們有意選擇它來挖掘(模型)從顯式反饋中學習隱性信號[21]的表現。爲此,咱們將其轉換爲隱式數據,其中每一個條目被標記爲0或1表示用戶是否已對該項進行評級。

  \(\bf{2. Pinterest}\)這個隱含的反饋數據的構建[8]用於評估基於內容的圖像推薦。原始數據很是大可是很稀疏。 例如,超過20%的用戶只有一個pin(pin相似於贊一下),使得難以用來評估協同過濾算法。 所以,咱們使用與MovieLens數據集相同的方式過濾數據集:僅保留至少有過20個pin的用戶。處理後獲得了包含55,187個用戶和1,580,809個項目交互的數據的子集。 每一個交互都表示用戶是否將圖像pin在本身的主頁上。

評估方案。 爲了評價項目推薦的性能,咱們採用了leave-one-out方法評估,該方法已被普遍地應用於文獻[1,14,27]。即:對於每一個用戶,咱們將其最近的一次交互做爲測試集(數據集通常都有時間戳),並利用餘下的培訓做爲訓練集。因爲在評估過程當中爲每一個用戶排列全部項目花費的時間太多,因此遵循通常的策略[6,21],隨機抽取100個不與用戶進行交互的項目,將測試項目排列在這100個項目中。排名列表的性能由命中率(HR)和歸一化折扣累積增益(NDCG)[11]來衡量。 沒有特別說明的話,咱們將這兩個指標的排名列表截斷爲10。如此一來,HR直觀地衡量測試項目是否存在於前10名列表中,而NDCG經過將較高分數指定爲頂級排名來計算命中的位置。咱們計算了每一個測試用戶的這兩個指標,並求取了平均分。

基準線(Baselines)。咱們NCF方法(GMF,MLP和NeuMF)和下列方法進行了比較:

  \(\bf{- ItemPop}\)。按項目的互動次數判斷它的受歡迎程度,從而對項目進行排名。 這對基於評估推薦性能來講是一種非個性化的方法[27]

  \(\bf{- ItemKNN}\)[31]。這是基於項目的標準協同過濾方法。咱們遵循[19]的設置來適應隱含數據。

  \(\bf{- BPR}\)[27]。該方法優化了使用公式(2)的MF模型,該模型具備成對排序損失,BPR調整它使其能夠從隱式反饋中學習。它是項目推薦基準的有力競爭者。咱們使用固定的學習率,改變它並報告了它最佳的性能。

  \(\bf{- eALS}\)[14]。這是項目推薦的 state-of-the-art 的MF方法。 它優化了公式(5)的均方偏差,將全部未觀察到的交互視做消極實例,並根據項目流行度對它們進行不均勻的加權。因爲 eALS 顯示出優於WMF[19]均勻加權方法的性能,咱們再也不進一步展現報告 WMF 的性能。

   咱們提出的方法旨在建模用戶和項目之間的關係,咱們主要比較用戶-項目模型。由於性能差別多是由個性化的用戶模型引發的(由於它們是項目-項目模型),因此咱們忽略了與項目-項目模型的比較,項目-項目模型有 SLIM[25] 和 CDAE[44]

參數設置。咱們基於Keras6實現了咱們提出的方法。爲了肯定NCF方法的超參數,咱們爲每一個用戶隨機抽取一個交互做爲驗證數據並調整其超參數。經過優化公式(7)的對數損失(log loss)來學習全部NCF模型,其中咱們對每一個積極實例進行四個消極實例的採樣。對於從頭開始訓練的NCF模型,咱們採用高斯分佈隨機初始化模型參數(平均值爲0,標準差爲0.01),用小批次Adam[20]優化模型。咱們分別測試了批次大小[128,256,512,1024],學習速率爲[0.0001,0.0005,0.001,0.005]。 因爲NCF的最後一層隱藏層決定了模型的性能,因此咱們將其做爲預測因子(predictive factors),並分別使用[8,16,32,64]的因素大小進行了模型評估。值得注意的是,大的因子可能致使過擬合,下降性能。 沒有特別說明,咱們採用了三層隱藏的MLP; 例如,若是預測因子的大小爲8,則神經CF層的結構爲32→16→8,嵌入大小爲16。對於預訓練過的NeuMF,\(\alpha\) 設置爲0.5,容許預訓練的 GMF 和 MLP 對 NeuMF 的初始化作出一樣的貢獻(相同權重)

4.2 性能比較(\(\bf{RQ1}\))

  圖4(Figure 4)顯示了 HR@10 和 NDCG@10 相對於預測因素數量的性能。對於使用MF的方法BPR和eALS,預測因子的數量等於潛在因素的數量。對於ItemKNN,咱們測試了不一樣的鄰居大小並報告了最佳性能。因爲ItemPop的性能較差,因此在圖4中略去,以更好地凸顯個性化方法的性能差別。

  首先,咱們能夠看到,NeuMF在兩個數據集上都取得了最好的表現,遠遠超過了最早進的方法eALS和BPR(平均而言,相對於eALS和BPR的相對改善分別爲4.5%和4.9%) )。對於Pinterest而言,即便是8的小預測因子,NeuMF也遠遠優於在64維潛在因子下的eALS和BPR。這展示了NeuMF經過融合線性MF和非線性MLP模型的高水平的表達能力。其次,另外兩種NCF方法:GMF和MLP,也表現出至關強勁的性能。其中,MLP略遜於GMF。請注意,MLP能夠經過添加更多的隱藏層來進一步改進(參見第4.4節),這裏咱們只展現使用三層的性能。對於小數目的預測因子,GMF在兩個數據集上都優於eALS;雖然GMF在高緯因子的狀況下受到過擬合的影響,但其得到的最佳性能優於eALS(或差很少)。最後,GMF顯示出與BPR一致的進步,說明了在推薦任務的分類問題中使用log loss的有效性,由於GMF和BPR學習相同的MF模型但具備不一樣的目標函數。

  圖5(Figure 5)顯示了Top-K推薦列表的性能,排名位置K的範圍爲1到10。爲了使圖像更加清晰,咱們僅僅展現了NeuMF的性能,而不是全部三種NCF方法。能夠看出,NeuMF表現出與其餘方法在位置上的一致性改進,咱們進一步進行單樣本配對的t檢驗,驗證全部的改善對p <0.01有統計學意義(這裏有點迷)。對於基準方法,eALS在MovieLens上的性能優於BPR大約5.1%,而在NDCG方面則遜於BPR。 這與[14]發現吻合,它指出:因爲BPR學習和感知成對排名,它可能在排名上表現出強勁的性能。 基於相鄰(用戶或者項目)的ItemKNN表現則遜於基於模型的方法。 而ItemPop表現最差,代表用戶對我的喜愛的建模是必要的,而不是僅向用戶推薦熱門項目。

4.2.1 預訓練的做用

  爲了展現NeuMF預訓練的效果,咱們比較了NeuMF兩種版本的性能,而且沒有預訓練。 對於沒有預訓練的NeuMF,咱們使用了Adam隨機初始化。如表2所示,在大多數狀況下,具備預訓練的NeuMF表現出了更好的性能; 只有對於具備8的小預測因子的MovieLens,預訓練方法執行稍差一些。 對於MovieLens和Pinterest,NeuMF與預訓練的相對改進分別爲2.2%和1.1%。 這個結果證實了咱們的預訓練方法對初始化NeuMF是有用的。

4.3 對消極採樣使用Log Loss(\(\bf{RQ2}\))

  爲了處理隱性反饋的一類性質,咱們將推薦做爲一個二分類任務。咱們將NCF視爲機率模型,使用log loss對其進行了優化。圖6(Figure 6)顯示了NCF方法在MovieLens上每次迭代的訓練損失(全部實例的平均值)和推薦性能。在Pinterest上的結果顯示相同的趨勢,因爲空間限制而被省略。首先,咱們能夠看到,隨着迭代次數的增多,NCF模型的訓練損失逐漸減小,推薦性能獲得提升。最有效的更新發生在前10次迭代中,更多的迭代可能使模型過擬合(例如,雖然NeuMF的訓練損失在10次迭代以後持續降低,但其推薦性能實際上下降)。其次,在三種NCF方法中,NeuMF達到最低的訓練損失,其次是MLP,而後是GMF。推薦性能也顯示出與NeuMF> MLP> GMF相同的趨勢。上述實驗結果爲優化從隱性數據學習的log loss的合理性和有效性提供了經驗證據。

  對於成對目標函數的逐點log loss(對數損失)的優點[27,33]是對於消極實例的靈活採樣率。不像成對目標函數只能將一個採樣消極實例與一個積極實例配對,逐點損失咱們能夠靈活地控制採樣率。爲了說明消極採樣對NCF方法的影響,咱們在不一樣的消極實例採樣比下展現了NCF方法的性能。如圖7所示。能夠清楚地看到,每一個積極實例只有一個消極實例不足以達到模型的最佳性能,而抽樣更多的消極實例則是有益的。將GMF與BPR進行比較,咱們能夠看出,採樣率爲1成的GMF的性能與BPR至關,而GMF在採樣率較高的狀況下性能明顯高於BPR。這代表了相較於成對BPR損失,逐點對數損失的優點所在。對於兩個數據集,最佳採樣率約爲3比6。在Pinterest上,咱們發現當採樣率大於7時,NCF方法的性能開始降低。這說明,設置過大的採樣率可能會對性能產生不利影響。

4.4 深度學習helpful?(\(\bf{RQ3}\))

  因爲使用神經網絡學習用戶-項目之間交互函數的工做不多,所以,使用深層網絡結構是否有利於推薦任務是值得思考的。 爲此,咱們進一步研究了具備不一樣隱藏層數的MLP。 結果總結在表3和表4中。MLP-3表示具備三個隱藏層(除了嵌入層)的MLP方法,其餘相似的符號具備類似的意義。 咱們能夠看到,即便具備相同能力的模型,堆疊更多的層也有利於性能的提高。 這個結果很是使人鼓舞,它代表使用深層模型進行協同推薦的有效性。 咱們將性能提高歸功於堆疊更多非線性層所帶來的高非線性度。 爲了驗證這一點,咱們進一步嘗試堆疊線性層,使用恆等函數做爲激活函數。 性能比使用ReLU單元差不少。

  對於沒有隱藏層(即,嵌入層直接映射到預測結果)的MLP-0,性能很是弱,不過比非個性化ItemPop更好。這驗證了咱們在3.3節中的觀點:簡單地鏈接用戶和項目的潛在向量不足以對其特徵的相互做用進行建模,所以須要使用隱藏層進行變換。

5. 相關工做

  關於推薦的早期文獻主要集中在顯性反饋[30,31],而最近工做的重心愈來愈多地轉向隱性數據[1,14,23]。具備隱性反饋的協同過濾(CF)任務一般被轉化爲項目推薦問題,其目的是向用戶推薦一個簡短的項目列表。 與被普遍採用的經過顯性反饋進行評級預測相反,解決項目推薦的問題更具實踐性,但同時也富有挑戰性[1,11]。 一個關鍵的先驗是對丟失的數據進行建模,這些數據在顯式反饋的工做中經常被忽略[21,48]。爲了創建具備隱性反饋的項目推薦的潛在因素模型,早期工做[19,27]使用均勻加權,其中提出了兩種策略,即將全部缺失數據做爲消極實例[19]或從缺失數據中抽樣做爲消極實例[27]。最近,He等[14]和Liang等人[23]提出了專門的模型來減小丟失的數據,而Rendle等人[1]爲基於特徵的因式分解模型開發了隱式座標降低解法(iCD),實現了項目推薦的state-of-the-art。下面咱們將討論使用神經網絡的推薦工做。

  早期的先驅工做是由Salakhutdinov等人[30]提出的一種兩層限制玻爾茲曼機(RBM)來模擬用戶對項目的明確評級。這項工做後來被擴展到對等級的序數性質進行建模[36]。最近,自動編碼器(autoencoders)已成爲構建推薦系統的通常選擇[32,22,35]。基於用戶的AutoRec[32]的想法是學習隱藏的結構,根據用戶的歷史評級做爲輸入,能夠重建用戶的評分。在用戶個性化方面,這種方法與項目-項目模型[31,25]具備類似之處,它表示用戶做爲其評分項目。爲了不自動編碼器學習恆等函數,而且不能將其推廣到不可觀察的數據,它已經應用了去噪自動編碼器(DAE)來學習人爲損壞的輸入[22,35]。最近,Zheng等人[48]提出了一種用於CF的神經自迴歸(neural autoregressive )方法。雖然之前的努力證實了神經網絡解決CF的有效性,但大多數重點放在明確的評級上,並僅對觀察到的數據進行建模。所以,他們不易於從只有積極樣例的隱性數據中學習用戶的偏好。

  雖然最近的工做[6,37,38,43,45]已經探索了基於隱性反饋的深刻學習模型,但它們主要使用DNN來建模輔助信息,例如文字描述[38],音樂的聲學特徵[37,43],用戶的跨域行爲[6]以及知識庫中的豐富信息[45]。而後由MF和CF相結合DNN學習特徵。與咱們工做最相關的工做是[44],它爲CF提供了一個隱性反饋的協同去噪自動編碼器(CDAE)。與基於DAE的CF [35]相反,CDAE還將用戶節點插入自動編碼器的輸入端,以重建用戶的評級。如做者所展現的,當使用恆等函數做爲激活函數做用在CDAE的隱藏層時,CDAE至關於SVD++模型[21]。這意味着雖然CDAE雖然是CF的神經建模方法,可是它仍然使用線性內核(即內積)來模擬用戶-項目交互。這可能部分解釋了爲何使用深層CDAE不會提升性能(參見[44]第6節)。與CDAE不一樣,咱們的NCF採用雙通道結構,創建多層前饋神經網絡的模型模擬用戶項目交互。這容許NCF從數據中學習任意函數,比固定內部函數有更強大的表達能力。

  順着類似的研究方向,學習兩個實體的關係已經在知識圖(knowledge graphs)的文獻中獲得了深刻的研究[2,33]。 許多有關的機器學習方法[24]已經被設計出來。 與咱們提出的方案最類似的是神經張量網絡(NTN,Neural Tensor Network)[33],它使用神經網絡來學習兩個實體的相互做用並表現出很強勁的性能。這裏咱們專一於=它與CF的不一樣設置問題。 儘管將MF與MLP結合在一塊兒的NeuMF的想法是受到了NTN的必定程度的啓發,可是咱們的NeuMF比NTN更靈活和通用,它容許MF和MLP學習不一樣的嵌入式組合。

  最近,谷歌公佈了他們的通用深度學習方法的App推薦[4]。 深層組件相似地使用特徵嵌入的MLP,據稱具備很強的泛化能力。 雖然他們的工做集中在結合用戶和項目的各類特徵,但咱們的目標是使用DNN探索純粹的協同過濾系統的。咱們顯示了對於建模用戶-項目交互,DNN是一個有前途的選擇,之前沒有對此進行調查。

6. 總結和展望

  在這項工做中,咱們探索了用於協同過濾的神經網絡結構。咱們設計了一個通用框架NCF,並提出了三種實例:GMF,MLP和NeuMF,以不一樣的方式模擬用戶-項目交互。咱們的框架簡單而通用; 它不只限於本文提出的模型,它對深刻學習推薦方法的也具備指導意義。這項工做補充了主流淺層協同過濾模型,爲深刻學習推薦研究開闢了新途徑。

  在未來的工做中,咱們將研究NCF模型在成對學習中的應用,並將NCF擴展到建模輔助信息,如用戶評論[11],知識庫[45]和時間信號[1]。現有的個性化模式主要集中在我的身上,爲用戶羣體開發模型將會是一個有趣的發展,這有助於社會團體的決策[15,42]。此外,咱們特別感興趣的是創建多媒體項目的推薦系統,這是一個有趣的任務,但在推薦社區中受到相對較少的關注[3]。多媒體項目(如圖像和視頻)包含更豐富的視覺語義[16,41],能夠反映用戶的興趣。 要構建多媒體推薦系統,咱們須要開發有效的方法來學習多視圖和多模態數據[13,40]。 另外一個新出現的方向是探索循環神經網絡和散列方法(hashing methods)[46]的潛力,以提供有效的在線推薦[14]

鳴謝

  做者感謝匿名評審者的寶貴意見,給做者對推薦系統的思考和論文的修訂提供了極大的幫助。

7. 參考文獻

  [1] I. Bayer, X. He, B. Kanagal, and S. Rendle. A generic coordinate descent framework for learning from implicit feedback. In WWW, 2017.

  [2] A. Bordes, N. Usunier, A. Garcia-Duran, J. Weston, and O. Yakhnenko. Translating embeddings for modeling multi-relational data. In NIPS, pages 2787–2795, 2013.

  [3] T. Chen, X. He, and M.-Y. Kan. Context-aware image tweet modelling and recommendation. In MM, pages 1018–1027, 2016.

  [4] H.-T. Cheng, L.Koc, J. Harmsen, T. Shaked, T. Chandra, H. Aradhye, G. Anderson, G. Corrado, W. Chai, M. Ispir,et al. Wide & deep learning for recommender systems. arXiv preprint arXiv:1606.07792, 2016.

  [5] R. Collobert and J. Weston. A unified architecture for natural language processing: Deep neural networks with multitask learning. In ICML, pages 160–167, 2008.

  [6] A. M. Elkahky, Y. Song, and X. He. A multi-view deep learning approach for cross domain user modeling in recommendation systems. In WWW, pages 278–288, 2015.

  [7] D. Erhan, Y. Bengio, A. Courville, P.-A. Manzagol, P. Vincent, and S. Bengio. Why does unsupervised pre-training help deep learning? Journal of Machine Learning Research, 11:625–660, 2010.

  [8] X. Geng, H. Zhang, J. Bian, and T.-S. Chua. Learning image and user features for recommendation in social networks. In ICCV, pages 4274–4282, 2015.

  [9] X. Glorot, A. Bordes, and Y. Bengio. Deep sparse rectifier neural networks. In AISTATS, pages 315–323, 2011.

  [10] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.

  [11] X. He, T. Chen, M.-Y. Kan, and X. Chen. TriRank: Review-aware explainable recommendation by modeling aspects. In CIKM, pages 1661–1670, 2015.

  [12] X. He, M. Gao, M.-Y. Kan, Y. Liu, and K. Sugiyama. Predicting the popularity of web 2.0 items based on user comments. In SIGIR, pages 233–242, 2014.

  [13] X. He, M.-Y. Kan, P. Xie, and X. Chen. Comment-based multi-view clustering of web 2.0 items. In WWW, pages 771–782, 2014.

  [14] X. He, H. Zhang, M.-Y. Kan, and T.-S. Chua. Fast matrix factorization for online recommendation with implicit feedback. In SIGIR, pages 549–558, 2016.

  [15] R. Hong, Z. Hu, L. Liu, M. Wang, S. Yan, and Q. Tian. Understanding blooming human groups in social networks. IEEE Transactions on Multimedia, 17(11):1980–1988, 2015.

  [16] R. Hong, Y. Yang, M. Wang, and X. S. Hua. Learning visual semantic relationships for efficient visual retrieval. IEEE Transactions on Big Data, 1(4):152–161, 2015.

  [17] K. Hornik, M. Stinchcombe, and H. White. Multilayer feedforward networks are universal approximators. Neural Networks, 2(5):359–366, 1989.

  [18] L. Hu, A. Sun, and Y. Liu. Your neighbors affect your ratings: On geographical neighborhood influence to rating prediction. In SIGIR, pages 345–  354, 2014.

  [19] Y. Hu, Y. Koren, and C. Volinsky. Collaborative filtering for implicit feedback datasets. In ICDM, pages 263–272, 2008.

  [20] D. Kingma and J. Ba. Adam: A method for stochastic optimization. In ICLR, pages 1–15, 2014.

  [21] Y. Koren. Factorization meets the neighborhood: A multifaceted collaborative filtering model. In KDD, pages 426–434, 2008.

  [22] S. Li, J. Kawale, and Y. Fu. Deep collaborative filtering via marginalized denoising auto-encoder. In CIKM, pages 811–820, 2015.

  [23] D. Liang, L. Charlin, J. McInerney, and D. M. Blei. Modeling user exposure in recommendation. In WWW, pages 951–961, 2016.

  [24] M. Nickel, K. Murphy, V. Tresp, and E. Gabrilovich. A review of relational machine learning for knowledge graphs. Proceedings of the IEEE, 104:11– 33, 2016.

  [25] X. Ning and G. Karypis. Slim: Sparse linear methods for top-n recommender systems. In ICDM, pages 497–506, 2011.

  [26] S. Rendle.Factorization machines. In ICDM, pages 995–1000, 2010.

  [27] S. Rendle, C. Freudenthaler, Z. Gantner, and L. Schmidt-Thieme. Bpr: Bayesian personalized ranking from implicit feedback. In UAI, pages 452–  461, 2009.

  [28] S. Rendle, Z. Gantner, C. Freudenthaler, and L. Schmidt-Thieme. Fast context-aware recommendations with factorization machines. In SIGIR, pages 635–644, 2011.

  [29] R. Salakhutdinov and A. Mnih. Probabilistic matrix factorization. In NIPS, pages 1–8, 2008.

  [30] R. Salakhutdinov, A. Mnih, and G. Hinton. Restricted boltzmann machines for collaborative filtering. In ICDM, pages 791–798, 2007.

  [31] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. Item-based collaborative filtering recommendation algorithms. In WWW, pages 285–295, 2001.   [32] S. Sedhain, A. K. Menon, S. Sanner, and L. Xie. Autorec: Autoencoders meet collaborative filtering. In WWW, pages 111–112, 2015.

  [33] R. Socher, D. Chen, C. D. Manning, and A. Ng. Reasoning with neural tensor networks for knowledge base completion. In NIPS, pages 926–934, 2013.

  [34] N. Srivastava and R. R. Salakhutdinov. Multimodal learning with deep boltzmann machines. In NIPS, pages 2222–2230, 2012.

  [35] F. Strub and J. Mary. Collaborative filtering with stacked denoising autoencoders and sparse inputs. In NIPS Workshop on Machine Learning for eCommerce, 2015.

  [36] T. T. Truyen, D. Q. Phung, and S. Venkatesh. Ordinal boltzmann machines for collaborative filtering. In UAI, pages 548–556, 2009.

  [37] A. Van den Oord, S. Dieleman, and B. Schrauwen. Deep content-based music recommendation. In NIPS, pages 2643–2651, 2013.

  [38] H. Wang, N. Wang, and D.-Y. Yeung. Collaborative deep learning for recommender systems. In KDD, pages 1235–1244, 2015.

  [39] M. Wang, W. Fu, S. Hao, D. Tao, and X. Wu. Scalable semi-supervised learning by efficient anchor graph regularization. IEEE Transactions on Knowledge and Data Engineering, 28(7):1864–1877, 2016.

  [40] M. Wang, H. Li, D. Tao, K. Lu, and X. Wu. Multimodal graph-based reranking for web image search. IEEE Transactions on Image Processing, 21(11):4649–4661, 2012.

  [41] M. Wang, X. Liu, and X. Wu. Visual classification by l1 hypergraph modeling. IEEE Transactions on Knowledge and Data Engineering, 27(9):2564–   2574, 2015.

  [42] X. Wang, L. Nie, X. Song, D. Zhang, and T.-S. Chua. Unifying virtual and physical worlds: Learning towards local and global consistency. ACM Transactions on Information Systems, 2017.

  [43] X. Wang and Y. Wang. Improving content-based and hybrid music recommendation using deep learning. In MM, pages 627–636, 2014.

  [44] Y. Wu, C. DuBois, A. X. Zheng, and M. Ester. Collaborative denoising auto-encoders for top-n recommender systems. In WSDM, pages 153–162, 2016.

  [45] F. Zhang, N. J. Yuan, D. Lian, X. Xie, and W.-Y. Ma. Collaborative knowledge base embedding for recommender systems. In KDD, pages 353–362, 2016.

  [46] H. Zhang, F. Shen, W. Liu, X. He, H. Luan, and T.-S. Chua. Discrete collaborative filtering. In SIGIR, pages 325–334, 2016.

  [47] H. Zhang, Y.  Yang, H. Luan, S. Yang, and T.-S. Chua. Start from scratch: Towards automatically identifying, modeling, and naming visual attributes. In MM, pages 187–196, 2014.

  [48] Y. Zheng, B. Tang, W. Ding, and H. Zhou. A neural autoregressive approach to collaborative filtering. In ICML, pages 764–773, 2016.

相關文章
相關標籤/搜索