一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于注意力的多兴趣序列推荐方法及系统与流程

2022-03-30 10:33:00 来源:中国专利 TAG:


1.本发明涉及序列推荐推荐技术领域,具体涉及一种基于的自注意力机制的多兴趣序列推荐系统,相关细节技术还包括兴趣融合。


背景技术:

2.互联网时代,随着多样化的输出平台和普通人群的使用频率的不断增长,互联网生成的多样化信息内容正在急剧增长,这一现象导致了信息量过载(information overload)的问题,该问题成为了用户获取所需内容、满足自身消费需求的重大阻碍。为解决这一问题,推荐系统应运而生,并成为各大平台中重要的技术工具。通常,这些系统的主要任务是从海量内容中挖掘出用户可能感兴趣的内容,进而提升用户体验,增加使用及消费的可能性。然而,基于传统思路的推荐也存在一些问题,如准确度不高、排序不好、无法适用于频繁迭代的新场景等问题。因此有人提出使用序列建模方法,对用户交互序列中的项目及其关系进行挖掘。序列模型对历史行为中的的有效交互进行注意力分数计算,并采取一些手段来进行序列整体表示的生成,将该序列整体表示与物品编码进行相似度计算,从而完成推荐列表的生成。
3.现有序列推荐系统存在一些不足。第一点,这些方法的评估目标往往会趋向于交互概率最大的项目,因此生成的推荐结果可能欠缺多样性、丰富度较低。这些方法通常生成一个相对较大的编码,因为对应的项目编码的维度必须很大,才能表达对应用户的多种兴趣偏好;同时类似sasrec的基于自注意力的方法,如果在过去的互动中,近期有大量相似的项目占主导地位,此类模型倾向于预测与近期交互具有较高相似度的项目,进而忽略那些存在于早期交互序列中的项目,进而影响相似度的计算,将次优结果推荐给用户。
4.因此,提出了一个名为muir(learning and fusing multiple user interest representations for sequential recommendation)的序列推荐模型,它可以从不同层面捕捉用户的不同兴趣,并结合向量表示来生成对应的综合兴趣编码,依据对应的兴趣编码来分别召回项目;为了有效地学习用户的局部级别(local-level)和全局级别(global-level)的兴趣表示,应用了两个结合辅助信息和上下文信息的自注意力兴趣提取模块,来学习交互历史中不同项目的权重表示;设计了一个基于多层感知机的融合模块,它能够生成一个权重分数,通过这个权重分数来将两种模块学习到的结果进行加权拼接,这种融合思路是相对较为新颖的;在三个数据集上,设计了对应的实验来实验来评估muir模型,对应的结果表明,与一些近年来的在实际生产环境中取得应用的模型相比,提出的方法显优于这些方法,并且降低了运行的开销,提高了效率。


技术实现要素:

5.在本发明中,提出了一个模型muir,该模型使用多个向量表示用户的不同层面的兴趣,并解决用户兴趣多样化的问题。每个向量都可以用来独立地检索项目。采用基于自注意力的方法学习低级层面(local-level)的表征,并利用上下文信息和辅助信息学习另一
更高层级(global-level)的表征。因此,在不增加太多额外成本的情况下,显著提高了总体综合训练效率。添加了一个gate模块,这个模块能够计算不同兴趣向量的召回数量。
6.本发明的主要技术特征总结如下:
7.·
提出了一个名为muir的新模型,该模型捕获用户的多样化兴趣向量,并将这些向量进行融合,生成召回的依据。
8.·
为了有效地学习用户的不同层级兴趣表示,设计了两个基于自注意力的模块,并尝试在学习过程中非侵入地结合辅助信息(如评分)和会话上下文信息,完成了对传统自注意力模型的性能超越。
9.·
设计了一个基于mlp的融合模块,通过考虑最近交互的项来平衡本地级(local-level)和全局级(global-level)表示。
10.·
在研究文献中广泛采用的三个数据集的基础上进行了实验。实验结果表明,本方法明显优于基线方法。
11.在上述模型的实现过程中,具体步骤为:
12.(1)从用户的行为日志,或相关数据集中提取用户所产生的交互记录,并获取其在这些交互记录上产生的具体行为类型,这些交互记录和对应的行为类型将作为训练数据供后续步骤(2)至步骤(6)使用;
13.(2)在上一步(1)中得到的数据的基础上,依照序列推荐领域中广泛的通行做法,将这些数据划分为训练集、验证集和测试集;在训练集中的每一条交互记录上,采取推荐系统中广泛使用的切分策略,进行数据扩展,例如将一条交互记录“1、2、3、4”划分为“1、2”,“1、2、3”,“1、2、3、4”,这里的数字编号代表一条交互内容,可以是浏览过的商品或新闻等;通过步骤(1)及步骤(2)分别完成数据的获取与扩展,以供后续步骤(3)至步骤(6)使用;
14.(3)对于每一条划分的新纪录,尝试获取对应记录的local-level兴趣表示。具体而言,使用了使用基于改进版本的自注意力分数计算 前馈网络 兴趣提取模块的网络结构,来获取用户的多重local-level兴趣表示。在注意力分数计算的过程中,我们提出了使用不含softmax层的自注意力模块来进行相关计算,如公式组(4)的第一个子公式所示,该方法能够提高精度、避免softmax归一化操作所带来的损失以及额外性能开销,这在以往的大部分基于自注意力的序列推荐中没有被尝试过;在前馈网络中,我们使用了变宽的前馈网络来更好的模拟特征之间的交互,该变宽网络的中间层宽度为输入和输出层的2倍,输入和输出层与原始项目编码一致,如公式组(4)的第二个子公式所示,以往的基于自注意力的序列推荐模型没有进行相关尝试;兴趣提取模块中,我们使用了常规的方法,如公式(5)所示,该部分没有进行修改。通过这些计算,最终获得注意力分数矩阵,并生成local-level的兴趣表示的过程如公式(2)和公式(3)所示。通过这种方式获得的local-level表示,具有精度高(即召回结果的准确率高)、运行快(减少了了softmax非线性操作中的对数运算)的特点,与以往的利用自注意力的模型有一些较为明显的不同。本步骤中获取到的兴趣表示将与步骤(4)中获取的兴趣表示一并参与到步骤(5)中的融合。
15.(4)与步骤(3)并行执行,对于每一条划分的新纪录,尝试或许对应的global-level兴趣表示。具体来说,使用结合全局上下文信息和辅助信息的全局自注意力 前馈网络 兴趣提取模块的网络结构,来获取用户的多重global-level兴趣表示;其中,全局上下文信息的获取方式如公式组(6)的第一个子公式所示,全局上下文信息的使用方式如公式
组(7)的第一个公式所示;辅助信息的使用方式如公式组(7)的第二个子公式所示;通过这三个公式可以把交互序列的整体信息和每一个物品的辅助信息传递给模型,传统模型中很少采用类似的结构进行建模;全局自注意力指在进行自注意力查询时,将传统的key向量(键向量)替换为全局上下文信息,这与传统方法有一些较大的区别。前馈网络与步骤(3)中的前馈网络结构基本一致,如公式组(6)的第二个子公式所示。兴趣提取模块如公式组(7)的第二个子公式所示。本步骤中获取到的兴趣表示将与步骤(3)中获取的兴趣表示一并参与到步骤(5)中的融合。
16.(5)针对步骤(3)和(4)中获得的兴趣两种表示,进行兴趣融合,分别计算出这两种兴趣的权重。设计了一个基于mlp的门控模块来计算local-level和global-level表示的权重,并根据此权重来进行融合,得到多重兴趣表示向量,如公式(8)所示,在建模时使用了求均值的操作,并将多兴趣表示与权重进行拼接融合,这与以往的融合模块有较大区别;这种权重在在线服务时,会决定每个向量分别召回多少个项目,在训练时会成为选择哪一个向量进行反向传播的依据。由于计算权重时仅仅考虑目标项目(在训练时目标项目已知)或交互序列中的最后一个项目(召回阶段通常有数以万技的目标项目,计算成本大,因而选择用交互序列中的最后一个项目代替),因而还能降低计算代价,使其适用于召回阶段。
17.(6)在模型的训练阶段,针对步骤(5)融合后的多重向量中的某一项进行反向传播;在模型的测试或在线服务阶段,将用户完整的交互序列作为输入,参照步骤(2)至步骤(5)中的四个步骤计算出local-level和global-level的多重兴趣表示向量,并根据融合模块的融合分数进行拼接融合,利用向量检索(相似度计算)工具,针对多重向量中的每一个向量都召回一定数量的物品,从而得到最终的推荐列表。
18.本方法提出利用基于自注意力机制的多用户兴趣提取方法进行序列推荐。具体而言,迁移了在序列推荐以及其他序列任务中被广泛使用的自注意力机制来学习不同层级表征,并针对本模型中任务的特殊性,将整体会话上下文信息和辅助信息纳入考量。这种修改版本的模型结构与近期的一些softmax-free模型有异曲同工之妙,展示了相关模型的强大迁移能力。
19.目前一些经典的序列推荐方法,需要在生成推荐列表时,使用一个向量来代表整个交互序列,或是将交互序列中的每一个有自注意力机制生成的新项目表示都用作召回。首先通过一个实例展示序列推荐系统中的多兴趣问题。从附图2中可以看到用户的模拟交互行为(可以假设为电商网站的浏览),在他最近的浏览历史中点击了与书籍、电脑游戏、以及电子硬件产品相关的项目,这符合正常用户在相关场景下的行为,因此,推荐列表至少应该包含这些内容,也就是说的模型必须能够从交互历史中提取用户兴趣。
20.在进行兴趣融合时,现有方法的一些操作会带来信息丢失等问题,例如向量加权和,有可能导致最终的兴趣表示的偏移。同时请注意,类似方法往往过于关注目标商品,或者仅仅通过线性变化来产生一个权重分数来融合不同的兴趣,忽略了用户兴趣行为的演变和交互。其他的通过加权和来进行融合的方法,通常需要将目标项目进行复杂的计算,这不适用于召回阶段,因为召回阶段一般是进行相似度检索,而不进行其他复杂计算。该融合方案不会导致信息的损害,同时也不需要在使用阶段将目标项目纳入考量,因而能够解决前述的两个问题。
附图说明
21.图1为本发明提供的一种基于注意力的多兴趣序列推荐方法及系统的模型结构示意图。
22.图2为序列推荐以及多兴趣问题的示意图。
23.图3为本发明提供的推荐方法的流程图。
具体实施方式
24.本发明涉及一种基于注意力的多兴趣序列推荐方法。为了更清楚的展示本发明中的技术方案,下面结合附图1对本发明中的进行进一步的详细说明。
25.如图3所示,该推荐方法包括以下步骤:
26.1)编码。通过相关框架提供的操作后,得到一个用户交互序列所对应的项目编码矩阵矩阵中的右上角标代表用户u,右下角的角标代表交互序列中的第1、2、...、l个项目。通过与位置信息融合得到
[0027][0028]
其中,l表示交互序列的长度,d表示隐含编码的维度,pi为可学习的位置编码。
[0029]
2)local-level表示:为提升用户兴趣抽取能力,的第一个基于自注意力的模块可以被认为由两部分组成,即自注意力层(selfattention layer)以及紧随其后的兴趣抽取层(interest extract layer):
[0030]
a=law(xu)=iel(sal(xu))
ꢀꢀ
(2)
[0031]
在上述公式中,law(
·
)代表整体的local-level提取模块,sal(
·
)和iel(
·
)分别代表自注意力层和兴趣提取层,其产出a∈r
(k-1)
×
l
可以被认为是一个权重矩阵,其中l代表序列长度,k代表兴趣个数,在这里设置了(k-1)个local-level兴趣,实际使用过程中可以调节;
[0032]
有了权重矩阵a,就可以在xu的基础上,计算出用户的local-level兴趣表示:
[0033][0034]
其中vu∈r
(k-1)
×d,d表示编码的维度,需要注意的是,项目的编码维度也需要保持为d,这样依据向量相似度进行直接召回。
[0035]
接下来介绍两个模块sal(
·
)和iel(
·
)的详细设计。其中第一个模块sal(
·
)可以被认为是一个修改版本的自注意力模块,其具体细节如下:
[0036][0037]
ffl(x)=(xw1 b1)w2 b2,
[0038]
为便于描述,将这个自注意力 前馈的网络结构sal(
·
)分为了两部分。
[0039]
其中前馈部分被显式定义为ffl(
·
)模块,该模块的输入为自注意力层的计算结果,其中间参数为w1∈rd×
2d
,w2∈r
2d
×d一个变宽的网络结构,原始的transformer中(也就是自注意力机制的真正来源)也是一个变宽的网络结构,但是其中间层参数为首位两层的4倍,这里仅仅尝试了两倍的设置;b1,b2为对应的偏置项,

