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

一种多任务强化学习推荐方法

2022-04-30 08:36:03 来源:中国专利 TAG:


1.本发明属于强化学习推荐技术领域,涉及一种多任务强化学习推荐方法,特别是一种基 于知识表示学习增强的多任务强化学习推荐。


背景技术:

2.随着互联网的爆炸式增长,对于用户来说信息过载问题越来越严重,用户经常被海量的 信息淹没,对用户而言,在正确的时间快速找到自己想要的或感兴趣的信息变得越来越难。 因此在线服务越来越依赖于自动个性化的向大量用户推荐相关内容,推荐系统成功地被应用 到了在线视频、在线音乐、社交网络、电子商务等各个场景。推荐系统的目的是精选信息空 间,引导用户选择最符合他们需求和兴趣的项目。
3.传统推荐系统存在以下问题:(1)由于用户的搜索、点击、购买行为,是一个连续的序 列决策过程,传统推荐系统通常最大化客户短期回报,无法对这个连续的过程进行建模,因 此无法优化长期累积奖赏;(2)大多传统推荐系统将推荐过程看作是一个静态的过程,一旦 模型训练完成就不会改变,这种做法忽视了用户兴趣的动态变化,现实生活中用户的兴趣不 仅会随着时间变化,还会受到所推荐内容的影响;(3)传统推荐系统缺少有效的探索能力, 系统更倾向于给消费者推送曾经发生过行为的信息单元。
4.为了解决这些问题,有学者开始试着将强化学习(rl)应用到推荐系统中,强化学习将 推荐任务视为rl agent(系统)与用户(环境)之间的顺序交互,是一个动态建模过程,agent 可以根据交互过程中用户的实时反馈不断更新策略,直到系统收敛到最佳策略,生成与用户 动态偏好最匹配的对象。rl框架的设计是为了最大化用户的长期累积回报,因此,agent可 以识别即时报酬较小但长期对报酬贡献较大的对象。
5.但在解决以上问题的同时强化学习推荐产生了很多新的问题待解决:(1)强化学习在推 荐系统中应用建模中的一个重要部分是根据推荐系统中的具体特征有效表示强化学习中推荐 agent的状态(state)以及动作(action),现在绝大部分研究都是利用深度学习从原始状 态中学习高级向量表示,这些研究都是孤立的表示每个用户的状态/动作,对不同产品之间的 潜在联系没有有效的探索与利用。(2)由于强化学习的数据是在模型与环境交互过程中产生 的,所以普遍认为强化学习中的泛化能力弱,模型较容易过拟合到当前的训练环境。(3)由 于深度强化学习需要增量的更新,在使用梯度方法更新网络的时候,大的更新会让网络非常 的不稳定,所以每一个增量都需要非常小,这样新学到的信息就不会被覆盖,这就导致强化 学习训练过程非常缓慢。
6.多任务学习模型在同时做多个任务时,能将其他任务学到的知识,用于目标任务中,从 而提升目标任务效果。深度学习中多任务模型通常分为参数的硬共享以及基于约束的软共享。 其中硬共享所有任务的低层都共享隐藏层,高层保留每个任务的特定的输出层以实现。软共 享中每个任务都有自己的模型和参数,模型与参数之间的距离是正则化的。在神经模型中, 多任务模型通过平均噪声获得更一般的表征,从而使得模型有更好的泛化性;也可以帮助模 型将注意力集中在重要的特征上,因为其它任务将为这些特征的相关性
或不相关性提供额外 的证据;可以通过模型窃听让难以学习特征的任务从容易学习的任务中更好的学习某些特征; 也有助于有联系的任务间通过共享表示互相补充信息,在一定程度上缓解任务中的数据稀疏 问题。


技术实现要素:

