1. 程式人生 > >基於深度學習的推薦系統綜述 (arxiv 1707.07435) 譯文 3.1 ~ 3.3

基於深度學習的推薦系統綜述 (arxiv 1707.07435) 譯文 3.1 ~ 3.3

基於深度學習的推薦:最先進的技術

在本節中,我們首先介紹基於深度學習的推薦模型的類別,然後突出最先進的研究原型,旨在確定近年來最顯著和最有希望的進步。

基於深度學習的推薦模型的類別

**圖 1:**基於深度神經網路的推薦模型的類別。

為了提供該領域的全景圖,我們根據所採用的深度學習技術的型別對現有模型進行分類。 我們進一步將基於深度學習的推薦模型分為以下兩類。 表 1 總結了分類方案。

**表 1:**已回顧論文的查詢表。

分類 論文
MLP [2,13,20,27,38,47,53,54,66,92,95,157,166,185], [12,39,93,112,134,154,182,183]
自編碼器 [34,88,89,114,116,125,136,137,140,159,177,187,207], [4,10,32,94,150,151,158,170,171,188,196,208,209]
CNN [25,49,50,75,76,98,105,127,130,153,165,172,202,206], [6,41,51,83,110,126,143,148,169,190,191]
RNN [5,28,35,36,56,57,73,78,90,117,132,139,142,174-176], [24,29,33,55,68,91]
RBM [42,71,72,100,123,167,180]
NADE [36,203,204]
神經注意力 [14,44,70,90,117,132,139,142,164-176], [62,146,193]
對抗網路 [9,52,162,164]
DRL [16,21,107,168,198-200]
混合模型 [17,38,41,82,84,87,118,135,160,192,193]
  • 使用神經積木的推薦 。 在該類別中,模型根據上述八種深度學習模型分為八個子類別:基於MLP,AE,CNN,RNN,RBM,NADE,AM,AN和DRL的推薦系統。 使用的深度學習技術決定了推薦模型的適用性。 例如,MLP可以輕鬆地模擬使用者和專案之間的非線性互動;CNN能夠從異構資料來源(例如文字和視覺資訊)中提取區域性和全域性表示;RNN使推薦系統能夠建模內容資訊的時間動態和連續演化。
  • 使用深度混合模型的推薦。 一些基於深度學習的推薦模型使用多種深度學習技術。 深度神經網路的靈活性使得將幾個神經積木組合在一起來相互補充,並形成更強大的混合模型成為可能。 這些深度學習技術有許多可能的組合,但並非所有技術都被利用。 請注意,它與[31]中的混合深度網路不同,後者指的是利用生成和判別成分的深層架構。

**表 2:**特定應用領域中基於深度神經網路的推薦模型。

資料 來源/任務 論文
序列資訊 w/t 使用者 ID [16, 29, 33, 35, 73, 91, 117, 133, 143, 160, 173, 175, 189, 194, 198, 205]
基於會話的 w/t 使用者 ID [55–57, 68, 73, 99, 101, 102, 117, 142, 148, 149]
登入,POI [150, 151, 165, 185]
文字 雜湊標籤 [44, 110, 118, 158, 182, 183, 193, 209]
新聞 [10, 12, 113, 135, 169, 200]
評論文字 [11, 87, 126, 146, 174, 197, 202]
引言 [82, 141]
圖片 視覺特徵 [2, 14, 25, 49, 50, 84, 98, 105, 112, 165, 172, 179, 191, 192, 197, 206]
音訊 音樂 [95, 153, 167, 168]
視訊 影片 [14, 17, 27, 83]
網路 引文網 [9, 38, 66]
社交網路 [32, 116, 166]
跨域 [39, 92, 166]
其它 冷啟動 [154, 156, 170, 171]
多工 [5, 73, 87, 174, 187]
解釋 [87, 126]

表 1 列出所有回顧的模型,我們按照上述分類方案組織它們。 此外,我們還在表 2 中從任務角度總結了一些論文。 回顧的論文涉及各種任務。 由於使用深度神經網路(例如基於會話的推薦,影象,視訊推薦),一些任務已開始受到關注。 一些任務對於推薦研究領域可能並不新穎(用於推薦系統的輔助資訊的詳細回顧可以在[131]中找到),但DL提供了更多找到更好解決方案的可能性。 例如,如果沒有深度學習技巧的幫助,處理影象和視訊將是一項艱鉅的任務。 深度神經網路的序列建模功能可以輕鬆捕獲使用者行為的序列模式。 一些具體任務將在下文中討論。

