## 基于卷積神經網絡的推薦
卷積神經網絡通過卷積和池化操作處理非結構化多媒體數據非常強大。 大多數基于CNN的推薦模型利用CNN進行特征提取。
用CNN學習特征表示。 CNN可用于從多個來源學習特征表示,例如圖像,文本,音頻,視頻等。
用于圖像特征提取的CNN 。Wang 等[165]研究了視覺特征對興趣點(POI)推薦的影響,并提出了視覺內容增強型POI推薦系統(VPOI)。 VPOI采用CNN來提取圖像特征。 推薦模型建立在PMF之上,探索以下因素之間的交互:(1)視覺內容和潛在用戶因素;(2)視覺內容和潛在位置因素。 Chu等 [25]在餐館推薦中利用視覺信息(例如餐館的食物和家具的圖像)的有效性。 CNN聯合提取的視覺特征與文本表示一起輸入到MF,BPRMF和FM中來測試它們的表現。 結果表明,視覺信息在一定程度上改善了表現,但并不顯著。 He等 [50]通過將視覺特征(通過CNN學習)結合到矩陣分解中,來設計視覺貝葉斯個性化排名(VBPR)算法。 He等 [49]擴展VBPR,探索用戶的時尚意識和用戶在選擇項目時考慮的視覺因素的演化。 Yu等。 [191]提出了一種基于美學的服裝推薦的耦合矩陣和張量因子分解模型,其中CNN用于學習圖像特征和美學特征。 Nguyen等。 [110]提出了一種基于CNN的個性化標簽推薦模型。 它利用卷積和最大池化層從圖像塊中獲取視覺特征。 注入用戶信息以生成個性化推薦。 為了優化該網絡,采用BPR目標來最大化相關和不相關標簽之間的差異。 Lei等。 [84]提出了一個具有CNN的比較深度傾斜模型用于圖像推薦。 該網絡包括兩個用于圖像表示學習的CNN和一個用于用戶偏好建模的MLP。 它將兩個圖像(一個正圖像用戶喜歡,一個負圖像用戶不喜歡)與用戶進行比較。 訓練數據由三胞胎組成:  (用戶  ,正面形象  ,負面圖像  )。 假設用戶與正面圖像之間的距離  應該比用戶和負面圖像之間的距離更近  ,其中  是距離度量(例如歐氏距離)。 ConTagNet [118]是一種上下文感知標簽推薦系統。 圖像特征由CNN學習。 上下文表示由兩層全連接的前饋神經網絡處理。 將兩個神經網絡的輸出連接起來并放入softmax函數以預測候選標簽的概率。
用于文本特征提取的CNN 。 DeepCoNN [202]采用兩個并行的CNN來模擬評論文本中的用戶行為和項目屬性。 該模型通過利用評論文本的豐富語義表示,使用 CNN 來緩解稀疏性問題并增強模型可解釋性。 它利用單詞嵌入技術將評論文本映射到低維語義空間,并保留單詞序列信息。 然后,提取的評論表示連續通過最大池化層、全連接層和具有不同核的卷積層。 用戶網絡  和項目網絡  的輸出最終連接作為預測層的輸入,其中應用分解機來捕獲它們的交互,來進行評分預測。 Catherine 等 [11]提到,只有在目標用戶為目標項目編寫的評論文本在測試時可用時,DeepCoNN才能正常工作,這是不合理的。 因此,他們通過引入潛在層來擴展它來表示目標用戶 - 目標項目對。 此模型在驗證/測試期間不訪問評論,并且仍然可以保持良好的準確性。 Shen等 [130]建立了一個電子學習資源推薦模型。 它使用CNN從學習資源的文本信息中提取項目特征,如學習資料的介紹和內容,并使用[153]的相同程序進行推薦。 ConvMF [75]使用與CDL類似的方式將CNN與PMF相結合。 CDL使用自編碼器來學習項目特征表示,而ConvMF使用CNN來學習高級項目表示。 ConvMF相對于CDL的主要優點是CNN能夠使用詞嵌入和卷積核,捕獲更準確的項目上下文信息。 Tuan 等 [148]建議使用CNN來學習項目內容信息(例如,名稱,描述,標識符和類別)的特征表示形式,來增強基于會話的推薦的準確性。
用于音頻和視頻特征提取的CNN 。 Van 等 [153]建議使用CNN從音樂信號中提取特征。 卷積核和池化層允許多個時間段的操作。 這種基于內容的模型可以緩解音樂推薦的冷啟動問題(音樂尚未消耗)。 Lee 等 [83]建議使用著名的CNN模型ResNet提取音頻特征。 該推薦在類似于CML的協同度量學習框架中執行。
基于CNN的協同過濾。 直接將CNN應用于普通協同過濾也是可行的。 例如,He等。 [51]建議使用CNN來改進NCF并提出ConvNCF。 它使用外部產品而不是點積來模擬用戶項交互模式。 CNN應用于外部產品的結果,并且可以捕獲嵌入維度之間的高階相關性。 Tang等。 [143]呈現了具有CNN的順序推薦(具有用戶標識符),其中兩個CNN(分層和垂直)用于對聯合級序列模式進行建模并且跳過用于序列感知推薦的行為。
用于推薦的圖CNN。 圖卷積網絡是非歐幾里得數據的強大工具,例如:社交網絡,知識圖,蛋白質交互網絡等[77]。 推薦區域中的交互也可以被視為這樣的結構化數據集(二分圖)。 因此,它也可以應用于推薦任務。 例如,Berg等 [6]建議將推薦問題視為使用圖CNN的鏈接預測任務。 該框架使得將用戶/項目方信息,例如社交網絡和項目關系,集成到推薦模型中變得容易。 Ying等。 [190]建議使用圖CNN來進行Pinterest中的推薦 \[\*\] 。 該模型使用隨機游走和圖CNN,從圖結構以及項目特征信息生成項目嵌入,并且適用于非常大規模的網絡推薦系統。 所提出的模型已經部署在Pinterest中,來解決各種現實世界的推薦任務。
## 基于循環神經網絡的推薦
RNN非常適合順序數據處理。 因此,它成為處理交互的時間動態,用戶行為和順序模式,以及具有順序信號(如文本,音頻等)的輔助信息的自然選擇。
沒有用戶標識符的基于會話的推薦。 在許多現實世界的應用或網站中,系統通常不會打擾用戶登錄,因此它無法訪問用戶的標識符及其長期消費習慣或長期興趣。 但是,會話或cookie機制使這些系統能夠獲得用戶的短期偏好。 由于訓練數據的極度稀疏,這在推薦系統中是相對不受歡迎的任務。 最近的進展證明了RNN在解決這個問題方面的效果[56,142,176]。
GRU4Rec 。 Hidasi等 [56]提出了一個基于會話的推薦模型GRU4Rec,基于GRU(如圖 6a)。 輸入是實際的會話狀態,帶有 1-of-N 編碼,其中`N`是物品的數量。 如果相應的項在此會話中處于活動狀態,則坐標將為 1,否則為0。輸出是每個項目在會話中成為下一個項的可能性。 為了有效地訓練所提出的框架,作者提出了一種會話并行的小批量算法,和一種用于輸出的采樣方法。 排名損失為 TOP1 并具有以下形式:
 (12)
其中  是樣本大小,  和  是負面項目  和正面項目  在會話  中的得分,  是 sigmoid 函數。 最后一項用于正則化。 注意,BPR損失也是可行的。 最近的一項工作[55]發現[56]中定義的原始TOP1損失和BPR損失受到梯度消失問題的影響,因此,提出了兩種新的損失函數:TOP1-max和BPR-max。
后續工作[142]提出了幾種進一步改進該模型的策略:(1)通過序列預處理和dropout正則化來擴展點擊序列;(2)適應時間變化,通過使用完整的訓練數據來預訓練,并使用最近的點擊序列微調模型;(3)使用教師模型和特權信息來改善模型 ;(4)使用項目嵌入來減少參數數量,以便更快地計算。
Wu等 [176]為真實世界的電子商務網站設計了基于會話的推薦模型。 它利用基本RNN根據點擊歷史預測用戶下次購買的內容。 為了最小化計算成本,它只保留有限數量的最新狀態,同時將舊狀態折疊為單個歷史狀態。 該方法有助于權衡計算成本和預測準確性。 Quadrana 等 [117]提出了基于會話的用于推薦的分層遞歸神經網絡。 當存在用戶標識符時,該模型可以處理會話感知推薦。
上述三個基于會話的模型不考慮任何輔助信息。 兩個擴展[57,132]表明輔助信息對提升會話推薦質量有影響。 Hidasi等 [57]引入了基于會話的并行推薦架構,該架構利用三個GRU來學習身份單熱向量,圖像特征向量和文本特征向量的表示。 這三個GRU的輸出被加權連接并放入非線性激活,來預測該會話中的下一個項目。 Smirnova等 [132]提出了一種基于條件RNN的基于上下文感知會話的推薦系統。 它將上下文信息注入輸入和輸出層。 這兩個模型的實驗結果表明,包含額外信息的模型優于僅基于歷史交互的模型。
盡管RNN在基于會話的推薦中取得了成功,但Jannach等 [68]表明,簡單的鄰域方法可以獲得精度與GRU4Rec相同的結果。 將鄰域與RNN方法相結合通常可以獲得最佳性能。 這項工作表明,最近的工作中的一些基線沒有充分證明和正確評估。 可以在[103]中找到更全面的討論。
用戶標識符的順序推薦。 與基于會話的推薦系統不同,其中通常不存在用戶標識符。 以下研究涉及帶有已知用戶標識的順序推薦任務。
循環推薦網絡(RRN) [175]是建立在RNN上的非參數推薦模型(如圖 6B 所示)。 它能夠模擬項目的季節性演化和用戶偏好隨時間的變化。 RRN使用兩個LSTM網絡作為積木來模擬動態用戶狀態  和項目狀態  。 同時,考慮到用戶長期興趣和項目靜態特征等固定屬性,該模型還結合了用戶和項目的固有潛在屬性:  和  。 由用戶  給出,在時間  上的項目的預測評分  定義為:
 (13)
