前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WSDM'21「蚂蚁」CTR预估:多交互注意力网络

WSDM'21「蚂蚁」CTR预估:多交互注意力网络

作者头像
秋枫学习笔记
发布2022-09-19 11:44:17
2780
发布2022-09-19 11:44:17
举报
文章被收录于专栏:秋枫学习笔记

image.png

Multi-Interactive Attention Network for Fine-grained Feature Learning in CTR Prediction https://dl.acm.org/doi/pdf/10.1145/3437963.3441761

本文涉及的内容相对简单,从题目出发,即通过注意力机制来实现的候选item和各种特征之间的各种交互。时间紧急的小伙伴可以直接看总结部分。

公式太长可以左右滑动

背景

以用户历史行为序列作为特征进行推荐的方法已经存在许多了,但是依旧存在一些问题,本文针对其中的三个问题,提出了多交互注意力机制网络(MIAN)。

  • 很多网络都用到了注意力机制,但是用户经常会点击与历史交互的item无关的新item(IUIM、ICIM)。
  • 有的用户只有很久以前的历史行为,而近期不活跃,没有相应的历史数据,因此很难从这些数据中捕获用户近期的偏好(IBIM中的加权、IUIM、ICIM)。
  • 在不同的特征子空间,用户历史行为的表征存在巨大差别(GIM)。

方法

本文提出的MIAN主要包含:IBIM、IUIM、ICIM、GIM。

Embedding Layer

将特征划分为四部分:候选item、历史行为、用户画像、上下文信息。特征可以表示为下式,

x_*=\left[x_*^1;...;x_*^i;...;x_*^S\right]

其中S为总的field数,

x_*^i

表示第i个field的特征,如果是类别特征则他为one-hot;如果是数值型特征特为标量。通常one-hot特征的向量是高维的因此需要对其进行降维,如下式,

e_*^i

表示第i个field的embedding。将上述四个部分的特征中不同域进行拼接可以得到不同部分的表征,以user为例:

