IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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
提出DIN模型的原因:

当前CTR预估都是Embedding&MLP结构:高维稀疏输入特征按照特征组先映射成低维固定长度的embedding向量,然后拼接起来,喂给MLP网络中进行训练。这里面用户的向量表示因为是有限的固定长度,很难表示用户的多个兴趣。而在电子商务网站里面,用户可能同时对多个商品感兴趣。

在Embedding&MLP框架里面,用户的多个兴趣被压缩成一个固定有限长的向量,其实表达能力是受限的。一方面,不可能无限增大向量维度,因为可能产生过拟合,而且参数会变多,计算和存储耗时会让线上推断变的不可接受;另一方面,没有必要将所有兴趣压缩到一个相同的向量里面,因为用户的行为仅受到一部分兴趣影响,例如一个游泳爱好者点击泳镜,主要是因为上周买的泳装而不是上周买的鞋子。

在这里插入图片描述

论文提出的DIN能给定一个候选的item,考虑用户历史行为,自适应的计算用户的向量表示。与候选item相关性高的历史行为,对用户向量表示的贡献就大,反之就小,不同的候选item得到的用户向量不一样。

同时,还提出另外2个创新点。模型加入L2-norm,每个batch需要计算所有参数的正则结果,计算量非常大,论文提出在batch内,只对出现过的特征做正则,减少计算量。另外还提出了一个新的激活函数,是PReLU的泛化,对效果有帮助。

模型

特征输入

数据通常大多是分组的类别形式,如下,会通过one-hot或者multi-hot转变成高维稀疏的二值特征输入。
[weekday=Friday, gender=Female,visited_cate_ids={Bag,Book}, ad_cate_id=Book],

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}
∑ j = 1 K i = k \sum_{j=1}^{K_i} = k j=1Ki??=k,当用one-hot编码, k = 1 k=1 k=1,当用multi-hot编码 k > 1 k>1 k>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

上面的特征编码示例如下:
在这里插入图片描述
论文用到的特征有4类,如下,列举了每个特征的维度及编码类型。没有用交叉特征,用DNN来提取。
在这里插入图片描述

模型结构

先看下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的最终低维稠密输入向量。
e i = p o o l i n g ( w i 1 i , w i ? 1 i , . . . , w i k i ) \mathbf e_i = pooling(\mathbf w_{i_1}^i, \mathbf w_{i-1}^i, ..., \mathbf w_{i_k}^i) ei?=pooling(wi1?i?,wi?1i?,...,wik?i?)
然后所有的低维稠密输入向量进行拼接作为MLP的输入向量。

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))
p ( x ) p(\mathbf x) p(x)是网络最后softmax后的输出, y ∈ { 0 , 1 } y \in \{0,1\} y{0,1}表示label

DIN

base模型的缺陷:不论候选item是啥,用户的输入Embedding向量时一样的,没法表达用户的兴趣多样性。
在这里插入图片描述
DIN引入了一个局部激活单元,其他结构一样。

局部激活单元

这个单元用在用户历史行为特征上面。和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)
v U ( A ) = f ( v A , e 1 , e 2 , . . . , e H ) = ∑ j = 1 H a t t e n t i o n ( e j , v A ) = ∑ j = 1 H w j e j \mathbf v_U(A) = f(\mathbf v_A,\mathbf e_1, \mathbf e_2, ..., \mathbf e_H ) = \sum_{j=1}^H attention(\mathbf e_j,\mathbf v_A) = \sum_{j=1}^H \mathbf w_j \mathbf e_j vU?(A)=f(vA?,e1?,e2?,...,eH?)=j=1H?attention(ej?,vA?)=j=1H?wj?ej?

{ 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里面都计算一次所有参数的正则,当参数量巨大时,会非常耗时。
通过仅计算batch内出现过的feature的正则,减少计算。Embedding词典 W ∈ R D × K \mathbf W \in R^{D \times K} WRD×K参数最多, W \mathbf W W l 2 l_2 l2?正则如下
在这里插入图片描述
指示函数 I ( x j ≠ 0 ) I(\mathbf x_j \neq 0) I(xj??=0)表示输入样本 x \mathbf x x是否包含特征 j j j, n j n_j nj?表示特征 j j j在所有样本出现的次数。在batch中,正则如下
在这里插入图片描述
a m j = m a x ( x , y ) ∈ B m I ( x j ) a_{mj} = max_{(\mathbf x, y) \in B_m} I(\mathbf x_j) amj?=max(x,y)Bm??I(xj?)表示batch B m B_m Bm?里面特征 j j j至少出现过一次
在这里插入图片描述
这样参数更新如下
在这里插入图片描述

Dice激活函数

PReLU在值为0时有个突变点
在这里插入图片描述
改为连续的,激活函数依赖于batch内数据的分布, ? = 1 0 ? 8 \epsilon = 10^{-8} ?=10?8是个常量,当均值和方差为0时,退化为PReLU。
在这里插入图片描述

对比如下:
在这里插入图片描述

评估指标

使用GAUC,原因:GAUC能消除不同用户的差别,活跃用户和非活跃用户差别很大,使用曝光或者点击进行消除,按照曝光或者点击的权重进行加权。
在这里插入图片描述

实验效果

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:38:31  更:2022-05-18 17:41:11 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码