其中  和  從LSTM學習,  和  通過標準矩陣分解學習。 優化是最小化預測和實際評分值之間的平方誤差。
Wu 等 [174]通過同時對文本評論和評分進行建模,進一步改進了RRN模型。 與大多數文本評論擴展型推薦模型[127,202]不同,此模型旨在使用具有用戶和項目潛在狀態的字符級LSTM網絡生成評論。 評論生成任務可以被視為促進評分預測的輔助任務。 該模型能夠提高評分預測的準確性,但不能生成連貫且可讀的評論文本。 下文中介紹的NRT [87]可以生成可讀的評論提示。 Jing等 [73]提出了一個多任務學習框架,可以同時預測用戶的返回時間和推薦項目。 返回時間預測由生存分析模型驅動,它設計用于估計患者生存概率。 作者修改此模型,使用LSTM來估計客戶的返回時間。 項目推薦也通過LSTM從用戶過去的會話動作執行。 與上述基于會話的推薦系統不同,該推薦系統側重于在同一會話中進行推薦,該模型旨在提供會話間的推薦。 Li 等 [91]提出了一個行為密集型的順序推薦模型。 該模型由兩部分組成:神經項目嵌入和判別行為學習。 后一部分由兩個LSTM組成,分別用于會話和偏好行為學習。 Christakopoulou 等 [24]設計了一個帶有RNN的交互式推薦系統。 提出的框架旨在解決交互推薦中的兩個關鍵任務:提問和回答。 RNN用于處理這兩項任務:根據用戶最近的行為(例如,觀察事件)預測用戶可能會問的問題并預測響應。 Donkers等 [35]設計了一種新型的門控循環單元,來明確表示個人用戶的下一個項目推薦。

**圖 6:**插圖:(a)使用RNN的基于會話的推薦;(b)循環推薦網絡;(c)基于受限玻爾茲曼機的協同過濾。
使用RNN學習特征表示。 對于具有順序模式的輔助信息,使用RNN作為表示學習工具是可取的選擇。
Dai 等 [29]提出了一個共同進化的潛在模型,來捕捉用戶和項目潛在特征的共同演化特性。 用戶和項目之間的交互在推動用戶偏好和項目狀態的變化方面起著重要作用。 為了對歷史交互進行建模,作者建議使用RNN自動學習來自用戶和項目特征的變遷,進化和共同演化的影響的表示。
Bansal等 [5]建議使用GRU將文本序列編碼為潛在因子模型。 這種混合模型解決了熱啟動和冷啟動問題。 此外,作者采用了多任務正則化器來防止過擬合并減小訓練數據的稀疏性。 主要任務是評分預測,而輔助任務是項目元數據(例如標簽,流派)預測。
Okura等。 [113]建議使用GRU來學習用戶瀏覽歷史(瀏覽的新聞)的更具表現力的聚合,并使用潛在因子模型推薦新聞文章。 與傳統的基于單詞的方法相比,結果顯示出顯著的改進。 該系統已完全部署到在線生產服務,每天為超過一千萬的獨立用戶提供服務。
Li 等 [87]提出了一個多任務學習框架NRT,用于預測評分以及同時為用戶生成文本提示。 生成的提示提供簡明的建議,并預測用戶對某些產品的體驗和感受。 評分預測任務由項目和用戶潛在因素 , 上的非線性層建模,其中  和  (不一定相等)是用戶和項目的潛在因素維度。將預測評分  和兩個潛在因子矩陣饋送到GRU中以產生提示。 這里,  用作上下文信息來決定生成的提示的情緒。 多任務學習框架使整個模型能夠在端到端的范式中得到有效的訓練。
Song 等 [135]設計了一個時態DSSM模型,該模型將RNN集成到DSSM中進行推薦。 基于傳統的DSSM,TDSSM將左側網絡替換為項目靜態特征,將右側網絡替換為兩個子網絡,來建模用戶靜態特征(具有MLP)和用戶時間特征(具有RNN)。
## 基于受限玻爾茲曼機的推薦
Salakhutdinov等 [123]提出了一種基于受限玻爾茲曼機的推薦系統(如圖 6C 所示)。 據我們所知,它是第一個建立在神經網絡上的推薦模型。 RBM的可見單元限于二進制值,因此,評分得分以單熱向量表示來適應該限制。 例如,[0,0,0,1,0]表示用戶給該項目評分4。 讓  表示固定大小為  的隱藏單元。 每個用戶都有一個具有共享參數的唯一RBM。 假設用戶評價  個電影,可見單元的數量為  ,讓  是一個  矩陣,其中 ,如果用戶  給電影  打分為 ,否則為 。 然后:
 (14)