e_u=[e_u^1,...,e_u^J]
e_{*}^{i}=\left\{\begin{array}{cc} V_{i} x_{*}^{i}, & x_{*}^{i} \text { is one-hot vector } \\ x_{*}^{i}, & x_{*}^{i} \text { is scalar vector } \end{array}\right.

IBIM

Item-Behaviors Interaction Module,item行为交互模块。这部分采用Pre-LN Transformer(比较轻量级,参数少)来挖掘用户历史行为中的偏好,主要包含:layer norm、multi-head self-attention、 position-wise feed-forward networks 。具体如下:

Layer Norm:首先将embedding输入到Layer Norm,公式如下,公式和Batch Norm类似,只是在均值和方差的计算维度上存在差异。这里就不赘述了

l_{b}=\gamma \odot \frac{e_{b}-\mu}{\sqrt{\sigma^{2}+\epsilon}}+\beta

Multi-Head Self-Attention: 这里的多头自注意力机制也是传统常用的,这里就不赘述了,经过多头自注意力机制之后得到

m_b

作为FFN的输入。

\begin{array}{l} \text { MultiHead }(x)=\text { Concat }\left(\text { head }_{1}, \text { head }_{2}, \ldots, \text { head }_{h}\right) W^{O}, \\ \text { head }_{i}=\text { Attention }\left(l_{b} W_{i}^{Q}, l_{b} W_{i}^{K}, l_{b} W_{i}^{V}\right), \end{array}

Position-wise FFN:这部分主要由两个全连接层和ReLU组成,公式如下:

F F N\left(m_{b}\right)=\max \left(0, m_{b} W_{1}+b_{1}\right) W_{2}+b_{2}

经过上述三个步骤,LN、多头自注意力和FFN,可以得到输出

h_b=[h_1;...;h_t;...;h_T]

,为了得到交互的表征,直接将候选item的表征和输出拼接得到下式:

V_t=Concat(e_i,h_t)

正如背景中所说的,不同时间的交互行为对当前用户的偏好的影响是不一样的,此处采用注意力机制的权重进行加权,公式如下,获得权重

\alpha

之后,对表征进行加权。

\begin{array}{c} \alpha_{t}=\frac{\exp \left(\gamma\left(V_{t}\right)\right)}{\sum_{t=1}^{T} \exp \left(\gamma\left(V_{t}\right)\right)} \\ \gamma\left(V_{t}\right)=\tanh \left(V_{t} \cdot W_{t}+\widehat{b}_{t}\right) \end{array}
R_{i b i m}=\sum_{t=1}^{T} \alpha_{t} V_{t}

IUIM

Item-User Interaction Module,item-user交互模块。IUIM这部分主要是考虑候选item和用户画像之间的关系,用户的兴趣不一定能从历史交互中获取,因为可能用户近期不活跃,交互数据是很久以前的。此时,可以从用户画像来反映用户本身具有的特点,从而挖掘其偏好。作者采用的方式也很简单,将用户画像中每个field中的embedding

\{e_u^1,...,e_u^j,...,e_u^J\}

和候选item的特征

e_i

拼接得到新特征后

\{V_u^1,...,V_u^J\}

V_u^j=Concat(e_i,e_u^j)

,进行注意力机制的计算,最后进行加权。公式如下,

\alpha_{j}=\frac{\exp \left(\tanh \left(V_{u}^{j} \cdot W_{u}^{j}+\widehat{b}_{u}^{j}\right)\right)}{\sum_{j=1}^{J} \exp \left(\tanh \left(V_{u}^{j} \cdot W_{u}^{j}+\widehat{b}_{u}^{j}\right)\right)}
R_{\text {iuim }}=\sum_{j=1}^{J} \alpha_{j} V_{u}^{j}

ICIM

Item-Context Interaction Module,item-context交互模块。这里考虑的是上下文对用户兴趣偏好的影响,操作方式和IUIM类似,先将context表征和候选item表征拼接,然后经过注意力机制对其进行加权。这里不赘述,公式如下,

\begin{array}{c} V_{c}^{k}=\operatorname{Concat}\left(e_{i}, e_{c}^{k}\right) \\ R_{i c i m}=\sum_{k=1}^{K} \frac{\exp \left(\tanh \left(V_{c}^{k} \cdot W_{c}^{k}+\widehat{b}_{c}^{k}\right)\right)}{\sum_{k=1}^{K} \exp \left(\tanh \left(V_{c}^{k} \cdot W_{c}^{k}+\widehat{b}_{c}^{k}\right)\right)} V_{c}^{k} \end{array}

GIM

Global Interaction Module,全局交互模块。这个模块,作者由DCN得到启发,将低阶信息和高阶信息进行交互融合,捕捉原始特征和交互特征之间的关系。作者将所有特征拼接后,同样采用注意力机制,公式如下,

\begin{aligned} r_{g} &=\left[e_{i} ; e_{c} ; e_{b} ; e_{u} ; R_{i b i m} ; R_{i u i m} ; R_{i c i m}\right] \\ &=\left[r_{1} ; r_{2} ; r_{3} ; r_{4} ; r_{5} ; r_{6} ; r_{7}\right] \end{aligned}
R_{g}=\sum_{l=1}^{L} \frac{\exp \left(\tanh \left(r_{l} \cdot W_{l}+\widehat{b}_{l}\right)\right)}{\sum_{l=1}^{L} \exp \left(\tanh \left(r_{l} \cdot W_{l}+\hat{b}_{l}\right)\right)} r_{l}

预测和训练

最后采用全连接层对得到的表征进行预测,损失函数采用交叉熵损失函数

\mathcal{L}(y, \hat{y})=-y \log \hat{y}-(1-y) \log (1-\hat{y})
\mathcal{L}(y, \hat{y})=-y \log \hat{y}-(1-y) \log (1-\hat{y})

实验结果

离线

image.png

在线AB测试

总结

从本文的题目中,我们就可以发现这篇文章是从注意力机制出发的,因此它的所有模块都是通过注意力机制来实现的,主要包括IBIM、IUIM、ICIM、GIM。这几个模块考虑了不同类型的表征和目标item的表征之间的关系。总体来看本文的各个模块考虑的点包括:用户序列和目标item之间的交互、用户画像本身反应的兴趣和上下文信息对偏好的影响。其实之前的一些文章,包括DIN、DIEN等序列推荐的文章,其实都考虑了这些特征,但是本文的特点在于将这些特征显示地与候选item进行交互而之前的一些方法是直接将这些embedding作为特征进行预测。这也给我们一些启发,即把这些表征之间进行显式交互,计算相关性。针对背景中的问题:

  • 利用GIM对不同子空间中的表征进行加权,从而对存在差异的表征方式进行融合
  • 利用ICIM、IUIM来挖掘用户偏好,是的用户历史序列不可用时能够反映用户的偏好,但是这其实就是传统的方式,例如DCN这些。因此感觉只是说更进一步的利用注意力机制进行显式交互。
  • 利用IBIM获得序列信息,并对历史表征进行加权,不同权重反映不同的作用。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Embedding Layer
  • IBIM
  • IUIM
  • ICIM
  • GIM
  • 预测和训练
  • 离线
  • 在线AB测试
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档