1. 程式人生 > >[論文學習]Deep Learning Based Recommendation: A Survey

[論文學習]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=σ(Wx)O=δ(Vh)
其中V和W是隱層到輸出層和輸入層到隱層的加權矩陣。 函式δ和σ是非線性變換函式,如tanh和sigmoid函式。

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

ht=σ(Wxt+Yht1)Ot=δ(Vht)
其中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的推薦方法是可能的研究方向。 深度學習可以提高推薦系統的準確性,但可擴充套件性是系統中大量專案和使用者的關鍵問題。 因此,提高基於深度學習的推薦方法的效率是這一領域的主要工作。