【論文解讀】騰訊FAT | 未來(lái)感知的多樣化趨勢(shì)推薦框架
“本文介紹了騰訊提出的一種未來(lái)感知的多樣化趨勢(shì)推薦框架FAT,根據(jù)相似用戶的行為來(lái)構(gòu)建未來(lái)序列,再通過(guò)動(dòng)態(tài)路由學(xué)習(xí)多樣化的趨勢(shì)。實(shí)驗(yàn)表明,考慮了潛在未來(lái)偏好趨勢(shì)的FAT不僅能夠提升推薦的準(zhǔn)確性,也能提高多樣性。”
本文介紹的論文是《Future-Aware Diverse Trends Framework for Recommendation》
摘要
在推薦系統(tǒng)的用戶表示學(xué)習(xí)中,對(duì)用戶-項(xiàng)目交互的建模很重要。現(xiàn)有的序列推薦系統(tǒng)通過(guò)用戶歷史序列來(lái)捕捉歷史偏好。然而,用戶的偏好是「不斷變化且多樣化」的,僅僅對(duì)歷史偏好建模(不考慮偏好隨時(shí)間變化的趨勢(shì))可能導(dǎo)致推薦多樣性、時(shí)效性不足。
本文為縮小「歷史偏好」和「潛在未來(lái)偏好」之間的gap,提出了未來(lái)感知的多樣化趨勢(shì)(FAT)框架。其中未來(lái)感知是指根據(jù)「相似用戶」來(lái)構(gòu)建目標(biāo)用戶的「未來(lái)序列」(提出了一種鄰居行為提取器);多樣化趨勢(shì)是指:認(rèn)為未來(lái)偏好是多樣化的,提出了多樣化趨勢(shì)提取器和時(shí)間感知的注意力機(jī)制,使用「多個(gè)向量」表達(dá)用戶潛在的偏好趨勢(shì)。利用歷史偏好和潛在未來(lái)趨勢(shì)進(jìn)行最終的推薦。實(shí)驗(yàn)表明,F(xiàn)AT不僅能夠提升序列推薦的準(zhǔn)確性,也能提高推薦的「多樣性」和時(shí)效性。
貢獻(xiàn)
為更好地捕捉用戶行為的動(dòng)態(tài)變化,設(shè)計(jì)了一個(gè)FAT框架,利用了未來(lái)信息并捕捉了多樣化的用戶偏好趨勢(shì)。 首先從相似用戶中提取未來(lái)行為,然后利用動(dòng)態(tài)路由進(jìn)行自適應(yīng)的融合(也可以理解為聚類),得到趨勢(shì)向量。然后使用時(shí)間感知的注意力機(jī)制來(lái)更好地建模隨時(shí)間變化的用戶潛在偏好。 與現(xiàn)有方法相比,F(xiàn)AT在幾個(gè)公開(kāi)數(shù)據(jù)集上效果更好,且FAT召回的項(xiàng)目具有更高的多樣性
模型
模型結(jié)構(gòu)圖:

左側(cè):對(duì)當(dāng)前用戶的歷史序列建模,得到歷史偏好向量 。灰色小球和向量表示對(duì)待預(yù)測(cè)item做embedding,后面預(yù)測(cè)層使用。
右側(cè):為當(dāng)前用戶找到多個(gè)相似用戶,對(duì)每個(gè)相似用戶進(jìn)行歷史序列建模,得到其偏好向量。這些偏好向量經(jīng)過(guò)一個(gè)膠囊網(wǎng)絡(luò)得到T個(gè)趨勢(shì)向量,再通過(guò)時(shí)間感知的注意力層來(lái)融合,得到未來(lái)偏好向量。
下面對(duì)每個(gè)模塊進(jìn)行具體介紹:
Sequence Modeling
輸入是按照時(shí)間排列的用戶歷史行為序列,對(duì)這些item id做embedding之后使用LSTM提取序列特征(LSTM公式不再贅述),得到用戶的偏好向量。
相似用戶的歷史序列同樣也使用LSTM來(lái)進(jìn)行特征提取。
Implicit Neighbor Behavior Extractor
用皮爾遜相關(guān)系數(shù)來(lái)計(jì)算用戶間相似度 (但作者并未說(shuō)明找到相似用戶后如何構(gòu)建序列)。除此之外,也設(shè)計(jì)了一個(gè)更簡(jiǎn)單的過(guò)濾器來(lái)提取相似用戶:
在當(dāng)前用戶的歷史序列中,挑出K個(gè)目標(biāo)項(xiàng)目用于訓(xùn)練,剩下的用于測(cè)試。實(shí)際中K=1的效果就足夠好且簡(jiǎn)單。(論文也沒(méi)寫K>1時(shí)具體怎么處理,是分別用每個(gè)target item跑一遍右側(cè)的網(wǎng)絡(luò),然后得到K個(gè)和拼接?還是找那些和這K個(gè)target items都有過(guò)交互的用戶?)
找出與目標(biāo)項(xiàng)目交互過(guò)的所有用戶,然后對(duì)每個(gè)近鄰用戶(使用目標(biāo)項(xiàng)目找到的)構(gòu)建未來(lái)序列:
「舉個(gè)例子」描述一下模型的主要思想:
我今天買了《深度學(xué)習(xí)推薦系統(tǒng)》,模型在給我推薦時(shí),會(huì)參考其他買了這本書的用戶「后面會(huì)買什么」。假如有5個(gè)用戶也買了這本書,其中用戶a, c后面買了《計(jì)算廣告》(「繼續(xù)深入學(xué)習(xí)」),用戶b, d, e后面買了《java從入門到精通》(「棄坑轉(zhuǎn)方向」),這就代表未來(lái)兩種不同的偏好趨勢(shì)。動(dòng)態(tài)路由部分的任務(wù)就是從這5個(gè)用戶中,學(xué)習(xí)出(也可以理解為聚類)2個(gè)趨勢(shì) 。
那模型又怎么確定我更可能偏向哪種趨勢(shì)呢?這個(gè)任務(wù)就交給后面的注意力部分了,主要根據(jù)時(shí)間間隔來(lái)判斷(這里感覺(jué)不太合理,只看時(shí)間間隔,并不能體現(xiàn)我更偏向哪種趨勢(shì)呀)。
Future-Aware Diverse Trends
把每個(gè)近鄰用戶的偏好向量作為鄰居膠囊,使用動(dòng)態(tài)路由來(lái)學(xué)習(xí)興趣膠囊。具體過(guò)程為:
其中為輸入的鄰居膠囊,代表低階膠囊與高階膠囊連接的概率。
膠囊網(wǎng)絡(luò)可以看作一種“向量神經(jīng)元”,其輸入和輸出都是「向量」,且每一步也都可以與傳統(tǒng)的標(biāo)量神經(jīng)元對(duì)應(yīng),對(duì)比如下(圖片來(lái)自文獻(xiàn)2):