基於多層感知器的推薦

MLP是一個簡潔但有效的網路,據證明能夠以任何所需的準確度近似將任何可測量的函式[59]。 因此,它是許多先進方法的基礎,並且在許多領域中被廣度使用。

傳統推薦方法的神經擴充套件。 許多現有的推薦模型基本上是線性方法。 MLP可用於向現有RS方法新增非線性變換並將其解釋為神經擴充套件。

**圖 2:**圖示:(a)神經協同過濾;(b)深度分解機。

神經協同過濾 。 在大多數情況下,推薦被視為使用者偏好和專案特徵之間的雙向互動。 例如,矩陣分解將評分矩陣分解為低維使用者/專案潛在因子。 構建雙神經網路來模擬使用者和專案之間的雙向互動是很自然的。 神經網路矩陣分解(NNMF)[37]和神經協同過濾(NCF)[53]是兩個具有代表性的工作。 圖 2a 顯示了NCF架構。 讓 表示輔助資訊(例如使用者個人資訊和專案特徵),或者僅表示使用者 和專案 的單熱識別符號。 評分函式定義如下:

(1)

其中函式 代表多層感知器, 是這個網路的引數。 傳統的MF可以被視為NCF的一個特例。 因此,將矩陣分解的神經解釋與MLP融合來制定更通用的模型是方便的,該模型利用MF的線性和MLP的非線性來提高推薦質量。 可以使用加權平方損失(用於顯式反饋)或二元交叉熵損失(用於隱式反饋)來訓練整個網路。 交叉熵損失定義為:

(2)

可以使用負取樣方法來減少未觀測的訓練例項的數量。 後續工作[112,134]建議使用成對排名損失來提高效果。He 等 [92,166]將NCF模型擴充套件到跨域推薦。 Xue 等 [184]和 Zhang 等 [195]表明,可以用互動矩陣的列或行替換單熱識別符號來保留使用者專案互動模式。

深度分解機 。 DeepFM [47]是一種端到端模型,可無縫整合分解機和MLP。 它能夠使用深度神經網路和與分解機的低階互動來建模高階特徵相互作用。 分解機(FM)利用加法和內積運算來捕獲特徵之間的線性和成對相互作用(更多細節參見[119]中的公式(1))。 MLP利用非線性啟用和深層結構來模擬高階互動。 MLP與FM結合的方式受到廣度和深度網路的啟發。 它用分解機的神經解釋取代了寬的分量。 與廣度和深度模型相比,DeepFM不需要繁瑣的特徵工程。 圖 2b 說明了DeepFM的結構。 DeepFM的輸入 是一個 個領域的資料,由 對組成(使用者和專案的身份和特徵)。 為簡單起見,FM和MLP的輸出分別表示為 。 預測得分通過以下公式計算:

(3)

其中 是S形啟用函式。

Lian 等 [93]通過提出一個eXtreme深度分解機來同時模擬顯式和隱式特徵互動,從而改進了DeepMF。 通過壓縮互動網路學習顯式高階特徵互動。 He等提出的並行工作 [54]取代了與MLP的二階互動,並建議使用dropout和batch normalization對模型進行正則化。

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

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

形式上,廣度學習定義為: ,其中 是模型引數。 輸入 是由原始輸入特徵 ,和變換特徵 (例如,捕獲特徵之間的相關性的交叉乘積變換) 組成的連線特徵集 。 深層神經元的每一層都是 ,其中 表示 層, 是啟用函式。 是權重和偏置。 通過融合這兩個模型可以獲得廣度和深度學習模型:

(4)

其中 是sigmoid函式, 是二元評分標籤, 是最後的啟用。 該聯合模型使用隨機反向傳播(follow-the-regularized-leader 演算法)進行優化。 基於預測的分數生成推薦列表。