7.针对上述现有技术,本发明要解决的技术问题是提供一种基于知识表示学习增强的多任 务强化学习推荐,提高推荐的长期收益以及推荐精确度。
8.为解决上述技术问题,本发明的一种多任务强化学习推荐方法,包括以下步骤:
9.步骤1:采集用户在项目集上的评分信息,根据项目的配置文件构造项目的向量表示;
10.步骤2:采集有用户评分的项目以及与其相关的所有知识图谱信息,构造对应的三元组;
11.步骤3:构造马尔科夫决策过程,并建立q网络;
12.步骤4:建立基于ddqn的推荐模型;
13.步骤5:建立知识表示学习模型;
14.步骤6:将知识表示学习作为ddqn推荐模型的辅助任务进行训练,交替更新ddqn推 荐模型和知识表示学习模型。
15.进一步的,项目的向量表示具体为:结构化数据特征通过全连接层处理得到其低维密集 向量表示,将非结构化数据特征通过卷积神经网络或者循环神经网络处理得到其密集向量表 示,并将低维密集向量和密集向量拼接生成项目的特征向量表示in,总项目集p中所有项目 的特征向量组成特征矩阵矩阵维度为ni×
d,其中ni表示项目数。
16.进一步的,构造对应的三元组具体为:构造对应的三元组(entity
head
,relation,entity
tail
), e=entity
head
∪entity
tail
,e表示所有实体,通过这样的三元组来表示实体与实体之间的联系, 并随机初始化实体向量e以及relation向量r,其中e向量维度为ne×
d,relation向量维度为 nr×
d。
17.进一步的,步骤3中构造马尔科夫决策过程,并建立q网络包括:
18.步骤3.1:将用户的评分进行处理得到reward,其中μu表示该用 户的评分均值,σu表示该用户的评分标准差,rating代表用户对项目的评分;
19.步骤3.2:将用户交互项目中reward大于0的ns个项目保留作为用户状态的组成,用表示用户当前的状态,在函数f中采用一个门控循环单元捕捉用户顺 序偏好,门控循环单元包括一个重置门rn和一个更新门zn,rn决定了如何将新的输入信息与 前面的记忆状态信息h
n-1
相结合,zn定义了前面记忆保存到当前时间步的量,将作 为gru的输入,将hn作为用户的状态s
t

20.步骤3.3:action用该时刻要推荐给用户的item的特征向量表示,即a
t
=i
rec

21.步骤3.4:当推荐项目给用户后,若该用户获得正reward,则state由转换为 如果没有获得正reward则state保持不变;
22.步骤3.5:构建q网络:以待推荐项目的特征向量a
t
与用户当前状态s
t
作为网络输入,将 a
t
与该项目对应的实体向量e经过一个特征交叉共享单元处理:产生 新的动作向量a'
t
,其中每个α向量的值是项目与实体用来对特征组合共享程度的调节。将 state向量s
t
与动作向量a'
t
进行拼接,拼接后进行经过全连接层输出推荐项目的状态动作价值 q(s
t
,a
t
)=mlp([s
t
,a'
t
])。
[0023]
进一步的,步骤4中建立基于ddqn的推荐模型具体为:假设随机选择项目进行推荐的 概率为ε,在q网络中选择项目进行推荐的概率为1-ε,若使用q网络推荐,则先将已经给 用户推荐的项目以及最初的ns个项目从项目集p中去除,生成未给该用户推荐的项目集作为 待推荐项目集,将待推荐项目集中每一个项目的特征向量与用户当前状态作为q网络的输入, 选出q值最大的项目作为推荐项目推荐给用户。
[0024]
进一步的,步骤5中建立知识表示学习模型具体为:将与推荐项目相关的实体e与该项 目特征向量a
t
经过特征交叉共享单元处理后变成e':其中每个α向量 的值是项目与实体用来对特征组合共享程度的调节。将e'与relation特征表示向量r连接后通 过全连接层处理预测尾实体
[0025]
进一步的,步骤6中将知识表示学习作为ddqn推荐模型的辅助任务进行训练,交替更 新ddqn推荐模型和知识表示学习模型包括:
[0026]
步骤6.1:初始化一个q网络以及一个目标q网络分别产生q估计值以及q目标值,q 网络的参数为θ,目标q网络的参数为θ-,初始参数是相同的;
[0027]
步骤6.2:观察用户的状态通过推荐模型为其推荐项目,根据用户反馈收集(s
t
,a
t
,r
t
,s')元 组存入经验回放池,以供训练使用;
[0028]
步骤6.3:每一个训练步骤都从经验回放池中随机采样一批m个经验元组,对于每一个元 组,通过q网络求出该状态动作价值q
θ
(s
t
,a
t
),并使用q网络根据存储的s'选出下一步待推 荐的项目a
t 1
,计算目标值均方差损失函数为 通过神经网络的梯度反向传播来更新q网络的所有参数θ以及特征交 叉共享单元中的参数α;
[0029]
步骤6.4:每隔c步更新目标q网络的参数:θ-=θ;
[0030]
步骤6.5:每隔l步进行一次知识表示学习的网络更新:收集与该次推荐系统训练的项目 相关的所有知识图谱三元组,对这些三元组中的entity
head
与relation作为e和r输入到知识表 示学习模型中输出再通过将预测尾实体以及真实尾实体的余弦距离作为损失函数,根据 损失函数对知识表示学习网络中的参数以及特征交叉共享单元中的参数α进行更新,其中余 弦距离公式为:
[0031][0032]
本发明的有益效果:本发明将知识表示学习作为辅助任务引入强化学习推荐中,引入知 识表示,可以为项目引入更多语义关系,对每个用户状态动作之间的潜在联系进行挖掘,更 深层次地发现用户的兴趣,提高推荐的精度以及长期奖励,同时本发明是以多任务的方式引 入知识表示学习的,在训练中以强化学习推荐模型训练为主,知识表示学习训练为辅,进行 交替训练。本发明使用以知识表示学习作为强化学习推荐的辅助任务,为强化学习推荐引入 了项目与项目之间、推荐与推荐之间的联系,使得推荐模型能够更深入挖掘项目与动作之间 潜在的语义关系,从而提高了推荐的长期收益以及推荐精确度;同时由于使用多任务模型, 提高了强化学习训练中的泛化性,也提升了训练的速度。
附图说明
[0033]
图1为本发明方法的流程图;
[0034]
图2为本发明方法的模型框架图;
[0035]
图3为本发明方法的ddqn部分内部结构图。
具体实施方式
[0036]
下面结合说明书附图和实施例对本发明做进一步说明。
[0037]
结合图1,本发明包括以下步骤:
[0038]
(1)采集用户在项目集上的评分信息,根据项目的配置文件构造项目的向量表示;
[0039]
(2)采集有用户评分的项目以及与其相关的所有知识图谱信息,构造对应的三元组;
[0040]
(3)构造马尔科夫决策过程(mdp),并建立q网络;
[0041]
(4)建立基于ddqn的推荐模型;
[0042]
(5)建立知识表示学习模型;
[0043]
(6)将知识表示学习作为ddqn推荐模型的辅助任务进行训练,交替更新ddqn推荐 模型和知识表示学习模型。
[0044]
实施例:
[0045]
(1)采集用户在项目集上的评分信息,根据项目的配置文件构造项目的向量表示。我们 使用电影元数据构造项目的向量表示,具体地,我们通过嵌入将电影id、电影年份、电影题 材这些稀疏特征转换为低维密集向量,将电影名称进行循环神经网络处理,并将它们拼接起 来生成项目的特征向量表示in,所有项目的向量组成了一个特征矩阵该矩阵维度为ni×
d, 其中ni表示项目数;
[0046]
(2)采集所有电影的知识图谱信息,构造对应的三元组(entity
head
,relation,entity
tail
), 例如(titanic,director,jamescameron),通过这样的三元组来表示实体与实体之间的联系,并 随机初始化entity向量e以及relation向量r,其中entity向量维度为ne×
d,relation向量维 度为nr×
d。
[0047]
(3)构造马尔科夫决策过程(mdp),并建立q网络。对mdp各部分构造如下:
[0048]

将用户的评分进行处理得到reward。具体地,其中μu表示该用 户的评分均值,σu表示该用户的评分标准差。
[0049]

将用户交互项目中reward大于0的ns个项目保留作为用户状态的组成,用 表示用户当前的状态,在该函数f中我们使用一个带有门控循环单元 (gru)来捕捉用户顺序偏好,gru有两个门,即一个重置门rn和一个更新门zn,rn决定了 如何将新的输入信息与前面的记忆状态信息h
n-1
相结合,zn定义了前面记忆保存到当前时间 步的量,我们的工作将作为该gru的输入,将hn作为我们用户的状态s
t

[0050]

action用该时刻要推荐给用户的item的特征向量表示,即a
t
=i
rec

[0051]

当我们推荐项目给用户后,若该用户获得正reward,则我们的state输入将由转换为如果没有获得正reward则依然是
[0052]
q网络的构建是将待推荐项目的特征向量a
t
经过一个特征交叉共享单元,产生新的动作 向量a'
t
。将经过gru单元处理后的state向量s
t
与动作向量a'
t
进行拼接,拼接后进行经过层的全连接层求出推荐项目的状态动作价值
[0053]
其中特征交叉共享单元是推荐模型与知识表示学习进行信息共享的单元,为了让项目特 征a
t
与其对应的实体特征e更好的共享特征,我们首先对相关向量先做特征组合c=a
tet
,提 高模型表达能力,提升效果,其中a
t
和e与都为d维特征,该特征组合矩阵是d
×
d的,在获 得该特征组合矩阵后,再使用十字绣单元使得我们的两个任务自动学习到需要共享的特征其中每个α向量的值是项目与实体用来对特征组合共享程度的调节。 下面知识表示学习中提到的特征交叉共享单元与这里的是一致的。
[0054]
(4)建立基于ddqn的推荐模型如图3,在该算法中为了探索与利用,有ε的概率随 机选择项目进行推荐,1-ε的概率在q网络中进行动作选择推荐,若使用q网络推荐,则将 待推荐项目集中每一个项目的特征向量经过一个特征交叉共享单元,产生新的动作矩阵a', 该矩阵的维度是nc×
d,其中nc为待推荐项目集中项目的个数,该矩阵中的每一行是一个待 推荐项目的动作向量将state向量s
t
与a'中每一个项目的动作向量都计算出其q值 然后从待推荐项目中选出q值最大的项目该项目对应的 电影则作为推荐项目推荐给用户。
[0055]
(5)建立知识表示学习模型如图2右侧,知识表示学习模型将与推荐项目相关的实体e 经过特征交叉共享单元处理后变成e',将e'与relation特征表示向量r连接后通过全连接层处 理预测它们的尾实体
[0056]
(6)将知识表示学习作为ddqn推荐模型的辅助任务进行训练,交替更新ddqn推荐 模型和知识表示学习模型。训练过程见图2,在训练开始前我们先初始化一个q网络以及一 个目标q网络分别产生q估计值以及q目标值,q网络的参数为θ,目标q网络的参数为θ-, 它们的初始参数是相同的,具体训练过程如下:
[0057]

观察用户的状态通过推荐模型为其推荐项目,根据用户反馈收集(s
t
,a
t
,r
t
,s')
元组存入经 验回放池,以供训练使用;
[0058]

每一个训练步骤都从经验回放池中随机采样一批m个经验元组,对于每一个元组,通 过q网络求出该状态动作价值q
θ
(s
t
,a
t
),并使用q网络根据存储的s'选出下一步待推荐的项 目a
t 1
,计算目标值均方差损失函数为 通过神经网络的梯度反向传播来更新q网络的所有参数θ以及特征交 叉共享单元中的参数α;
[0059]

每隔c步更新目标q网络的参数:θ-=θ;
[0060]

每隔l步进行一次知识表示学习的网络更新:收集与该次推荐系统训练的项目相关的 所有知识图谱三元组,对这些三元组中的entity
head
与relation作为e和r输入到知识表示学习 模型中输出再通过将预测尾实体以及真实尾实体的余弦距离作为损失函数,根据损失函 数对知识表示学习网络中的参数以及特征交叉共享单元中的参数α进行更新。其中余弦距离 公式为:
[0061]
再多了解一些

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

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

相关文献