论文笔记(Attentive Recurrent Social Recommendation)
注意力循環(huán)社交推薦
原文鏈接:Attentive Recurrent Social Recommendation, SIGIR’18
原理:將用戶的朋友和歷史交互項按時間劃分,用注意力機制整合各個時段的朋友影響和交互項影響后輸入LSTM來學(xué)習(xí)動態(tài)用戶向量,動態(tài)用戶向量與動態(tài)項向量的內(nèi)積預(yù)測動態(tài)評分。用注意力機制整合用戶所有時期的朋友影響+用戶向量=用戶靜態(tài)向量,用戶靜態(tài)向量與項靜態(tài)向量的內(nèi)積預(yù)測靜態(tài)評分。動態(tài)評分與靜態(tài)評分之和為最終預(yù)測評分。
1. 摘要
協(xié)同過濾(CF)是建立推薦系統(tǒng)最受歡迎的方式之一。為了解決協(xié)同過濾中數(shù)據(jù)稀疏性的問題,社交推薦(social recommendation)出現(xiàn)了,他利用用戶之間的社交影響來得到更好的推薦效果。在這些系統(tǒng)中,隨著時間的推移,用戶的偏好取決于他們的時間動態(tài)興趣(temporal dynamic interests )和一般的靜態(tài)興趣(general static interests)。同時,用戶內(nèi)在興趣和社會網(wǎng)絡(luò)的社交影響之間的相互作用,推動了用戶的偏好隨時間演變。然而,傳統(tǒng)的方法要么忽略了時間推薦(temporal recommendation)的社交網(wǎng)絡(luò)結(jié)構(gòu),要么假設(shè)靜態(tài)社交推薦(static social recommendation)具有靜態(tài)的社會影響力。因此,如何利用社交影響來提高時間社交推薦效果依然是一個問題。為此,本文提出了一種基于注意力循環(huán)網(wǎng)絡(luò)的時間社交推薦方法。在提出的方法中,我們通過用兩個注意力網(wǎng)絡(luò)融合用戶之間的社交影響,來模擬用戶復(fù)雜動態(tài)的和一般靜態(tài)的偏好隨時間的變化。特別地,在模擬動態(tài)偏好的過程中,我們設(shè)計一個動態(tài)的社交感知循環(huán)神經(jīng)網(wǎng)絡(luò)去捕捉用戶復(fù)雜的隨時間變化的潛在興趣。其中,提出了一個時間注意力網(wǎng)絡(luò)去學(xué)習(xí)隨時間變化的時間社交影響;在模擬一般靜態(tài)偏好的過程中,我們通過引入靜態(tài)社交注意力網(wǎng)絡(luò)刻畫每一個用戶的靜態(tài)興趣,來模擬用戶之間的固定的社交影響。動態(tài)偏好和靜態(tài)偏好的輸出在一個統(tǒng)一的端到端的框架中結(jié)合起來,為了時間社交推薦任務(wù)。
2. 問題定義
數(shù)學(xué)符號定義:
定義1【時間社交推薦】給定一個用戶集合 U,一個項的集合 V,用戶-用戶社交網(wǎng)絡(luò)矩陣 S,從時間1到時間 T 的用戶-項偏好序列 R = [R1,R2,…,RT],我們的目標是預(yù)測每一個用戶在時間 T+1 時的消費行為R? T+1
3. 提出的模型
我們提出的模型Attention Recurrent Social rEcommendation(ARSE)由兩部分組成:一個復(fù)雜的Dynamic ARSE 部分捕獲用戶隨時間推移變化的動態(tài)偏好,一個通用的Static ARSE 部分顯示用戶固定的不隨時間推移變化興趣。
用戶 a 在 t 時刻對項 i 的偏好預(yù)測可以如下表示:項 i 的動態(tài)嵌入 x 用戶 a 在t時刻的動態(tài)嵌入 + 項 i 的靜態(tài)嵌入 x 用戶 a 的靜態(tài)嵌入
整個模型的框架如下所示:
3.1 Dynamic Attentive Social Recurrent Recommendation
Input Pooling Layer
因為 LSMT 要接受一個固定size的輸入,而用戶喜歡的 items 的集合Lta的size是不一樣的(這里應(yīng)該是指數(shù)量),所以這里采用一個平均池化(average pooling operation)操作,(實際上就是把所有items的潛在向量laent vector變成了一個平均的潛在向量,至于為什么采用平均池化而不是最大池化,作者說因為兩種方法在這里沒有明顯的區(qū)別)
下面展示了 Xta 的第 l 個元素的計算方式:
其中 Q 是 items 在動態(tài)空間(dynamic space)中的潛在向量矩陣,Q (:,Lta ) 是選擇所有在 Lta 中出現(xiàn)的item的潛在向量。
Dynamic Attentive Network
用兩層子網(wǎng)絡(luò)去捕獲用戶 a 和他在社交網(wǎng)絡(luò) S 中信任的用戶 b(即sba=1)的動態(tài)注意力分數(shù)mt(a,b):
ht-1a 和 ht-1b 分別是用戶 a 和用戶 b 在 t-1 時刻的潛在向量(latent vector)
ea 和 eb 是用戶 a 和用戶 b 在社交網(wǎng)絡(luò)結(jié)構(gòu)中的社交嵌入(social embedding)
【可以用已經(jīng)提出的各種社交嵌入技術(shù)可以從社交網(wǎng)絡(luò)S中提取出有意義的嵌入,本文采用一個非監(jiān)督深度學(xué)習(xí)模型denoising autoEnoder來為用戶的社交嵌入建模】
最終的動態(tài)注意力分數(shù) αtab 通過標準化上面的注意力分數(shù)得到:
Sa 是用戶a在社交網(wǎng)絡(luò)中信任的所有用戶,
αtab 展示了在t時刻用戶 b 對用戶 a 的影響力
則,用戶a的社交上下文信息 h~ta 表示來自社交網(wǎng)絡(luò)鄰居的權(quán)重動態(tài)社交影響:
Social LSTM Layer
Xta 表示了用戶 a 在 t 時刻消費的items
h~ta 表示了用戶 a 在 t 時刻增強的社交上下文信息
ht-1a 表示了用戶 a 在 t-1 時刻的隱藏狀態(tài)(hiden state)
則預(yù)測隱藏狀態(tài) hta 可以通過一個 LSTM 層計算得到:
不同于傳統(tǒng)的 LSTM 只考慮用戶之前的輸入 Xta 和之前的隱藏狀態(tài) ht-1a,作者在這里加入了用戶的動態(tài)上下文表征 h~ta 來推斷用戶動態(tài)的偏好。
Dynamic Output Layer
3.2 Static Attentive Social Recurrent Recommendation
除了捕獲用戶隨著時間進化的偏好,我們認為每個用戶都有不隨時間變化的靜態(tài)興趣(static interest)
Static Social Attention
用兩層子網(wǎng)絡(luò)去捕獲用戶 a 和他在社交網(wǎng)絡(luò) S 中信任的用戶 b(即sba=1)的靜態(tài)注意力分數(shù)n(a,b)
pa 和 pb 分別表示用戶 a 和用戶 b 的靜態(tài)潛在向量(latent vector)
ea 和 eb 分別是用戶 a 和用戶 b 在社交網(wǎng)絡(luò)結(jié)構(gòu)中的社交嵌入(social embedding)
最終的靜態(tài)注意力分數(shù) βab 通過標準化上面的注意力分數(shù)得到:
則,增強的靜態(tài)社交潛在向量p?~a 可以如下表示:
Static Output
4. 模型學(xué)習(xí)
4.1 Optimization
用一個統(tǒng)一的損失函數(shù)進行學(xué)習(xí)
4.2 Prediction
學(xué)習(xí)總結(jié):
1、關(guān)于用戶的偏好,作者考慮了不隨時間改變的靜態(tài)偏好和隨著時間進化的動態(tài)偏好,對于隨著時間進化的動態(tài)偏好用LSTM模型進行學(xué)習(xí),用某時刻用戶的社交網(wǎng)絡(luò)信息和交互項信息共同作為LSTM某個單元的輸入,經(jīng)處理后輸出當前時刻用戶的偏好;對于不隨時間改變的靜態(tài)偏好通過整合用戶社交網(wǎng)絡(luò)信息和用戶本身的信息得到。兩個部分在整合用戶在社交網(wǎng)絡(luò)中鄰居時都采用了注意力機制來區(qū)分不同鄰居的重要程度。
總結(jié)
以上是生活随笔為你收集整理的论文笔记(Attentive Recurrent Social Recommendation)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抑制过拟合之正则化与Dropout
- 下一篇: 笔记:awesome-chatops摘要