通過擴充套件這個模型,Chen 等 [13]為大規模的工業級推薦任務設計了一個區域性連線的廣度和深度學習模型。 它採用高效的區域性連線網路來取代深度學習成分,從而將執行時間減少一個數量級。 部署廣度和深度學習的一個重要步驟是選擇廣度和深度部分的特徵。 換句話說,系統應該能夠確定哪些特徵被記憶或概括。 此外,還需要手工設計交叉乘積變換。 這些預先步驟將極大地影響該模型的效果。 上述基於深度因式分解的模型可以減少特徵工程的工作量。

Covington等 [27]探討了YouTube推薦中MLP的應用。 該系統將推薦任務分為兩個階段:候選生成和候選排名。 候選生成網路從所有視訊語料庫中檢索子集(數百個)。 排名網路基於來自候選者的最近鄰居分數生成 top-n 個列表(數十個)。 我們注意到工業界更關注特徵工程(例如變換,正則化,交叉)和推薦模型的可擴充套件性。

Alashkar等 [2]提出了基於MLP的化妝品推薦模型。 這項工作使用兩個相同的MLP分別為標記示例和專家規則建模。 通過最小化它們的輸出之間的差異,同時更新這兩個網路的引數。 它展示了採用專家知識指導MLP框架中推薦模型學習過程的效果。 即使專業知識的獲取需要很多人的參與,它也是高度精確的。

**圖 3:**圖示:(a)廣度和深度學習;(b)多檢視深度神經網路。

協同度量學習(CML) 。 CML [60]用歐幾里德距離代替MF的點積,因為點積不滿足距離函式的三角恆等性。 通過最大化使用者與其不喜歡的專案之間的距離並最小化使用者與其偏好專案之間的距離來學習使用者和專案嵌入。 在CML中,MLP用於學習專案特徵(如文字,影象和標籤)的表示。

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

基於深度語義相似度的個性化推薦(DSPR) [182]是標籤感知個性化推薦器,其中每個使用者 和專案 由標記註解表示並對映到公共標記空間。 餘弦相似度 用於決定專案和使用者的相關性(或使用者對專案的偏好)。 DSPR的損失函式定義如下:

(5)

其中 是從負面使用者專案對中隨機抽樣的負樣本。[183]的作者使用自編碼器進一步改進DSPR,來從使用者/專案資料中學習低維表示。

多檢視深度神經網路(MV-DNN) [39]專為跨域推薦而設計。 它將使用者視為透視檢視,每個域(假設我們有 個域)作為輔助檢視。 顯然,對於 個使用者域對,有 個相似度得分。 圖 3b 展示了MV-DNN的結構。 MV-DNN的損失函式定義為:

(6)

其中 是模型引數, 是平滑因子, 是使用者檢視的輸出, 是活動檢視的索引。 是檢視 的輸入域。 MV-DNN能夠擴充套件到許多域。 然而,它基於這樣的假設:如果使用者在一個域中具有某種品味,應該在其他域中具有相似的品味。 直觀地說,在許多情況下,這種假設可能是不合理的。 因此,我們應該初步瞭解不同域之間的相關性,來充分利用MV-DNN。

基於自編碼器的推薦

將自編碼器應用於推薦系統有兩種通用方法:(1)利用自編碼器學習瓶頸層的低維特徵表示;或者(2)直接在重構層中填充互動矩陣的空白。 幾乎所有的自編碼器變體,例如去噪自編碼器,變分自編碼器,收縮自編碼器和邊緣化自編碼器都可以應用於推薦任務。 表 3 基於所使用的自編碼器型別總結了推薦模型。

基於自編碼器的協同過濾。 其中一個成功的應用是從自編碼器的角度考慮協同過濾。

AutoRec [125]使用使用者部分向量 或專案部分向量 作為輸入,旨在在輸出層重構它們。 顯然,它有兩種變體:基於專案的AutoRec(I-AutoRec)和基於使用者的AutoRec(U-AutoRec),對應於兩種型別的輸入。 在這裡,我們只介紹I-AutoRec,而U-AutoRec可以相應地輕鬆派生。 圖 4a 說明了I-AutoRec的結構。 給定輸入 ,重構是: ,其中 是啟用函式, 是引數。 I-AutoRec的目標函式如下:

(7)

