一种基于表示与度量的用户个性化强化学习推荐系统

文档序号:37123016发布日期:2024-02-22 21:30阅读:15来源:国知局
一种基于表示与度量的用户个性化强化学习推荐系统

本发明涉及一种基于表示与度量的用户个性化强化学习推荐系统,涉及图像的表示学习、强化学习和推荐系统。


背景技术:

1、强化学习,是通过建模马尔可夫决策过程,计算状态转移的价值并进行策略寻优的学习方式。强化学习过程中需要包含的核心元素包括:状态,动作,奖励,状态转移等。当很难从一个环境中直接获取状态的表示,而是只能得到一个状态的观测时,该环境中的决策可以被称为部分可观测马尔可夫决策过程。常用的方法是通过将观测输入一个编码器,得到一个关于状态的隐变量,然后再进行传统的强化学习过程。借助强化学习,可以在任一状态下给出依据策略选择的最优动作,该动作可以给接下来的决策带来最优的收益。

2、表示学习一般就是将原数据表示为一个隐变量的过程,一种表示做得越好,其包含原数据中的信息就越完善,对于模型的训练就越有帮助。通过表示学习,可以得到一些便于计算的向量,进而可以实现降维、相似度计算等操作。

3、度量学习主要是通过计算变量之间的距离,挖掘变量之间的关系。除了计算单一距离,还存在许多结合多种度量方式的多度量学习,多度量学习通常可以更好地刻画变量关系。

4、回放缓存是强化学习,尤其是深度强化学习算法中常用的技巧,主要用于消除数据局部关联性、稳定神经网络训练、提高样本效率;而作为强化学习中的监督信号,奖励函数的设计对强化学习的算法性能极为重要,奖励函数本身应该能更好地反映任务的进行程度并对算法的策略加以评判。

5、现有的主流强化学习算法以及使用强化学习进行推荐的系统中,大多数在回放缓存时依然使用先进先出的一般队列结构,并进行均匀采样,没有根据当前的策略对缓存中的序列进行选择。这将导致一系列问题,例如推荐系统中部分对当前策略没有提升的数据被重新展示到系统界面,而部分对当前策略提升较大的数据则无法被更多地回放,从而降低系统模型的性能上限,减缓策略提升速度,使得推荐系统推荐的内容个性化减弱。


技术实现思路

1、发明目的:针对现有技术中存在的问题与不足,本发明提供一种基于表示与度量的用户个性化强化学习推荐系统。

2、通过对回放缓存进行改进,可以实现更加贴近用户习惯的策略训练方式。使用表示学习的方法,可以便于度量不同用户数据的相似性;而通过对回放缓存和交互范式进行创新,可以帮助强化学习提升性能,并实现更好的用户个性化推荐。

3、技术方案:一种基于表示与度量的用户个性化强化学习推荐系统,接受商品图像输入并获得图像的表征,将在线收集用户数据过程与离线策略训练过程相结合。在线收集数据过程中,该推荐系统基于用户的点击行为和浏览时间生成强化学习的奖励值,且允许用户自行搜索并引入新数据;离线策略训练过程中,通过度量不同序列(实时的商品表征历史数据o_t’与缓存中的旧历史数据)的相似性对缓存中的序列进行排序,并依据优先级采样回放,训练强化学习策略模型。

4、包括在线收集用户数据模块和离线策略训练及执行推荐模块;

5、在线收集用户数据模块,用于获取推荐商品与用户操作的在线交互过程中的数据,在线收集用户数据模块的执行流程具体为:

6、步骤100,从系统数据库中获取大量用户的使用数据,使用一般的强化学习算法进行预训练,得到一个强化学习预训练模型,并将该强化学习预训练模型使用的有关商品数据存入一个数据集中,作为符合普通大众用户偏好的基础数据集。

7、步骤101,初始化交互时间步t为1,并随着每次用户在商品界面的操作结束且退出界面时增加1;

8、步骤102,在离线策略训练及执行推荐模块的离线策略训练过程结束后根据上一轮中包含用户反馈的历史数据o_(t-1)给出新的推荐商品集a_t;如果此时t=1,则根据强化学习预训练模型给出推荐商品集。

9、步骤103,通过用户浏览交互界面推送商品;用户可以选择点击界面中的商品,自行搜索并点击一个商品,或者不进行任何操作。

10、步骤104,检查用户是否点击过任何商品。如果没有,则直接跳到步骤109的奖励函数,对强化学习的策略给予反馈,否则继续向下进入步骤105进行数据的收集。

11、步骤105,检查用户是否自行搜索过商品。如果有,则进入步骤106,否则跳转到步骤107。

