邊晶 李國梁

摘要:解決信息過載問題較好的辦法之一就是采用推薦算法。為了達到更好的效果,本文提出了一種新的推薦模型。此模型基于長短期序列推薦,利用自注意力機制從用戶的歷史交互記錄推斷項目之間的關系,然后借助自注意力估算出用戶交互的權重,對全局信息進行捕獲,然后利用殘差網絡進一步發現項目之間潛在的關系。
關鍵詞:推薦系統;自注意力機制;序列推薦
1.引言
隨著互聯網的發展,數據變得越來越多,如何從如此之多的數據中選擇有效的信息,成為用戶當前需要考慮的一個重大問題,而推薦系統的誕生就是為了解決此類信息過載的問題[1]and Evaluations</title><secondary-title>arXiv preprint arXiv:1905.01997</secondary-title></titles><periodical><full-title>arXiv preprint arXiv:1905.01997</full-title></periodical><dates><year>2019</year></dates><urls></urls></record></Cite></EndNote>。近些年來,深度學習技術在順序推薦中引起了越來越多的興趣,但當將其應用于推薦系統時,很難在一個較長的序列中對項目的依賴關系進行建模,也無法捕獲序列的全局信息和項目之間的交互。
受到Zhang et al.的啟發,本文提出了一種基于長短期偏好序列的推薦模型。利用此模型的短期偏好推薦和長期偏好推薦可以明確地調用用戶的整個歷史序列中的項目-項目交互,實現模型學習序列的全局表示;在卷積網絡部分,采用殘差網絡將低層的有用信息傳播至高層,進而提高模型的性能。
2.模型
本文提出一種基于長短期偏好序列的推薦模型,包括以下三個部分。
2.1短期偏好建模
用戶近期與項目之間的的交互能夠反映用戶的需求,因此需要對用戶的短期偏好進行建模。首先通過自注意力機制獲取用戶的全局信息,然后使用卷積網絡獲得項目之間的非線性關系。
在自注意力機制中允許接收n個輸入,然后將這n個輸入進行自乘,最后得到用戶交互和注意力得分的總和。通過自注意力的這種表達形式可以了解整個序列的信息,而且無論序列內元素的距離如何,都能捕獲它們之間的關系。
如圖1所示,自注意力機制的輸入由query,key,value構成,而且這三個值是由用戶的交互序列 決定,其中 ,d表示潛在空間的維數。假設用戶的短期交互的長度為L,即
,則交互矩陣 的行是用戶的交互歷史,列則是維度。
首先,自注意力機制的數學公式定義如下:
Q、K、V分別表示查詢(query)、鍵(key)和值(value)。其輸出定義為
=Attention(Q,K,V)#? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
其中V是輸入矩陣,Q和K是輸入矩陣通過映射權重矩陣WQ和WK(WQ∈Rd×d=Wk∈Rd×d)得到的,映射關系是ReLU函數,也就是Q=ReLU(WQV),K=ReLU(WkV)。ReLU(Rectified Linear Unit)是廣泛使用在深度學習中的非線性激活函數,它的數學表達式如下:
ReLU(x)=max(x,0)#? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
在自注意力輸出之前會進行掩碼操作,這樣可以減少對交互矩陣進行填充時的消極影響,自注意力的輸出是一個L×L的矩陣,此矩陣認為是L個項目之間的相似矩陣。另外,? 是用于縮放上面點積的縮放因子,從而防止梯度變得太大。
接下來,把輸出的矩陣和value(也就是? ? ?)相乘,最后得到的結果是最終的加權輸出:
其中 ∈RL×d,輸出認為是用戶的短期偏好的表示。為了學習用戶的單一注意表示,我們將L個自我注意表示的均值進行嵌入。
在自注意力機制當中,并不包含任何的時間以及位置信息。如果沒有上述信息的話,模型將無法保證輸入的數據保持序列模式。Shaw P et al.[21]和Li J et al.[22]Yujie</author><author>McAuley, Julian</author></authors></contributors><titles><title>Time Interval Aware Self-Attention for Sequential Recommendation</title><secondary-title>Proceedings of the 13th International Conference on Web Search and Data Mining</secondary-title></titles><pages>322-330</pages><dates><year>2020</year></dates><urls></urls></record></Cite></EndNote>分別將位置和時間戳融入到模型中,保證了用戶交互的順序。因此本文使用時間信號(Time Signal TS),也就是說將不同頻率的正弦曲線添加到輸入中,時間信號由以下兩個正弦信號構成
其中i是維度,t是時間步長。
2.2長期偏好建模
本文使用度量學習為用戶進行長期推薦。用U'=RM×d和V'=RN×d分別表示用戶和項目的潛在因素,用歐氏距離度量項目i和用戶u的距離。
用戶u對項目i越喜歡,則函數ED(U,V)的值越小。
2.3殘差網絡
理論上,越深的網絡訓練效果應該越好。但隨著神經網絡層數的添加,訓練會變得越來越難,訓練集上的效果也會變得越來越差,效果反而不如相對較淺的網絡,這就是所謂的退化問題。過深的網絡會產生退化問題,而殘差網絡恰好可以解決這個問題,殘差網絡越深,訓練集上的效果越好。因此本文使用殘差網絡來優化模型。
3.結論
本文提出了一種基于長短期偏好序列的推薦系統模型。此模型結合長短期偏好,利用殘差網絡探究用戶和項目之間潛在的關系,最終把下一個項目推薦給用戶。
參考文獻:
[1]Fang, H., et al., Deep Learning for Sequential Recommendation: Algorithms, Influential Factors, and Evaluations.arXiv preprint arXiv:1905.01997, 2019.
作者簡介:
邊晶(1977.4-),女 漢族 吉林省長春市人 碩士,副教授,從事計算機應用研究。
李國梁(1994.12-),男 漢族 山西省大同市人 碩士研究生(在讀),研究方向為推薦系統、機器學習、網絡安全。