为维度为l的下三角矩阵,t代表
转置操作。通过这个模块可以得到其作为中间结果,会被送到后续的iel()
·
模块中。
[0040]
在自注意力层(并没有显示定义,实际上是公式(4)第一行中ffl(
·
)函数中括号内的部分)中,也进行了相应的修改,其中的参数为q=xuwq,k=xuwk,v=xuwv,三个矩阵的维度都是d
×
d,最显著的修改就是去掉了softmax层,请注意这里去掉softmax并不会影响模型的非线性能力,因为在后续的另一个模块中添加了对应的非线性函数。
[0041]
接下来介绍另一个模块iel(
·
)。前一个公式(3)中计算了中间结果这个中间结果将作为下面模块的输入
[0042][0043]
可以看到该模块由两个激活函数组成,这两个函数的取值空间略有不同,由于注意力分数的特殊性,在外层选择了softmax(
·
)函数,因为这样可以使注意力分数之和为1。这个模块能够得到前面提到的权重矩阵a∈r
(k-1)
×
l
。具体而言,w3∈r
(k-1)
×w,w4∈rd×w,w为中间过程的超参数,可以自行调整设置。tanh(
·
)为深度学习中另一种常见的激活函数。
[0044]
3)global-level表示:为提升用户兴趣抽取中的抗干扰能力,并增强模型的全局感知能力,提出了类似的计算模块gaw(
·
)。gaw(
·
)的主要目的是计算一个a∈r
l
矩阵,在这里将global-level兴趣的数量设置为了1,实际使用中可以进一步调整。类似的,需要先计算出一个中间结果:
[0045][0046][0047]
中间结果的,其他参数中,query部分使用了不同的计算方法,即:q