12、步骤106,将用户搜索的新商品p_t加入到步骤100中的数据集中,便于重置针对不同用户的强化学习预训练模型。

13、步骤107,将用户点击的商品与历史数据o_t拼接起来,该商品可以是数据库中已有的商品,标记为i_t,或者是用户自行搜索的新商品,标记为p_t。

14、步骤108,将拼接后的数据输入到编码器中,得到新的历史数据o_t’。这里的编码器是用于得到历史数据的一种表示,本发明的实现方式为:先通过一个预训练的卷积神经网络提取当前用户操作的商品图像的特征,然后将这些特征组合为一个向量,再输入至具有注意力机制和池化层的网络中得到。

15、步骤109,根据用户的点击行为,使用奖励函数生成反馈值。奖励函数要同时考虑用户的点击行为和浏览时间。rt=f(ct)+g(et),其中f(ct)需要检查用户的点击行为ct,若未点击则给出一个较大的负的奖励值(如-1),若点击了自行搜索的商品则给出一个较小的负奖励值(如-0.5),否则给出一个正的奖励值(如+1)。而g(et)函数与浏览时间et正相关,一般来说,用户浏览界面的时间越长,可能表示其对当前页面的商品比较感兴趣,因此即使用户最后没有点击行为,但依然可以根据用户对界面的浏览时间给出一个奖励值。可以给定一个基准的时间值t0,如15秒,然后计算用户在界面的浏览时间与这一基准时间值的比值ρ=tt/t0,进而将这个比值归一化得到一个与浏览时间有关的奖励值。有关的基准时间值在应用时可以根据情况进行不同的选择。在生成奖励值后,将该奖励值拼接至序列中,输入到离线策略训练过程中。

16、离线策略训练及执行推荐模块执行离线策略训练过程和商品信息推荐,具体流程为:

17、步骤200,与步骤100相同,为了展示流程的顺序在这里也同样给出;

18、步骤201,上一轮交互后,历史观测序列o_t通过推荐一个商品集a_t,得到一个由奖励函数计算得到的奖励值r_t,并将用户点击的商品与o_t拼接在一起得到新的历史观测序列o_t’。将上述操作得到的序列(o_t,a_t,r_t,o_t’)加入到回放缓存中,以便后续训练时使用;

19、步骤202,检查回放缓存是否达到设定的最低容量。一般在使用时需要回放缓存达到一定的容量才可以用来进行训练,因此需要先收集一定数量的序列。对于本发明来说,最低容量选取的数值不宜太大,一般为数据库中数据量的1/1000左右,否则会影响强化学习初始的训练。如果未达到最低容量,则跳转至步骤208,否则可以开始训练,进入到步骤203;

20、步骤203,对于缓存中的历史序列,度量所有历史序列数据与当前用户交互后的序列的相似度,例如使用两个向量的范数等,然后根据相似度组织一个优先队列的数据结构,对所有历史数据进行排序。

21、步骤204,检查回放缓存是否达到最大容量。出于实际应用要求,需要限制回放缓存的容量,若在将当前序列存储进缓存之后超出最大容量,则进入步骤205,否则跳转至步骤206。

22、步骤205,在缓存达到最大容量后,将与当前序列最不相似的历史数据移出缓存,保持缓存的固定大小。

23、步骤206,为了使用经验数据进行训练,需要从缓存中采样出k个序列输入给策略网络。可以选择只使用与当前序列最相似的前k个经验数据,也可以选择其他的方法。例如,为了保证有概率抽取到每个序列,赋予每条序列一定的概率,这个概率的计算与优先级有关。

24、步骤207,使用上一步中采样得到的k条经验数据序列更新强化学习算法,且这k条经验序列中要包含最新的序列,最新的序列即步骤201中的序列数据。强化学习算法有多种选择,如sac或者其他实现策略更新的算法,最好是使用随机性策略的算法。

25、步骤208,更新强化学习策略后,依据策略计算出动作,即得到新的推荐商品集a_t。当从步骤202跳转到这步时,使用的策略是未更新过的策略。

26、有益效果:与现有技术相比,本发明较好地结合了推荐系统与强化学习的学习范式,并采用表示学习以接受商品图像输入,将图像的表示进行拼接得到的历史商品数据作为强化学习中的状态,同时度量不同历史数据与同策略数据的相似度,并根据这个相似度组织了一个按照优先级存储的回放缓存。本发明考虑到了用户行为的多样性,允许接受用户自己搜索的固定数据集外的数据。在设计奖励函数时,同时考虑了用户的点击行为和页面的浏览时间,因此增加了奖励的信息量,有助于强化学习的策略更新。本发明设计的推荐系统比较符合一般用户的使用习惯,可以给出比较好的推荐。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1