其中  表示電影 的評分  和隱藏單元  之間連接的權重,  是評分  對于電影  的偏差, 是隱藏單元  的偏差。RBM不易處理,但可以通過對比發散(CD)算法[45]來學習參數。 作者進一步提出使用條件RBM來結合隱式反饋。 這里的實質是,用戶通過給出評分來隱含地告訴他們的偏好,無論他們如何評價項目。
上述RBM-CF是基于用戶的,其中給定用戶的評分限制在可見層上。 與之類似,如果我們將給定項目的評分限制在可見層上,我們可以輕松設計基于項目的RBM-CF。 Georgiev等 [42]建議將基于用戶和基于項目的RBM-CF組合在一個統一的框架中。 在這種情況下,可見單元由用戶和項目隱藏單元確定。 Liu等 [100]設計了混合RBM-CF,其中包含項目特征(項目類別)。 該模型也基于條件RBM。 這種混合模型與具有隱式反饋的條件RBM-CF之間存在兩個差異:(1)這里的條件層用二元項目類型建模;(2)條件層使用不同連接權重影響隱藏層和可見層。
**表:**基于神經注意的推薦模型的類別。
| 普通注意 | 共同注意 |
| --- | --- |
| [14, 44, 70, 90, 99, 101, 127, 145, 169, 189] | [62, 146, 193, 194, 205] |
## 基于神經注意力的推薦
注意力機制是由人類視覺注意力驅動的。 例如,人們只需要關注視覺輸入的特定部分來理解或識別它們。 注意力機制能夠從原始輸入中濾除無信息特征,并減少噪聲數據的副作用。 這是一種直觀但有效的技術,近年來在計算機視覺[3],自然語言處理[104,155]和語音識別[22,23]等領域引起了相當多的關注。 神經注意力不僅可以與MLP,CNN和RNN一起使用,還可以獨立地解決一些任務[155]。 將注意力機制集成到RNN中,使RNN能夠處理長而嘈雜的輸入[23]。 雖然LSTM可以在理論上解決長期記憶問題,但在處理遠程依賴時仍然存在問題。 注意力機制提供了更好的解決方案,并幫助網絡更好地記憶輸入。 基于注意力的CNN能夠捕獲輸入中信息量最大的元素[127]。 通過將注意力機制應用于推薦系統,可以利用注意力機制來過濾無信息內容并選擇最具代表性的項目[14],同時提供良好的可解釋性。 雖然神經注意力機制并不完全是一種獨立的深度神經技術,但由于其廣泛使用,仍然值得單獨討論。
注意力模型使用注意力得分來學習輸入的注意力。 計算注意力得分是神經注意力模型的核心。 基于計算注意力得分的方式,我們將神經注意力模型分為(1)標準的普通注意力和(2)共同注意力。 普通注意力利用參數化的背景向量來學習注意力,而共同注意力涉及從兩個序列學習注意力權重。 自我注意力是共同關注的一個特例。 最近的工作[14,44,127]展示了注意力機制在提高推薦效果方面的能力。 表 ?? 總結了基于注意力的推薦模型。
使用普通注意力的推薦
Chen 等。 [14]通過在潛在因子模型中引入二級注意力機制,提出了一種注意力協同過濾模型。 它由項目級別和組件級別的注意力組成。 項目級注意力用于選擇最具代表性的項目來表示用戶。 組件級別的注意力旨在從每個用戶的多媒體輔助信息中捕獲最豐富的信息。 Tay 等 [145]為協同度量學習提出了基于記憶的注意力。 它引入了潛在關系向量,通過CML的關注來習得。 Jhamb等 [70]提出,使用注意力機制來提高基于自編碼器的CF的性能。Liu等 [99]提出了一種基于短期注意力和記憶優先級的模型,其中長期和短期用戶興趣都集成在基于會話的推薦中。 Ying等 [189]提出了序列推薦的分層注意力模型。 兩個注意力網絡用于模擬用戶的長期和短期興趣。
向RNN引入注意力機制可以顯著提高其性能。 Li等 [90]提出了一種基于注意力的LSTM模型,用于標簽推薦。 這項工作利用RNN和注意力機制的優勢,來捕獲序列屬性并識別來自微博帖子的信息性單詞。 Loyala等 [101]提出了一種編碼器 - 解碼器架構,注重用戶會話和意圖建模。 該模型由兩個RNN組成,可以以更具表現力的方式捕捉過渡性規律。
普通注意力也可以與CNN一起用于推薦任務。 Gong等 [44]提出了一個基于注意力的CNNs系統,用于微博中的`#`標簽推薦。 它將主題標簽推薦視為多標簽分類問題。 所提出的模型由全局通道和局部注意力通道組成。 全局通道由卷積濾波器和最大池化層組成。 所有單詞都在全局通道的輸入中編碼。 局部注意力通道具有一個具有給定窗口大小和閾值的注意層,來選擇信息性詞語(在本工作中稱為觸發詞)。 因此,只有觸發詞在后續層中起作用。 在后續工作[127]中,Seo等 利用與[44]相同的兩個神經網絡(沒有最后兩層)來學習來自用戶和項目評論文本的特征表示,并使用最終層中的點積來預測評分。 Wang等 [169]提出了文章推薦的組合模型,其中CNN用于學習文章表示,并且注意力被用于處理編輯的選擇行為的多樣化差異。
共同注意力的推薦。Zhang等 [194]提出了一個組合模型AttRec,它通過利用自我注意力和度量學習的強度來改進順序推薦性能。 它利用自我注意力從最近的交互中學習用戶的短期意圖,并利用度量學習的優勢來學習更具表現力的用戶和項目嵌入。 Zhou等 [205]建議使用自我注意力進行用戶異構行為建模。 自我注意力是一種簡單而有效的機制,并且在順序推薦任務方面表現出優于CNN和RNN的性能。 我們相信它有能力取代許多復雜的神經模型,預計會有更多的綜述。 Tay等 [146]提出了一種基于評論的推薦系統,具有多指針的共同注意力。 共同注意力使模型能夠通過用戶和項目評論的共同學習來選擇信息性評論。 Zhang等 [193]提出了一種基于共同注意力的標簽推薦模型,該模型集成了視覺和文本信息。 Shi等 [62]提出了一種神經共同注意力模型,用于帶有元路徑的個性化排名任務。
## 基于神經自回歸的推薦
如上所述,RBM不易處理,因此我們通常使用Contrastive Divergence算法來近似參數[81]上的對數似然梯度,這也限制了RBM-CF的使用。 所謂的神經自回歸分布估計器(NADE)是一種易處理的分布估計器,它為RBM提供了理想的替代方案。 受RBM-CF的啟發,Zheng等 [204]提出了一種基于NADE的協同過濾模型(CF-NADE)。 CF-NADE模擬用戶評分的分布。 在這里,我們提供一個詳細的例子來說明CF-NADE的工作原理。 假設我們有4部電影:m1(評分為4),m2(評分為2),m3(評分為3)和m4(評分為5)。 CF-NADE模擬評分向量  的聯合概率,通過鏈式規則: ,其中  是用戶評分的項目數,  是`D`元組,是  的排列,  是第  個評論的項目的下標,  是用戶給商品  的評分。 具體來說,該過程如下:(1)用戶給  四星的概率,沒有任何條件; (2)用戶給  2星的概率,條件為  四星; (3)用戶給  三星的概率,條件為  四星和  2星的; (4)用戶給  五星的概率,條件為  四星,  2星和  3星。
理想情況下,電影的順序應遵循評分的時間戳。 然而,實證研究表明,隨機抽取也會產生良好的性能。 該模型可以進一步擴展到深度模型。 在后續文獻中,Zheng等 [203]提出結合隱式反饋來克服評分矩陣的稀疏性問題。 Du等 [36]使用用戶項目共同自回歸方法進一步改進了該模型,該方法在評分估計和個性化排名任務方面具有更好的性能。
## 深度強化學習推薦
大多數推薦模型將推薦過程視為靜態過程,這使得難以捕獲用戶的時間意圖并及時響應。 近年來,DRL開始引起人們對個性化推薦的關注[21,107,168,198-200]。 Zhao等 [198]提出了一個DRL框架DEERS,用于在順序交互設置中提供負反饋和正反饋。 Zhao等 [200]使用DRL探索了頁面推薦方案,建議的框架DeepPage能夠根據用戶的實時操作自適應地優化項目頁面。Zheng等。 [200]提出了一個新聞推薦系統DRN,用DRL來應對以下三個挑戰:(1)新聞內容和用戶偏好的動態變化;(2)納入用戶的退貨模式(對服務);(3)增加建議的多樣性。 Chen等 [16]提出了一種強大的深度Q學習算法,用兩種策略解決不穩定的獎勵估計問題:分層抽樣重放和近似后悔獎勵。 崔等。 [21]提出用RL和雙聚類解決冷啟動問題。 Munemasa等[107]建議使用DRL進行商店推薦。
強化學習技術,如上下文 - 強盜方法[86],已在實際應用中表現出卓越的推薦性能。 深度神經網絡增加了RL的實用性,并且可以為設計實時推薦策略建模各種額外信息。
## 基于對抗網絡的推薦
IRGAN [162]是第一個將GAN應用于信息檢索領域的模型。 具體而言,作者展示了其在信息檢索任務中的三個能力,包括:網絡搜索,項目推薦和問題回答。 在本綜述中,我們主要關注如何使用IRGAN推薦商品。
首先,我們介紹IRGAN的一般框架。 傳統的GAN由判別器和生成器組成。 可能在信息檢索方面存在兩種思維流派,即生成檢索和判別檢索。 給定查詢 ,生成檢索假定文檔和查詢之間存在潛在的生成過程,并且可以通過生成相關文檔來實現檢索任務 。給定標記的相關查詢 - 文檔對,判別式檢索學習預測相關性得分 。IRGAN的目標是將這兩個想法組合成一個統一的模型,并使它們在GAN中扮演像生成器和判別器這樣的極小極大游戲。 生成檢索旨在生成類似于真實情況的相關文檔,來欺騙判別性檢索模型。
形式上,讓  指代用戶的相關性(偏好)分布。 生成檢索模型  試圖近似真實的相關性分布。 判別性檢索  試圖區分相關文檔和不相關文檔。 與GAN的目標函數類似,總體目標如下:
 (15)