這裡 意味著它只考慮觀測的評分。 可以通過彈性傳播(收斂更快併產生可比較的結果)或L-BFGS(限制記憶的Broyden Fletcher Goldfarb Shanno演算法)來優化目標函式。 AutoRec的四個要點值得在部署之前注意到:(1)I-AutoRec的效能優於U-AutoRec,這可能是由於使用者部分觀測向量的方差較大。 (2)啟用函式 的不同組合將大大影響效能。 (3)適度增加隱藏單元大小將改善結果,因為擴充套件隱藏層維度使AutoRec能夠更好地模擬輸入的特徵。 (4)新增更多層來形成深層網路可以略微改進。

**圖 4:**圖示:(a)基於專案的AutoRec;(b)協同去噪自編碼器;(c)深層協同過濾框架。

CFN [136,137]是AutoRec的擴充套件,具有以下兩個優點:(1)它採用了去噪技術,使CFN更加健壯;(2)它結合了諸如使用者資料和專案描述之類的輔助資訊,來減輕稀疏性和冷啟動影響。 CFN的輸入也是部分觀測向量,因此它也有兩種變體:I-CFN和U-CFN, 分別作為輸入。 掩蔽噪聲是正則化器,用於更好地處理缺失元素(它們的值為零)。 作者介紹了三種廣泛使用的破壞方法來破壞輸入:高斯噪聲,掩蔽噪聲和椒鹽噪聲。 CFN的進一步擴充套件還包含輔助資訊。 然而,CFN不是僅僅在第一層中結合輔助資訊,而是在每一層中注入輔助資訊。 因此,重構變為:

(8)

其中 是輔助資訊, 表示 的連線。 結合輔助資訊可提高預測準確性,加快訓練過程並使模型更加健壯。

**表 3:**四種基於自編碼器的推薦模型的總結

普通/去噪AE 變分AE 收縮AE 邊緣化AE
[114,125,136,137,159,177] [70,116,170,171,188] [19,89,94] [196] [88]

協同去噪自編碼器(CDAE) 。 之前回顧的三個模型主要用於評分預測,而CDAE [177]主要用於排名預測。 CDAE的輸入是使用者的部分觀測的隱式反饋 。 如果使用者喜歡電影,則條目值為1,否則為0。它還可以被視為反映使用者對專案的興趣的偏好向量。 圖 4b 說明了CDAE的結構。 CDAE的輸入被高斯噪聲破壞。 有損輸入 是從條件高斯分佈 中提取的。重構定義為:

(9)

其中 表示使用者節點的權重矩陣(見圖 4B)。 該權重矩陣對於每個使用者是唯一的,並且對模型效能具有顯著影響。 通過最小化重構誤差也可以學習CDAE的引數:

(10)

其中損失函式 可以是平方損失或 logistic 損失。

CDAE最初使用SGD在所有反饋上更新其引數。 然而,作者認為在現實世界的應用中考慮所有評分是不切實際的,因此他們提出了一種負取樣技術來從負集合(使用者沒有與之互動的專案)中抽取一小部分,這減少了時間複雜度,但基本上沒有降低排名質量。

Muli-VAE和Multi-DAE [94]提出了一種變分自編碼器,用於推薦隱含資料,展示出比CDAE更好的效能。 作者介紹了一種用於引數估計的原則性貝葉斯推理方法,並且展示出比常用似然函式更好的結果。

據我們所知,基於自編碼器的協同過濾(ACF)[114]是第一個基於自編碼器的協同推薦模型。 它不是使用原始的部分觀察向量,而是通過整數評分對它們進行分解。 例如,如果評分分數是[1-5]範圍內的整數,則每個 將分為五個部分向量。 與AutoRec和CFN類似,ACF的損失函式旨在減少均方誤差。 然而,ACF有兩個缺點:(1)它無法處理非整數評分; (2)部分觀測向量的分解增加了輸入資料的稀疏性,導致預測精度更差。

用自編碼器學習特徵表示。 自編碼器是一類功能強大的特徵表示學習方法。 因此,它還可以用在推薦系統中以從使用者/專案內容特徵學習特徵表示。

