DSIN模型介紹

簡介

如何獲取用戶動態變化和演化的興趣是CTR預估中持續的研究:序列由session組成,session是用戶根據發生時間進行切割的行爲。用戶的行爲在每個session裏面是連貫的,在不同session中是異構的。DSIN利用了用戶歷史序列中多個的歷史session。DSIN帶Bias Encoding的self attention機制在每個用戶Session中抽取用戶session。然後我們用Bi-LSTM在session之間建模用戶興趣的演化和交互。最終用局部attention自適應地學習不同session對目標物品的影響。

整體結構

DSIN在MLP之前包含兩個部分,一個是用戶畫像和物品畫像生成的embedding向量。一個建模了用戶行爲,它包含四層:(1)Session切割層將用戶興趣序列切割成session(2)興趣抽取層抽取了用戶session內部的興趣。(3)session興趣交互層捕捉了session興趣之間的關係。(4)session興趣激活層在目標物品和用戶session興趣之間使用了局部attention。

在這裏插入圖片描述

Session切割層

爲了抽取更加準確的用戶興趣,我們切割了用戶的行爲序列S到Session集合Q。其中第k個Session Qk=[b1;…;bi;…bt],Rtxdmodel. T是session的行爲長度。Seesion的切割發生在用戶超過30分鐘的連續行爲之間。

Session興趣抽取層

在相同的session中的行爲是高度相關的,而且用戶隨意的行爲會讓用戶原有的表達進行偏移。爲了捕捉用戶在相同session內部的關聯,並且減少不相干行爲的影響。我們在每個session中用了多頭的self-attention機制,同時也對self-attention機制進行了一些改進讓目標更好。
Bias-Encoding:
爲了利用序列的關聯順序,self-attention機制用了position-encoding。Session的順序和不同子空間的bias也需要被捕捉。所以DSIN提出了在position-encoding的基礎上提出了bias-encoding.
在這裏插入圖片描述
Wk是sessin的bias vector,k是session的索引。Wt是session內部的bias vector,t是session中第t個行爲。Wc是行爲向量中的單元偏移,c是行爲向量的元素索引。在加上bias encoding之後,用戶的行爲session Q更新爲:
在這裏插入圖片描述
Multi-Head Self-Attention
Multi-Head Self-Attention 可以捕捉不同子空間的關係。
Qk=[Qk1;…Qkh;…QkH] 其中Qkh 屬於 R Txdh,是QH的第h個頭。Dh= 1/h * dmodel。
輸出的頭headh 可以表示爲:
在這裏插入圖片描述
在這裏插入圖片描述
FFN是一個前饋神經網絡,同時也連續地使用了殘差連接和BN層。第k個session的興趣可以用下面方式計算:
在這裏插入圖片描述
注意到不同session中的self-attention的權重是共享的

Session交互層

用戶不同session的興趣在前後中是有關聯的。建模這種動態變化可以豐富session興趣的表達。Bi-LSTM在捕捉序列關係中很優秀,所以很自然地被用到DSIN的session興趣的交互中。
LSTM cell可以用下面計算:
在這裏插入圖片描述
雙向意味着存在着前向和反向的RNN。隱狀態Ht可以用以下方式表示。
在這裏插入圖片描述

Session興趣激活層

用戶的session興趣中和當前物品更相關的部分會更多地影響用戶是否點擊當前物品。Attention機制將source和target進行soft aligment已經被證明是一個有效的權重分配方式。自適應session興趣的表現可以如下計算:在這裏插入圖片描述
同樣,融合了上下文關聯的session興趣的自適應表達可以用以下方式表示i:在這裏插入圖片描述

實驗

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章