推荐系统炼丹笔记:RecSys2020-SSE-PT解锁序列数据挖掘新姿势
背景
現(xiàn)在諸多的推薦算法在處理時間信息上, 除了在自然語言常用的RNN,CNN等模型, 就是基于Transformer的模型,但是和SASRec類似, 效果不錯,但是缺少個性化,而且沒有加入基于個性化的用戶embedding。為了克服這種問題,本文提出來一種個性化的Transformer(SSE-PT),該方法相較于之前的方案提升了5%。
方案
模型框架
序列化推薦
個性化Transformer架構
SSE-PT使用隨機共享embedding技術,
1. Embedding 層
2. Transformer的Encoder
這一塊和之前的許多Transformer Encoder是類似的,所以此處我們跳過。
3. 預測層
4. 隨機共享Embedding
對于提出的SSE-PT算法最為重要的正則技術是SSE(Stochastic Shared Embedding), SSE的主要思想是在SGD過程中隨機地用另一個具有一定概率的Embedding來代替現(xiàn)在的Embedding,從而達到正則化嵌入層的效果。在沒有SSE的情況下,現(xiàn)有的所有正則化技術,如層規(guī)范化、丟失和權重衰減等都會失效,不能很好地防止模型在引入用戶嵌入后的過擬合問題。
- SSE_PE: 以概率p均勻地使用另外一個embedding替代當前的embedding;
在本文中,有三處不同的地方可以使用SSE-SE, 我們對輸入/輸出的用戶embedding, 輸入的商品embedding以及輸出的商品embedding分別以概率pu,pi,以及py進行替換。
我們注意到輸入用戶embedding和輸出用戶embedding同時被SSE概率代替。經(jīng)驗上,我們發(fā)現(xiàn)SSE-SE在用戶的embedding和輸出項的embedding總是有幫助的,但是SSE-SE到輸入項的embedding只有在平均序列長度較大時才有用,例如Movielens1M和Movielens10M都超過100。
處理長序列的SSE-PT++
實驗
1. 效果比較
- SSE-PT算法在所有的4個數(shù)據(jù)集上的效果都好于其它的算法;
2. 正則化方案的比較
- SSE-SE+dropout+weight decay是正則化里面最好的。
3. 模型訓練速度
- SSE-PT和SSE-PT++模型的訓練速度與SASRec相當,其中SSE-PT++是速度最快、性能最好的模型。很明顯,使用相同的訓練時間,我們的SSE-PT和SSE-PT++比我們的基準SASRec取得了更好的排名性能.
4. 解耦研究
4.1 SSE概率
鑒于SSE正則化對于我們的SSE-PT模型的重要性,我們仔細檢查了輸入用戶嵌入的SSE概率。我們發(fā)現(xiàn)適當?shù)某瑓?shù)SSE概率不是很敏感:在0.4到1.0之間的任何地方都能得到很好的結果,比參數(shù)共享和不使用SSE-SE要好。
4.2 采樣概率
- 當最大長度相同時,使用適當?shù)某闃痈怕?#xff08;如0.2→0.3)將使其優(yōu)于SSE-PT。
4.3 Attention Block的個數(shù)
- 對于Movielens1M數(shù)據(jù)集,在B=4或5時達到最佳排序性能,對于Movielens10M數(shù)據(jù)集,在B=6時達到最佳排序性能
4.4 個性化以及負樣本的采樣個數(shù)
- 當我們使用相同的正則化技術時,個性化模型總是優(yōu)于非個性化模型。不管在評估過程中采樣了多少個負數(shù)或者使用了什么排名標準,這都是正確的。
小結
在這篇論文中,作者提出了一個新的神經(jīng)網(wǎng)路架構-Personal Transformer來解決時間協(xié)同排序問題。它擁有個性化模型的好處,比目前最好的個人用戶獲得更好的排名結果。通過研究推理過程中的注意機制,該模型比非個性化的深度學習模型更具解釋性,并且更傾向于關注長序列中的最近項目。
參考文獻
總結
以上是生活随笔為你收集整理的推荐系统炼丹笔记:RecSys2020-SSE-PT解锁序列数据挖掘新姿势的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐系统炼丹笔记:阿里DMIN多重兴趣网
- 下一篇: 推荐系统炼丹笔记:令人着迷的时间动态CF