協同深度學習(CDL) 。 CDL [159]是一種分層貝葉斯模型,它將棧式去噪自編碼器(SDAE)整合到概率矩陣分解中。 為了無縫地結合深度學習和推薦模型,作者提出了一個通用的貝葉斯深度學習框架[161],它由兩個緊密結合的成分組成:感知成分(深度神經網路)和任務特定成分。 具體而言,CDL的感知成分是普通SDAE的概率解釋,PMF充當任務特定成分。 這種緊密結合使CDL能夠平衡輔助資訊和互動歷史的影響。 CDL的生成過程如下:

  1. 對於 SDAE 的每一層 :(a)對於權重矩陣 的每列 ,抽取 ; (b)抽取偏置向量 ;(c) 的每一行 ,抽取
  2. 對於每個專案 :(a)抽取乾淨的輸入 ;(b)抽取潛在偏移向量 並設定潛在專案向量:
  3. 為每個使用者 抽取潛在的使用者向量,
  4. 對於每個使用者 - 專案對 ,抽取評分

其中 是層 的權重矩陣和偏置向量, 代表層 是超引數, 是用於確定觀察置信度的置信引數[63]。圖 5(左)說明了CDL的圖模型。 作者利用EM風格的演算法來學習引數。 在每次迭代中,首先它都會更新 ,然後通過固定 ,更新 。作者還介紹了一種基於抽樣的演算法[161],來避免區域性最優。

在CDL之前,Wang等 [158]提出了一個類似的模型,關係棧式去噪自編碼器(RSDAE),用於標籤推薦。 CDL和RSDAE的區別在於,RSDAE用關係資訊矩陣替換PMF。 CDL的另一個擴充套件是協同變分自編碼器(CVAE)[89],它用變分自編碼器代替CDL的深層神經元件。 CVAE學習內容資訊的概率潛變數,並且可以輕鬆地合併多媒體(視訊,影象)資料來源。

**圖 5:**協同深度學習(左)和協同深度排名(右)的圖模型。

協同深度排名(CDR) 。 CDR [188]專門為成對框架設計,用於 top-n 推薦。 一些研究表明,成對模型更適合排名列表生成[120,177,188]。 實驗結果還表明,CDR在排名預測方面優於CDL。 圖 5(右)介紹CDR的結構。 CDR生成過程的第一和第二步與CDL相同。 第三步和第四步由以下步驟代替:

  • 對於每個使用者 :(a)抽取潛在的使用者向量 ;(b)對於每對成對偏好 ,其中 ,抽取估算器,

其中 表示使用者對專案 和專案 的偏好的成對關係, 是一個置信度值,表示比起專案 使用者多麼 喜歡專案 。優化過程與CDL相同。

深層協同過濾框架 。 它是使用協同過濾模型[88]來統一深度學習方法的一般框架。 該框架可以輕鬆利用深度特徵學習技術來構建混合協同模型。 上述工作如[153,159,167],可視為該一般框架的特例。 形式上,深層協同過濾框架定義如下:

(11)

其中 是權衡引數,用於平衡這三個成分的影響, 是輔助資訊, 是協同過濾模型的損失。 充當鉸鏈,用於連線深度學習和協同模型,以及將潛在因素連結到邊資訊。 在此框架的基礎上,作者提出了基於邊緣化去噪自編碼器的協同過濾模型(mDA-CF)。 與CDL相比,mDA-CF探索了一種計算效率更高的自編碼器變體:邊緣化去噪自編碼器[15]。 它通過邊緣化損壞的輸入,來節省搜尋足夠損壞的輸入版本的計算開銷,這使得mDA-CF比CDL更具可擴充套件性。 此外,mDA-CF嵌入專案和使用者的內容資訊,而CDL僅考慮專案特徵的效果。

AutoSVD ++ [196]利用收縮自編碼器[122]來學習專案特徵表示,然後將它們整合到經典推薦模型SVD ++ [79]中。 所提出的模型具有以下優點:(1)與其他自編碼器變體相比,收縮自編碼器捕獲無窮小的輸入變化;(2)對隱式反饋進行建模,來進一步提高準確性;(3)設計了一種有效的訓練演算法,來減少訓練時間。

HRCD [170,171]是基於自編碼器和timeSVD ++ [80]的混合協同模型。 它是一種時間感知模型,它使用SDAE從原始特徵中學習專案表示,旨在解決冷專案問題。