深度兴趣会话网络-DSIN

阿里IJCAI2019的文章,是DIN和DIEN的改进版本:

DSIN(Deep Session Interest Network)
深度会话兴趣网络

文章标题: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、实现效果(result)

5、小甜点(dessert)

文献亮点

(1)首次采用带有bias encoding的 self-attention机制,提取每个session内用户兴趣

(2)采用Bi-LSTM刻画用户在不同session间的兴趣关系

(3)采用local activation unit自适应学习不同session与目标item之间的权重

1、DSIN是什么

首先,去掉标题的所有定语,可以看出,DSIN是点击率预测的一个网络。

其次,网络这个词的定语有 deep、session、interest。

deep表示网络是深度网络;

session表示网络是带有会话信息;

会话:可以理解为一个集合,这个集合中,有很多元素,在该文献中,

该元素是指用户浏览的商品信息和对应浏览的行为。

interest表示网络是兴趣网络,

这里兴趣的作用点是用户,即反应和刻画用户当前兴趣、在用户多样的兴趣中,找出用户最感兴趣的物品

三个词关联在一起,作用到网络这个词上,构成深度会话兴趣网络,

表示这是通过在用户多个行为兴趣点(以session形式存储)中,

找到用户感兴趣的item(interest)的深度(deep)网络框架。

总结一下:DSIN是采用session的形式,在用户浏览记录基础上,预测用户是否对当前item是否感兴趣的一种网络框架

2、为什么要提出DSIN(why)

用户的浏览记录,按照时间顺序排列,组成一个sequence。

在历史用户兴趣物品探索中,DIIN、DIEN均基于整个sequence,

但在淘宝场景中,作者观测到,用户的浏览记录在不同时间段,有较大的区别。

在单个时间段内,浏览物品类似,不同时间段之间,物品类型相差较大,

例如,下图1. session的划分原则是,两物品的点击时间超过30min

图中例子是来源于真实工业场景,我们可以看出,同一个session内规律明显,不同session间物品类型区别比较大。

session1(第一行),主要是女士上衣和裤子,session2主要是戒指美甲相关,session3则是外套。


图1. 真实场景下用户的浏览记录划分为session例子

基于上述发现,作者提出,采用DSIN 通过对用户历史记录划分为不同session,对用户的序列行为建模,进行点击率预测。

如果将用户所有序列直接作为输入,进行点击率预测,会存在比较大的噪声,比如上述session分割点,物品类型差别较大,会对预测结果产生比较大的干扰。

3、DSIN怎么做(how)

图2. DSIN网络框架图

(1) Session Divsion Layer---session划分层

将sequence划分为session,划分时间间隔为30min。

即连续两个行为间的时间间隔超过30min,则划分为两个session


bi表示用户在session中的第i个行为

T表示session包含的用户行为个数

Qk表示第k个session

(2) Session Interest Extractor Layer --- session兴趣提取层

同一session内用户行为强相关,且用户在session内的偶然行为,

不同与其原始表达的兴趣,即同一session内,也存在部分偏差

为刻画同一session内用户行为的内在联系,减少这些无关行为的影响,

作者对每个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

在推荐系统中,用户的点击行为通常会受到多种因素影响,比如颜色、款式、价格等等。

Multi-head Self-attention可以刻画不同表示子空间的关系。



表示Qk的第h个head,H表示heads的个数。



WQ, WK, WV分别是参数矩阵,在训练过程中学习,d model表示 embedding size



WO为参数矩阵,在训练过程中学习得到。FFN为前馈神经网络

Avg表示average pooling。

Session Interest Extractor Layer整体过程如下:

首先,处理好的session,作为输入,加入bias endocing的偏置信息,获得Q;

其次,将Q复制两份,一份经过Multi-Head Attention 得到输出结果Qmha;

一份不做处理,将两者结果相加,并做norm处理

然后,将上一步输出结果复制两份,一份经过前馈神经网络处理,得到输出结果,

另一份不做处理,将两个相加,并Norm处理,输出结果

最后。将上一步输出结果,进行池化处理(均值),得到整个信息提取层的输出结果

(3) Session Interest Interacting Layer 兴趣交互层

Bi-LSTM可以很好的刻画序列关系,可以很好的应用于session间的交互信息,

采用双向LSTM,可以更好地刻画用户的session之间上下文关系,前后间关系,时间轴上,全方位刻画,具体Bi-LSTM网络结构,可参考文献,或者相关书籍。

(4) Session Interest Activating Layer 兴趣激活层

soft alignment用户session和目标item需要soft alignment(校准或对齐)

该层的主要作用,将目标item与用户历史session兴趣相关联。用户历史中与目标item相关性越高,则用户点击该item的可能性越大。

这里也采用Attention mechanism,计算历史session兴趣与目标item之间的权重大小


WI为参数矩阵,训练可得。XI表示item profile, Ik为经过Self-Attention后用户第k个session的信息。

同样,经过Bi-LSTM后的结果Hk,需要计算与目标之间的attention:


WI为参数矩阵,训练可得。XI表示item profile, Hk为经过Bi-LSTM后用户第k个session的信息。

最后,将User Profile和Item Profile的embedding 向量与上述的UI和UH拼接后,喂入MLP中训练。

4、实现效果(result)

作者在Alimama广告公开数据集,以及阿里真实的推荐场景中进行测试,对比各种算法的auc,结果见下表。


可以看出,DSIN开头的结果,优于其他算法。

对比DSIN内的不同细节点:

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

点击率预测的发展史(ctr特征交叉发展史) :

wide&deep====特征线性表示;

deepFM=====二阶交叉特征;

DCN=======特征的高阶表示(多层半径结构);

AFM======采用attention机制自动学习交叉特征的权重;

用户的系列行为,表示了用户动态的和相关的兴趣,在当前CTR预估中十分有效:

用户的序列表现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进行兴趣提取。

你可能感兴趣的:(深度兴趣会话网络-DSIN)