如有错误,恳请指出。
文章目录
下面记录一篇跨域CTR预测的推荐系统文章笔记,在参考资料的基础上增加了点理解:
paper:MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction
与上一篇提到的跨越召回模型不同,这一篇文章是用于解决跨域ctr预测问题,也就是一个排序模型(精排模型)。用源域(新闻信息)来优化目标域(广告信息)的点击率。
1. Abstract
现有的模型中主要是解决单域的ctr预测问题,但是广告通常以自然内容显示,这为跨域CTR预测提供了机会。所以,作者提出了混合兴趣网络( Mixed Interest Network)来处理跨域问题,其中源域是新闻信息,目标域是广告。
MiNet联合三种用户兴趣包含两种级别的注意力机制来有效的解决这个跨域问题。
2. Introduction
预测的点击率会影响广告排名策略和广告收费模型。因此,为了保持理想的用户体验和最大化收入,准确估计广告的点击率至关重要。但是现有主要针对单域CTR预测,主要对特征交互,用户历史行为和上下文信息等方面建模,直接使用广告数据进行CTR预测。
MiNet利用跨越的新闻数据来优化CTR预测问题。跨域CTR预测的一个主要优点是,通过跨域丰富数据,可以缓解目标域中的数据稀疏性和冷启动问题,从而提高预测性能。为了有效的利用跨域数据,这里作者考虑了三种类型的用户兴趣:
- 跨域的长期兴趣(Long-term interest across domains):每个用户都有自己的
user ID, age group, gender and city
特征,这些特征反应了用户的长期内在兴趣。 - 源域的短期兴趣(Short-term interest from the source domain):对于要预测其CTR的每个目标广告,在源域中存在相应的短期用户行为(例如,用户刚刚观看的新闻)。虽然一条新闻的内容可能与目标广告的内容完全不同,但它们之间可能存在一定的相关性。例如,一个用户在观看了一些娱乐星闻之后有很大的概率点击一个游戏广告,基于这样的关系,我们就可以从源域中的有用的信息迁移到目标域中。
- 目标域的短期兴趣(Short-term interest in the target domain):对于每个目标广告,目标域中也有相应的短期用户行为。用户最近点击的广告可能会对用户在短期内点击的广告产生强烈影响。
尽管如此,其仍面临了五大挑战:
- 并非所有点击的新闻都表示目标广告的点击率
- 同样,并非所有点击的广告都能提供目标广告的点击率信息
- 模型必须能够将知识从新闻转移到广告(也就是需要将源域的知识迁移到目标域)
- 三种用户兴趣的相对重要性可能因不同的目标广告而异。例如,如果目标广告类似于最近点击的广告,那么目标领域中的短期兴趣应该更重要;如果目标广告与最近点击的新闻和广告都无关,那么长期利益应该更重要
- 由于特征数量不同,目标广告和三种用户兴趣类型的广告表现可能具有不同的Embedding维度,维度差异可能会自然而然地增强或减弱某些表示法的影响
为了应对这些挑战,作者提出了混合兴趣网络(MiNet),其结构如下所示(注意这幅图的全部符号标识,这及其重要):
MiNet对三种兴趣进行了联合建模:
- 用户的长期兴趣通过用户特征嵌入 P u P_u Pu 的串联建模, P u P_u Pu 是基于跨领域数据的联合学习的(有两个部分的损失,详细见下文),这实现了联合学习
- 源域的短期兴趣通过向量 a s a_s as 来建模, a s a_s as 聚合了最近点击的新闻信息
- 目标域的短期兴趣通过向量 a t a_t at 来建模, a t a_t at 聚集最近点击的广告的信息
MiNet提出了两种不同的attention机制:item-level
和 interest-level
:
item-level
的attention应用于源域和目标域,可以自适应地从最近点击的新闻/广告中提取有用信息(以应对挑战1和2)- 引入
transfer matrix
将知识从新闻转移到广告(以应对挑战3)。这里提个醒,item-level attention
作用于源域,提取源域的信息时需要迁移矩阵,但是作用于目标域的时候不需要迁移矩阵,因为点击广告click ad
和目标广告target ad
是同一个域,无需迁移矩阵(具体细节见后续的数学公式) - 长期的用户兴趣
P
u
P_u
Pu 是基于
cross-domain
的数据学习的,也可以进行知识迁移(以应对挑战3) - 引入
interest-level
的attention动态调整三类用户兴趣的重要性(以应对挑战4) - 具有适当激活功能的
interest-level attention
也可以处理维度差异问题(以应对挑战5)
3. Model Design
在线广告点击率预测的任务是建立一个预测模型来估计用户点击特定广告的概率,定义 cross-domain CTR
预测任务为从源域中利用数据来提升目标域的CTR预估。在这篇文章中,源域是自然新闻提要,目标域是广告。在这个场景中,源域和目标域共享同一组用户,但是没有重复的特征(share the same set of users, but there are no overlapped items
)
以下内容就是MiNet模型的细节(这里的分类标题与原paper不相同):
3.1 Feature Embedding
这个部分,按我的理解其实是和单域模型的特征处理方法类似的。对于每个稀疏特征,将其进行One-hot编码,再分别建立一个查找表进行Embedding成一个低维的 dense feature
。在工程实现上,可以直接使用 label encoder
直接进行编码,再进行embedding,这两种方式本质上是一样的。因为,本质上都是为embedding建立一个索引,去获取查找表中对应位置的embedding信息而已。
在这之后的所有信息,都是基于低维的embedding来进行操作的。比如对于每个广告实例,将特征划分为用户特征 user features
与广告特征 ad features
,其中取出所有的广告特征 ad features
相关的embedding构成广告的特征表示
r
t
r_t
rt 。类似的,同样基于取出源域与新闻特征的embedding构成新闻的特征表示
r
s
r_s
rs
这里需要特别注意,注意看模型的结构图,由于相关的特征描述在文章是中没有清晰的描述的。而在这里,我认为文章目标域的 Target ad
与 Clicked ads
的特征的相同的,Clicked ads
是由许多广告所构建成的一个广告集,但是这些广告共享一样的特征名称。同样的,我也认为文章的源域的 News
与 Clicked news
同样共享一样的特征名。也就是说,历史点击的广告与目标的广告用了一套相同的特征来表示,而历史的新闻数据与点击的新闻数据也同样使用了另外一套相同的特征来表示。
基于这个猜想,之后的所有Embedding编码表示,各类拼接组合其实就比较简单的理解了。后面的内容也就不需要特别详细的说明了,配合公式与模型结构图就够了。
3.2 Item-Level Attention
跨域的长期兴趣
对于用户
u
u
u ,其长期的兴趣表示向量
P
u
P_u
Pu 以通过拼接对应的特征embedding向量来获得。一个用户
u
u
u 有特征 UID=u123,City = BJ, Gender =male, OS=ios
,我们就有其特征表示:
p
u
=
[
e
u
123
∣
∣
e
B
I
∣
∣
e
m
a
l
e
∣
∣
e
i
o
s
]
p_u = [e_{u123} || e_{BI} || e_{male} || e_{ios}]
pu=[eu123∣∣eBI∣∣emale∣∣eios]
其中
∣
∣
||
∣∣ 表示向量的拼接操作,也就是相关的用户特征全部拼接在一起。
源域的短期兴趣
新闻的内容可能与目标广告的内容完全不同,但它们之间可能存在一定的相关性。例如,用户在观看一些娱乐新闻后很有可能点击游戏广告。基于这些关系,我们可以将有用的知识从源领域转移到目标领域。
问题:如何了解在历史的点击新闻内容中,哪一条新闻是比较相关的呢?
答:可以通过为历史新闻赋予不同的权重
α
i
α_i
αi ,最后在聚合 aggregation
集合的所有内容时,所占权重大的新闻自然被模型更加注意。对于源域的短期兴趣,最后聚合的向量表示为
a
s
a_s
as
数学表示为:
a
s
=
∑
i
α
i
r
s
i
a_s = \sum_iα_ir_{si}
as=i∑αirsi
现在知道了源域的短期兴趣的Embedding是如何获取,将问题转化为了如何更好的设计获得较好的权重分配 α i α_i αi 上。
下面直接给出数学公式(进行 Item-levelAttention
):
α
i
=
h
s
T
R
e
L
U
(
W
s
[
r
s
i
∣
∣
q
t
∣
∣
p
u
∣
∣
M
r
s
i
⊙
q
t
]
)
α
i
=
s
o
f
t
m
a
x
(
α
i
)
\begin{aligned} α_i &= h_s^TReLU(W_s[r_{si} || q_t||p_u||Mr_{si}⊙ q_t]) \\ α_i &= softmax(α_i ) \end{aligned}
αiαi=hsTReLU(Ws[rsi∣∣qt∣∣pu∣∣Mrsi⊙qt])=softmax(αi)
式子中同时考虑了下面诸多情况:
- source domain的点击新闻 r s i r_{si} rsi
- target domain的目标广告 q t q_t qt
- 用户的长期兴趣 p u p_u pu
- 点击新闻和目标广告的转移交互 M r s i ⊙ q t Mr_{si}⊙ q_t Mrsi⊙qt ,其中 M M M是迁移矩阵
通过这种方法,计算得到的
α
i
α_i
αi 不仅仅是点击新闻的函数, 同时考虑了目标广告和目标用户,也考虑了点击新闻和跨域的目标广告的关系。之后进行一个 softmax
操作,就可以转为为权重,分配给点击新闻集中的每一条新闻。
目标域的短期兴趣
给定一个用户,对于每个要预测其CTR的目标广告,该用户在目标域中也有最近的行为。用户最近点击的广告可能对用户在短期内点击的广告有很大的影响。对于源域的短期兴趣,最后聚合的向量表示为 a t a_t at
数学表示为:
a
t
=
∑
j
β
j
r
t
j
a_t = \sum_jβ_jr_{tj}
at=j∑βjrtj
其中,权重
β
j
β_j
βj 的数学表达为(进行 Item-levelAttention
):
β
j
=
h
t
T
R
e
L
U
(
W
t
[
r
t
j
∣
∣
q
t
∣
∣
p
u
∣
∣
r
t
j
⊙
q
t
]
)
β
j
=
s
o
f
t
m
a
x
(
β
j
)
\begin{aligned} β_j &= h_t^TReLU(W_t[r_{tj} || q_t || p_u || r_{tj}⊙q_t]) \\ β_j &= softmax(β_j ) \end{aligned}
βjβj=htTReLU(Wt[rtj∣∣qt∣∣pu∣∣rtj⊙qt])=softmax(βj)
其中该式子考虑了以下内容:
- target domain的点击广告 r t j r_{tj} rtj
- target domain的目标广告 q t q_t qt
- 用户的长期兴趣 p u p_u pu
- 点击广告和目标广告的交互 r t j ⊙ q t r_{tj}⊙q_t rtj⊙qt ,因为它们在同一个域中,所以不需要迁移矩阵
通过这样的操作( softmax
之后),同样可以为历史的点击广告赋予一个自适应的权重
β
j
β_j
βj ,分配给点击广告集中的每一条广告。其考虑了目标广告和目标用户的多重信息。
3.3 Interest-Level Attention
现在,分别对点击的广告集合与点击的新闻集合分别进行 Item-Level Attention
和 Aggregation
之后,就获得了三种不同的兴趣表示:用户的长期兴趣
p
u
p_u
pu,源域的短期兴趣
a
s
a_s
as,目标域的短期兴趣
a
t
a_t
at 。它们反映了不同方面的用户兴趣,如果只是简单的拼接会有一个问题,很难找到最优信息的用户兴趣信号,因为这么做我们默认所有的兴趣都是相同的权重。其中目标广告的表示为
q
t
q_t
qt
所以,应该由分配相同权重,公式:
m
=
[
q
t
∣
∣
p
u
∣
∣
a
s
∣
∣
a
t
]
m = [q_t || p_u || a_s || a_t]
m=[qt∣∣pu∣∣as∣∣at]
转变为,分配动态权重控制,公式为:
m
=
[
q
t
∣
∣
v
u
p
u
∣
∣
v
s
a
s
∣
∣
v
t
a
t
]
m = [q_t || v_up_u || v_sa_s || v_ta_t]
m=[qt∣∣vupu∣∣vsas∣∣vtat]
其中,
v
u
,
v
s
,
v
t
v_u,v_s, v_t
vu,vs,vt是动态权重,其计算公式为:
v
u
=
exp
(
g
u
T
R
e
L
U
(
V
u
[
q
t
∣
∣
p
u
∣
∣
a
s
∣
∣
a
t
]
)
+
b
u
)
v
s
=
exp
(
g
s
T
R
e
L
U
(
V
s
[
q
t
∣
∣
p
u
∣
∣
a
s
∣
∣
a
t
]
)
+
b
s
)
v
t
=
exp
(
g
t
T
R
e
L
U
(
V
t
[
q
t
∣
∣
p
u
∣
∣
a
s
∣
∣
a
t
]
)
+
b
t
)
\begin{aligned} v_u &= \exp(g_u^TReLU(V_u[q_t||p_u||a_s||a_t]) + b_u) \\ v_s &= \exp(g_s^TReLU(V_s[q_t||p_u||a_s||a_t]) + b_s) \\ v_t &= \exp(g_t^TReLU(V_t[q_t||p_u||a_s||a_t]) + b_t) \end{aligned}
vuvsvt=exp(guTReLU(Vu[qt∣∣pu∣∣as∣∣at])+bu)=exp(gsTReLU(Vs[qt∣∣pu∣∣as∣∣at])+bs)=exp(gtTReLU(Vt[qt∣∣pu∣∣as∣∣at])+bt)
其中,
V
∗
V*
V∗ 是一个矩阵参数,
g
∗
g*
g∗ 是一个向量参数,而
b
∗
b*
b∗ 是一个标量参数。
这里需要注意,paper最后是使用exp来计算权重,这使得权重 v ∗ v* v∗ 可能大于1。这是一个理想的属性,因为这些权重可以补偿尺寸差异问题。例如,当 q t q_t qt 的维数远大于 p u p_u pu 时(由于更多的特征), p u p_u pu 的贡献自然会被这种效应削弱。为 p u p_u pu 分配[0,1]中的权重(即用sigmoid函数替换exp函数)不能解决这个问题。然而,由于这些权重是自动学习的,因此在必要时它们也可以小于1。
3.4 Model Training
通过 Interest-Level Attention
处理后的embedding表示结合的多种信息,最后就可以丢给一个DNN来进行预测,同时用户与新闻也存在点击与否的关系,同样可以丢给另外一个DNN来进行训练,所以这里的用户长期兴趣
p
u
p_u
pu 是联合训练的。
在实验中,作者分别构建了两个两层的神经网络来进行训练,具体的数学公式就不写出来了。预测点击率其实可以看出是一个二分类问题,只不过是再进行一个逻辑回归,其损失函数可以写为:
l
o
s
s
t
=
−
1
∣
Y
t
∣
∑
y
t
∈
Y
t
[
y
t
log
y
^
t
+
(
1
−
y
t
)
log
(
1
−
y
^
t
)
]
loss_t = -\frac{1}{|Y_t|}\sum_{y_t\in Y_t}[y_t\log\hat{y}_t +(1-y_t)\log(1-\hat{y}_t)]
losst=−∣Yt∣1yt∈Yt∑[ytlogy^t+(1−yt)log(1−y^t)]
其中,
y
t
∈
{
0
,
1
}
y_t \in \{0, 1\}
yt∈{0,1}, 最终模型的loss是:
l
o
s
s
=
l
o
s
s
t
+
γ
l
o
s
s
s
loss = loss_t + \gamma loss_s
loss=losst+γlosss
其中
γ
\gamma
γ 是平衡参数,
p
u
p_u
pu 是全域共享的, 当优化共享loss的时候,
p
u
p_u
pu 是从双域上联合优化的。最后的损失也是对源域与目标域均构建损失。
4. Experiment
1. Train Detail
在训练上,作者在验证集上找到最优超参数后,将初始训练集和验证集合并为最终训练集(使用找到的最优超参数进行训练)。
同时设置查找表embedding的维度 D = 10 D = 10 D=10,神经网络的层数设置为2,其中的全连接宽度设置为 [512, 256] 或者是 [256,128] 。
- 与其他模型的对比
4.2 Ablation Study
- Ablation Study: Level of Attention
无论是 item-level attention
还是 interest-level attention
都能提高AUC,两种注意水平的使用都能提高AUC。此外,interest-level attention(sigmoid)
的表现比 interest-level attention(exp)
差得多。这是因为不恰当的激活函数不能有效地解决维度偏差问题。这些结果证明了所提出的层次注意机制的有效性。
- Ablation Study: Attention Weights
可以发现,模型可以学习点击新闻与目标广告之间的某种相关性。指示概率较高的新闻通常会获得较高的注意力权重。
- Ablation Study: Effect of Modeling Different Types of User Interest
当在MiNet中综合考虑所有这些因素时,我们得到了最高的AUC,表明不同类型的兴趣可以互补,联合建模可以得到最佳和更健壮的性能。
5. Conclusion
本文研究了在线广告的跨域CTR预测问题,提出了一种新的方法,称为混合兴趣网络(MiNet),它模拟了三种类型的用户兴趣:
1)跨域的长期兴趣;2)源域的短期兴趣;3)目标域的短期兴趣。
MiNet包含两个level的注意,其中 item-level attention
可以动态地从最近点击的新闻/广告中提取有用信息,interest-level attention
可以自适应地调整不同用户兴趣信号的重要性。离线实验验证了三种用户兴趣模型的有效性和分层注意的使用。在线A/B测试结果也验证了该模型在实际网络广告CTR预测任务中的有效性。
参考资料:
2. MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction