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

一种基于顺序依赖增强自注意力网络的序列推荐方法

2023-02-06 20:18:21 来源:中国专利 TAG:


1.本发明涉及推荐领域,具体涉及一种基于顺序依赖增强自注意力网络的序列推荐方法。


背景技术:

2.序列推荐是推荐系统领域的一个重要研究课题。传统的推荐系统以一种静态的方式建模用户和项目的交互,而我们知道用户的交互行为往往是连续的、用户的偏好和项目的流行度等往往是随时间不断变化的。此时,序列推荐就应运而生,它将用户和项目的交互视为动态交互的序列,通过考虑用户交互项的前后联系来挖掘出用户的偏好。
3.传统的序列推荐算法主要利用基于马尔科夫链的方法(mc),它假设用户下一个要交互的项目依赖于最近交互的几个项目;由于这个假设,使得基于mc的方法无法捕获到item间的高阶依赖关系。近年来,随着深度学习的发展,递归神经网络(rnn)和卷积神经网络(cnn)等深度学习模型被广泛的应用到序列推荐当中;rnn通过递归结构捕获到项目间的顺序依赖关系,但存在着效率低、难以保存长期依赖等问题;而cnn模型则通过将输入序列进行卷积运算来捕获到序列的局部特征,但是由于其本身的限制使得他只能捕获到局部信息而无法捕获到全局信息。后来,随着transformer模型在各个领域的大火,开始有研究人员将自注意力方法引入到序列推荐当中,它可以很好的捕获到序列的全局依赖关系并且能使模型更关注对未来交互项影响更大的以前的交互项。但是用户行为往往是有前后联系的,并且用户的偏好往往是随着时间不断变化的。例如:用户在购买演唱会门票后紧接着会购买前往演唱会地点的飞机票再之后会订购酒店来居住;用户以前喜欢喝碳酸类饮料,现在喜欢喝果汁类碳酸类饮料。以往的方法无法很好的应用于这些场景,导致推荐的准确率不高。


技术实现要素:

4.本发明为了克服现有技术存在的不足之处,提出一种基于顺序依赖增强自注意力网络的序列推荐方法,以期能够更好的捕获用户交互序列的顺序依赖关系和用户偏好变化信息,从而能提高推荐给用户物品的准确率。
5.本发明为达到上述发明目的,采用如下技术方案:
6.本发明一种基于顺序依赖增强自注意力网络的序列推荐方法的特点是按如下步骤进行:
7.步骤一:获取用户集u,并获取所述用户集u中任意一个用户u的交互序列步骤一:获取用户集u,并获取所述用户集u中任意一个用户u的交互序列其中,表示用户u的第t个交互项;|su|表示用户u的交互序列的长度;从而由所有用户u的交互序列构成项目集合i;
8.步骤二:构建基于顺序依赖增强自注意力网络,包括:嵌入层、位置信息层、gru模块、自注意力模块、前馈层和预测层;
9.步骤2.1、所述嵌入层利用项目向量矩阵将用户u的交互序列su转换为嵌
入向量矩阵且其中,表示的嵌入向量表示;|i|表示项目集合i的长度;d表示项目嵌入向量的维度;
10.步骤2.2、所述位置信息层利用位置矩阵对嵌入向量矩阵eu进行相加处理,得到位置嵌入后的向量矩阵xu,且其中,表示与位置矩阵p中第t个位置向量相加后的向量表示;
11.步骤2.3:所述gru模块利用式(1)-式(4)对向量矩阵xu进行处理,得到顺序及偏好变化信息矩阵
[0012][0013][0014][0015][0016]
式(1)-式(4)中,wr和ur表示重置门的权重矩阵,表示第t-1个位置的状态信息,表示重置门的第t个位置中间向量,σ表示sigmoid激活函数;

表示元素乘,表示更新门的第t个位置中间向量;wz和uz表示更新门的权重矩阵,tanh表示是双曲正切函数,表示第t个位置的候选状态信息;wh和uh表示候选状态的待学习的权重矩阵;表示第t个位置捕获到的顺序依赖信息和用户偏好变化信息;
[0017]
步骤2.4:所述自注意力模块利用式(5)-式(7)对向量矩阵xu和顺序依赖信息和用户偏好变化信息矩阵hu进行处理,得到自注意力信息矩阵
[0018][0019][0020][0021]
式(5)中,是自注意力的查询向量的两个权重矩阵,是自注意力的值向量的两个权重矩阵;e
ti
表示t个位置的交互项与第i个位置的交互项的注意力得分;第a
ti
是第t个位置的交互项与第i个位置的交互项的注意力得分的权重值;和分别是第i个位置嵌入向量和第i个位置的顺序及偏好变化信息向量的权重矩阵,表示第t个位置的输出自注意力信息向量;
[0022]
步骤2.5、所述前馈层利用式(8)对进行处理,得到前馈信息矩阵ffn(yi):
[0023]
ffn(yi)=relu(w1yi b1)w2 b2ꢀꢀꢀꢀ
(8)
[0024]
式(8)中,w1和w2是权重矩阵;b1和b2是偏置;relu是激活函数;
[0025]
步骤2.6、利用式(9)对进行归一化操作后,得到归一化后的归一化信息矩阵
再输入所述前馈层中进行处理,得到的前馈信息矩阵并与进行残差连接后,得到第t个位置中间序列表示
[0026][0027]
式(9)中,和表示的均值和方差;α和β是比例因子和偏置;∈表示常数;
[0028]
步骤2.7、将第t个位置中间序列表示输入所述自注意力模块中,并与顺序依赖信息和用户偏好变化信息矩阵hu一起进行处理,得到层叠自注意力信息矩阵yu再经过步骤2.5和步骤2.6的处理,从而得到第t个位置最终序列表示
[0029]
步骤2.8、所述预测层利用式(10)对第t个位置最终序列表示进行计算,得到用户u的第t个位置交互项经过顺序依赖自注意力网络后的输出对第i个项目的得分r
i,t

[0030][0031]
式(10)中,表示项目向量矩阵m中第i个项目的嵌入向量表示;r
i,t
表示第i个项目的相关性得分;t表示转置;
[0032]
步骤2.9、利用式(11)构建二元交叉熵的目标函数loss:
[0033][0034]
式(11)中,s表示所有用户的交互序列集合;oz表示预期的第z个位置对应的正样本号,正样本表示用户u预测交互的下一个项目;o
′z表示第z个位置对应的负样本号,负样本表示没有在用户u交互序列中出现的项目;表示第z个位置正样本号oz对应的正样本的得分;表示第z个位置负样本号o
′z对应的负样本的得分。
[0035]
步骤2.10、利用反向传播和梯度下降法对所述基于顺序依赖增强自注意力网络进行训练,并使得所述目标函数loss最小以更新网络参数,当迭代次数达到最大迭代次数时停止训练,从而得到最优推荐模型用于对所输入的交互序列输出候选项的得分,并从中选取得分最大的前top个项目进行推荐。
[0036]
本发明一种电子设备,包括存储器以及处理器,其特点在于,所述存储器用于存储支持处理器执行所述序列推荐方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
[0037]
本发明一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特点在于,所述计算机程序被处理器运行时执行所述序列推荐方法的步骤。
[0038]
与现有技术相比,本发明的有益效果在于:
[0039]
1.本发明在考虑了项目的绝对位置信息基础上进一步的利用基于门控机制的循环神经网络gru捕获到用户交互序列的顺序依赖信息以及用户偏好变化的信息,以此来更好的增强模型捕获多方面信息的能力,从而在给用户进行推荐时,能更好的发现用户偏好的变化,以此给用户更好的推荐所需项目。
[0040]
2.本发明采用了自注意力方法和gru方法相结合的方式,通过在自注意力方法的
基础上将gru捕获到的多方面信息融入进去,同时注意力机制也使得模型能更加的关注对未来交互项有用的信息,从而能过滤掉噪声项目的干扰,更好的给用户提出有用的建议。
[0041]
3.本发明采用了前馈层,通过两个线性变化和激活函数来有效的弥补模型在捕获非线性特征的不足,提高了模型的容错能力,从而使得本方法的泛化能力加强,能够适应多种应用场景。
[0042]
4.本发明通过叠加多次自注意力网络能更加充分的捕获到交互序列的各种依赖信息,同时采用了层归一化、残差连接和dropout正则化技术来防止模型在训练过程中出现过拟合,以此提升模型的训练效果,从而提高了推荐给用户的准确率。
附图说明
[0043]
图1为本发明提出的基于顺序依赖增强自注意力网络的序列推荐方法的模型图。
具体实施方式
[0044]
本实施例中,一种基于顺序依赖增强自注意力网络的序列推荐方法,主要利用基于门控机制的循环神经网络gru和自注意力网络提取到交互序列中的多种信息和依赖关系。如图1所示,模型的输入是用户的历史交互序列,将序列输入经过嵌入层获取到每一个交互项的嵌入向量表示;然后将每个交互项与其对应位置的嵌入向量相加;将其相加结果输入到gru当中提取到顺序依赖信息和用户偏好变化信息;再将gru输出和原始信息利用自注意力来提取交互序列多方面的信息;之后经过前馈层来提高模型捕获非线性的能力;通过叠加多层自注意力和前馈层来提高模型捕获多种信息的能力;并且通过层归一化、残差连接来防止过拟合;最后我们通过我们提取到的交互序列的表达来计算候选项的得分,从而将top个得分高的项目推荐给用户。具体来说,是按如下步骤进行的:
[0045]
步骤一:获取用户集u,并获取用户集u中任意一个用户u的交互序列步骤一:获取用户集u,并获取用户集u中任意一个用户u的交互序列按照时间戳对用户u的交互序列进行排序;其中,表示用户u的第t个交互项;|su|表示用户u的交互序列的长度;从而由所有用户y的交互序列构成项目集合i;不考虑少于5个交互项的用户以及少于5个交互的项目。
[0046]
步骤二:构建基于顺序依赖增强自注意力网络如图1所示,包括:嵌入层、位置信息层、gru模块、自注意力模块、前馈层和预测层;
[0047]
步骤2.1、嵌入层利用项目向量矩阵将用户y的交互序列su转换为嵌入向量矩阵且其中,表示的嵌入向量表示;|i|表示项目集合i的长度;d表示项目嵌入向量的维度;
[0048]
步骤2.2、位置信息层利用位置矩阵对嵌入向量矩阵eu进行叠加处理,得到位置嵌入后的向量矩阵xu,且位置信息能够显示的表示出用户u交互序列中每一项的前后关系。其中,表示与位置矩阵p中第t个位置向量相加后的向量表示。
[0049]
步骤2.3:gru模块利用式(1)-式(4)对位置嵌入后的向量矩阵xu进行处理,得到顺序依赖信息和用户偏好变化信息矩阵
[0050][0051][0052][0053][0054]
式(1)-式(4)中,wr和ur表示重置门的权重矩阵,表示第t-1个位置的状态信息,表示重置门的第t个位置中间向量,σ表示sigmoid激活函数;

表示元素乘,表示更新门的第t个位置中间向量;wz和uz表示更新门的权重矩阵,tanh表示是双曲正切函数,表示第t个位置的候选状态信息;wh和uh表示候选状态的待学习的权重矩阵;表示第t个位置捕获到的顺序依赖信息和用户偏好变化信息;gru模块能很好的捕捉到用户交互项间的顺序依赖关系以及当用户偏好变化时能够即时的感知到进而更好的做出推荐。
[0055]
步骤2.4:所述自注意力模块利用式(5)-式(7)对位置嵌入后的向量矩阵xu和顺序依赖信息和用户偏好变化信息矩阵hu进行处理,得到自注意力信息矩阵
[0056][0057][0058][0059]
式(5)中,是自注意力的查询向量权重矩阵,是自注意力的值向量的权重矩阵;e
ti
表示t个位置的交互项与第i个位置的交互项的注意力得分;第a
ti
是第t个位置的交互项与第i个位置的交互项的注意力得分的权重值;和分别是第i个位置嵌入向量和第i个位置的顺序依赖信息和用户偏好变化信息向量的权重矩阵,表示第t个位置的输出自注意力信息向量;主要是用来防止输入式(6)中的e
ij
值过大,导致偏导数趋近于0。在用户的交互序列当中存在着一些与用户未来要交互的项目无关的项目,使用注意力机制能够很好的捕获到对于未来我们要交互的项目影响较大的交互项的信息,减少这种噪声数据的干扰。
[0060]
步骤2.5、所述前馈层利用式(8)对进行处理,得到前馈信息矩阵ffn(yi):
[0061]
ffn(yi)=relu(w1yi b1)w2 b2ꢀꢀꢀꢀ
(8)
[0062]
式(8)中,w1和w2是权重矩阵;b1和b2是偏置;relu是激活函数;前馈层由线性变化函数和激活函数组成,能够增加模型的非线性特征,提高模型的容错能力和泛化能力。
[0063]
步骤2.6、利用式(9)对进行归一化操作后,得到归一化后的归一化信息矩阵再输入前馈层中进行处理,得到前馈信息矩阵并与进行残差连接后,得到第t
个位置中间序列表示矩阵
[0064][0065]
式(9)中,和表示的均值和方差;α和β是比例因子和偏置;∈=1e-8
表示常数。采用层归一化和残差连接可以有效的减少在模型训练的过程当中出现的过拟合问题以及随着网络深度加深导致的信息丢失问题。
[0066]
步骤2.7、将第t个位置中间序列表示输入自注意力模块中,并与顺序依赖信息和用户偏好变化信息矩阵hu一起进行处理,得到层叠自注意力信息矩阵yu再经过步骤2.5和步骤2.6的处理,从而得到第t个位置最终序列表示进行两次处理能够使模型更好的捕获到用户交互序列的多方面的信息,提高模型的推荐准确率。
[0067]
步骤2.8、所述预测层利用式(10)对第t个位置最终序列表示进行计算,得到用户u的第t个位置交互项经过顺序依赖自注意力网络后的输出对第i个项目的得分r
i,t

[0068][0069]
式(10)中,表示项目向量矩阵m中第i个项目的嵌入向量表示;r
i,t
表示第i个item的相关性得分;t表示转置;
[0070]
步骤2.9、利用式(11)构建二元交叉熵的目标函数loss:
[0071][0072]
式(11)中,s表示所有用户的交互序列集合;oz表示预期的第z个位置对应的正样本号,正样本表示用户u预测要交互的下一个项目;o
′z表示第z个位置对应的负样本号,负样本表示没有在用户u交互序列中出现的项目;表示第z个位置正样本号oz对应的正样本的得分;表示第z个位置负样本号o
′z对应的负样本的得分。本实施例中,将数据集分为训练集、验证集和测试集,用户最新交互项作为测试集,第二新的交互项作为验证集,其余用作训练集。
[0073]
步骤2.10、利用反向传播和梯度下降法对基于顺序依赖增强自注意力网络进行训练,梯度下降法采用学习率0.001,指数衰减率β1=0.9,β2=0.98,采用adam优化算法;使得目标函数loss最小以更新网络参数,当迭代次数达到最大迭代次数为600时停止训练,从而得到最优推荐模型用于对所输入的交互序列输出候选项的得分,并从中选取得分最大的前top个项目进行推荐。
[0074]
本实施例中,一种电子设备,包括存储器以及处理器,该存储器用于存储支持处理器执行上述序列推荐方法的程序,该处理器被配置为用于执行该存储器中存储的程序。
[0075]
本实施例中,一种计算机可读存储介质,是在计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述序列推荐方法的步骤。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献