欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > 推荐系统的注意力进化:从 Self-Attention 到 Target-Attention

推荐系统的注意力进化:从 Self-Attention 到 Target-Attention

2025/4/9 15:38:48 来源:https://blog.csdn.net/qq_22866291/article/details/147011442  浏览:    关键词:推荐系统的注意力进化:从 Self-Attention 到 Target-Attention

目录

    • 引言
    • 一、注意力机制基础剖析
      • (一)核心问题与应用本质
      • (二)引入方式分类
    • 二、Self - Attention与Target - Attention详解
      • (一)Self - Attention
      • (二)Target - Attention
    • 三、双层Attention建模序列关系
    • 四、注意力机制在推荐系统中的多元作用
      • (一)凸显用户兴趣峰
      • (二)特征进一步细化/抽象
      • (三)对模块进行分化
    • 五、总结

引言

在深度学习和人工智能蓬勃发展的当下,推荐系统已成为众多互联网产品的核心竞争力。而注意力机制,作为推荐系统中的关键技术,正发挥着举足轻重的作用。本文将深入探讨注意力机制及其在推荐系统中的多种变体,如Self - Attention、Target - Attention和双层Attention。

一、注意力机制基础剖析

(一)核心问题与应用本质

注意力机制旨在解决两个关键问题:一是在哪个层面以及如何应用,二是如何获取注意力系数,即由谁产出。其广泛应用的根本原因在于求和操作的普遍性。在众多模型结构中,只要存在向量求和,加权和就有施展的空间。以推荐系统为例,DIN(Deep Interest Network)和DIEN(Deep Interest Evolution Network)将注意力机制应用于用户行为序列建模,目的是获取更优质的用户特征表示。但注意力机制的应用远不止于此,它还能在其他多个环节发挥各种不同的作用。
在这里插入图片描述

(二)引入方式分类

  1. 加权和:这是最为常见且基础的引入方式。在原始模型结构中,若存在向量求和操作,便可以将其转化为加权和。AFM(Attentional Factorization Machines)便是一个典型的例子,它通过对特征交叉的加权和,自适应地学习不同交叉特征的重要性,进而提升模型的表现。在这里插入图片描述

  2. 按元素/特征/模块乘:这种方式是将注意力系数直接乘到相应元素、特征或模块上,虽然不进行求和操作,但却能体现出不同元素重要性的差异。像LHUC(Layer -wise Hyperparameter Uniform Compensation)和SeNet(Squeeze - and - Excitation Networks),它们分别在各自的领域中利用这种方式,通过对特征的加权来突出重要信息,抑制次要信息。一个推荐系统中典型的LHUC结构如下:推荐系统中的LHUC结构快手基于LHUC结构分别推出了PPNet模型,如下:在这里插入图片描述在此基础上进一步衍生出了PEPNet模型,如下:在这里插入图片描述一个典型的SeNet结构,如下:在这里插入图片描述微博基于SeNet结构推出FibNet模型,如下:在这里插入图片描述

  3. 以QKV形式做特征抽象表达:这是Transformer中特有的做法。在这种模式下,将输入数据抽象为query(Q)、key(K)和value(V)三个部分,通过一系列计算来实现对信息的聚焦和处理,这一做法为后续的Self - Attention和Target - Attention奠定了基础。在这里插入图片描述

通常情况下,推荐系统中attention的K和V都为用户的点击序列,序列由item_id组成,Q为target_item_id ;但也有许多变种,比如Q为item_id + item_side_info,期望通过增加side_info来增加模型稳定性;或者Q为点击序列的均值,K和V为曝光未点击序列,期望利用点击序列过滤掉曝光未点击序列中用户感兴趣的item。

item_side_info是非常重要的信息,有多种做法;但有一点是明确的,Non-invasive 方式更佳,通过 Non-invasive 能有效减少item_side_info对原始纯item序列的干扰;另外item_side_info可以用直接加减、Concat、Gate网络等多种方式融合,一个典型的Non-invasive方式,如下:在这里插入图片描述可以参考解读文章《告别低效融合!NOVA 机制如何让序列推荐 “如虎添翼”》,另外,Reliable Attention 也是一种可以尝试的做法在这里插入图片描述具体如下:在这里插入图片描述

二、Self - Attention与Target - Attention详解

(一)Self - Attention

