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

一种基于联邦学习的序列推荐方法和系统与流程

2022-06-08 13:00:07 来源:中国专利 TAG:


1.本发明涉及推荐方法领域和用户隐私保护领域,尤其涉及一种基于联邦学习的序列推荐方法和系统。


背景技术:

2.随着信息技术不断地发展,互联网上的信息发生了指数型的增长,用户无法快速地在网上寻找到自己想要的信息,由此诞生了个性化推荐技术。目前常见的推荐方法假设用户的喜好是一个静态的过程,即其喜好对于当前的历史数据是基本不变的,因此现有算法基于历史数据使用协同过滤、矩阵因子分解、深度学习等技术来对用户偏好进行建模,来独立地预测每个待推荐项目的评分或者排序,这样的技术方案虽然可解释性较强,能持续不断地给用户提供与其历史浏览/购买物品相似的项目或与其好友浏览/购买相似的项目,但是忽略了用户序列化决策的动态过程。
3.因此,为了实现动态建模以及长期收益的最大化,现有技术引入强化学习来将推荐过程看作一个序列化推荐过程,提出了基于策略或者基于价值的方法。其中,基于策略方法是学习生成策略来直接生成动作,这类方案专注于连续动作空间,在离散和连续动作空间存在不可忽视的鸿沟;基于价值的方法是评估特定状态下所有动作的q值,选择q值最大的动作,因此当动作空间规模较大的情况下,算法效率会变得十分低效。
4.除了考虑推荐的表现效果,数据隐私安全和实时性性能同样作为重要的研究方向,现有比较经典的通用联邦学习算法为fedavg及其相关变形,该类算法的重心关注于在模型服务端以何种方式将参与聚合的模型参数或者梯度信息参与进行聚合,大多采用的是平均或加权平均方法,这样简单的聚合方法容易忽略客户端端模型的个性化,更重要的是,可能会遇到一些模型攻击的潜在威胁,即部分本地模型表现极端或者表现很差,这样简单的平均会影响全局模型的表现性能,尤其是在序列推荐领域,需要更加智能个性化的选择模式和聚合方式。


技术实现要素:

5.本发明针对现有技术的不足,提出了一种基于联邦学习的序列推荐方法和系统,采用了基于自注意力机制的联邦学习范式和深度强化学习的算法,通过本地模型训练和中央参数聚合的方式实现,在保护个人数据隐私的同时,实现对用户的个性化推荐。
6.为了实现上述目的,本发明采用如下技术方案:本发明的第一个目的在于提供一种基于联邦学习的序列推荐方法,包括以下步骤:步骤1:中心服务器预先设置好强化学习模型参数,向参与联邦的客户端发送初始化的强化学习模型参数;所述的强化学习模型包括策略网络和评价网络;步骤2:各个客户端独立观察本地环境状态,收集本地的用户交互数据,存储到本地数据库;
步骤3:各个客户端根据中心服务器发送的强化学习模型参数,加载本地模型,并从本地数据库中读取数据进行预处理操作,利用预处理后的本地数据对本地模型进行训练;所有的客户端均在“状态-行动-奖励-状态”循环中训练各自的本地模型,直到本地训练轮次达到预设轮次或者达到收敛;步骤4:待各个客户端的本地模型收敛后,将随机选中客户端的本地模型参数上传到中心服务器端;将每个选中的客户端的本地模型训练指标作为一个参数组合,采用自注意力机制获取本地模型的权重值,计算上传的本地模型参数的加权值作为全局模型参数,并将全局模型参数传回本地客户端;步骤5:判断联邦学习训练轮次是否达到预设轮次;若是,则将最后一次本地训练结束后得到的本地模型作为各个客户端的个性化本地模型,用于生成符合用户操作习惯的序列化推荐方案;若否,则重复步骤3-4,各个客户端开始下一次的参数上传及迭代训练。
7.本发明的第二个目的在于提供一种基于联邦学习的序列推荐系统,用于实现上述的序列推荐方法。
8.与现有技术相比,本发明的有益效果如下:1)本发明提出了一种能够实现序列化推荐的方法,将用户的个人信息、实时和历史数据都存放在本地,每个客户端能够根据自己的历史数据进行状态表示,捕捉用户与物品之间的交互关系,并基于深度强化学习将推荐过程看做一个序列化决策过程,避免了传统推荐方法的推荐内容同质化问题,充分考虑了用户的个性化偏好随时间动态变化的特性,提高了用户的个性化体验,可应用在商品推荐、电影推荐等业务场景,适用范围广。
9.2)本发明使用联邦学习进行训练学习,使得客户端能够在数据不出本地的前提下,提高采样效率,提升在单一场景下的深度强化学习训练速度,另外来自多方的客户端模型信息也会被聚合在中心服务器,既保护了数据隐私安全,也通过分布式的训练方式提高了采样训练效率。另外,对于新的客户端,在缺乏本地数据集的情况下,可以从中心服务器下载全局模型,获得一个全局最优的“解决方案”,在一定程度上解决了冷启动的问题。
10.3)本发明在联邦学习的聚合算法中引入了注意力机制,考虑到各个客户端提取特征信息的相关性,以及各个客户端的个性化带来的数据差异性,为每一个客户端制定权重系数,其中权重系数是本地模型的所有参数共用的,这是一种细粒度的重新赋权的手段,增加了数据的个性化程度,提高了推荐准确率,更加适合序列推荐领域。
附图说明
11.图1为本发明实施例示出的联邦学习架构示意图;图2为本发明实施例示出的基于联邦学习的序列推荐方法的示意图;图3为本发明实施例示出的基于注意力机制实现全局模型参数聚合的方法。
具体实施方式
12.以下将结合附图和具体实施方式对本发明进行详细说明。
13.本发明提出的联邦学习架构如图1所示,在用户数据和信息不出本地的条件下利
用强化学习进行序列化建模,在本地与中心服务器通信过程中,传输的内容不再是原始数据,而是一定比例客户端的模型参数,解决了数据隐私保护问题和集中式采样效率低下的问题,减少冷启动带来的经济损失,对于大规模推荐场景具有重要意义。
14.如图2所示,基于联邦学习的序列推荐方法主要包括以下步骤:步骤1:中心服务器预先设置好强化学习模型参数,向参与联邦的客户端发送初始化的强化学习模型参数;所述的强化学习模型包括策略网络和评价网络;步骤2:各个客户端独立观察环境状态,收集本地的用户交互数据,存储到本地数据库;步骤3:各个客户端根据中心服务器发送的强化学习模型参数,加载本地模型,并从本地数据库中读取数据并进行数据清洗等数据预处理操作,利用预处理后的本地数据对本地模型进行训练;所有的客户端均在“状态-行动-奖励-状态”循环中训练各自的本地模型;步骤4:待各个客户端的本地模型收敛后,将随机选中客户端的本地模型参数上传到中心服务器端;将每个选中的客户端的本地模型训练指标作为一个参数组合,采用自注意力机制获取各组指标参数的局部权重值,计算上传的本地模型参数的加权值作为全局模型参数,并将全局模型参数传回本地客户端;步骤5:判断联邦学习训练轮次是否达到预设轮次;若是,则将最后一次本地训练结束后得到的本地模型作为各个客户端的个性化本地模型,用于生成符合用户操作习惯的序列化推荐方案;若否,则重复步骤3-4,各个客户端开始下一次的参数上传及迭代训练。
15.在本发明的一项具体实施中,可以每隔一段时间去测试最新的全局模型的性能,通过从本地各个客户端收集部分脱敏数据进行全局模型性能测试,由于这些数据来自各个客户端,因此这些数据集满足平衡性质,各类别都有相当一定的数量。若性能低于预期,说明本地数据库更新较大,用户习惯有所改变,可重复本发明的训练过程来对本地模型进行更新。
16.本发明的测试方法保护了用户的隐私安全。对于每一个客户端来说,用户的个人信息、实时和历史数据都存放在本地数据库。但由于每个客户端只能观察到有限的数据,提取到的数据特征有限,尤其是在数据隐私保护的限制下,不管是环境还是奖励信息,都不足以获得足够的数据来做决策,此时,联邦学习范式使通过聚合的方式来整合这些信息成为可能。在本发明中,每个客户端能够根据本地数据库进行状态建模,捕捉到用户和物品之间的交互关系,各自维护一个策略网络和评价网络。
17.本发明将推荐过程建模成一个顺序决策过程,其中用户与推荐系统呈现的物品进行交互,本地客户端将历史时间段内带有时间戳的用户交互数据收集到本地数据库中,假设该数据为用户一段时间连续点击的物品,记为《显示器,电脑,鼠标,

》,表示为项目信息;同时记录用户个人信息,例如年龄、姓名、喜好等。所述的项目信息和个人信息共同构成用户交互数据。
18.在本发明的一项具体实施中,利用本地用户交互数据对本地模型进行训练的过程,具体为:
步骤3.1:对用户交互数据进行预处理,例如采用词嵌入方法,得到用户嵌入向量u_i和项目嵌入向量{i_b|b=1,2,...,n};其中,u_i表示第i个用户的嵌入向量,i_b表示第i个用户的第b个项目的嵌入向量,n表示项目的数量。
19.本发明中,根据设定的时间戳,将最近若干个用户嵌入向量和项目嵌入向量作为策略网络的输入,首先利用状态表示模块得到用户的状态向量s。
20.上述状态表示模块的数据处理过程为:a. 对项目嵌入向量{i_b|b=1,2,...,n}进行加权元素级相乘后进行平均池化,得到池化后的项目嵌入向量{g(i_b)|b=1,2,...,n},其中{g(i_b)=ave(w_b*i_b)|b=1,2,...,n}表示第i个用户的第b个项目的加权平均嵌入向量,g(.)表示加权平均池化操作,w_b表示第b个项目的权重,ave(.)表示计算每一个项目占所有项目加权和的比例;b. 对用户嵌入向量u_i和项目的加权平均嵌入向量{g(i_b)|b=1,2,...,n}连接起来,得到引入个人信息的项目嵌入向量;c. 将用户嵌入向量、引入个人信息的项目嵌入向量、池化后的项目嵌入向量拼接,作为状态表示模块的输出,即;所述的状态表示模块输出的状态向量s依次经过relu和tanh激活层,转化为动作信息向量a,a是维向量,其输出格式是由连续参数向量表示的排序函数,用于在后续计算项目的排名分数:score_t=i_t*a
t
;其中,i_t表示t时刻的候选项目,score_t表示候选项目的分数,上角标t表示转置。
21.在评价网络中,其输入对象是状态表示模块生成的状态表示s,以及激活层输出的动作信息向量a;所述的状态表示s经relu激活层转化后再与动作信息向量a进行拼接,拼接向量依次经relu和tanh激活层得到q值,其为标量。在训练过程中,根据q值大小来更新策略网络的参数,直至收敛。
22.如前所述,本地客户端利用用户与推荐系统的交互历史作为训练数据。在此过程中,推荐系统会根据当前策略和当前状态采取一定的行动,从用户处获得反馈(奖励)r_t,并将用户状态更新为s_{t 1}。在这项工作中,本发明使用深度确定性策略梯度(ddpg)算法来训练本地的强化学习算法。具体来说,在时间步长t中,训练过程主要包括两个阶段:第一阶段,推荐系统观察由状态表示模块计算出的当前状态s_t,然后基于-贪婪的探索方式,根据当前策略生成下一得分最高(根据等式:score_t=i_t a
t
)的动作。
23.随后,可以根据用户对其推荐项目的反馈来计算奖励r_t=r(s_t,a_t),并更新用户状态s_t 1=f{h_(t 1)}。如果r_t是正反馈,则h_t={i_1, ..., i_n,i_t},否则h_(t 1)=h_t。
24.最后,推荐系统将状态转换过程{s_t, a_t, r_t, s_(t 1)}存储到重放缓冲区d中。
25.第二阶段,模型更新中,推荐系统使用优先经验重放采样技术,根据损失函数对策略网络和评价网络的参数进行更新。
26.在本发明的一项具体实施中,损失函数为:
其中,这里采用小批量策略(mini-batch strategy),n表示批量大小(batch size),上述损失函数表示每次迭代使用n个样本来对参数进行更新,总共进行e轮迭代,e表示本地模型的训练轮次,yi是第i个样本总的实际奖励,qw(.)是预期奖励,si是第i个样本对应的状态向量,ai是第i个样本对应的动作信息向量。
27.小批量策略的梯度下降可以利用矩阵和向量计算进行加速,还可以减少参数更新的方差,得到更稳定的收敛。当本地模型经过设定轮次迭代达到收敛之后,本发明采用自注意力机制来进行全局模型的参数聚合,可以倾注更多的注意力在性能更好的模型上,同时也可以避免性能较差甚至存在有攻击风险的本地模型对全局模型造成不利的影响。
28.将全局模型的参数聚合过程进行形式化定义如下:其中,r表示选中的需要上传参数的本地客户端集合,f(.)表示全局模型损失,w
t
是全局模型中的策略网络的参数,是全局模型中的评价网络的参数,l_r (.)表示第r个本地模型的损失函数,是第r个本地模型中的策略网络的参数,是第r个本地模型中的评价网络的参数,w_r是第r个本地模型的权重。
29.如图3所示,对于每个选中的客户端智能体,利用注意力机制对不同的智能体赋予不同的权重w_r,用于衡量每个客户端对全局模型的贡献。权重w_r是基于以下本地模型训练指标利用注意力机制生成的,过程如下:定义本地模型训练指标向量。
30.其中,为第r个本地模型的平均奖励,由e轮本地更新中所得奖励计算均值得到;为第r个本地模型的平均损失,由e轮本地更新中所得损失函数值计算均值得到;m_r是第r个本地模型的经验重放内存的大小,对于拥有更多内存资源的客户端,它们可以将更多的训练数据存储到回放内存中;m_r是第r个本地模型的训练批数据大小,对于有更多的计算能力的智能体,它们可以在一个本地训练过程中训练更多的数据;为第r个本地模型的平均准确率,由e轮本地更新中所得的准确率计算均值得到。
31.引入自注意力机制用于全局模型的参数聚合,期待得到更加强大的智能体,获得更多的奖励,更少的损失和更高的准确率。将每一个选中的本地模型训练指标向量k_r作为注意力机制的键向量,将每一个选中的本地模型参数作为注意力机制的值向量v_r,定义注意力机制的查询向量q:其中,表示第r个本地模型,maxr表示在r个本地模型指标中取最大值,minr表示在r个本地模型指标中取最小值。
32.在自注意力机制中,首先计算每一个本地模型的权重:其中,d_k是训练指标向量k_r的维度。
33.再将每一个本地模型参数代表的值向量v_r和权重w_r进行加权计算,得到全局模型参数 和,本发明可以获得相比传统fedavg算法性能更加优越的全局模型。
34.各个客户端在本地使用过程中,将本地数据库中最近时间段的用户交互数据经上述同样的方法进行预处理后作为训练好的本地模型中的策略网络的输入,根据候选项目的排名分数输出推荐结果。本发明使用深度强化学习进行模型的训练学习,再通过联邦学习的范式,使得各个客户端能够根据模型实现个性化推荐。本地模型利用策略-评价网络来建模用户和推荐系统之间的交互,这个过程可以认为是动态适应和长期奖励,实现了用户的个性化体验。
35.与前述的一种基于联邦学习的序列推荐方法的实施例相对应,本技术还提供了一种基于联邦学习的序列推荐系统的实施例,其包括:中心服务器初始化模块,其用于在中心服务器中预先设置好强化学习模型参数,向参与联邦的客户端发送初始化的强化学习模型参数;所述的强化学习模型包括策略网络和评价网络;本地数据库模块,其分布在每一个独立的客户端中,用于收集本地的用户交互数据;本地模型训练模块,其分布在每一个独立的客户端中,用于根据中心服务器发送的强化学习模型参数,加载本地模型,并从本地数据库模块中读取数据进行预处理操作,利用预处理后的本地数据对本地模型进行训练;数据传输模块,其用于将随机选中的客户端的本地模型参数上传到中心服务器端,并用于将中心服务器端聚合后的全局模型参数下传到本地模型训练模块;自注意力模块,其用于获取每个选中的客户端的本地模型训练指标,计算上传的本地模型参数的加权值作为全局模型参数。
36.本实施例中,所述的本地模型训练模块中内置计数器,用于判断本地训练轮次是否达到预设轮次;若是,则将最后一次本地训练结束后得到的本地模型作为各个客户端的个性化本地模型,用于生成符合用户操作习惯的序列化推荐方案;若否,则继续将随机选中的本地模型参数利用数据传输模块上传至中心服务器端。
37.关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
38.对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,各个模块可以是或者也可以不是物理上分开的。另外,在本发明中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的
模块或单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现,以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。
39.以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献