一、摘要:
自注意力機制------從用戶歷史交互中推斷出項目-項目關系。學習每個項目的相對權重【用來學習用戶的暫時興趣表示】
二、 模型:
一部分是用於建模用戶短期意圖的自注意力機制,一部分是建模用戶長期偏好的協作度量學習。
1、自注意力
自注意力可以保存上下文序列信息,並捕獲序列中元素的關系。因此用自注意力來關注用戶過去的行為。

輸入:
query、key、value三值相等,並且都是又用戶最近的歷史記錄L組成。其中每一項都可以由d維的嵌入向量表示。X ∈ RN×d表明全體item的嵌入表示。最新的L項(比如從t-L+1到t)按順序放在在如下矩陣中:

輸入嵌入的時間信號:以上的輸入沒有包括時間信號,沒有序列信號。輸入低級的詞袋不能歸保留序列模式。我們提議通過位置嵌入提供帶有時間信息的query和key。我們使用一個時間尺度的幾何序列來向輸入端添加不同頻率的正弦波。時間嵌入(TE)由以下兩個正弦信號組成:

其中t是時間步長,i是維度。在非線性變換之前,TE加到query和key里。
模型:
將query和key通過共享參數的非線性變化整合到一個空間中。

關聯矩陣的計算如下:

輸出:
權重:
輸出是L*L的關聯矩陣(或注意力map),表明L項之間的相似度。
(歸一化)注意根號d被用於收縮點積注意。在我們這個例子中,d通過設得比較大(比如100)。這樣的話,縮放因子可以減小非常小的梯度效應。在softmax之前應用屏蔽操作(屏蔽關聯矩陣的對角線),以避免相同的query向量和key之間的高匹配分數。(不是很理解)
關聯矩陣和value相乘構成最后的自注意力機制的權重輸出:(aut就表示用戶短期意圖的表示。)

為了學習單個注意力表示,我們L自注意表示的均值嵌入作為用戶瞬時意圖。注意,其他的方式也可以(比如累加啊、求最大啊、最小啊),后面的實驗將會比較效果。

2、用戶長期喜好建模
在對短期效果進行建模之后,將用戶的一般品味或長期偏好結合起來是有益的。和潛在因素方法相同,我們為每個用戶和每個item分配一個潛在因素。讓U屬於RMd(Md為上標),V屬於RNd(Nd為上標)表明users和item的潛在因素。然而,最新你的研究表明,點積操作違背了度量函數參數不等下的性質,並且將會導致次優解。為了避免這個問題,我們采用歐式距離去測量item i和user u的距離。

三、模型訓練
目標函數:給定時間步t的短期意圖,和長期偏好。我們的目標是預測用戶u在時間t+1下的item(我們用Hu t+1表示,u為上標,t+1為下標)為了保證一致性,我們使用歐式距離,去建模短期和長期的影響。使用其和作為最后的推薦分數。

第一項是長期推薦的分數,第二項是短期推薦的分數。
都是下一項item的嵌入向量,但是V和U是不一樣的參數。最后的分數是由w控制的加權和。

采用自適應梯度算法自動調整步長。