Self - Attention在推荐系统中扮演着关键角色,它从行为序列里抽取Q、K、V 。其核心聚焦于行为序列内部,通过精密计算序列中各元素间的关联,提取出能够表征用户兴趣的向量,以此展现用户交互历史的迁移情况与相关性。举例来说,在电商推荐场景中,Self - Attention能够深入分析用户购买不同商品的行为,挖掘出这些商品间的潜在联系,进而洞察用户的购物模式,发现其潜在需求,助力更全面地理解用户兴趣。

从更宏观的Encoder - Decoder框架视角出发,当query、key和value均来自编码层时,便构成了Self - Attention 。此时,它所涉及的并非Target与Source之间的Attention机制,而是Source内部元素间,或者Target内部元素间产生的Attention机制。换个角度理解,这相当于是在Target = Source这一特殊情形下的Attention

(二)Target - Attention

Target - Attention的Q从target item中获取,K和V则从行为序列中抽取 。以Din(Deep Interest Network)为参考,它主要刻画了target item与候选物品的交叉关系,但在一定程度上忽略了行为序列内部各元素之间的依赖关系。在实际应用中,比如在内容推荐系统里,当为用户推荐一篇新文章(target item)时,Target - Attention会依据用户过往浏览文章的行为序列(K和V)来计算新文章与过往行为的关联程度,进而判断该文章是否符合用户的兴趣。

在Encoder - Decoder框架下,query来自于解码层,key和value来自于编码层时叫vanilla attention,即最基本的attention ,这种情况下的Target - Attention发生在Target的元素Query和Source中的所有元素之间。

对于推荐系统中的target_attention,debug和case排查一直都是比较难解决的问题。可以把Q和K组合计算后的权重(即上述代码的weight)打印出来,分析一下均值、方差以及直方图分布,就能在一定程度上发现问题。如果发现所有权重的均值都差不多,说明attention压根就没起作用,要么是序列特征出问题了,要么是target_item构造的emb有问题,这样可以快速定位问题。

三、双层Attention建模序列关系

双层Attention结合了Self - Attention和Target - Attention的优势,先进行Self - Attention,再进行Target - Attention 。通过Self - Attention,能够从行为序列中提取出融合了不同历史记忆依赖性的向量,然后利用Target - Attention,将这些向量与当前候选物料进行关联,衡量历史物料对当前候选物料的重要性。

在这里插入图片描述

这样得到的用户兴趣向量,既反映了候选物料与历史记忆之间的相关性,又体现了不同历史记忆之间的依赖性。在电商推荐中,这种双层Attention机制可以更好地捕捉用户的兴趣变化,不仅考虑到用户当前关注商品与历史购买商品的直接关联,还能挖掘历史购买商品之间的内在联系,从而为用户提供更精准、更符合其潜在需求的推荐。

四、注意力机制在推荐系统中的多元作用

(一)凸显用户兴趣峰

像DIN和DIEN等模型,利用注意力机制来凸显用户兴趣峰 。它们通过对用户行为序列的分析,能够准确捕捉到用户在不同时刻的兴趣焦点,将更多的注意力放在与当前兴趣紧密相关的行为上,从而为用户提供更贴合其当下兴趣的推荐。

在这里插入图片描述

(二)特征进一步细化/抽象

SeNet和AutoInt等模型把注意力机制当作特征进一步细化和抽象的工具 。通过对特征进行加权处理,这些模型可以更精细地刻画数据特征,挖掘出数据中隐藏的信息,提升模型对复杂数据的理解和处理能力。
在这里插入图片描述

(三)对模块进行分化

注意力机制可以作为分化模块的工具 。在模型中,它根据不同的输入生成不同的权重,以此决定后续模块中哪些信息需要突出,哪些需要抑制。例如在MMOE(Multi - gate Mixture - of - Experts)模型中,通过注意力机制生成的权重,使得不同的专家网络能够专注于不同的输入模式,提高模型的泛化能力和性能。

在这里插入图片描述

五、总结

注意力机制及其相关变体,如Self - Attention、Target - Attention和双层Attention,在推荐系统中扮演着不可或缺的角色。它们通过不同的方式对用户行为序列和推荐物品进行分析和关联,能够更精准地捕捉用户兴趣,提升推荐系统的性能和用户体验。随着技术的不断发展,注意力机制在推荐系统中的应用也将不断创新和拓展,为推荐系统的发展注入新的活力。

版权声明:

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

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

热搜词