推荐系统模型训练中的注意力机制

注意力机制

  • 注意力机制来源于人类天生的“选择性注意”的习惯,我们使用注意力机制就是要让机器也有用和人类一样的选择性注意的习惯。
  • 注意力机制对我们构建推荐模型的价值非常大,比如在构建新闻类推荐模型模型,根据用户已经看过的新闻做推荐。那我们在分析用户已浏览新闻的时候,需要根据用户的注意力不同给予不同的权重。因为用户很可能都没有注意到正文最后的几段,如果你分析内容的时候把最后几段跟标题、首段一视同仁,那肯定就把最重要的信息给淹没了。

深度兴趣网络DIN

  • 阿里巴巴的深度推荐模型DIN(Deep Interest Network,深度兴趣网络) 应用场景是阿里最典型的电商广告推荐。对于付了广告费的商品,阿里会根据模型预测的点击率高低,把合适的广告商品推荐给合适的用户,所以DIN模型本质上是一个点击率预估模型。

  • DIN Base Model的基础模型架构图如下:
    在这里插入图片描述

  • Base Model其实就是一个典型的Embedding MLP结构。它的输入特征有用户属性特征(User Proflie Features)、用户行为特征(User Behaviors)、候选广告特征(Candidate Ad)和场景特征(Context Features)。用户行为特征是用户购买过的商品组成Goods 1到Goods N。商品又包含了三个子特征分别是商品ID(红)、商铺ID(蓝)、商品类别ID(粉)。同样,候选广告特征也包含了这三个ID型的子特征。

  • 接下来就需要构建它的Embedding,然后把Embedding跟其他特征连接起来,输入到后续的MLP。这里把三个ID转换成了对应的Embedding,然后把这些Embedding连接起来组成了当前商品的Embedding。

  • SUM Pooling层直接把这些商品的Embedding叠加起来,然后再把叠加后的Embedding跟其他所有特征的连接结果输入MLP。使用Sum Pooling可以解决一组商品的Embedding处理成一个长度固定的Embedding。SUM Pooling的Embedding叠加操作其实是把所有历史行为一视同仁,没有任何重点地加起来。

  • 这里我们要引用注意力机制了,阿里正是在Base Model的基础上,把注意力机制应用在了用户的历史行为序列的处理上,从而形成了DIN模型。DIN架构图如下:
    在这里插入图片描述

  • 与Base Model相比,DIN为每个用户的历史购买商品加上了一个激活单元(Activation Unit),这个激活单元生成了一个权重,这个权重就是用户对这个历史商品的注意力得分,权重的大小对应用户注意力的高低。

  • 激活单元如何计算出最后的注意力权重?以上图右上角所示:它的输入是当前这个历史行为商品的Embedding和候选广告商品的Embedding。我们把这两个输入Embedding,与它们的外积结果连接起来形成一个向量,再输入给激活单元的MLP层,最终会生成一个注意力权重,这就是激活单元的结构。简单来说,激活单元就相当于一个小的深度学习模型,它利用两个商品的Embedding,生成了代表它们关联程度的注意力权重。

兴趣进化序列模型DIEN

  • 对于一个综合电商来说,用户兴趣的迁移其实是非常快的。例如,一位用户上周买了双运动鞋,这位用户上周的行为序列都会集中在运动鞋这个品类的各个商品上,而本周他的购物兴趣就可能变成笔记本电脑,那这周他所有的购买行为都会围绕笔记本电脑这个品类展开。DIEN模型正好弥补了DIN模型没有对行为序列进行建模的缺陷,它围绕兴趣进化这个点进一步对DIN模型做了改进。
  • DIEN模型架构图如下:
    在这里插入图片描述
  • 相比于DIN,上图彩色部分代替了DIN中的激活单元用户历史行为,这部分虽然复杂,但它的输出只是一个h’(T) 的Embedding向量,它代表了用户当前的兴趣向量。有了这个兴趣向量之后,再把它与其他特征连接在一起,DIEN就能通过MLP作出最后的预测了。
  • 最下面一层是行为序列层(Behavior Layer):它的主要作用和一个普通的Embedding层是一样的,负责把原始的ID类行为序列转换成Embedding行为序列。
  • 再上一层是兴趣抽取层(Interest Extractor Layer):它的主要作用是利用GRU组成的序列模型,来模拟用户兴趣迁移过程,抽取出每个商品节点对应的用户兴趣。
  • 最上面一层是兴趣进化层(Interest Evolving Layer):它的主要作用是利用AUGRU(GRU with Attention Update Gate) 组成的序列模型,在兴趣抽取层基础上加入注意力机制,模拟与当前目标广告(Target Ad)相关的兴趣进化过程,兴趣进化层的最后一个状态的输出就是用户当前的兴趣向量 h’(T)。
  • 在DIEN模型中,神经元的输入就是商品ID或者前一层序列模型的Embedding向量,而输出就是商品的Embedding或者兴趣Embedding,除此之外,每个神经元还会与后续神经元进行连接,用于预测下一个状态,放到DIEN里就是为了预测用户的下一个兴趣。这就是序列模型的结构和作用。
  • 总结:序列模型已经不仅在电商场景下,成功应用于推测用户的下次购买行为,在 YouTube、Netflix 等视频流媒体公司的视频推荐模型中,序列模型也用来推测用户的下次观看行为(Next Watch)。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 深度学习注意力机制是指在神经网络增加一种机制,使得网络能够在处理输入数据时,自动地给予不同的输入数据不同的权重或关注度。这种机制的引入可以帮助网络更好地处理复杂的输入数据,尤其是序列数据或者是具有长期依赖性的数据。 在深度学习注意力机制主要应用于自然语言处理和计算机视觉领域。在自然语言处理领域,注意力机制被广泛应用于机器翻译、文本摘要、问答系统等任务。在计算机视觉领域,注意力机制被用于图像分类、目标检测、图像生成等任务。 在深度学习注意力机制的实现方式有多种,其比较常用的方法包括以下几种: 1. Softmax 注意力机制:通过将输入数据与一个可学习的权重矩阵相乘,然后使用 softmax 函数将结果归一化为一个概率分布,得到每个输入数据的权重。 2. 点积注意力机制:通过计算输入数据之间的相似度(通常是点积),然后将相似度转换为权重,从而得到每个输入数据的权重。 3. 多头注意力机制:将输入数据分成多个头,每个头分别进行注意力机制的计算,然后将结果合并起来得到最终的注意力结果。 注意力机制可以帮助神经网络更好地理解输入数据之间的关系,从而提高模型的性能和鲁棒性。 ### 回答2: 注意力机制是深度学习的一种关键技术,它模仿人类大脑对信息的处理方式,帮助网络在输入数据选择性地聚焦于重要的部分。注意力机制的主要目标是提高模型的表现力,使其能够更好地处理复杂的任务。 注意力机制的核心思想是根据输入数据的重要性权重来动态地调整模型的注意力分配。它通过计算每个输入元素的注意力分数,然后将这些分数应用于生成加权的表示。这样,模型可以自动关注输入数据最相关的部分,而忽略不重要的部分。这种能力使得模型在处理长序列数据时能够更好地捕捉到序列的相关信息。 在深度学习,有多种实现注意力机制的方法,如Bahdanau注意力和Luong注意力。这些方法通常用于序列到序列模型,如机器翻译和语音识别。在这些任务模型需要对输入序列的不同位置进行加权,以生成目标序列。 注意力机制还广泛应用于计算机视觉任务,如目标检测和图像分类。在这些任务模型需要关注图像的特定区域,以便更好地理解图像的内容。通过使用注意力机制模型可以动态地选择性地处理不同区域的信息,从而提高性能。 总而言之,注意力机制是深度学习的一项重要技术,它可以帮助模型在处理复杂任务时更好地关注输入数据的重要部分。通过使用注意力机制模型能够更好地处理序列数据和图像数据,并提高模型的表现力和性能。 ### 回答3: 注意力机制是深度学习的一种重要机制,其目的是让模型能够在进行学习和推理时,自动地将注意力集在相关的信息上。它实际上是一种选择性注意的过程,类似于人类在处理信息时所表现出的关注特定内容的能力。 深度学习模型注意力机制可以分为两种类型:软注意力和硬注意力。软注意力是通过对输入数据的加权平均来确定每个输入的重要性,进而进行适当的加权处理。而硬注意力则是从输入选择一个最重要的部分,并将其作为模型的关注点。 注意力机制的核心是注意力权重的计算。常见的计算方式包括计算输入特征与模型参数之间的相似度,从而决定每个输入的权重。例如,可以使用内积、加权内积、基于神经网络的注意力计算等方法。 在进行训练时,注意力机制能够使模型更加关注输入的重要信息,提高模型的表现力和泛化能力。而在推理时,注意力机制可以帮助模型分析和理解输入数据的局部特征,从而更好地完成任务。 近年来,注意力机制在自然语言处理、计算机视觉等领域取得了显著成果。例如,在机器翻译任务,通过引入注意力机制模型能够自动地在源语言句子和目标语言句子之间建立对应关系,提高翻译质量。在图像分类任务,通过注意力机制可以确定图像的重要区域,从而提高分类的准确性。 综上所述,注意力机制是深度学习一种重要的机制,它能够帮助模型自动地选择和关注输入的重要信息,提高模型的表现力和泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值