| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 19【CTR15】会话兴趣?络 -> 正文阅读 |
|
[人工智能]19【CTR15】会话兴趣?络 |
文章目录1、前言在CTR预估中,从用户的行为序列中捕捉用户动态变化的兴趣一直是一个热门课题。然而现在大部分研究都集中在Sequence中而不是Session。观察到,每个Session 中的用户行为都是高度同构的,而Session之间都是异构的。 基于这一发现,提出了一种新的CTR模型――深度会话兴趣网络(Deep Session Interest Network,DSIN)。该模型主要是基于用户的行为序列来构建多个Session,利用带有带有偏置的self-attention 来提取用户的在每个Session中兴趣,然后利用Bi-LSTM来建模用户兴趣的发展和演化,最后利用局部激活单元自适应的学习各种兴趣对目标item 的影响。 self-attention :5.1注意力机制 Attention is all you need 先来介绍一下 Sequence和 Session的概念。 Sequence是指用户总的行为序列,而Session会考虑给定时间内发生的行为序列。简单来说,Sequence是由多个 Session组成的。(虽然之前就有Session的概念,但是这里作者强调了一下Session的重要性) 作者发现单个Session 内的具有高度的同构性,而Session间则具有高度的异构性。图1是一个从真实的工业应用程序中收集的Session演示。图片下方的数字表示点击当前商品和点击第一个商品之间的时间间隔,单位为秒。Session按照时间间隔超过30分钟的原则进行划分。 图 1 图1 图1 我们可以看到该用户在Session 1是点击的都是裤子,Session 2是戒指,Session 3就变成了衣服,这反应用户兴趣的明确性(Session内)和变化性(Session间)。 2、相关知识为什么提出DSIN? 经过观察,发现每个会话内的行为比较相近,不同会话之间差别较大。【说明数据分析的重要性,结合对业务的认知,对session进行建模,提出DSIN】 DSIN模型来对用户的多重Session进行建模,建模步骤如下:
3、模型结构图2展示了 DSIN 模型的架构
基于用户行为提取到的特征从低到上分为四层,分别为∶
Session division layer首先是划分层, 输入一段用户的行为序列, 然后基于 30 分钟的时间间隔将用户的行为序列划分为多个session, 第 k \mathrm{k} k 个 session 表达为 Q k = [ b 1 ; … ; b i ; … ; b T ] ∈ R T × d model? , T \mathbf{Q}_{k}=\left[\mathbf{b}_{1} ; \ldots ; \mathbf{b}_{i} ; \ldots ; \mathbf{b}_{T}\right] \in \mathbb{R}^{T \times d_{\text {model }}}, \mathrm{T} Qk?=[b1?;…;bi?;…;bT?]∈RT×dmodel??,T 是该 session 所含行为的长度, d model? d_{\text {model }} dmodel?? 为行为 Embedding 后的长度。 Session interest extractor layer同一session 中的行为之间有着密切的联系,但其中也会包含一些用户随意行为带来的噪声。为了捕捉到同一session中行为之间的内在联系,减少不相关行为的影响,作者使用了带有偏置的多头自注意力机制来达到这一目的。 该层的架构如下图所示,从下往上看(multi-head attention层到add & norm层少了一个箭头)∶ Bias Encoding:在 Transformer 中, self-attention 使用 positional encoding 来考虑 sequence 的顺序性。这里作者设计 Bias Encoding 代替 positional encoding , 来捕捉 session 的顺序性和表示空间中的偏置。第k个session中第t个行为向量的第c个位置的偏移 : 所以用户行为 session 为:
Q
k
=
[
Q
k
1
;
…
;
Q
k
h
;
…
;
Q
k
H
]
\mathbf{Q}_{k}=\left[\mathbf{Q}_{k 1} ; \ldots ; \mathbf{Q}_{k h} ; \ldots ; \mathbf{Q}_{k H}\right]
Qk?=[Qk1?;…;Qkh?;…;QkH?] 输出
h
e
a
d
h
head_{h}
headh? 为: 简单回顾下 self-attention 的原始公式,以帮助我们进行理解上面公式: 此外, 作者还进行了残差连接和逐层归一化。用户第
k
\mathrm{k}
k 个 session 的兴趣
I
k
\mathbf{I}_{k}
Ik?? 计算如下: Session interest interacting layer接下来作者利用Bi-LSTM来捕捉用户不同Session间的顺序关系,从而建模用户的兴趣变换。其架构如下图所示: LSTM公式如下: 隐藏层
H
\mathbf{H}
H 计算如下: Session Interest Activating Layer与用户兴趣更相关的 Item 更可能被用户点击,所以作者使用注意力机制来刻画 item 和用户兴趣之间的权重。其架构如下所示: 该层接受了 item 的特征,然后分别与兴趣抽取层的特征和兴趣演化层的特征分别进行自适应学习。 其目的在于,每接收一个 item,模型都会考虑用户的兴趣,并利用 item 的特征和用户的兴趣特征进行加权来控制用户多种兴趣的不同权重,放大相关兴趣,并缩小不相关的兴趣。 兴趣抽取层的特征为: 后面的话,就是把四部分的向量:用户特征向量、待推荐物品向量、会话兴趣加权向量 U I \mathbf{U}^{I} UI、带上下文信息的会话兴趣加权向量 U H \mathbf{U}^{H} UH进行横向拼接,输入到MLP层中,得到输出。 参考Deep Session Interest Network for Click-Through Rate Prediction |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/27 18:36:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |