[論文學習]Deep Learning Based Recommendation: A Survey

Liu J, Wu C. Deep Learning Based Recommendation: A Survey[C]//International Conference on Information Science and Applications. Springer, Singapore, 2017: 451-458.

ABSTRACT

由於在其他領域取得的巨大成功,深入學習在推薦研究領域引起了極大的關注。 在本文中,我們回顧了基於深度學習的推薦方法,提出了一種基於深入學習的推薦方法根據方法的輸入和輸出進行劃分的分類框架。 我們也提出了未來可能的研究方向。

1 Introduction

近年來,作為一種機器學習方法,深入學習成功應用於許多不同的研究領域,如計算機視覺,語音識別,自然語言處理等。 在這些領域,與傳統方法相比,基於深度學習的方法顯著提高了性能。 由於深入學習取得了巨大的成功,有些研究人員試圖在推薦系統中使用深度學習[1-11,13-15],希望這些新提出的模型可以提高推薦系統的性能,就像深度學習模型 在其他研究領域表現的那樣。

在本文中,基於深度學習的推薦方法在我們提出的分類框架下進行了回顧。 在這個框架下,基於深度學習的推薦方法是通過輸入和輸出的方法分類的。 在推薦系統中引入深度學習是一個新的研究方向。 現有工作已經提出了幾種方法,但實際使用的方法很少。 可擴展性是推薦系統中的一個問題,其中有大量的項目和用戶。 根據這個事實,我們也指出了深度學習做推薦的未來研究方向。

本文的組織結構如下。 首先,介紹了推薦系統和深度學習的背景。 在第三節,介紹了深度學習方法的分類框架,並對這些方法進行了回顧。 未來的研究方向將在Sect 4中,其次是結論放在第5節。

2 Background

2.1 Recommendation

傳統上,從推薦方法的角度來看,推薦系統分為三種:基於內容,協同和混合推薦方法[17]。 推薦系統也根據應用領域進行分類[18]。 在本文中,我們從基本的推薦問題的角度回顧推薦系統。 換句話說,我們根據系統中推薦問題的輸入和輸出來劃分推薦系統。

推薦系統通常在系統中收集用戶的活動,包括評分,點擊,購買,評論等,這是推薦方法的輸入。評分是推薦系統中使用最多的輸入,允許用戶通過k點整數對項目進行評分。推薦結果根據評分生成。典型的方法是PMF [19]及其擴展。通常,評分被視為一種明確的反饋。一些方法採取隱含的反饋,如點擊,查看等作為輸入。與顯式反饋相比,推薦系統可以輕鬆收集隱含的反饋。 BPR [20]從隱反饋推導出來用戶和項目之間的用戶二進位偏好關係,但它只能處理一種隱式反饋。一些推薦系統不只從一種反饋中學習,而是利用多種反饋[6,21]。吳等[6]也在他們的方法中使用反饋的時間信息。

推薦系統的輸出是給用戶的推薦結果。 不同的推薦系統給出不同種類的推薦結果。 一些系統預測用戶尚未發布的評分。 基於矩陣分解的方法是解決評分預測問題的最流行的方法。 一些推薦系統預測項目之間使用的偏好順序,這被稱為基於排名的推薦方法。 這種方法包括BPR [20],ListPMF [22]和QPMF [23]。 在某些情況下,用戶可能會期望產品的組合,例如外套和匹配的褲子。 提出組合推薦問題。 [24,25]解決了服裝推薦領域的這個問題。

2.2 Deep Learning

如今,深度學習是指機器學習演算法的一類。 通常,深度學習的模型包含一系列非線性變換層。 通過端到端優化來學習模型中的參數。

目前研究者們已經提出了幾種深度學習模型。 最常用的模型之一是前饋神經網路。 只有一個隱藏層的典型前饋神經網路如圖1所示。圖1(a)。 在深度學習中使用的前饋神經網路通常具有不同維度的幾個隱藏層,以便在高級抽象中對輸入進行編碼。 如圖1(a)所示,

圖中的輸出O,計算過程如下:

h = sigma (Wx) O = delta(Vh)

其中V和W是隱層到輸出層和輸入層到隱層的加權矩陣。 函數δ和σ是非線性變換函數,如tanh和sigmoid函數。

由於前饋神經網路無法分析序列數據,如自然語言,因此有了循環神經網路。 在這個模型中,隱藏層反覆連接到輸入層,如圖1所示。 前饋神經網路(a)和循環神經網路(b)的結構。 時間t,Ot的輸出計算如下,

h_t = sigma(W_{x_t} + Y_{h_{t-1}})  O_t = delta(Vh_t)

其中Y是前一個隱藏層到當前隱藏層的權重矩陣。

卷積神經網路被廣泛用於圖像識別,它包含一個或多個卷積層,其中神經元以這樣的方式被平鋪,使得它們響應於視野中的重疊區域。 在兩個相鄰卷積層之間,總是有一個子採樣層。 典型的卷積神經網路如圖2所示。由於CNN中的參數比其他深度學習模型少得多,訓練更容易。 這使得他們成為一個非常有吸引力的網路結構。

3 Classification of Deep Learning Based Recommendation Methods

3.1 Classification Framework

在本文中,基於深度學習的推薦方法是通過方法的輸入和輸出進行分類。 在輸入方面,一些方法考慮了內容信息,一些方法不使用這種信息。 在輸出視圖中,分別預測用戶評分和用戶活動順序。 我們的分類框架工作如表1所示。

3.2 Classification by Input

使用內容信息的方法 Oord等人[1]提出了一種基於深層神經網路的音樂推薦方法。在這種方法中,用戶和項目潛在特徵向量首先通過加權矩陣分解(WMF)演算法學習[16]。然後通過進一步的深卷積網路學習項目潛在特徵向量,其中將已經學習的用戶潛在特徵向量和音樂信號作為輸入。用於訓練神經網路的目標函數是加權評分預測誤差(WPE),與WMF中的加權評分預測誤差(WPE)相同。不同的是WMF學習的項目潛在特徵向量與神經網路學習的潛在特徵向量之間的差異。最後,類似於標準MF,即通過用戶和項目潛在因素之間的內部產品進行推薦。因為項目潛在特徵向量是從項目內容學習的,所以這種方法在項目冷啟動情況下特別有用,此時目標項目沒有反饋可用。該方法後來在Spotify在實驗中使用[2]。

矩陣分解和深度信念網路(DBN)被集成在[14]中。 在該模型中,項目(音樂)潛在特徵向量是DBN的輸出,它先根據音樂的內容信息進行訓練。

另外在音樂領域,Hamel等人 [3]設計了兩個神經網路模型來預測音樂標籤。 預測的標籤用於音樂推薦。 這些模型的輸入是通過離散傅里葉變換(DFT),mel壓縮和主成分分析(PCA)獲得的預處理音樂特徵。 作者調查了幾個pool函數的性能,發現結合幾個pool函數可以提高性能。

Elkahky等人 [4]提出了一種深度學習方法,將用戶和項目映射到潛在空間,在潛在空間里用戶與其首選項目之間的相似性最大。 他們從不同領域學習項目特徵。 用戶特徵是通過多視圖深度學習模型學習。 提出的方法通過測試Windows應用程序,新聞和電影/電視推薦。

王等人 [11]提出了貝葉斯堆棧去噪自動編碼器(SDAE)[12],並將該模型與貝葉斯概率矩陣分解(BPMF)相結合,稱為協同深度學習(CDL),以解決隱式反饋推薦問題。 在其方法中,潛在項目特徵首先根據項目內容信息由先前訓練的SDAE模型生成。 然後,以與BPMF類似的方式生成用戶發布的用戶潛在特徵向量和評分。

在YouTube的推薦系統中有兩個神經網路模型[13]。 根據用戶的歷史行為,一個模型用於從大量項目中產生數百個候選項。 然後根據歷史用戶行為,上下文信息和項目特徵,候選項目被另一模型排序。

不使用內容信息的方法 一些方法不使用內容信息。 在這些方法中,僅使用用戶的反饋(如評分,點擊等)來生成推薦結果。 例如,[7,8]使用觀察到的評級來預測用戶未訪問的項目的評分。 在[5]中,隱式反饋用於生成排名項目訂單。 並且[6]將多個反饋作為深度學習模型的輸入。 [15]的輸入是用戶標籤矩陣。

3.3 Classification by Output

項目排序預測方法 如上所述,使用內容信息的方法,如[3,4,11,13],訓練深度學習模型並對項目進行排名。 推薦給用戶排列好的商品列表。

一些方法不使用內容信息。 Hidasi等人 [5]提出了一種使用循環神經網路(RNN)的會話式推薦方法。 在他們的方法中,用戶訪問的項目被視為序列。 用戶可能訪問的預測項目序列由端對端的方式由經訓練的RNN模型生成。 在提出的模型中有嵌入層,前饋層和幾個GRU層。 作者發現成對損失函數優於點向損失函數。 具有單個GRU層的模型比具有幾個GRU層的模型更好。

吳等 [6]提出了一種基於神經網路的推薦方法(RNNRec)來解決時間異質反饋推薦問題。 在這項工作中,用戶時間戳的歷史反饋活動被視為序列。 並且使用這些反饋序列來訓練循環神經網路。 據報告,RNNRec產生的推薦結果比傳統推薦方法產生的推薦結果更準確。

評級預測方法 [1,2,14]中使用內容信息來預測評分。

有一些只使用用戶反饋(如raing和tag)生成推薦的方法。 Salakhutdinov等人 [10]使用RBM進行協同過濾。 RBM可以用作深度置信網路的基本單位。 但是在[10]中,RBM中只有一層。 此外,Edwin Chen在這篇博文中介紹了RBM在協同過濾方面的更為基本的使用:Introduction to Restricted Boltzmann Machines.。

Zhang 等人 [7]提出了一個深度學習模型來預測評分。 模型的輸入是用戶和項目的嵌入特徵向量的並置。 模型中只有一個隱藏層,模型的輸出是預測的評分。 鄭等人 [8]使用神經自回歸分布估計器(NADE)[9]模型來解決推薦問題。 該模型被修改為在評分之間共享參數。 為了擴展到大型數據集,提出了一種基於RBM的分解版本模型[10]。 在這項工作中,作者還提出了一個列表式的損失函數。 鄒等在標籤感知推薦系統中使用堆疊自動編碼器。 用戶潛在特徵向量由堆疊的自動編碼器根據用戶標籤矩陣生成。 通過聚合用戶潛在特徵向量和項目用戶評分矩陣獲得推薦結果。

4 Future Research Directions

基於深度學習的推薦方法的一個問題是推薦系統的可擴展性,其中有大量的項目和用戶。 用戶反饋每秒收集一次。 在這種情況下,推薦方法的表現很重要。 另一方面,訓練深度學習模式是耗時的。 因此,如何提高基於深度學習的推薦方法的可擴展性是未來研究中的一個重要問題。

另一個可能的研究方向是設計新的深度學習模型來解決推薦中的特殊問題。 RNN和前饋神經網路已經用於現有的深度學習推薦方法。 卷積神經網路(CNN)在推薦中很少使用。 也許它可以獲得一些推薦問題的好結果。

5 Conclusion

最近,由於深入學習取得了巨大成功,有研究者提出在推薦系統中採用深度學習方法。 在本文中,我們隊基於深度學習的推薦方法通過模型的輸入和輸出進行了回顧和分類。 發現最常用的深度學習模型是前饋神經網路和循環神經網路。 卷積神經網路很少使用。 有人提出,基於CNN的推薦方法是可能的研究方向。 深度學習可以提高推薦系統的準確性,但可擴展性是系統中大量項目和用戶的關鍵問題。 因此,提高基於深度學習的推薦方法的效率是這一領域的主要工作。


推薦閱讀:

關於評分預測和TopN推薦的討論?
如何學習推薦系統?
為什麼感覺「今日頭條」推薦的內容很不準,而且好像也沒見怎麼改善過?
有哪些解決推薦系統中冷啟動的思路和方法?

TAG:深度学习DeepLearning | 推荐系统 |