离线物品推荐方法、装置、设备和存储介质
未命名
08-12
阅读:85
评论:0
1.本发明涉及人工智能技术领域,尤其涉及一种离线物品推荐方法、装置、设备和存储介质。
背景技术:
2.在互联网服务中,用户按时间顺序访问物品或项目,其中用户将要交互的物品可能与他此前访问的那些物品密切相关,这个属性促进了一项重要的推荐任务——序列推荐(sequential recommendation,sr),它将用户历史行为视为按时间排序的动作序列。
3.现有技术中,深度强化学习推荐算法中很大一部分使用在线强化学习,这类方法需要在环境中进行训练,其中,环境的用途是模拟用户对推荐物品的反馈,环境的质量对算法性能影响较大,而用户多变的行为、动态变化的兴趣也很难模拟准确,且这类型方法需要先训练出一个模型用作环境,再在环境中去训练算法,是一种二阶段的方法,推荐性能不佳,因此通常直接在真实的推荐场景中训练,但直接在推荐场景中训练耗时较长,延长了向用户推荐物品的响应时间,影响用户体验。
技术实现要素:
4.本发明提供一种离线物品推荐方法、装置、设备和存储介质,用以解决现有在线强化学习的技术中用户体验不佳的缺陷,实现无需与真实推荐环境交互的情况下优化学习策略,提升用户体验。
5.第一方面,本发明提供一种离线物品推荐方法,包括:
6.获取用户在当前时刻的交互物品序列;
7.利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;
8.将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。
9.可选地,利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值之前,方法还可以包括:
10.将t时刻的物品交互序列输入至第一动作价值网络中,得到待推荐物品对应的动作价值;t为大于或等于0的整数;
11.将t+1时刻的物品交互序列输入至第一动作价值网络,得到第一动作价值网络输出的动作价值中最大的动作价值对应的物品;
12.基于第二动作价值网络,确定最大的动作价值对应的物品的目标动作价值;
13.基于目标动作价值、待推荐物品对应的动作价值、t时刻的物品交互序列中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数;
14.基于目标损失函数和预设的学习率,更新第一动作价值网络以及第二动作价值网络中各自对应的第一参数。
15.可选地,基于目标动作价值、待推荐物品对应的动作价值、t时刻的物品交互序列
中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数,可以包括:
16.基于目标动作价值和待推荐物品对应的动作价值,计算差分损失值;
17.基于待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值,计算第一损失函数;
18.基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数;
19.基于差分损失值、第一损失函数、第二损失函数,确定目标损失函数。
20.可选地,基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数之前,方法还可以包括:
21.基于第一动作价值网络输出的所有物品的动作价值采集多个负样本;负样本为t时刻用户未基于负样本进行交互的物品;
22.其中,基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数,具体包括:
23.基于待推荐物品对应的动作价值与负样本的动作价值,以正负样本对的方式计算第二损失函数。
24.可选地,更新第一动作价值网络以及第二动作价值网络中各自对应的第一参数,可以包括:
25.更新第一动作价值网络的第一参数,得到第一动作价值网络更新后的第一参数;
26.基于更新后的的第一参数和第二参数,更新第二动作价值网络的第一参数,得到第二动作价值网络更新后的第一参数;第二参数用于对第二动作价值网络的第一参数的更新幅度进行控制。
27.可选地,第一动作价值网络和第二动作价值网络的结构包括嵌入表示层、状态表示层和输出层,其中,状态表示层,分别和嵌入表示层和输出层连接;其中,
28.嵌入表示层,用于为交互物品序列中每个物品分配对应的序列向量;
29.状态表示层,用于将序列向量转化为隐状态向量;隐状态向量和序列向量的维度相同;
30.输出层,用于将隐状态向量映射到物品空间,输出所有物品的动作价值。
31.第二方面,本发明提供一种离线物品推荐装置,包括:
32.获取模块,用于获取用户在当前时刻的交互物品序列;
33.计算模块,用于利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;
34.确定模块,用于将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。
35.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述离线物品推荐方法。
36.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述离线物品推荐方法。
37.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序
被处理器执行时实现如上述任一种所述离线物品推荐方法。
38.本发明提供的一种离线物品推荐方法、装置、设备和存储介质,通过获取用户在当前时刻的交互物品序列,然后利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值,其中,动作价值表示用户对物品的偏好程度,第一动作价值网络为在离线环境下训练得到的,最后,将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。本发明提供的方法中基于离线环境下训练得到的第一动作价值网络,对当前时刻用户的交互物品序列进行计算,得到该交互物品序列中所有物品的动作价值,从而按照所有物品动作价值的大小排序对用户进行物品推荐,推荐效率较高,而且由于在离线环境下训练第一动作价值网络,即可以在无需与真实推荐环境交互的情况下训练第一动作价值网络,训练后的第一动作价值网络的推荐结果较为准确,用户体验较好。
附图说明
39.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本发明提供的离线物品推荐方法的流程示意图之一;
41.图2是本发明提供的离线物品推荐方法的流程示意图之二;
42.图3是本发明提供的第一动作价值网络和第二动作价值网络的结构示意图;
43.图4是本发明提供的离线物品推荐装置的结构示意图;
44.图5是本发明提供的电子设备的结构示意图。
具体实施方式
45.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
47.首先,对本发明实施例涉及到的相关概念进行介绍:
48.马尔可夫决策过程是指决策者周期地或连续地观察具有马尔可夫性的随机动态系统,序贯地作出决策。即根据每个时刻观察到的状态,从可用的行动集合中选用一个行动作出决策,系统下一步(未来)的状态是随机的,并且其状态转移概率具有马尔可夫性。决策者可以根据新观察到的状态,再作新的决策,依此反复地进行。马尔可夫决策过程还可作为马尔可夫型随机最优控制,其决策变量就是控制变量。
49.马尔可夫性是指一个随机过程未来发展的概率规律与观察之前的历史无关的性
质,马尔可夫性又可简单叙述为状态转移概率的无后效性。状态转移概率具有马尔可夫性的随机过程即为马尔可夫过程。马尔可夫决策过程又可看作随机对策的特殊情形,在这种随机对策中对策的一方是无意志的。
50.其次,对本发明实施例提供的离线物品推荐方法应用的场景进行介绍。
51.早期的序列推荐技术主要有两类:基于协同过滤的技术和基于马尔可夫链的技术。其中,基于协同过滤的技术分为基于用户和基于物品两类,这类方法利用用户或物品之间的相似性来进行物品推荐,未考虑到物品序列中各个物品之间的相关性;基于马尔可夫链的技术将用户-物品交互序列建模为马尔可夫决策过程,强调对用户交互序列进行建模,通过挖掘交互物品序列的相关性进行预测推荐物品。
52.随着深度学习的迅速发展,基于深度学习的序列推荐技术已成为主流,这类技术通常使用卷积神经网络、循环神经网络、变换网络transformer、图神经网络等网络结构,深度神经网络具有强大的拟合能力,可以学习到用户-物品交互序列的特征,进而挖掘序列相关性,完成序列建模,以预测下一件推荐物品。进一步地,强化学习是解决马尔可夫决策过程的有效方法,而序列推荐问题可以建模为一个马尔可夫决策过程,随着深度强化学习的成功,基于深度强化学习的推荐算法再次成为研究热点。
53.现有技术中的物品推荐方式存在以下不足:
54.基于协同过滤的序列推荐技术无法挖掘序列中物品之间的相关性,不能对序列相关性进行有效建模,忽视了用户在交互过程中的偏好的变化。
55.基于深度学习技术的序列推荐技术属于监督学习方法,此类方法通常将序列推荐问题建模为一个多分类问题,通过对已有的交互序列进行学习来预测下一个推荐的物品或项目,这类方法会存在短视的问题,通常只关注到用户在短期内的偏好,而忽略了用户的长期收益。
56.基于在线强化学习的序列推荐技术需要在真实的推荐环境中进行训练,但是直接在推荐场景中训练代价较大,可能会对用户体验造成负面影响。
57.综上,现有的序列推荐技术中存在的问题如下:
58.(1)序列推荐问题中的长期收益难以建模。序列推荐问题实际上是一个序列决策问题,将为用户推荐物品或项目看作是对用户做出决策,推荐模型根据当前的交互序列决策应该推荐的物品或项目。现有的深度学习序列推荐算法没有从决策的角度看待这一过程,而是通常将其作为一个多分类问题来尝试解决,忽视了长期收益;
59.(2)现有强化学习推荐算法推荐性能以及用户体验不佳的问题。现有强化学习推荐算法中很大一部分使用在线强化学习,这类方法依赖于仿真环境的建立,环境的用途是模拟用户对推荐物品的反馈,环境的质量对算法性能影响极大,而用户多变的行为、变化的兴趣也很难模拟准确,而且,这类型方法需要先训练出一个模型用作环境,再在环境中去训练算法,是一种二阶段的方法,推荐性能不佳;
60.(3)缺少对物品推荐中隐式反馈问题的关注。在推荐场景中,存在显式反馈和隐式反馈两种反馈。用户对物品的评分属于显式反馈,这类反馈中用户的兴趣较为明确,高分意味着喜欢,而低分反之;隐式反馈则包括:购买、加入购物车、点击、跳过等行为,用户没有对浏览过的物品表现出明确的喜欢或者厌恶。在实际应用中,推荐场景下的隐式反馈更容易获取,且显式反馈的数据中本身就存在负样本,也即低分样本,而隐式反馈则缺少负样本。
61.基于上述不足,本发明提出了一种能够在离线数据集中完成训练,在捕捉用户偏好动态变化的同时优化长期收益,并且引入动态负采样策略,进一步优化强化学习的动作价值网络,达到更好的推荐性能的离线物品推荐的技术方案。
62.本发明中是将序列推荐问题转换为马尔可夫决策过程,然后使用离线强化学习技术解决该序列决策问题,将用户作为环境,序列推荐算法可以看作智能体,该智能体执行的动作就是为用户推荐的物品,首先介绍马尔可夫决策过程的建模,描述如下:
63.状态空间t时刻的状态定义为t时刻的用户-物品交互序列通过第一动作价值网络和/或第二动作价值网络的状态表示层320后得到的隐向量表示。其中,第一动作价值网络和第二动作价值网络可以是基于策略-价值actor-critic强化学习算法构建的。
64.物品空间也即动作空间,t时刻的推荐物品指的是t时刻为用户推荐的物品。
65.奖励智能体在输出推荐物品后收到的奖励
66.转移概率智能体在状态s时采取动作a后状态转移为s
′
的概率。
67.折扣率γ:γ∈[0,1],对未来的奖励进行折算,γ=0时,智能体是短视的,只会考虑下一步的奖励,而γ=1时,智能体对所有时刻的奖励同等看待。
[0068]
给出智能体的目标是寻找策略π来最大化累计奖励的期望:
[0069][0070]
其中,t是整个决策过程的最大时刻。
[0071]
下面结合图1-图5对本发明离线物品推荐的技术方案进行详细说明,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0072]
图1为本发明实施例提供的离线物品推荐方法的流程示意图之一,如图1所示,该方法可以包括:
[0073]
步骤101、获取用户在当前时刻的交互物品序列;
[0074]
步骤102、利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;
[0075]
步骤103、将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。
[0076]
具体地,在步骤101中获取的交互物品序列可以是用户在当前时刻的交互物品序列,例如t时刻的交互物品序列:
[0077]i1:t
={i1,i2…
,i
t
},
[0078]
其中,i代表物品,下标代表用户与该物品在下标作为时刻时产生的交互,假设物品一共有n种,将从1到n的整数分配给所有物品,每一个物品使用一个唯一的编号来表示。可以理解的是,所述交互物品序列可以包含一个或者多个物品的交互序列,此实施例对此不做限定。
[0079]
可选地,可以将上述各个物品的交互物品序列长度统一长度,例如统一为长度l,
具体地,交互物品序列长度不足的序列可以用元素0填充,长度超过l的序列则截取最近时间的l个物品,将其输入至训练好的第一动作价值网络中。
[0080]
进一步地,在步骤102中,利用训练好的第一动作价值网络对当前时刻的交互物品序列进行计算,可以得到交互物品序列中每个物品在当前时刻的动作价值,其中,动作价值表示的是用户对物品的偏好程度,例如动作价值可以是用户对物品的评分,评分为高分意味着用户对物品喜欢,反之,评分为低分意味着用户对物品不喜欢。其中,第一动作价值网络为在离线环境下进行训练和强化学习得到的。
[0081]
进一步地,将步骤102中得到的交互物品序列中每个物品在当前时刻的动作价值进行排序,得到从高到低的按顺序排列的多个动作价值,然后,可以将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品;
[0082]
可选地,也可以基于实际需要,将动作价值排序靠前的多个动作价值对应的物品作为推荐物品,例如,用户若需要获得三个推荐物品,则将所有物品的动作价值中动作价值排序前三名对应的物品作为推荐物品。
[0083]
本实施例提供的方法中,通过获取用户在当前时刻的交互物品序列,然后利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值,其中,动作价值表示用户对物品的偏好程度,第一动作价值网络为在离线环境下训练得到的,最后,将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。本发明提供的方法中基于离线环境下训练得到的第一动作价值网络,对当前时刻用户的交互物品序列进行计算,得到该交互物品序列中所有物品的动作价值,从而按照所有物品动作价值的大小排序对用户进行物品推荐,推荐效率较高,而且由于在离线环境下训练第一动作价值网络,即可以在无需与真实推荐环境交互的情况下训练第一动作价值网络,训练后的第一动作价值网络的推荐结果较为准确,用户体验较好。
[0084]
可选地,利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值之前,方法还可以包括:
[0085]
将t时刻的物品交互序列输入至第一动作价值网络中,得到待推荐物品对应的动作价值;
[0086]
将t+1时刻的物品交互序列输入至第一动作价值网络,得到第一动作价值网络输出的动作价值中最大的动作价值对应的物品;
[0087]
基于第二动作价值网络,确定最大的动作价值对应的物品的目标动作价值;
[0088]
基于目标动作价值、待推荐物品对应的动作价值、t时刻的物品交互序列中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数;
[0089]
基于目标损失函数和预设的学习率,更新第一动作价值网络以及第二动作价值网络中各自对应的第一参数。
[0090]
具体地,在步骤102之前,该方法可以先对第一动作价值网络进行训练,训练的过程如下:
[0091]
首先,将t时刻的物品交互序列输入至第一动作价值网络中,得到待推荐物品对应的动作价值,其中,t为大于或等于0的整数;例如,将t时刻的物品交互序列,例如i
1:t
={i1,i2…
,i
t
}输入到第一动作价值网络中,得到待推荐物品a
t
(即数据集中真实的i
t+1
)所对应的动作价值q
θ
(s
t
,a
t
),可以理解的是,所述数据集为用于训练的数据集;
[0092]
其次,将t+1时刻的物品交互序列输入至第一动作价值网络,得到第一动作价值网络输出的动作价值中最大的动作价值对应的物品,例如,将t+1时刻的交互序列i
1:t+1
={i1,i2…
,i
t+1
}输入到第一动作价值网络中,选择第一动作价值网络的输出中最大的动作价值对应的物品作为a
t+1
,其中,
[0093]at+1
=argmaxq
θ
(s
t+1
,a)
ꢀꢀ
(2)
[0094]
然后,将该最大的动作价值对应的物品输入至第二动作价值网络中,可以确定最大的动作价值对应的物品的目标动作价值,例如q
θ
′
(s
t+1
,a
t+1
);
[0095]
进一步地,可以基于目标动作价值例如q
θ
′
(s
t+1
,a
t+1
)、待推荐物品对应的动作价值例如q
θ
(s
t
,a
t
)、t时刻的物品交互序列中所有物品对应的动作价值例如以及负样本的动作价值例如确定目标损失函数。
[0096]
进一步地,基于确定的目标损失函数,可以提前预设一个学习率,例如α为学习率,采用如随机梯度下降法来更新第一动作价值网络以及第二动作价值网络中各自对应的第一参数,其中,第一动作价值网络对应的第一参数为θ,以及第二动作价值网络对应的第一参数为θ
′
,直至网络收敛。
[0097]
可选地,在第一动作价值网络训练完成后,还可以对网络的性能进行离线评估,离线评估的过程示例如下:
[0098]
a.将用户u在t时刻的交互物品序列输入至第一动作价值网络中;
[0099]
b.利用第一动作价值网络计算交互物品序列中所有物品对应的动作价值;
[0100]
c.将最大动作价值对应的物品确定为推荐物品,例如:
[0101][0102]
d.计算网络评价指标,用于检测网络的推荐性能。
[0103]
具体地,网络评价指标示例如下:
[0104]
指标1:点击率(hit ratio,hr):
[0105][0106]
指标2:归一化折损累计增益(normalized discounted cumulative gain,ndcg):
[0107][0108]
指标3:平均倒数排名(mean reciprocal rank,mrr):
[0109][0110]
其中,j代表真实的物品序号,s表示第一动作价值网络生成的推荐物品列表,k代表测试数据在推荐列表中的排名。
[0111]
每一条数据都可以计算出上述三个评价指标,然后对所有测试数据取平均值,用以评估网络的性能。
[0112]
本实施例提供的方法中,通过将t时刻的物品交互序列输入至第一动作价值网络中,得到待推荐物品对应的动作价值,将t+1时刻的物品交互序列输入至第一动作价值网络,得到第一动作价值网络输出的动作价值中最大的动作价值对应的物品,并基于第二动作价值网络,确定最大的动作价值对应的物品的目标动作价值,然后基于目标动作价值、待推荐物品对应的动作价值、t时刻的物品交互序列中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数,进而,基于目标损失函数和预设的学习率,更新第一动作价值网络以及第二动作价值网络中各自对应的第一参数,使得第一动作价值网络和第二动作价值网络快速收敛,在捕捉用户偏好动态变化的同时优化长期收益,优化强化学习智能体的动作价值网络,进一步利用训练好的第一动作价值网络进行离线物品推荐时可以达到更好的推荐性能。
[0113]
可选地,基于目标动作价值、待推荐物品对应的动作价值、t时刻的物品交互序列中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数,可以包括:
[0114]
基于目标动作价值和待推荐物品对应的动作价值,计算差分损失值;
[0115]
基于待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值,计算第一损失函数;
[0116]
基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数;
[0117]
基于差分损失值、第一损失函数、第二损失函数,确定目标损失函数。
[0118]
具体地,计算目标损失函数的过程可以先计算出如差分损失值,第一损失函数、第二损失函数之后,再基于如差分损失值,第一损失函数、第二损失函数进行累加,进而得到目标损失函数。损失函数计算过程示例如下:
[0119]
首先,基于目标动作价值和待推荐物品对应的动作价值,计算差分损失值,例如计算差可以根据如下公式(7)计算差分损失值:
[0120][0121]
其中,q
θ
(s
t
,a
t
)表示待推荐物品对应的动作价值,q
θ
′
(s
t+1
,a
t+1
)表示目标动作价值,γ表示折扣率,r(s
t
,a
t
)表示智能体在输出推荐物品后收到的奖励;
[0122]
其次,基于待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值,计算第一损失函数,例如,保守动作价值学习的损失函数,根据如下公式(8)进行计算:
[0123][0124]
其中,表示t时刻的物品交互序列中所有物品对应的动作价值的期望,q
θ
(s
t
,a
t
)表示待推荐物品对应的动作价值;
[0125]
进一步地,可以基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数。可以理解的是,正样本也即数据集中的待推荐物品a
t
,即i
t+1
,结合负采样得到的负样本(负样本为t时刻用户未基于负样本进行交互的物品),第二损失函数可以基于正样本即待推荐物品a
t
的动作价值q
θ
(s
t
,a
t
)与动态负采样得到的负样本的动作价值以正负样本对的方式进行计算得到,得到的第二损失函数例如bpr loss;
[0126]
进一步地,可以将上述差分损失值、第一损失函数、第二损失函数进行相加,联合
确定目标损失函数,例如,参照如下公式(9)确定目标损失函数:
[0127]
loss=td error+cql loss+bpr loss
ꢀꢀꢀ
(9)
[0128]
其中,loss表示目标损失函数,td error表示差分损失值,cql loss表示第一损失函数,bpr loss表示第二损失函数。
[0129]
本实施例提供的方法中,在对第一动作价值网络进行训练的过程中,通过差分损失值、第一损失函数、第二损失函数,联合确定目标损失函数,其中,差分损失值为基于目标动作价值和待推荐物品对应的动作价值计算得到的,第一损失函数为基于待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值计算得到的,第二损失函数为基于待推荐物品对应的动作价值和负样本的动作价值,计算得到的,利用目标损失函数对第一动作价值网络进行更新,从而使得训练得到的第一动作价值网络排序性能提高,推荐性能更优。
[0130]
可选地,基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数之前,方法还可以包括:
[0131]
基于第一动作价值网络输出的所有物品的动作价值采集多个负样本;负样本为t时刻用户未基于负样本进行交互的物品;
[0132]
其中,基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数,具体包括:
[0133]
基于待推荐物品对应的动作价值与负样本的动作价值,以正负样本对的方式计算第二损失函数。
[0134]
具体地,可以基于根据第一动作价值网络的输出q
θ
(s
t
,
·
),也即根据状态s
t
时所有物品的动作价值采样m个负样本,例如,从用户未交互过的物品(也即动作价值为负值的物品)中采样出一定量的物品作为负样本,采样过后在第一动作价值网络中同时输出正样本和负样本、分数,并针对分数差进行优化。
[0135]
进一步地,最终采集到的负样本的集合可以表示为i表示物品空间,即动作空间,u代表产生当前序列的用户,对于状态-动作对(s
t
,a
t
),物品被采集为负样本的概率参照如下公式(10),为:
[0136][0137]
其中,上述公式表示:如果该物品属于i
1:t+1
,那么它不会被选为负样本;相反,如果它不属于i
1:t+1
,那么该物品被选为负样本的概率是以e为底,其动作价值为指数的指数函数。
[0138]
上述采集到的负样本im记为
[0139][0140]
其中,表示采集到的负样本,m表示负样本的数量;
[0141]
进一步地,第二损失函数可以基于正样本即待推荐物品a
t
的动作价值q
θ
(s
t
,a
t
)与动态负采样得到的负样本的动作价值以正负样本对的方式进行计算得到,例如,参照如下公式(12)进行计算:
[0142][0143]
其中,q
θ
(s
t
,a
t
)表示正样本的动作价值,表示负样本的动作价值,m表示负样本的数量。
[0144]
本实施例提供的方法中,通过引入动态负采样技术,将离线强化学习得到的动作价值函数过高的样本采集为负样本,引入了第二损失函数例如贝叶斯个性化排序,从而构建正负样本对级别的排序采样损失函数,使得正负样本的动作价值差距增大,正样本动作价值更大,负样本的动作价值更小,解决了物品推荐中的隐式反馈问题,可以优化模型的排序性能,达到更好的推荐性能。
[0145]
可选地,更新第一动作价值网络以及第二动作价值网络中各自对应的第一参数,可以包括:
[0146]
更新第一动作价值网络的第一参数,得到第一动作价值网络更新后的第一参数;
[0147]
基于更新后的的第一参数和第二参数,更新第二动作价值网络的第一参数,得到第二动作价值网络更新后的第一参数;第二参数用于对第二动作价值网络的第一参数的更新幅度进行控制。
[0148]
具体地,可以采用例如随机梯度下降法(stochastic gradient descent,sgd)对第一动作价值网络的第一参数,例如θ,以及第二动作价值网络的第一参数,例如θ
′
进行更新,具体地,可以通过随机梯度下降法对第一动作价值网络的第一参数θ进行更新,我们可以提前预设一个学习率,例如α,则更新第一动作价值网络的第一参数的过程如下:
[0149][0150]
其中,loss表示目标损失函数,α为学习率,θ表示第一动作价值网络的第一参数。
[0151]
进一步地,可以基于更新后的第一参数和第二参数来更新第二动作价值网络的第一参数,得到第二动作价值网络更新后的第一参数,其中,第二参数例如τ用于对第二动作价值网络的第一参数的更新幅度进行控制,从而可以使得第二目标动作价值网络对应的第一参数的更新速度滞后于第一动作价值网络对应的第一参数的更新。
[0152]
示例性地,更新第二动作价值网络的第一参数的过程如下:
[0153]
θ
′
=τθ+(1-τ)θ
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0154]
其中,0《τ《1;θ
′
表示第二动作价值网络的第一参数,θ表示第一动作价值网络的第一参数,τ表示从0到1之间的取值。
[0155]
本实施例提供的方法中,通过先对第一动作价值网络的第一参数更新,然后利用第一动作价值网络更新后的第一参数对第二动作价值网络的第一参数进行更新,使得第二动作价值网络的第一参数更新速度滞后于第一动作价值网络的第一参数的更新,最终由第二动作价值网络拟合强化学习的策略。通过引入第二动作价值目标网络,可从第二动作价值网络中获取物品的动作价值,然后进行动作价值函数的更新,一段时间后,再使用新的动作价值函数更新第二动作价值网络,可以提高强化学习的稳定性,实现推荐性能的提升。
[0156]
图2为本发明实施例提供的离线物品推荐方法的流程示意图之二,如图2所示,该方法可以包括:
[0157]
步骤201、将t时刻的交互物品序列输入至第一动作价值网络,得到t时刻的物品交
互序列中所有物品对应的动作价值;
[0158]
步骤202、将t+1时刻的交互物品序列输入至第一动作价值网络,得到第一动作价值网络输出的t+1时刻最大的动作价值对应的物品;
[0159]
步骤203、将该最大的动作价值对应的物品输入至第二动作价值网络中,确定最大的动作价值对应的物品的目标动作价值;
[0160]
步骤204、结合输出推荐物品后收到的奖励,基于目标动作价值和待推荐物品对应的动作价值,计算差分损失值;
[0161]
步骤205、将t时刻的物品交互序列输入至第一动作价值网络中,得到待推荐物品对应的动作价值;t为大于或等于0的整数;
[0162]
步骤206、基于待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值,计算第一损失函数(保守动作价值学习损失函数);
[0163]
步骤207、基于第一动作价值网络输出的所有物品的动作价值采集多个负样本;
[0164]
步骤208、基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数(贝叶斯个性化排序损失函数);
[0165]
步骤209、基于差分损失值、第一损失函数、第二损失函数,得到目标损失函数。
[0166]
具体地,本实施例可以理解为离线物品推荐前的网络训练过程,首先,将t时刻的交互物品序列输入至第一动作价值网络,得到t时刻的物品交互序列中所有物品对应的动作价值;然后,将t+1时刻的交互物品序列输入至第一动作价值网络,得到第一动作价值网络输出的t+1时刻最大的动作价值对应的物品;将该最大的动作价值对应的物品输入至第二动作价值网络中,确定最大的动作价值对应的物品的目标动作价值;
[0167]
进而,结合输出推荐物品后收到的奖励,基于目标动作价值和待推荐物品对应的动作价值,计算差分损失值,也可以理解为损失函数的一种,如下:
[0168][0169]
其中,q
θ
(s
t
,a
t
)表示待推荐物品对应的动作价值,q
θ
′
(s
t+1
,a
t+1
)表示目标动作价值,γ表示折扣率,r(s
t
,a
t
)表示智能体在输出推荐物品后收到的奖励;
[0170]
进一步地,将t时刻的物品交互序列输入至第一动作价值网络中,得到待推荐物品对应的动作价值,t为大于或等于0的整数;基于待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值,计算出第一损失函数,例如保守动作价值学习损失函数:
[0171][0172]
其中,表示t时刻的物品交互序列中所有物品对应的动作价值的期望,q
θ
(s
t
,a
t
)表示待推荐物品对应的动作价值;
[0173]
更进一步地,可以基于第一动作价值网络输出的所有物品的动作价值采集多个负样本,然后基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数,例如贝叶斯个性化排序损失函数:
[0174]
[0175]
其中,q
θ
(s
t
,a
t
)表示正样本的动作价值,表示负样本的动作价值,m表示负样本的数量;
[0176]
最后,基于上述差分损失值、第一损失函数、第二损失函数,得到目标损失函数,例如:
[0177]
例如,参照如下公式(9)确定目标损失函数:
[0178]
loss=td error+cql loss+bpr loss
ꢀꢀꢀ
(9)
[0179]
其中,loss表示目标损失函数,td error表示差分损失值,cql loss表示第一损失函数,bpr loss表示第二损失函数。
[0180]
可选地,可以采用随机梯度下降方法利用第一参数对第一动作价值网络和第二动作价值网络进行更新,直至网络收敛。至此,模型训练过程结束。
[0181]
本实施例提供的方法中,通过将离线强化学习技术应用于物品推荐问题中,使强化学习智能体在无需与在线推荐场景交互的情况下,仅在离线数据集中完成训练,在捕捉用户偏好动态变化的同时优化长期收益,并引入动态负采样策略,进一步优化强化学习智能体的动作价值网络,达到更好的推荐性能。
[0182]
图3为本发明提供的第一动作价值网络和第二动作价值网络的结构示意图,如图3所示,第一动作价值网络和第二动作价值网络的结构包括嵌入表示层310、状态表示层320和输出层330,其中,状态表示层320,分别和嵌入表示层310和输出层330连接;其中,
[0183]
嵌入表示层310,用于为交互物品序列中每个物品分配对应的序列向量;
[0184]
状态表示层320,用于将序列向量转化为隐状态向量;隐状态向量和序列向量的维度相同;
[0185]
输出层330,用于将隐状态向量映射到物品空间,输出所有物品的动作价值。
[0186]
具体地,可以理解的是,第二动作价值网络的结构和第一动作价值网络的结构一致,将交互物品的序列输入至第二动作价值网络中的运行过程可参考第一动作价值网络,此处以第一动作价值网络的计算过程作为示例,第二动作价值网络中的运行过程不再赘述。
[0187]
可选地,在将各个物品的交互物品序列输入至第一动作价值网络之前,可以将各个物品的交互物品序列长度先统一长度,例如统一为长度l,具体地,交互物品序列长度不足的序列可以用元素0填充,长度超过l的序列则截取最近时间的l个物品,然后,将其输入至训练好的第一动作价值网络中的嵌入表示层310中。
[0188]
进一步地,嵌入表示层310通过查表的方式为每一个物品分配一个不同的向量,该向量称为该物品的嵌入表示,作为一串数字输入的交互序列在通过嵌入表示层310处理后转化为形状为l
×
d的序列向量(其中,d为序列向量的维度,l为交互物品序列长度),然后将其作为状态表示层320的输入。
[0189]
进一步地,状态表示层320将上述形状为l
×
d的序列向量转化为强化学习所需要的隐状态向量,其中,隐状态向量和序列向量的维度相同。具体地,状态表示层320的作用是将输入的序列向量转化为强化学习所需要的隐状态向量,状态表示层的性能可以影响强化学习智能体最终学习到的策略的质量,我们可以使用几种经典的深度学习序列推荐模型作为状态表示层320,例如卷积神经网络、循环神经网络和变换transformer神经网络等,以提取序列特征,获得较好的状态表示,最终状态表示层320的输出为序列的隐状态向量,例如
可以用h
t
表示,该隐状态向量的形状为1
×
d(其中,d为向量的维度)。
[0190]
进一步地,输出层330,可以将上述隐状态向量映射到物品空间(也即动作空间),最终输出所有物品的动作价值。具体地,第一动作价值网络最终的输出为一个1
×
n(其中,n表示物品一共有n种)的向量,该向量代表了在t时刻,强化学习智能体状态为h
t
时,采取所有可能的动作a
t
时的动作价值,即就是所有可能推荐物品的动作价值。
[0191]
示例性地,第一动作价值网络的输出为q
all
,
[0192]qall
=wh
t
+b=[q1,q2,
…
,qn];
[0193]
其中,w表示权重,b表示偏置;
[0194]
下标为n的值对应的是t时刻智能体h
t
推荐物品a
t
是in时对应的动作价值,如下:
[0195]qn
=q(s
t
,a
t
),a
t
=in,n∈n;
[0196]
其中,a
t
表示t时刻智能体h
t
推荐物品,s
t
表示t时刻的用户-物品交互序列通过状态表示层320后得到的隐向量表示。
[0197]
本发明实施例提供的方法中,第一动作价值网络和第二动作价值网络的结构包括嵌入表示层、状态表示层和输出层,通过嵌入表示层310为交互物品序列中每个物品分配对应的序列向量,然后,状态表示层320将序列向量转化为隐状态向量,其中,隐状态向量和序列向量的维度相同,最后,输出层330将隐状态向量映射到物品空间,输出所有物品的动作价值。采用离线强化学习得到的第一动作价值网络解决序列决策问题,即物品推荐问题,在捕捉用户偏好动态变化的同时优化长期收益,能够兼顾用户的长短期收益,利用第一动作价值网络去预测推荐物品的推荐性能更优。
[0198]
下面对本发明提供的离线物品推荐装置进行描述,下文描述的离线物品推荐装置与上文描述的离线物品推荐方法可相互对应参照。
[0199]
图4为本发明提供的离线物品推荐装置的结构示意图,如图4所示,该装置包括:
[0200]
获取模块410,用于获取用户在当前时刻的交互物品序列;
[0201]
计算模块420,用于利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;
[0202]
确定模块430,用于将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。
[0203]
本实施例提供的装置中,获取模块410用于获取用户在当前时刻的交互物品序列,然后计算模块420利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值,其中,动作价值表示用户对物品的偏好程度,第一动作价值网络为在离线环境下训练得到的,最后,确定模块430将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。本发明提供的装置中基于离线环境下训练得到的第一动作价值网络,对当前时刻用户的交互物品序列进行计算,得到该交互物品序列中所有物品的动作价值,从而按照所有物品动作价值的大小排序对用户进行物品推荐,推荐效率较高,而且由于在离线环境下训练第一动作价值网络,即可以在无需与真实推荐环境交互的情况下训练第一动作价值网络,训练后的第一动作价值网络的推荐结果较为准确,用户体验较好。
[0204]
可选地,该装置还可以包括训练模块;
[0205]
训练模块,用于:利用训练好的第一动作价值网络计算交互物品序列中所有物品
的动作价值之前,
[0206]
将t时刻的物品交互序列输入至第一动作价值网络中,得到待推荐物品对应的动作价值;t为大于或等于0的整数;
[0207]
将t+1时刻的物品交互序列输入至第一动作价值网络,得到第一动作价值网络输出的动作价值中最大的动作价值对应的物品;
[0208]
基于第二动作价值网络,确定最大的动作价值对应的物品的目标动作价值;
[0209]
基于目标动作价值、待推荐物品对应的动作价值、t时刻的物品交互序列中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数;
[0210]
基于目标损失函数和预设的学习率,更新第一动作价值网络以及第二动作价值网络中各自对应的第一参数。
[0211]
可选地,训练模块,具体用于:
[0212]
基于目标动作价值和待推荐物品对应的动作价值,计算差分损失值;
[0213]
基于待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值,计算第一损失函数;
[0214]
基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数;
[0215]
基于差分损失值、第一损失函数、第二损失函数,确定目标损失函数。
[0216]
可选地,训练模块,具体用于:
[0217]
在基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数之前,基于第一动作价值网络输出的所有物品的动作价值采集多个负样本;负样本为t时刻用户未基于负样本进行交互的物品;
[0218]
其中,基于待推荐物品对应的动作价值和负样本的动作价值,计算第二损失函数,具体包括:
[0219]
基于待推荐物品对应的动作价值与负样本的动作价值,以正负样本对的方式计算第二损失函数。
[0220]
可选地,训练模块,具体用于:
[0221]
更新第一动作价值网络的第一参数,得到第一动作价值网络更新后的第一参数;
[0222]
基于更新后的的第一参数和第二参数,更新第二动作价值网络的第一参数,得到第二动作价值网络更新后的第一参数;第二参数用于对第二动作价值网络的第一参数的更新幅度进行控制。
[0223]
可选地,第一动作价值网络和第二动作价值网络的结构包括嵌入表示层、状态表示层和输出层,其中,状态表示层,分别和嵌入表示层和输出层连接;其中,
[0224]
嵌入表示层,用于为交互物品序列中每个物品分配对应的序列向量;
[0225]
状态表示层,用于将序列向量转化为隐状态向量;隐状态向量和序列向量的维度相同;
[0226]
输出层,用于将隐状态向量映射到物品空间,输出所有物品的动作价值。
[0227]
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communications interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行离线物品推荐方法,该方法包括:
[0228]
获取用户在当前时刻的交互物品序列;
[0229]
利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;
[0230]
将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。
[0231]
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0232]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的离线物品推荐方法,该方法包括:
[0233]
获取用户在当前时刻的交互物品序列;
[0234]
利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;
[0235]
将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。
[0236]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的离线物品推荐方法,该方法包括:
[0237]
获取用户在当前时刻的交互物品序列;
[0238]
利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;
[0239]
将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。
[0240]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0241]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0242]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种离线物品推荐方法,其特征在于,包括:获取用户在当前时刻的交互物品序列;利用训练好的第一动作价值网络计算所述交互物品序列中所有物品的动作价值;所述动作价值表示用户对所述物品的偏好程度;所述第一动作价值网络为在离线环境下训练得到的;将所述所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。2.根据权利要求1所述的离线物品推荐方法,其特征在于,所述利用训练好的第一动作价值网络计算所述交互物品序列中所有物品的动作价值之前,还包括:将t时刻的物品交互序列输入至所述第一动作价值网络中,得到待推荐物品对应的动作价值;t为大于或等于0的整数;将t+1时刻的物品交互序列分别输入至所述第一动作价值网络,得到所述第一动作价值网络输出的动作价值中最大的动作价值对应的物品;基于第二动作价值网络,确定所述最大的动作价值对应的物品的目标动作价值;基于所述目标动作价值、所述待推荐物品对应的动作价值、所述t时刻的物品交互序列中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数;基于所述目标损失函数和预设的学习率,更新所述第一动作价值网络以及所述第二动作价值网络中各自对应的第一参数。3.根据权利要求2所述的离线物品推荐方法,其特征在于,所述基于所述目标动作价值、所述待推荐物品对应的动作价值、所述t时刻的物品交互序列中所有物品对应的动作价值以及负样本的动作价值,确定目标损失函数,包括:基于所述目标动作价值和所述待推荐物品对应的动作价值,计算差分损失值;基于所述待推荐物品对应的动作价值,以及t时刻的物品交互序列中所有物品对应的动作价值,计算第一损失函数;基于所述待推荐物品对应的动作价值和所述负样本的动作价值,计算第二损失函数;基于所述差分损失值、所述第一损失函数、所述第二损失函数,确定所述目标损失函数。4.根据权利要求3所述的离线物品推荐方法,其特征在于,所述基于所述待推荐物品对应的动作价值和所述负样本的动作价值,计算第二损失函数之前,还包括:基于所述第一动作价值网络输出的所有物品的动作价值采集多个所述负样本;所述负样本为t时刻用户未基于所述负样本进行交互的物品;所述基于所述待推荐物品对应的动作价值和所述负样本的动作价值,计算第二损失函数,包括:基于所述待推荐物品对应的动作价值与所述负样本的动作价值,以正负样本对的方式计算所述第二损失函数。5.根据权利要求2所述的离线物品推荐方法,其特征在于,所述更新所述第一动作价值网络以及所述第二动作价值网络中各自对应的第一参数,包括:更新所述第一动作价值网络的第一参数,得到所述第一动作价值网络更新后的第一参数;基于所述更新后的的第一参数和第二参数,更新所述第二动作价值网络的第一参数,
得到所述第二动作价值网络更新后的第一参数;所述第二参数用于对所述第二动作价值网络的第一参数的更新幅度进行控制。6.根据权利要求2所述的离线物品推荐方法,其特征在于,所述第一动作价值网络和所述第二动作价值网络的结构包括嵌入表示层、状态表示层和输出层,所述状态表示层,分别和所述嵌入表示层和所述输出层连接;所述嵌入表示层,用于为所述交互物品序列中每个物品分配对应的序列向量;所述状态表示层,用于将所述序列向量转化为隐状态向量;所述隐状态向量和所述序列向量的维度相同;所述输出层,用于将所述隐状态向量映射到物品空间,输出所有物品的动作价值。7.一种离线物品推荐装置,其特征在于,包括:获取模块,用于获取用户在当前时刻的交互物品序列;计算模块,用于利用训练好的第一动作价值网络计算所述交互物品序列中所有物品的动作价值;所述动作价值表示用户对所述物品的偏好程度;所述第一动作价值网络为在离线环境下训练得到的;确定模块,用于将所述所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述离线物品推荐方法。9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述离线物品推荐方法。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述离线物品推荐方法。
技术总结
本发明提供一种离线物品推荐方法、装置、设备和存储介质,涉及人工智能技术领域,方法包括:获取用户在当前时刻的交互物品序列;利用训练好的第一动作价值网络计算交互物品序列中所有物品的动作价值;动作价值表示用户对物品的偏好程度;第一动作价值网络为在离线环境下训练得到的;将所有物品的动作价值中最大的动作价值对应的物品确定为推荐物品。本发明提供的方法推荐效率较高,而且由于在离线环境下训练的第一动作价值网络,即可以在无需与真实推荐环境交互的情况下训练第一动作价值网络,训练后的第一动作价值网络的推荐结果较为准确,用户体验较好。用户体验较好。用户体验较好。
技术研发人员:刘瑜 李徵 杨润奇 何友
受保护的技术使用者:清华大学深圳国际研究生院
技术研发日:2023.05.17
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