其中 , 代表 sigmoid 函數, 和  分別是生成和判別檢索的參數。參數  和  可以用梯度下降交替學習。
為逐點相關性估計構造上述目標方程。在某些特定任務中,應該采用成對范式來生成更高質量的排名列表。這里,假設由 softmax 函數給出:
 (16)
是文檔  從查詢  生成的機會。在顯式世界的檢索系統中,兩者  和  都是特定于任務的。它們可以具有相同或不同的公式。為方便起見,作者使用相同的函數對它們進行了建模,并將它們定義為: 和 。在項目推薦方案中,作者采用矩陣分解來表示 。它可以用其他高級模型代替,例如分解機或神經網絡。
He 等\[52\]提出了一種對抗性的個性化排名方法,使用對抗性訓練增強了貝葉斯個性化排名。它在原始BPR目標和對手之間進行極小極大游戲,增加噪音或排列來最大化BPR損失。Cai等\[9\]為引文文獻網絡提出了一種基于GAN的表示學習方法,可以有效地解決個性化的引文推薦任務。Wang等\[164\]建議使用GAN為基于存儲器網絡的流推薦系統生成負樣本。實驗表明,所提出的基于GAN的采樣器可以顯著提高性能。
## 用于推薦的深度混合模型
憑借深度神經網絡的良好靈活性,可以集成許多神經積木,來形成更強大和更具表現力的模型。盡管有很多可能的組合方式,但我們建議混合模型應該針對特定任務而合理并精心設計。在這里,我們總結了據證明在某些應用領域有效的現有模型。
CNN和自編碼器。基于協同知識嵌入(CKE)\[192\]將CNN與自編碼器相結合,用于圖像特征提取。 CKE可以被視為CDL的另一步。 CDL僅考慮項目文本信息(例如文章摘要和電影情節),而CKE使用不同嵌入技術,利用結構內容,文本內容和視覺內容。結構信息包括項目的屬性以及項目和用戶之間的關系。 CKE采用TransR \[96\],一種異構網絡嵌入方法,用于解釋結構信息。同樣,CKE使用SDAE從文本信息中學習特征表示。至于視覺信息,CKE采用堆疊卷積自編碼器(SCAE)。SCAE通過用卷積層替換全連接的SDAE層來有效利用卷積。推薦過程類似于CDL的概率形式。
CNN和RNN。Lee等 \[82\]提出了一個帶有RNN和CNN的深度混合模型,用于引用推薦。引用推薦被視為,在給定查詢文本或對話的情況下,生成有序的引用列表的任務(每個對話包含一系列推文)。它應用CNN來學習重要的局部語義,并將它們映射到分布向量。 LSTM進一步處理這些分布向量,來計算目標引用與給定推文對話的相關性。整體架構如圖12(a)所示。
Zhang等\[193\]提出了基于CNN和RNN的混合模型,用于標簽推薦。給定帶有相應圖像的推文,作者利用CNN從圖像中提取特征,并利用LSTM從推文中學習文本特征。同時,作者提出了一種共同關注機制來模擬相關影響并平衡文本和圖像的貢獻。
Ebsesu等\[38\]提出了一個神經引文網絡,它將CNN與RNN集成在一個編碼器 - 解碼器框架中,用于引用推薦。在此模型中,CNN充當編碼器,捕獲來自引用上下文的長期依賴性。給定所有先前的單詞以及CNN獲得的表示,RNN用作解碼器,學習所引用的論文的標題中的單詞的概率。
Chen 等\[17\]提出了一個集成CNN和RNN的集成框架,用于個性化(視頻中)關鍵幀的推薦,其中CNN用于學習關鍵幀圖像的特征表示,RNN用于處理文本特征。
RNN和自編碼器。前面提到的協同深度學習模型缺乏魯棒性,無法對文本信息序列進行建模。Wang 等 \[160\]進一步利用集成RNN和去噪自編碼器來克服這些限制。作者首先設計了一種名為魯棒復現網絡的泛化RNN。基于強大的循環網絡,作者提出了稱為CRAE的分層貝葉斯推薦模型。CRAE還包括編碼和解碼部分,但它用RNN替換前饋神經層,這使得CRAE能夠捕獲項目內容信息的順序信息。此外,作者設計了通配符去噪和β池化技術來防止模型過擬合。
具有DRL的RNN。Wang 等。[163\]建議將監督的深度強化學習與RNNs結合起來用于治療推薦。該框架可以從指標信號和評估信號中學習處方策略。實驗表明,該系統可以自動推斷和發現最佳處理方法。我們相信這是一個有價值的話題,有益于社會利益。
- TensorFlow 1.x 深度學習秘籍
- 零、前言
- 一、TensorFlow 簡介
- 二、回歸
- 三、神經網絡:感知器
- 四、卷積神經網絡
- 五、高級卷積神經網絡
- 六、循環神經網絡
- 七、無監督學習
- 八、自編碼器
- 九、強化學習
- 十、移動計算
- 十一、生成模型和 CapsNet
- 十二、分布式 TensorFlow 和云深度學習
- 十三、AutoML 和學習如何學習(元學習)
- 十四、TensorFlow 處理單元
- 使用 TensorFlow 構建機器學習項目中文版
- 一、探索和轉換數據
- 二、聚類
- 三、線性回歸
- 四、邏輯回歸
- 五、簡單的前饋神經網絡
- 六、卷積神經網絡
- 七、循環神經網絡和 LSTM
- 八、深度神經網絡
- 九、大規模運行模型 -- GPU 和服務
- 十、庫安裝和其他提示
- TensorFlow 深度學習中文第二版
- 一、人工神經網絡
- 二、TensorFlow v1.6 的新功能是什么?
- 三、實現前饋神經網絡
- 四、CNN 實戰
- 五、使用 TensorFlow 實現自編碼器
- 六、RNN 和梯度消失或爆炸問題
- 七、TensorFlow GPU 配置
- 八、TFLearn
- 九、使用協同過濾的電影推薦
- 十、OpenAI Gym
- TensorFlow 深度學習實戰指南中文版
- 一、入門
- 二、深度神經網絡
- 三、卷積神經網絡
- 四、循環神經網絡介紹
- 五、總結
- 精通 TensorFlow 1.x
- 一、TensorFlow 101
- 二、TensorFlow 的高級庫
- 三、Keras 101
- 四、TensorFlow 中的經典機器學習
- 五、TensorFlow 和 Keras 中的神經網絡和 MLP
- 六、TensorFlow 和 Keras 中的 RNN
- 七、TensorFlow 和 Keras 中的用于時間序列數據的 RNN
- 八、TensorFlow 和 Keras 中的用于文本數據的 RNN
- 九、TensorFlow 和 Keras 中的 CNN
- 十、TensorFlow 和 Keras 中的自編碼器
- 十一、TF 服務:生產中的 TensorFlow 模型
- 十二、遷移學習和預訓練模型
- 十三、深度強化學習
- 十四、生成對抗網絡
- 十五、TensorFlow 集群的分布式模型
- 十六、移動和嵌入式平臺上的 TensorFlow 模型
- 十七、R 中的 TensorFlow 和 Keras
- 十八、調試 TensorFlow 模型
- 十九、張量處理單元
- TensorFlow 機器學習秘籍中文第二版
- 一、TensorFlow 入門
- 二、TensorFlow 的方式
- 三、線性回歸
- 四、支持向量機
- 五、最近鄰方法
- 六、神經網絡
- 七、自然語言處理
- 八、卷積神經網絡
- 九、循環神經網絡
- 十、將 TensorFlow 投入生產
- 十一、更多 TensorFlow
- 與 TensorFlow 的初次接觸
- 前言
- 1.?TensorFlow 基礎知識
- 2. TensorFlow 中的線性回歸
- 3. TensorFlow 中的聚類
- 4. TensorFlow 中的單層神經網絡
- 5. TensorFlow 中的多層神經網絡
- 6. 并行
- 后記
- TensorFlow 學習指南
- 一、基礎
- 二、線性模型
- 三、學習
- 四、分布式
- TensorFlow Rager 教程
- 一、如何使用 TensorFlow Eager 構建簡單的神經網絡
- 二、在 Eager 模式中使用指標
- 三、如何保存和恢復訓練模型
- 四、文本序列到 TFRecords
- 五、如何將原始圖片數據轉換為 TFRecords
- 六、如何使用 TensorFlow Eager 從 TFRecords 批量讀取數據
- 七、使用 TensorFlow Eager 構建用于情感識別的卷積神經網絡(CNN)
- 八、用于 TensorFlow Eager 序列分類的動態循壞神經網絡
- 九、用于 TensorFlow Eager 時間序列回歸的遞歸神經網絡
- TensorFlow 高效編程
- 圖嵌入綜述:問題,技術與應用
- 一、引言
- 三、圖嵌入的問題設定
- 四、圖嵌入技術
- 基于邊重構的優化問題
- 應用
- 基于深度學習的推薦系統:綜述和新視角
- 引言
- 基于深度學習的推薦:最先進的技術
- 基于卷積神經網絡的推薦
- 關于卷積神經網絡我們理解了什么
- 第1章概論
- 第2章多層網絡
- 2.1.4生成對抗網絡
- 2.2.1最近ConvNets演變中的關鍵架構
- 2.2.2走向ConvNet不變性
- 2.3時空卷積網絡
- 第3章了解ConvNets構建塊
- 3.2整改
- 3.3規范化
- 3.4匯集
- 第四章現狀
- 4.2打開問題
- 參考
- 機器學習超級復習筆記
- Python 遷移學習實用指南
- 零、前言
- 一、機器學習基礎
- 二、深度學習基礎
- 三、了解深度學習架構
- 四、遷移學習基礎
- 五、釋放遷移學習的力量
- 六、圖像識別與分類
- 七、文本文件分類
- 八、音頻事件識別與分類
- 九、DeepDream
- 十、自動圖像字幕生成器
- 十一、圖像著色
- 面向計算機視覺的深度學習
- 零、前言
- 一、入門
- 二、圖像分類
- 三、圖像檢索
- 四、對象檢測
- 五、語義分割
- 六、相似性學習
- 七、圖像字幕
- 八、生成模型
- 九、視頻分類
- 十、部署
- 深度學習快速參考
- 零、前言
- 一、深度學習的基礎
- 二、使用深度學習解決回歸問題
- 三、使用 TensorBoard 監控網絡訓練
- 四、使用深度學習解決二分類問題
- 五、使用 Keras 解決多分類問題
- 六、超參數優化
- 七、從頭開始訓練 CNN
- 八、將預訓練的 CNN 用于遷移學習
- 九、從頭開始訓練 RNN
- 十、使用詞嵌入從頭開始訓練 LSTM
- 十一、訓練 Seq2Seq 模型
- 十二、深度強化學習
- 十三、生成對抗網絡
- TensorFlow 2.0 快速入門指南
- 零、前言
- 第 1 部分:TensorFlow 2.00 Alpha 簡介
- 一、TensorFlow 2 簡介
- 二、Keras:TensorFlow 2 的高級 API
- 三、TensorFlow 2 和 ANN 技術
- 第 2 部分:TensorFlow 2.00 Alpha 中的監督和無監督學習
- 四、TensorFlow 2 和監督機器學習
- 五、TensorFlow 2 和無監督學習
- 第 3 部分:TensorFlow 2.00 Alpha 的神經網絡應用
- 六、使用 TensorFlow 2 識別圖像
- 七、TensorFlow 2 和神經風格遷移
- 八、TensorFlow 2 和循環神經網絡
- 九、TensorFlow 估計器和 TensorFlow HUB
- 十、從 tf1.12 轉換為 tf2
- TensorFlow 入門
- 零、前言
- 一、TensorFlow 基本概念
- 二、TensorFlow 數學運算
- 三、機器學習入門
- 四、神經網絡簡介
- 五、深度學習
- 六、TensorFlow GPU 編程和服務
- TensorFlow 卷積神經網絡實用指南
- 零、前言
- 一、TensorFlow 的設置和介紹
- 二、深度學習和卷積神經網絡
- 三、TensorFlow 中的圖像分類
- 四、目標檢測與分割
- 五、VGG,Inception,ResNet 和 MobileNets
- 六、自編碼器,變分自編碼器和生成對抗網絡
- 七、遷移學習
- 八、機器學習最佳實踐和故障排除
- 九、大規模訓練
- 十、參考文獻