Time-Aware Attention Layer
使用一種時(shí)間感知的注意力機(jī)制來(lái)計(jì)算多個(gè)趨勢(shì)的權(quán)重 捕捉每個(gè)趨勢(shì)的時(shí)效性
計(jì)算用戶u最終的未來(lái)偏好:
其中是target item 的交互時(shí)間,是趨勢(shì)的交互時(shí)間,即對(duì)與趨勢(shì)相關(guān)的項(xiàng)目的交互時(shí)間取平均值(從items變到trends經(jīng)過(guò)了LSTM以及動(dòng)態(tài)路由,那一個(gè)item怎么樣算是related to the trend?論文并沒(méi)有說(shuō)明)。是趨勢(shì)的向量表示
,,分別對(duì)應(yīng)注意力機(jī)制中的q, k, v(即query, key, value)。通過(guò)衡量q和k之間的相關(guān)性(這里即時(shí)間上相隔的遠(yuǎn)近),找出與q相關(guān)的value,再對(duì)value進(jìn)行加權(quán)求和。這里的時(shí)間應(yīng)該是歸一化后的,即0~1之間的值,這樣可以讓與間隔更近的trend的權(quán)重更高,即最近的興趣趨勢(shì)在中占比更高。
Prediction
得到attention激活后的趨勢(shì)向量后,將其與用戶歷史偏好向量拼接(所以是保證拼接后的向量維度與item embedding一致?K>1時(shí)也是這樣處理嗎?可能會(huì)有問(wèn)題啊),作為用戶最終的偏好向量。給定一個(gè)訓(xùn)練樣本以及用戶的偏好向量、項(xiàng)目的向量表示,通過(guò)如下公式來(lái)計(jì)算交互概率:
其中U, V, I分別是用戶集合、項(xiàng)目集合、交互集合。
實(shí)驗(yàn)
模型效果對(duì)比
實(shí)驗(yàn)數(shù)據(jù)集及其統(tǒng)計(jì)信息:

評(píng)價(jià)指標(biāo)選取Recall和NDCG。對(duì)比結(jié)果:

推薦多樣性
這里是使用項(xiàng)目類目的多樣性來(lái)衡量,具體公式如下:
多樣性的對(duì)比結(jié)果:

實(shí)驗(yàn)結(jié)果表明,F(xiàn)AT不僅能夠提升序列推薦的效果,也能提高推薦的多樣性。
Case Study

上圖是為某用戶召回的項(xiàng)目的分布。由于論文對(duì)圖中橫坐標(biāo)和圓圈的意義描述有歧義,這里說(shuō)一下筆者的愚見(jiàn):
圓圈大小代表項(xiàng)目和trend或歷史興趣的相似度,橫坐標(biāo)中的數(shù)值代表透出概率。
結(jié)果顯示,如果使用歷史偏好進(jìn)行推薦,即使是很相似的項(xiàng)目,其透出概率也很低;但如果使用FAT學(xué)習(xí)出的trend向量找相似的項(xiàng)目,就很容易被推薦出去,體現(xiàn)了本文中未來(lái)偏好趨勢(shì)建模的有效性。
參考文獻(xiàn)
[1] Lu Y, Zhang S, Huang Y, et al. Future-Aware Diverse Trends Framework for Recommendation[J]. arXiv preprint arXiv:2011.00422, 2020.
[2] CapsNet-Tensorflow, https://github.com/naturomics/CapsNet-Tensorflow
往期精彩回顧
獲取本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開(kāi):
https://t.zsxq.com/qFiUFMV
本站qq群704220115。
加入微信群請(qǐng)掃碼:
