推荐系统论文阅读总结:KDD 2023 Adaptive Disentangled Transformer for SequentialRecommendation(自适应解纠缠)

论文:http://mn.cs.tsinghua.edu.cn/xinwang/PDF/papers/2023_Adaptive%20Disentangled%20Transformer%20for%20Sequential%20Recommendation.pdf

代码: https://github.com/defineZYP/ADT

1 摘要

序列推荐旨在通过对序列行为建模来挖掘时间敏感的用户兴趣。Transformer作为一种处理顺序输入数据的有效架构,在捕捉推荐的顺序关系方面显示出了它的优越性。然而,现有的Transformer架构缺乏针对逐层解纠缠的显式正则化,这未能利用建议中的解纠缠表示,并导致次优性能解纠缠指的是从数据中分离出各个因素或特征,使得每个因素或特征在模型中能够独立地被学习和表示)。本文研究了Transformer结构的逐层解纠缠问题,提出了自适应解纠缠Transformer(ADT)框架,该框架能够自适应地确定不同层内注意力头的最优解纠缠程度。具体地说,通过经由注意力头部上的互信息估计来要求独立性约束,并采用辅助目标来防止信息崩溃成无用的噪声,从而鼓励解纠缠。同时还提出了一种渐进式调度器,通过进化过程来自适应地调整控制解纠缠程度的权重。

解纠缠:在序列推荐中使用解纠缠的意义在于对用户行为和物品特征进行更准确和细粒度的建模。传统的序列推荐方法通常将用户的历史行为序列作为一个整体进行建模,难以区分用户兴趣的不同维度和物品特征的不同属性。这导致模型无法准确捕捉用户的多样兴趣,难以解释为什么某个物品被推荐给了用户等。

通过使用解纠缠的方法,在序列推荐中的优势:

  1. 更准确的兴趣建模:解纠缠技术可以将用户的行为序列分解为不同的因素或主题。例如,将用户历史行为分解为用户的长期兴趣、短期兴趣、主题兴趣等。这样可以更准确地捕捉用户的多样兴趣,并提供更精确的推荐。

  2. 更好的特征表示:解纠缠可以将物品的特征分解为独立的因素或属性。例如,将电影的特征分解为类型、导演、演员等因素。这样可以更好地表示物品的不同属性,从而提高推荐的准确性。

  3. 可解释性:通过解纠缠,模型可以提供更可解释的推荐结果。例如,可以解释为什么某个物品被推荐给用户,基于用户的某个特定兴趣或物品的某个属性。这样可以增加用户对推荐结果的理解和信任。

现有的Transformer架构缺乏针对逐层解纠缠的显式正则化,这未能利用建议中的解纠缠表示,并导致次优性能:正则化是一种用于约束模型的学习过程的技术,可以帮助模型更好地学习到期望的特征表示。由于缺乏针对逐层解纠缠的显式正则化,现有的Transformer架构未能充分利用解纠缠表示的优势,可能导致次优的推荐性能。


2 存在的问题

基于给定的推荐数据集自适应地发现这种解开的Transformer架构在文献中很大程度上未被探索

(1)Transformer架构具有不同数量的层,这些层具有不同数量的注意力头。因此,在给定Transformer架构的情况下,确定主干中编码器和解码器层的哪一部分应该被解开,以及如何鼓励注意力头的解开以捕捉用户兴趣的各个方面是一个挑战。。

(2)不同的数据集可能指示不同的推荐任务,这些任务对用户兴趣的各个方面产生影响,并且不同层之间的解纠缠能力不同,这需要适当的Transformer架构来自适应地调整给定推荐任务的解纠缠程度。因此,另一个挑战是自适应地发现不同层中注意力头部的最佳解纠缠程度,以在各种数据集上实现最佳推荐性能。


3 贡献

(1):提出了自适应解纠缠Transformer(ADT)框架:该框架同时解纠缠给定Transformer架构的不同层内的注意力头部,以及自适应地确定不同层中的注意力头部的最优解纠缠程度,以便实现最佳推荐性能。特别地,为了解开注意头,ADT框架需要通过注意头上的互信息估计的独立性约束,利用具有生成的伪标签的辅助分类目标来鼓励解纠缠。为了进一步防止学习到的解开的信息崩溃成噪声信号,所提出的ADT框架使用另一个具有解码器的辅助目标来重构输入数据。

(2):提出了一种渐进式调度器,它能够通过进化过程自适应地调整辅助权重来控制不同层的解纠缠程度。还设计了一个超网来加速寻找不同辅助目标的最优权重的搜索过程。


 4 方法

4.1 Transformer

为了对序列的位置信息建模,Transformer通常有一个位置嵌入矩阵。为了表示项目属性和时间信息,函数f() 融合项目嵌入和位置嵌入:

 其中z是项目嵌入矩阵,pt是位置编码。对于不同的transformer,函数f()的形式也不同(拼接or相加)是用户与项目的交互序列。多头注意力机制,标准化和前向传播公式如下:

 

在L层编码层之后,得到包含用户的偏好信息的h^{L},使用该信息进行预测的经典方式是使用矩阵分解,然而,对于不同的transformer,预测方法和训练目标是不同的,我们作为所选transformer的原始目标。使用训练整个transformer,直到收敛,这将产生最终的基于transformer的推荐器模型。

在传统的基于变压器的推荐器模型中,嵌入从不同的注意力头那里学习,这些注意力头被期望捕捉用户偏好的不同方面。然而,如果没有明确的规范,它们可能无法解决这些问题。此外,由于之前的工作[10,35,45]表明Transformer的解缠绕特性是层特定的,即只有浅层需要解缠绕表示,而深层需要任务特定表示。此外,需要理清的图层可能会因任务和数据集而异。决定应该在哪个层添加解纠缠正则化以及如何发现最优解纠缠度是另一个具有挑战性的问题。

4.2 自适应解纠缠Transformer

 自适应解纠缠transformer的总体框架如下图所示。为了促进不同层次注意力的分离,提出了两个辅助目标,分别控制分离意图的能力和捕捉用户全面的不同兴趣的能力。为了发现最佳的逐层解纠缠,我们为Transformer设计了自适应训练策略,以基于主干架构和数据集自动调整这两个辅助目标的权重。接下来,分别描述两个辅助目标和适应性训练策略。

4.2.1独立辅助目标

我们期望每个注意力头都能捕捉到用户购买意图的不同潜在因素,同时它们是相互独立的。然而,由于在训练数据中没有关于意图的标签,所以不确切地知道每个头部捕捉了哪种信息。为了解决这个问题,通过最大化潜在因素k和经过编码生成的嵌入之间的互信息来增强它们之间的关系。虽然不知道潜在因素的确切含义,但每个潜在因素都是相互独立的。因此,如果由每个注意力头学习的嵌入可以依赖于潜在因子k,有可能使由不同头部学习的表示独立。

正则化P 估计嵌入的潜在因素概率为:

 其中W是权重矩阵,b为偏执。对于所有的嵌入a,计算潜在因素概率并获得向量p^{l}(A^{l})。因此可以使用分类任务来优化这个正则化器。首先,根据注意力头的位置生成一个辅助标签y,对于由不同头学习的每个表征,即,对于由i-th注意力头输出的表征,给定辅助标签y= i.之后得到一个辅助标签向量Y_{f}^{}l。正则化是互信息的近似,当辅助目标的损失变小时,由不同注意力头学习的嵌入将更加独立。并且l-th层的辅助目标可以表述为:

4.2.2 重建辅助目标

 在解开Transformer不同头部的表示之后,需要确保由不同头学习的解纠缠表示是有意义的,并且包含用户的全面和多样化的兴趣。受VAE[29]的启发,引入了重构目标,该目标通过重构输入数据使表示包含丰富的输入信息。为了实现这一点,使用解码器对学习到的表示进行解码。与编码器相反,解码器是将表示转换为特定序列的过程。因此,它的每一层都对应于编码器的层。我们对编码器hl−1的l层输入和解码器的h−L+1层输出进行重构,以保证l层编码器学习到的表示仍然包含丰富的信息.

解码器由两个关注模块组成,并且与编码器共享嵌入模块,因此解码器第一层的输入为:,其中S为解码器的输入序列。对于S,由于解码器最初用于生成任务,因此其最终输出包含序列S的信息和下一个时间步长的项目信息。考虑到重构的需要,我们希望最后一层解码器输出的信息与第一层编码器获得的信息相似。因此,取出编码器输入序列的第一个T−1时间步长的序列,并将其填充为长度T。

  为了适应所选主干的编码器,解码器注意模块与编码器具有相同的结构。第一个注意力模块计算解码器输入的自注意为:

 第二个注意力模块计算编码器和解码器输出之间的注意为:

 辅助目标可表示为:

这种重构辅助目标使得学习到的解纠缠表示包含了丰富的输入信息,即用户的顺序行为,可以反映用户全面多样的兴趣。另外,这种正则化可以看作是推荐的一种辅助任务,可以提高表示泛化能力,适用于数据往往稀疏的推荐任务。 有了这两个辅助目标,最终的训练目标如下:

其中task和ind控制表示的解耦程度以及我们希望在每层中保留多少输入信息。

由于有2个权重超参数难以确定,我们提出了自适应训练策略,自动获取这些参数的最优值并训练整个Transformer模型。

 4.3 自适应训练策略

引入受神经结构搜索NAS(用于在神经网络模型中搜索最佳的网络结构或架构。NAS的目标是通过搜索网络结构的空间,找到具有较高性能和效率的神经网络模型,而不是手动设计网络结构。传统的神经网络结构设计通常依赖于人工经验和专业知识,需要耗费大量的时间和精力进行试错和调整。而NAS则通过自动搜索算法来探索大量可能的网络结构,从中找到最佳的结构配置,以提高模型的性能和效果。)启发的自适应训练策略,在训练模型的同时获得各层的最佳权值。为了进一步加速收敛,提出了一个共享模型参数的超网,并且在每个训练周期后只更新部分特定权重。对于每个辅助目标,将其权重的搜索空间设置为一个连续的区间,并将其按照数量级划分为M个子区间。对于每个子区间,在超网中共享参数。由于有两个辅助目标,对于超网中的每一层,都有M×M相同的模块,像网格一样覆盖整个搜索空间。

为了更容易搜索具有不同取值范围的辅助权重,使用向量表示采样的候选子网络,其中∈[0,1]表示第1层的辅助权值的权重,l表示层数。对于,在m∈{0,1,2,……,m−1},使用线性插值方法(在给定一对或多对数据点的情况下,通过使用线性函数来估计两个数据点之间的未知值的方法求其真正的辅助权重(相同的操作应用于):

在超网的前向阶段,我们使用双线性插值来找到用于计算的网格模块。我们让表示权重位于i-th区间的重构辅助目标和权重位于j-th区间的独立辅助目标共享的模块输出的隐藏表示。超网隐藏层的表示计算如下: 

我们使用差分进化算法我们将搜索过程分为两个阶段,预热阶段和搜索阶段。这个过程的伪代码见如下:

与一般的进化算法相似,差分进化算法通过交叉和变异对候选对象进行优化。

在预热阶段,对于所有共享参数来学习有关数据的信息,在每个epoch的开始随机生成一个候选参数。在搜索过程结束时,我们得到最优候选c,从而根据方程得到最优辅助权值。之后,我们重新训练或微调模型并评估模型的性能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值