阿里IJCAI2019的文章,是DIN和DIEN的改進版本:
DSIN(Deep Session Interest Network)
深度會話興趣網(wǎng)絡
文章標題:Deep Session Interest Network for Click-Through Rate Prediction
文章地址:https://arxiv.org/abs/1905.06482
文章代碼:https://github.com/hhh920406/DSIN
本文將從以下幾個內容進行:
1狈邑、DSIN是什么(what)
2佳头、為什么要提出DSIN(why)
3、DSIN要怎么做(how)
4潮饱、實現(xiàn)效果(result)
5、小甜點(dessert)
文獻亮點:
(1)首次采用帶有bias encoding的 self-attention機制,提取每個session內用戶興趣
(2)采用Bi-LSTM刻畫用戶在不同session間的興趣關系
(3)采用local activation unit自適應學習不同session與目標item之間的權重
1纳令、DSIN是什么
首先,去掉標題的所有定語克胳,可以看出平绩,DSIN是點擊率預測的一個網(wǎng)絡。
其次漠另,網(wǎng)絡這個詞的定語有 deep捏雌、session、interest笆搓。
deep表示網(wǎng)絡是深度網(wǎng)絡性湿;
session表示網(wǎng)絡是帶有會話信息;
會話:可以理解為一個集合满败,這個集合中窘奏,有很多元素,在該文獻中葫录,
該元素是指用戶瀏覽的商品信息和對應瀏覽的行為着裹。
interest表示網(wǎng)絡是興趣網(wǎng)絡,
這里興趣的作用點是用戶,即反應和刻畫用戶當前興趣骇扇、在用戶多樣的興趣中摔竿,找出用戶最感興趣的物品
三個詞關聯(lián)在一起,作用到網(wǎng)絡這個詞上少孝,構成深度會話興趣網(wǎng)絡继低,
表示這是通過在用戶多個行為興趣點(以session形式存儲)中,
找到用戶感興趣的item(interest)的深度(deep)網(wǎng)絡框架稍走。
總結一下:DSIN是采用session的形式袁翁,在用戶瀏覽記錄基礎上,預測用戶是否對當前item是否感興趣的一種網(wǎng)絡框架
2婿脸、為什么要提出DSIN(why)
用戶的瀏覽記錄粱胜,按照時間順序排列,組成一個sequence狐树。
在歷史用戶興趣物品探索中焙压,DIIN、DIEN均基于整個sequence抑钟,
但在淘寶場景中涯曲,作者觀測到,用戶的瀏覽記錄在不同時間段在塔,有較大的區(qū)別幻件。
在單個時間段內,瀏覽物品類似蛔溃,不同時間段之間傲武,物品類型相差較大,
例如城榛,下圖1. session的劃分原則是揪利,兩物品的點擊時間超過30min
圖中例子是來源于真實工業(yè)場景,我們可以看出狠持,同一個session內規(guī)律明顯疟位,不同session間物品類型區(qū)別比較大。
session1(第一行)喘垂,主要是女士上衣和褲子甜刻,session2主要是戒指美甲相關,session3則是外套正勒。
基于上述發(fā)現(xiàn)得院,作者提出,采用DSIN 通過對用戶歷史記錄劃分為不同session章贞,對用戶的序列行為建模祥绞,進行點擊率預測。
如果將用戶所有序列直接作為輸入,進行點擊率預測蜕径,會存在比較大的噪聲两踏,比如上述session分割點,物品類型差別較大兜喻,會對預測結果產(chǎn)生比較大的干擾梦染。
3、DSIN怎么做(how)
(1) Session Divsion Layer---session劃分層
將sequence劃分為session朴皆,劃分時間間隔為30min帕识。
即連續(xù)兩個行為間的時間間隔超過30min,則劃分為兩個session
bi表示用戶在session中的第i個行為
T表示session包含的用戶行為個數(shù)
Qk表示第k個session
(2) Session Interest Extractor Layer --- session興趣提取層
同一session內用戶行為強相關遂铡,且用戶在session內的偶然行為肮疗,
不同與其原始表達的興趣,即同一session內忧便,也存在部分偏差
為刻畫同一session內用戶行為的內在聯(lián)系族吻,減少這些無關行為的影響帽借,
作者對每個session采用multi-head self-attention珠增,且對self-attention機制進行改進。
a. Bias Encoding
self-attention 為利用sequence內訂單的關系砍艾,其對輸入embedding應用位置編碼蒂教。
且session內不同訂單的偏差,以及不同表示session間的偏差脆荷,均需要刻畫凝垛。所以,作者在位置編碼基礎上蜓谋,提出bias encoding梦皮,具體計算公式如下:
wK表示session間的偏差向量,k表示session的index桃焕;
wT表示session的位置偏差剑肯,t表示session內行為的位置索引;
wC表示各個行為embedding的位置偏差向量观堂,c表示行為embedding的單位索引让网;
加上bias encoding后,用戶行為session Q可用下式計算:
b. Multi-head Self-attention
在推薦系統(tǒng)中师痕,用戶的點擊行為通常會受到多種因素影響溃睹,比如顏色、款式胰坟、價格等等因篇。
Multi-head Self-attention可以刻畫不同表示子空間的關系。
表示Qk的第h個head,H表示heads的個數(shù)惜犀。
WQ, WK, WV分別是參數(shù)矩陣铛碑,在訓練過程中學習,d model表示 embedding size
WO為參數(shù)矩陣虽界,在訓練過程中學習得到汽烦。FFN為前饋神經(jīng)網(wǎng)絡
Avg表示average pooling。
Session Interest Extractor Layer整體過程如下:
首先莉御,處理好的session撇吞,作為輸入,加入bias endocing的偏置信息礁叔,獲得Q牍颈;
其次,將Q復制兩份琅关,一份經(jīng)過Multi-Head Attention 得到輸出結果Qmha煮岁;
一份不做處理,將兩者結果相加涣易,并做norm處理
然后画机,將上一步輸出結果復制兩份,一份經(jīng)過前饋神經(jīng)網(wǎng)絡處理新症,得到輸出結果步氏,
另一份不做處理,將兩個相加徒爹,并Norm處理荚醒,輸出結果
最后。將上一步輸出結果隆嗅,進行池化處理(均值)界阁,得到整個信息提取層的輸出結果
(3) Session Interest Interacting Layer 興趣交互層
Bi-LSTM可以很好的刻畫序列關系,可以很好的應用于session間的交互信息胖喳,
采用雙向LSTM泡躯,可以更好地刻畫用戶的session之間上下文關系,前后間關系禀晓,時間軸上精续,全方位刻畫,具體Bi-LSTM網(wǎng)絡結構粹懒,可參考文獻啄巧,或者相關書籍堪澎。
(4) Session Interest Activating Layer 興趣激活層
soft alignment用戶session和目標item需要soft alignment(校準或對齊)
該層的主要作用胧辽,將目標item與用戶歷史session興趣相關聯(lián)吟宦。用戶歷史中與目標item相關性越高弓颈,則用戶點擊該item的可能性越大。
這里也采用Attention mechanism删掀,計算歷史session興趣與目標item之間的權重大小
WI為參數(shù)矩陣翔冀,訓練可得。XI表示item profile披泪, Ik為經(jīng)過Self-Attention后用戶第k個session的信息纤子。
同樣,經(jīng)過Bi-LSTM后的結果Hk款票,需要計算與目標之間的attention:
WI為參數(shù)矩陣控硼,訓練可得。XI表示item profile艾少, Hk為經(jīng)過Bi-LSTM后用戶第k個session的信息卡乾。
最后,將User Profile和Item Profile的embedding 向量與上述的UI和UH拼接后缚够,喂入MLP中訓練幔妨。
4、實現(xiàn)效果(result)
作者在Alimama廣告公開數(shù)據(jù)集谍椅,以及阿里真實的推薦場景中進行測試误堡,對比各種算法的auc,結果見下表毯辅。
可以看出埂伦,DSIN開頭的結果煞额,優(yōu)于其他算法思恐。
對比DSIN內的不同細節(jié)點:
b為DSIN帶位置encoding;
c為DSIN帶有bias encoding膊毁,但沒有BI-LSTM學習session間的關系胀莹,
以及activation unit自適應計算各個session與目標item之間的權重關系;
d為完整文獻DSIN
對比c和d婚温,可以看出BI-LSTM學習session上下文關系描焰,可更具象的刻畫session間的關系。
對比b和d栅螟,可以看到荆秦,bias encoding的有效性。
5力图、小甜點(dessert)
User Profile包含gender, city, etc
Item Profile包含seller id, brand id, etc
User Behavior包含用戶最近點擊的item ids
點擊率預測的發(fā)展史(ctr特征交叉發(fā)展史) :
wide&deep====特征線性表示步绸;
deepFM=====二階交叉特征;
DCN=======特征的高階表示(多層半徑結構)吃媒;
AFM======采用attention機制自動學習交叉特征的權重瓤介;
用戶的系列行為吕喘,表示了用戶動態(tài)的和相關的興趣,在當前CTR預估中十分有效:
用戶的序列表現(xiàn)Users’ sequential behaviors imply users’ dynamic and evolving interests and have been widely proven effective in the CTR prediction task
Youtube 將用戶觀看列表用average pooling刑桑,將embedding轉化為固定長度氯质;
DIN采用attention機制刻畫用戶歷史行為與目標item之間的關系;
DIEN采用輔助loss祠斧,自動學習當前行為和下一行為之間的關系闻察,AUGRU進行興趣提取。