=xuwq′
,k

=s
′uwk′
,v

=xuwv′
,需要注意的是的三个可学习矩阵wq′
,wk′
,wv′
∈rd×d维度相同,均为d
×
d,其中为su∈rd序列上下文的平均值,s
′u∈r
l
×d为其广播操作的结果。
[0048]
当对整个行为序列建模时,辅助信息(如评分、浏览、购买等)也可以反映用户的偏好。例如,用户购买的产品比浏览的产品更能反映用户的兴趣。因此,尝试了非侵入式的建模:
[0049][0050]
a=gaw(x,fu)
[0051]
=softmax(w
5 tanh((x fu)w6)
τ
),
[0052][0053]
具体而言,在公式组(7)中,计算了a∈r
l
并以此为依据得到最终表示其中w
x
,ws∈rd×d,w
xs
∈r
2d
×d,w5∈r1×w,w6∈rd×w,[
·
,
·
]表示连接操作,最终得到的global-level用户兴趣。
[0054]
x为中间结果,在计算过程中多次使用了全局信息,相当于把全局信息s
′u纳入了模型中。在利用辅助信息时,尝试使用了侵入式的方法,但是效果并不好。在这里仅仅假设
有一个向量,来表示global-level的兴趣,因此w等于1。
[0055]
4)融合模块。特别地,从项目嵌入矩阵m中获得了目标项目i和su中最后t 1个项目的表示,即有了这些输入,融合模块可以定义如下:
[0056][0057]
其中wg∈r
2d
×1,bg为对应的偏置项,在测试或在线服务时,将替换为交互序列的最后一个物品。
[0058]
5)训练与使用。
[0059]
在训练过程中,选择某一个特定的向量最为最终结果,并依据下列公式进行选择,之后进行反向传播:
[0060][0061]
在使用过程中,可以融合不同的策略,例如针对多样性的各种后处理策略等。为简便起见,每一个兴趣向量都召回固定数量的项目,如果有重复则不加入,知道满足要求为止。
[0062]
上述实施方式仅为本发明的一个优选实施方式,不能以此来限定本发明的保护范围,本领域的技术人员在本发明的基础上所做出的任何非实质性的变化和替换均属于本发明所要求保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献