| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 论文《Deep Interest Network for Click-Through Rate Prediction》 -> 正文阅读 |
|
[人工智能]论文《Deep Interest Network for Click-Through Rate Prediction》 |
DIN模型论文地址:https://arxiv.org/pdf/1706.06978.pdf 当前CTR预估都是Embedding&MLP结构:高维稀疏输入特征按照特征组先映射成低维固定长度的embedding向量,然后拼接起来,喂给MLP网络中进行训练。这里面用户的向量表示因为是有限的固定长度,很难表示用户的多个兴趣。而在电子商务网站里面,用户可能同时对多个商品感兴趣。 在Embedding&MLP框架里面,用户的多个兴趣被压缩成一个固定有限长的向量,其实表达能力是受限的。一方面,不可能无限增大向量维度,因为可能产生过拟合,而且参数会变多,计算和存储耗时会让线上推断变的不可接受;另一方面,没有必要将所有兴趣压缩到一个相同的向量里面,因为用户的行为仅受到一部分兴趣影响,例如一个游泳爱好者点击泳镜,主要是因为上周买的泳装而不是上周买的鞋子。 论文提出的DIN能给定一个候选的item,考虑用户历史行为,自适应的计算用户的向量表示。与候选item相关性高的历史行为,对用户向量表示的贡献就大,反之就小,不同的候选item得到的用户向量不一样。 同时,还提出另外2个创新点。模型加入L2-norm,每个batch需要计算所有参数的正则结果,计算量非常大,论文提出在batch内,只对出现过的特征做正则,减少计算量。另外还提出了一个新的激活函数,是PReLU的泛化,对效果有帮助。 模型特征输入数据通常大多是分组的类别形式,如下,会通过one-hot或者multi-hot转变成高维稀疏的二值特征输入。 第
i
i
i个特征组编码后的向量表示为
t
i
∈
R
K
i
\mathbf t_i \in R^{K_i}
ti?∈RKi?,
K
i
K_i
Ki?表示特征i编码后的向量维度,即特征
i
i
i包含
K
i
K_i
Ki?个不同的id,
t
i
[
j
]
\mathbf t_i[j]
ti?[j]表示向量第
j
j
j维的值,
t
i
[
j
]
∈
{
0
,
1
}
\mathbf t_i[j] \in \{ 0,1\}
ti?[j]∈{0,1} 输入是由各个特征组的向量拼接起来的,假设有 M M M个特征组,则输入特征向量 x = [ t 1 , t 2 , . . . , t M ] \mathbf x = [\mathbf t_1, \mathbf t_2, ..., \mathbf t_M ] x=[t1?,t2?,...,tM?],输入特征向量的维度为 ∑ i = 1 M K i = K \sum_{i=1}^MK_i = K ∑i=1M?Ki?=K 上面的特征编码示例如下: 模型结构先看下base模型 Embedding层Embedding层是将高维稀疏输入向量转换为低维稠密输入向量。对于第 i i i个特征组的输入向量 t i \mathbf t_i ti?,Embedding转换词典 W i = [ w 1 i , w 2 i , . . . , w K i i ] ∈ R D × K i \mathbf W^i = [\mathbf w_1^i,\mathbf w_2^i, ..., \mathbf w_{K_i}^i ] \in R^{D \times K_i} Wi=[w1i?,w2i?,...,wKi?i?]∈RD×Ki?, w j i \mathbf w_j^i wji?表示维度为 D D D的Embedding向量。 若 t i \mathbf t_i ti?是one-hot向量时,当 t i [ j ] = 1 \mathbf t_i[j] = 1 ti?[j]=1,则第 i i i个特征组的输入向量 t i \mathbf t_i ti?的低维稠密向量表示 e i = w j i \mathbf e_i = \mathbf w_j^i ei?=wji?,是单个向量。 若 t i \mathbf t_i ti?是multi-hot向量时,当 t i [ j ] = 1 , j ∈ { i 1 , i 2 , . . . , i k } \mathbf t_i[j] = 1,j \in \{i_1,i_2,...,i_k \} ti?[j]=1,j∈{i1?,i2?,...,ik?},则第 i i i个特征组的输入向量 t i \mathbf t_i ti?的低维稠密向量表示 { e i 1 , e i 2 , . . . , e i k } = { w i 1 i , w i ? 1 i , . . . , w i k i } \{\mathbf e_{i_1}, \mathbf e_{i_2}, ..., \mathbf e_{i_k} \} = \{ \mathbf w_{i_1}^i, \mathbf w_{i-1}^i, ..., \mathbf w_{i_k}^i \} {ei1??,ei2??,...,eik??}={wi1?i?,wi?1i?,...,wik?i?},是一组向量。 Pooling及Concat层MLP输入向量时固定长度的,但是像用户历史行为特征,序列长度不一致,需要处理成一个固定长度的向量,因此需要对multi-hot的稠密向量进行处理。通过sum/average pooling方式对一组向量进行处理,得到特征组
i
i
i的最终低维稠密输入向量。 Loss
L
=
?
1
N
∑
(
x
,
y
)
∈
S
y
log
?
p
(
x
)
+
(
1
?
y
)
log
?
(
1
?
p
(
x
)
)
L=-\frac {1} {N} \sum_{(\mathbf x, y) \in S} y \log p(\mathbf x) + (1-y) \log (1-p(\mathbf x))
L=?N1?(x,y)∈S∑?ylogp(x)+(1?y)log(1?p(x)) DINbase模型的缺陷:不论候选item是啥,用户的输入Embedding向量时一样的,没法表达用户的兴趣多样性。 局部激活单元这个单元用在用户历史行为特征上面。和base模型的差别是将pooling操作改为Attention操作,将原先的多个历史行为Embedding的sum或者max操作改为按照与候选item的相关性对各个Embedding进行加权和操作。 假设候选item的Embedding输入向量是
v
A
\mathbf v_A
vA?,用户历史行为特征最后的结果向量
v
U
(
A
)
\mathbf v_U(A)
vU?(A) { e 1 , e 2 , . . . , e H } \{\mathbf e_1, \mathbf e_2, ..., \mathbf e_H\} {e1?,e2?,...,eH?}是用户历史行为的一组Embedding,长度为 H H H attention计算即局部激活单元,如下,用户向量和候选item向量计算out product(element-wise product),然后和用户向量、item向量拼接在一起,经过PRelu或者Dice激活函数,输入到一个单层网络,得到在给定item向量时用户向量的权重(相关性)结果。举例说明,如果用户历史序列有裙子,当候选是裙子时,裙子这个历史行为与当前候选item相关性高,计算得到的权重就大,那么最后用户历史行为特征Embedding结果中,裙子Embedding共享的就大(因为是各个历史行为的加权和
∑
j
=
1
H
w
j
e
j
\sum_{j=1}^H \mathbf w_j \mathbf e_j
∑j=1H?wj?ej?),其实就是Attention的核心思想。 Mini-batch Aware Regularization提出原因:L2正则防止过拟合,但是每个batch里面都计算一次所有参数的正则,当参数量巨大时,会非常耗时。 Dice激活函数PReLU在值为0时有个突变点 对比如下: 评估指标使用GAUC,原因:GAUC能消除不同用户的差别,活跃用户和非活跃用户差别很大,使用曝光或者点击进行消除,按照曝光或者点击的权重进行加权。 实验效果 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:26:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |