当前位置: 首页> 财经> 股票 > 背景图片素材_山西定制网站建设电源_成人技能培训_推广运营怎么做

背景图片素材_山西定制网站建设电源_成人技能培训_推广运营怎么做

时间:2025/8/10 16:45:22来源:https://blog.csdn.net/weixin_63551790/article/details/144400776 浏览次数:0次
背景图片素材_山西定制网站建设电源_成人技能培训_推广运营怎么做

运用了自注意力网络(self-attention network,SAN)的序列推荐算法(SASRec)能以并行化的方式捕捉同一序列上不同时间步间的转移关系,最后通过加权求和的方式得出每个时间步的序列特征。

算法原理:

SASRec主要由一个输入层、一个自注意力网络和一个预测(输出)层组成。输入层负责将每个物品编码为一个物品嵌入向量,并根据它们在用户行为序列中的顺序将它们拼接为用户序列的嵌入矩阵,预测层从自注意力网络输出的嵌入矩阵中提取每个时间步的用户偏好特征,将其与候选物品特征结合后,即可得出对应的用户对物品的偏好值。

自注意力网络是由若干自注意力块堆叠而成的。一个自注意力块包含一个能捕捉不同时间步之间关联关系的自注意力层和一个独立捕捉个时间步信息的前馈层。

自注意力块内部和外部的网络层之间又通过残差连接,从而解决了梯度消失或梯度爆炸的问题,更好的传播低层的信息。

Abstract

序列动态推荐希望可以关注“上下文”信息。目前出现了马尔科夫链(MC)和循环神经网络(RNN)两种方法。马尔科夫链假设用户的下一个动作可以根据最后几个动作来预测,而RNN原则上允许发现更长期的语义。MC适合要求模型简约的极其稀疏的数据集。而RNN适合模型复杂且密集的数据集。

INTRODUCTION

新的序列模型Transfomer在机器翻译任务中实现了最先进的性能和效率。transformer基于一种“自注意力”的注意力机制,这个机制非常高效。能够揭示句子中单词之间的句法和语义模式。

构建的基于自注意力的序列推荐模型(SASRec)在每个时间步自适应地为先前的项目分配权重。

由于自注意力机制,SASRec 倾向于考虑对密集数据集的长期依赖,同时关注稀疏数据集上的近期活动。

适用于并行加速,比基于CNN/RNN的替代方案快一个数量级。

RELATED WORK

A. General Recommendation

B. Temporal Recommendation

C. Sequential Recommendation

D. Attention Mechanisms

METHODOLOGY

A. Embedding Layer

为了方便并行化,将每个用户的输入物品序列的长度固定为L。对于用户历史交互物品数量大于L的,我们截取最新的序列片段;对于用户的历史交互数量小于L的情况,我们使用一个填充项对序列的开头进行填充【A constant zero vector 0 is used as the embedding for the padding item.常量0用作填充项目的嵌入】。通常选择一个较大且合适的L值以完整地保留多数用户的历史物品序列,过度增大L值可能对提升推荐效果的作用不大,甚至会影响算法效率。

Positional Embedding

由于自注意力模型不包含任何循环或卷积模块,因此它不知道先前项目的位置。因此我们将一个可学习的位置嵌入P注入到输入嵌入。初始输入嵌入矩阵为物品嵌入向量和位置嵌入向量相加得到。物品嵌入矩阵和位置嵌入矩阵是被所有物品序列所共享的,由模型学习到的参数。{如果使用固定位置嵌入,会发现性能变差,为何?}

B. Self-Attention Block

自注意力定义如下,Q代表Query,K代表Key,V代表Value。在QKT得到的矩阵中,第p行、第q列的元素蕴含着第p个时间步和第q个时间步的内容之间的关联度信息。▲表示一个因果掩码(mask),可以看作通过一个形似下三角的过滤器将来自未来的信息滤除(即q>p的情况)。最后再乘以V,就是根据前面算出的权重对所有时间步的信息加权,重新得到各时间步的序列特征。

Self-Attention layer

自注意力方法使用相同的对象作为Query、Key和Value。自注意力操作将嵌入E作为输入,通过线性投影转换为三个矩阵,并将它们输入到注意力层。【投影使模型更加灵活,例如模型可以学习不对称交互】

Causality

由于序列的性质,模型在预测第(t+1)各项目时应仅考虑前t个项目。然而,自注意力层(St)的第t个输出包含后续项目的嵌入,这使得模型ill-posed。通过禁止Qi和Kj(j>i)之间的所有链接来修改注意力。【在计算第t+1个位置的注意力权重时,Qt+1只能和K1....Kt进行交互。保证模型在预测时不会利用未来的信息。】

Point-Wise Feed-Forward Network

尽管自注意力能够通过自适应权重聚合所有先前项目的嵌入,但是它是一个线性模型。因此我们使用前馈网络为模型赋予非线性并考虑不同潜在维度之间的相互作用。

注意Si和Sj之间没有交互作用,意味着可以防止信息泄露(从后到前)

C. Stacking Self-Attention Blocks

在经过第一个自注意力块后,Fi聚合了所有先前项目的嵌入,通过另外一个基于F的自注意力块来学习更复杂的项目转换可能会更有用。堆叠自注意力块(自注意力层+前馈网络)以及第b个自注意力块。

当网络更深,会出现几个问题(1)模型容量增加容易过拟合(2)训练过程不稳定(由于梯度消失等)(3)具有更多参数的模型需要更多的训练时间。

g(x)表示自注意力层或前馈网络。对于每个块中的层g,在输入g之前对输入x应用层归一化,对g的输出应用dropout,并将输入x添加到最终输出。

Residual Connections

残差网络的核心思想是通过残差连接将低层特征传播到高层。为什么有剩余连接?因为现有的序列推荐方法表明,最后访问的项目在预测下一个项目起着关键作用,然后在几个自注意力块后,最后访问的项目的嵌入与所有先前的项目纠缠在一起添加剩余连接可以将最后访问的项目嵌入传播到最后一层,更好的利用低层信息。

Layer Normalization

对输入进行归一化有利于稳定和加速神经网络训练。

Dropout

缓解过拟合问题,dropout正则化技术被证明在各种神经网络架构中有效。

dropout的想法:在训练期间以概率p随机“关闭”神经元,并在测试时使用所有神经元。dropout可以被视为集成学习的一种形式,考虑了共享参数的大量模型。

D. Prediction Layer

在b个自注意力块自适应且分层地提取先前项目的信息之后,预测下一个项目。

采用MF层来预测项目i的相关性:

E. Network Training

将每个用户序列转换为固定长度序列(通过截断或填充),将ot定义为时间步t的预期输出

binary cross entropy loss

该网络由Adam优化器(SGD随机梯度下降的变体)进行优化。

缺点

实验无法扩展到非常长的序列。只关注最近的动作而不是所有动作。

Q&A

为什么在学习到的序列特征上加一个用户的潜在特征并不能特工这个序列特征的表征能力?【推测原因是模型已经通过考虑用户的所有行为来生成序列特征,本身就已经包含了足够的用户信息。】

关键字:背景图片素材_山西定制网站建设电源_成人技能培训_推广运营怎么做

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: