一种模型训练、对象推荐方法、装置、设备及存储介质与流程
未命名
08-29
阅读:81
评论:0

1.本技术涉及机器学习技术领域,尤其涉及一种模型训练、对象推荐方法、装置、设备及存储介质。
背景技术:
2.随着数字化进程越来越快,日常生活和工作中会产生大量的数据,而这些数据分布在各个具体场景的系统中。目前,各个系统通过机器学习技术建立机器学习模型,将该系统中的数据作为样本进行训练,挖掘数据中的相关信息。
3.但机器学习模型初始训练成本较高且非常耗时,如果没有充足的数据,会导致机器学习模型的精确性较低,无法达到预期的效果。若获取其他系统中的数据作为训练样本,可能存在隐私泄露、行政手续复杂等问题。
4.现有技术中,若系统中样本数据较少,导致所建立的机器学习模型精确度不高。
技术实现要素:
5.本技术提供一种模型训练、对象推荐方法、装置、设备及存储介质,用以解决利用自身系统中的用户数据所建立的机器学习模型精确度不高的问题。
6.第一方面,本技术提供一种模型训练方法,包括:
7.获取至少两个服务器发送的至少两个用户标识集合,所述用户标识集合中包括多个加密后的用户标识;
8.将所述至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识;
9.向所述至少两个服务器发送所述多个目标用户标识和初始模型参数;
10.接收所述至少两个服务器发送的至少两个中间模型参数,根据所述至少两个中间模型参数确定目标模型参数;所述中间模型参数为所述服务器根据所述初始模型参数对所述多个目标用户标识对应的用户数据进行训练得到的,所述用户数据包括历史消费记录;
11.根据所述目标模型参数确定目标模型,所述目标模型用于确定用户对各对象的兴趣程度。
12.在一种可能的实施方式中,接收所述至少两个服务器发送的至少两个中间模型参数,根据所述至少两个中间模型参数确定目标模型参数,包括:
13.接收所述至少两个服务器发送的至少两个第i中间模型参数,并根据所述至少两个第i中间模型参数,确定目标模型的第i更新模型参数;
14.若所述第i更新模型参数未使所述目标模型收敛,向所述至少两个服务器发送所述第i更新模型参数;
15.其中,所述i依次取1、2、3、
……
,直至第i更新模型参数使所述目标模型的损失参数收敛时,将所述第i更新模型参数确定为所述目标模型参数。
16.在一种可能的实施方式中,根据所述至少两个第i中间模型参数,确定目标模型的
第i更新模型参数,包括:
17.对所述多个第i梯度值进行加权处理,得到多个第i加权梯度值,并对所述多个第i加权梯度值进行聚合处理,得到第i总梯度值;
18.对所述多个第i损失值进行加权处理,得到多个第i加权损失值;并对所述多个第i加权损失值进行聚合处理,得到第i总损失值;
19.根据所述第i总梯度值和所述第i总损失值,确定目标模型的第i更新模型参数。
20.在一种可能的实施方式中,根据所述第i总梯度值和所述第i总损失值,确定目标模型的第i更新模型参数,包括:
21.根据所述第i总梯度值,确定第i平均梯度值;
22.根据所述第i总损失值,确定第i平均损失值;
23.根据所述第i平均梯度值和所述第i平均损失值,确定目标模型的第i更新模型参数。
24.在一种可能的实施方式中,所述至少两个服务器包括第一服务器和至少一个第二服务器;获取至少两个服务器发送的至少两个用户标识集合,包括:
25.接收所述第一服务器发送的第一用户标识集合,所述第一用户标识集合为所述第一服务器采用第一加密算法加密后的数据;
26.接收所述至少两个第二服务器发送的至少一个第二用户标识集合,所述第二服务器为所述第一服务器的合作服务器,所述第二用户标识集合为所述第二服务器采用所述第一加密算法加密后的数据;
27.确定所述至少两个用户标识集合包括所述第一用户标识集合和所述至少一个第二用户标识集合。
28.在一种可能的实施方式中,接收所述第一服务器发送的第一用户标识集合,以及接收所述至少两个第二服务器发送的至少一个第二用户标识集合之前,还包括:
29.获取所述第一服务器发送的模型训练任务;
30.根据所述模型训练任务,在多个服务器中确定所述至少一个第二服务器;
31.根据所述模型训练任务,确定所述初始模型参数。
32.第二方面,本技术提供一种对象推荐方法,包括:
33.确定第一对象的对象信息;
34.获取多个用户的多个用户数据;
35.根据目标模型对所述对象信息和所述多个用户数据进行处理,以在所述多个用户中确定目标用户,所述目标用户对所述第一对象的兴趣程度大于或等于预设阈值,所述目标模型为根据第一方面任一项所述的模型训练方法训练得到的;
36.向所述目标用户对应的设备发送所述第一对象的对象信息。
37.在一种可能的实施方式中,根据目标模型对所述对象信息和所述多个用户数据进行处理,以在所述多个用户中确定目标用户,包括:
38.根据目标模型对所述对象信息和所述多个用户数据进行处理,得到每个用户对所述第一对象的兴趣程度;
39.将所述多个用户中、对所述第一对象的兴趣程度大于或等于所述预设阈值的用户,确定为所述目标用户。
40.第三方面,本技术提供一种模型训练装置,包括:
41.接收模块,用于获取至少两个服务器发送的至少两个用户标识集合,所述用户标识集合中包括多个加密后的用户标识;
42.第一确定模块,用于将所述至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识;
43.发送模块,用于向所述至少两个服务器发送所述多个目标用户标识和初始模型参数;
44.接收模块,还用于接收所述至少两个服务器发送的至少两个中间模型参数;
45.第二确定模块,用于根据所述至少两个中间模型参数确定目标模型参数;所述中间模型参数为所述服务器根据所述初始模型参数对所述多个目标用户标识对应的用户数据进行训练得到的,所述用户数据包括历史消费记录;
46.第三确定模块,用于根据所述目标模型参数确定目标模型,所述目标模型用于确定用户对各对象的兴趣程度。
47.在一种可能的实施方式中,所述接收模块具体用于:
48.接收所述至少两个服务器发送的至少两个第i中间模型参数;
49.所述第二确定模块,具体用于:
50.根据所述至少两个第i中间模型参数,确定目标模型的第i更新模型参数;
51.若所述第i更新模型参数未使所述目标模型收敛,向所述至少两个服务器发送所述第i更新模型参数;
52.其中,所述i依次取1、2、3、
……
,直至第i更新模型参数使所述目标模型的损失参数收敛时,将所述第i更新模型参数确定为所述目标模型参数。
53.在一种可能的实施方式中,所述第二确定模块,具体用于:
54.对所述多个第i梯度值进行加权处理,得到多个第i加权梯度值,并对所述多个第i加权梯度值进行聚合处理,得到第i总梯度值;
55.对所述多个第i损失值进行加权处理,得到多个第i加权损失值;并对所述多个第i加权损失值进行聚合处理,得到第i总损失值;
56.根据所述第i总梯度值和所述第i总损失值,确定目标模型的第i更新模型参数。
57.在一种可能的实施方式中,所述第二确定模块,具体用于:
58.根据所述第i总梯度值,确定第i平均梯度值;
59.根据所述第i总损失值,确定第i平均损失值;
60.根据所述第i平均梯度值和所述第i平均损失值,确定目标模型的第i更新模型参数。
61.在一种可能的实施方式中,所述至少两个服务器包括第一服务器和至少一个第二服务器;所述接收模块还用于:
62.接收所述第一服务器发送的第一用户标识集合,所述第一用户标识集合为所述第一服务器采用第一加密算法加密后的数据;
63.接收所述至少两个第二服务器发送的至少一个第二用户标识集合,所述第二服务器为所述第一服务器的合作服务器,所述第二用户标识集合为所述第二服务器采用所述第一加密算法加密后的数据;
64.确定所述至少两个用户标识集合包括所述第一用户标识集合和所述至少一个第二用户标识集合。
65.在一种可能的实施方式中,所述接收模块还用于:
66.获取所述第一服务器发送的模型训练任务;
67.所述装置还包括:第四确定模块;所述第四确定模块用于:
68.根据所述模型训练任务,在多个服务器中确定所述至少一个第二服务器;
69.根据所述模型训练任务,确定所述初始模型参数。
70.第四方面,本技术提供一种对象推荐装置,包括:
71.第一处理模块,用于确定第一对象的对象信息;
72.获取模块,用于获取多个用户的多个用户数据;
73.第二处理模块,用于根据目标模型对所述对象信息和所述多个用户数据进行处理,以在所述多个用户中确定目标用户,所述目标用户对所述第一对象的兴趣程度大于或等于预设阈值,所述目标模型为根据第一方面任一项所述的模型训练方法训练得到的;
74.发送模块,用于向所述目标用户对应的设备发送所述第一对象的对象信息。
75.在一种可能的实施方式中,所述第二处理模块具体用于:
76.根据目标模型对所述对象信息和所述多个用户数据进行处理,得到每个用户对所述第一对象的兴趣程度;
77.将所述多个用户中、对所述第一对象的兴趣程度大于或等于所述预设阈值的用户,确定为所述目标用户。
78.第五方面,本技术提供一种数据处理设备,包括:处理器,以及与所述处理器通信连接的存储器;
79.所述存储器存储计算机执行指令;
80.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面任一项所述的模型训练方法。
81.第六方面,本技术提供一种数据处理设备,包括:处理器,以及与所述处理器通信连接的存储器;
82.所述存储器存储计算机执行指令;
83.所述处理器执行所述存储器存储的计算机执行指令,以实现如第二方面任一项所述的对象推荐方法。
84.第七方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的模型训练方法。
85.第八方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第二方面任一项所述的对象推荐方法。
86.第九方面,本技术实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的模型训练方法。
87.第十方面,本技术实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第二方面任一项所述的对象推荐方法。
88.本技术提供的一种模型训练、对象推荐方法、装置、设备及存储介质,通过获取至少两个服务器发送的至少两个用户标识集合,将至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识,向至少两个服务器发送多个目标用户标识和初始模型参数,向至少两个服务器发送多个目标用户标识和初始模型参数,根据目标模型参数确定目标模型。本技术在不泄露用户隐私数据的情况下,综合评估了用户在多个业务系统中的用户数据,建立了目标模型,提高了目标模型的精确度,同时也保障了用户的数据安全。
附图说明
89.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
90.图1为本技术实施例提供的一种应用场景示意图;
91.图2为本技术实施例提供的一种模型训练方法的流程示意图;
92.图3为本技术实施例提供的另一种模型训练方法的流程示意图;
93.图4为本技术实施例提供的一种对象推荐方法的流程示意图;
94.图5为本技术实施例提供的一种信用卡推荐场景的流程示意图;
95.图6为本技术实施例提供的一种模型训练装置的结构示意图;
96.图7为本技术实施例提供的一种对象推荐装置的结构示意图;
97.图8为本技术实施例提供的一种电子设备的结构示意图。
98.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
99.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
100.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
101.需要说明的是,本技术一种模型训练、对象推荐方法和装置可用于机器学习技术领域,也可用于除机器学习技术领域之外的任意领域,本技术一种模型训练、对象推荐方法和装置的应用领域不做限定。
102.现有技术中,若系统中样本数据较少,导致所建立的机器学习模型精确度不高。
103.为了解决上述技术问题,本技术实施例提供了一种应用场景示意图,请参见图1。本技术的应用场景包括:本地服务器、中间服务器和多个协作服务器。
104.本地服务器可以向用户提供一具体业务,在提供该业务的服务过程中,本地服务器生成用户数据,并存储用户数据。例如,本地服务器中可以部署支付系统,可以向用户提
供支付业务。
105.协作服务器可以向用户提供另一具体业务,在提供该业务服务的过程中,协作服务器生成用户数据,并存储用户数据。例如,协作服务器中可以部署购物系统,可以向用户提供购物业务。
106.中间服务器可以从本地服务器和协作服务器获取加密后的用户数据,基于多个加密的用户数据,找到共同用户,并将共同用户和初始化模型参数发送至共同用户对应的服务器中,以使对应服务器基于初始化模型参数和共同用户数据进行模型训练,并将模型训练结果发送至中间服务器,中间服务器对多个模型训练结果进行整合,得到目标模型。例如,若支付系统和购物系统中存在共同用户,可以在支付系统和购物系统中分别对共同用户的用户数据进行训练,并将多个训练结果发送至中间服务器,中间服务器基于多个训练结果训练目标模型,该目标模型则是基于用户在支付系统和购物系统中的用户数据进行训练的,扩大了数据样本的维度。
107.本技术实施例提供了一种模型训练方法,中间服务器确定本地服务器和至少一个协作服务器中的共同用户,使各个服务器基于存储在各个服务器中共同用户的用户数据进行模型训练,并将多个训练结果发送给中间服务器,中间服务器基于多个训练结果,建立目标模型。本技术在不泄露用户隐私数据的情况下,综合评估了用户在多个系统中的用户数据,建立了目标模型,提高了目标模型的精确度。
108.图2为本技术实施例提供的一种模型训练方法的流程示意图。本技术实施例的执行主体可以为中间服务器,也可以为设置在中间服务器中的模型训练装置。模型训练装置可以通过软件实现,也可以通过软件和硬件的结合实现。请参见图2,该方法包括:
109.s201、获取至少两个服务器发送的至少两个用户标识集合。
110.在本步骤中,用户标识集合中包括多个加密后的用户标识。其中,在不同服务器中,同一用户的用户标识可以是唯一存在的。本技术对用户标识的形式并不做限定。
111.例如,各个服务器可以对用户实名认证,用户标识可以为进行实名认证的证件号。
112.至少两个服务器可以对各自的用户标识采用相同的加密算法进行加密操作,再各自将多个加密后的用户标识发送至中间服务器中,中间服务器可以获取至少两个服务器发送的至少两个用户标识集合。
113.其中,同一用户在不同服务器中用户标识相同,并且不同服务器的用户标识也采用相同的加密算法进行加密。不同服务器中同一用户加密后的用户标识是相同的。
114.s202、将至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识。
115.在本步骤中,可以对至少两个服务器发送的多个加密后的用户标识进行比对,将多个用户标识集合中分别存在的用户标识确定为多个目标用户标识。这样可以针对同一用户确定其在不同服务器中的用户数据信息,增加用户数据信息维度,使用户数据信息的维度更加全面。
116.s203、向至少两个服务器发送多个目标用户标识和初始模型参数。
117.在本步骤中,初始模型参数可以为目标模型的初始化参数。可以根据所确定的多个目标用户标识,向至少两个服务器发送多个目标用户标识和初始模型参数,以使对应的服务器可以基于发送的目标用户标识,确定目标用户对应的用户数据,并基于初始模型参
数和目标用户的用户数据进行模型训练。
118.例如,用户数据包括历史消费记录、用户行为数据等,在此不做限定。
119.s204、接收至少两个服务器发送的至少两个中间模型参数,根据至少两个中间模型参数确定目标模型参数。
120.在本步骤中,中间模型参数可以为服务器根据初始模型参数对多个目标用户标识对应的用户数据进行训练得到的。多个服务器可以向中间服务器发送各自基于初始模型参数和目标用户的用户数据进行模型训练的中间模型参数,中间服务器接收至少两个服务器发送的至少两个中间模型参数,根据至少两个中间模型参数,对目标模型进行训练。该过程可重复多次,直至目标模型收敛,确定目标模型参数。
121.可选地,可以将所确定的目标模型参数发送至各个服务器中,使各个服务器确定目标模型。
122.s205、根据目标模型参数确定目标模型。
123.在本步骤中,目标模型用于确定用户对各对象的兴趣程度。中间服务器可以根据多个中间模型参数所确定的目标模型参数,使目标模型收敛,确定目标模型。
124.本实施例提供的模型训练方法,通过获取至少两个服务器发送的至少两个用户标识集合,将至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识,向至少两个服务器发送多个目标用户标识和初始模型参数,向至少两个服务器发送多个目标用户标识和初始模型参数,根据目标模型参数确定目标模型。本技术在不泄露用户隐私数据的情况下,综合评估了用户在多个系统中的用户数据,建立了目标模型,提高了目标模型的精确度。
125.下面,以多个服务器包括第一服务器和第二服务器为例,结合图3,对上述模型训练方法进行说明。
126.图3为本技术实施例提供的另一种模型训练方法的流程示意图。在上述实施例的基础上,可参见图3,对该方法进行详细说明。该方法包括:
127.s301、获取第一服务器发送的模型训练任务。
128.在本步骤中,第一服务器可以为发起模型训练任务请求的发起方,第一服务器中的用户数据可能存在一定的局限性,无法精确建立目标模型。第一服务器可以向中间服务器发送模型训练任务,以使中间服务器基于模型训练任务,联合多个服务器进行模型训练。
129.s302、根据模型训练任务,在多个服务器中确定至少一个第二服务器。
130.在本步骤中,第二服务器为第一服务器的合作服务器。可以根据第一服务器发送的模型训练任务,在所关联的多个服务器中确定符合模型训练任务的至少一个第二服务器。
131.s303、根据模型训练任务,确定初始模型参数。
132.在本步骤中,可以根据第一服务器发送的模型训练任务,确定目标模型类型;根据目标模型类型,初始化目标模型;根据初始化目标模型,确定初始模型参数。其中,目标模型类型在此不做限定。
133.s304、接收第一服务器发送的第一用户标识集合。
134.在本步骤中,第一用户标识集合为第一服务器采用第一加密算法加密后的数据。
135.第一服务器可以从本地数据库中读取用户数据,用户数据包括历史消费记录、历
史浏览记录、历史收藏记录等,在此不做限定。第一服务器可以对用户数据进行预处理,得到用户数据对应的用户特征向量。预处理包括以下至少一种操作:数据清洗、离散化和归一化。其中,数据清洗包括填写缺失的值,光滑噪声数据,识别或删除离群点。离散化包括对行业标签这类文字类型的离散数据进行编码,处理成数字形式的编号。归一化包括对企业规模等数值型数据进行归一化,使得最终的向量落在[0,1]区间中,降低计算误差。
[0136]
第一服务器可以基于用户特征向量,确定用户特征向量对应的第一用户标识集合,对第一用户标识集合采用第一加密算法进行加密,将加密后的第一用户标识集合发送给中间服务器。
[0137]
s305、接收至少两个第二服务器发送的至少一个第二用户标识集合。
[0138]
在本步骤中,第二用户标识集合为第二服务器采用第一加密算法加密后的数据。
[0139]
第二服务器可以基于与第一服务器相同的操作,在此不赘述。第二服务器可以确定用户特征向量对应的第二用户标识集合,并对第二用户标识集合采用第一加密算法进行加密,将加密后的第二用户标识集合发送给中间服务器。
[0140]
s306、确定至少两个用户标识集合包括第一用户标识集合和至少一个第二用户标识集合。
[0141]
在本步骤中,在预设时间内,确定第一服务器发送的第一用户标识集合和至少一个第二服务器发送的第二用户标识集合,其中,第一用户标识集合和第二用户标识集合均采用第一加密算法进行加密操作。
[0142]
s307、将至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识。
[0143]
s307的执行过程可以参见s202的执行过程,此处不再进行赘述。
[0144]
s308、向至少两个服务器发送多个目标用户标识和初始模型参数。
[0145]
s308的执行过程可以参见s203的执行过程,此处不再进行赘述。
[0146]
s309、将i初始化为1。
[0147]
s310、接收至少两个服务器发送的至少两个第i中间模型参数,并根据至少两个第i中间模型参数,确定目标模型的第i更新模型参数。
[0148]
在本步骤中,i取整数。接收第一服务器和至少一个第二服务器发送的至少两个第i中间模型参数,第i中间模型参数是第一服务器或第二服务器基于目标用户标识对应的用户特征向量作为训练样本进行模型训练所得到的中间训练结果。将至少两个第i中间模型参数进行聚合处理,确定目标模型的第i更新模型参数。
[0149]
可选地,可通过如下方式确定目标模型的第i更新模型参数:对多个第i梯度值进行加权处理,得到多个第i加权梯度值,并对多个第i加权梯度值进行聚合处理,得到第i总梯度值;对多个第i损失值进行加权处理,得到多个第i加权损失值;并对多个第i加权损失值进行聚合处理,得到第i总损失值;根据第i总梯度值,确定第i平均梯度值;根据第i总损失值,确定第i平均损失值;根据第i平均梯度值和第i平均损失值,确定目标模型的第i更新模型参数。
[0150]
s311、判断第i更新模型参数是否使目标模型收敛。
[0151]
若是,则执行s312。
[0152]
若否,则执行s313。
[0153]
在本步骤中,基于目标模型收敛的条件,判断第i更新模型参数是否使目标模型收敛。
[0154]
s312、将第i更新模型参数确定为目标模型参数。
[0155]
在s312后,执行s314。
[0156]
在本步骤中,若第i更新模型参数达到目标模型收敛条件,则将第i更新模型参数确定为目标模型参数。
[0157]
s313、向至少两个服务器发送第i更新模型参数,并将i更新为i+1。
[0158]
在s313之后,执行s310。
[0159]
在本步骤中,若第i更新模型参数未达到目标模型收敛条件,则向第一服务器和至少一个第二服务器发送第i更新模型参数,以使对应的服务器基于第i更新模型参数对目标用户标识对应的用户数据进行训练。在向至少两个服务器发送第i更新模型参数,并将i=i+1之后,执行s310,重复上述步骤。
[0160]
s314、根据目标模型参数确定目标模型。
[0161]
s314的执行过程可以参见s205的执行过程,此处不再进行赘述。
[0162]
本实施例提供的模型训练方法,通过获取第一服务器发送的模型训练任务,根据模型训练任务,在多个服务器中确定至少一个第二服务器,根据模型训练任务,确定初始模型参数,接收第一服务器发送的第一用户标识集合,接收至少两个第二服务器发送的至少一个第二用户标识集合,确定至少两个用户标识集合包括第一用户标识集合和至少一个第二用户标识集合,将至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识,向至少两个服务器发送多个目标用户标识和初始模型参数,接收至少两个服务器发送的至少两个第i中间模型参数,并根据至少两个第i中间模型参数,确定目标模型的第i更新模型参数,若所述第i更新模型参数未使所述目标模型收敛,向所述至少两个服务器发送所述第i更新模型参数;其中,所述i依次取1、2、3、
……
,直至第i更新模型参数使所述目标模型的损失参数收敛时,将所述第i更新模型参数确定为所述目标模型参数,根据目标模型参数确定目标模型。本技术在不泄露用户隐私数据的情况下,综合评估了用户在多个系统中的用户数据,建立了目标模型,提高了目标模型的精确度,同时也保障了用户的数据安全。
[0163]
图4为本技术实施例提供的一种对象推荐方法的流程示意图。本技术实施例的执行主体可以为电子设备,也可以为设置在电子设备中的对象推荐装置。对象推荐装置可以通过软件实现,也可以通过软件和硬件的结合实现。请参见图4,该方法包括:
[0164]
s401、确定第一对象的对象信息。
[0165]
在本步骤中,第一对象可以为用户所感兴趣的某类推荐对象。如在消费场景里,第一对象可以是母婴产品、护肤美妆或3c数码等推荐信息。如在信用卡推荐场景里,第一对象可以是不同类型的信用卡推荐信息。根据第一对象,确定第一对象的对象信息。
[0166]
s402、获取多个用户的多个用户数据。
[0167]
在本步骤中,多个用户可以是电子设备中的全部用户,也可以是符合初步筛选条件的多个待选用户,初步筛选条件包括年龄、地址、性别等条件。
[0168]
可选地,根据初步筛选条件,确定多个用户的标识;根据多个用户的标识,确定多个用户的多个用户数据。
[0169]
s403、根据目标模型对对象信息和多个用户数据进行处理,以在多个用户中确定目标用户。
[0170]
在本步骤中,目标用户对第一对象的兴趣程度大于或等于预设阈值,目标模型为根据上述模型训练方法训练得到的。
[0171]
将对象信息和多个用户数据输入目标模型中,得到每个用户对第一对象的兴趣程度,根据每个用户对第一对象的兴趣程度,在多个用户中确定目标用户。
[0172]
根据目标模型对所述对象信息和所述多个用户数据进行处理,得到每个用户对所述第一对象的兴趣程度;
[0173]
将所述多个用户中、对所述第一对象的兴趣程度大于或等于所述预设阈值的用户,确定为所述目标用户。
[0174]
s404、向目标用户对应的设备发送第一对象的对象信息。
[0175]
在本步骤中,根据确定的目标用户,向目标用户对应的设备发送第一对象的对象信息。例如,在信用卡推荐场景中,向喜欢出行的目标用户对应的设备发送具有出行优惠的信用卡推荐信息,以提高推荐的准确性。
[0176]
本实施例提供的对象推荐方法,通过确定第一对象的对象信息,获取多个用户的多个用户数据,根据目标模型对对象信息和多个用户数据进行处理,以在多个用户中确定目标用户,所述目标用户对第一对象的兴趣程度大于或等于预设阈值,所述目标模型为根据上述模型训练方法训练得到的,向所述目标用户对应的设备发送所述第一对象的对象信息。目标模型是在不泄露用户隐私数据的情况下,基于用户在多个系统中的用户数据建立的,精确度较高,本技术利用所述目标模型确定目标用户,提高了确定目标用户的准确性。
[0177]
下面,通过具体示例,对本技术所示的技术方案进行说明。
[0178]
图5为本技术实施例提供的一种信用卡推荐场景的流程示意图,在图5中示出了协作服务器、中间服务器以及本地服务器的交互过程。如图5所示,本地服务器可以为支付机构,协作服务器可以为电商机构。
[0179]
s501、本地服务器确定模型训练任务,向中间服务器发送模型训练任务。
[0180]
其中,模型训练任务为预测用户对各对象的兴趣程度。
[0181]
s502、中间服务器根据本地服务器发送的模型训练任务,确定初始模型参数,并确定至少一个协作服务器,向至少一个协作服务器发送协作请求。
[0182]
s503、至少一个协作服务器接收协作请求,对各自的用户数据进行预处理计算,得到至少一个协作特征向量集合,协作特征向量集合包括协作用户标识集合;向中间服务器发送至少一个利用第一加密算法加密的协作用户标识集合。
[0183]
s504、本地服务器对本地用户数据进行预处理计算,得到本地特征向量集合,本地特征向量集合包括本地用户标识集合;向中间服务器发送利用第一加密算法加密的本地用户标识集合。
[0184]
s505、中间服务器将加密的本地用户标识集合和至少一个加密的协作用户标识集合分别存在的用户标识,确定为多个目标用户标识。
[0185]
s506、中间服务器向本地服务器和至少一个协作服务器发送多个目标用户标识和初始模型参数。
[0186]
s507、将i初始化为1。
[0187]
s508、本地服务器基于多个目标用户标识对应的用户特征向量作为训练样本和模型参数,得到本地服务器的第i中间模型参数;并将该第i中间模型参数通过第一加密算法进行加密发送至中间服务器。其中,i=1时,模型参数为初始模型参数;i》1时,模型参数为第i更新模型参数。
[0188]
s509、至少一个协作服务器基于多个目标用户标识对应的用户特征向量作为训练样本和模型参数,得到至少一个协作服务器的第i中间模型参数;并将该第i中间模型参数通过第一加密算法进行加密发送至中间服务器。其中,i=1时,模型参数为初始模型参数;i》1时,模型参数为第i更新模型参数。
[0189]
s510、中间服务器接收本地服务器和至少一个协作服务器发送的至少两个第i中间模型参数,并根据至少两个第i中间模型参数确定目标模型的第i更新模型参数。
[0190]
s511、判断第i更新模型参数是否使目标模型收敛;若第i更新模型参数使所述目标模型的损失参数收敛,将所述第i更新模型参数确定为所述目标模型参数,执行s512;若所述第i更新模型参数未使所述目标模型收敛,向本地服务器和至少一个协作服务器发送所述第i更新模型参数,并将i更新为i+1,执行s508。
[0191]
s512、中间服务器将目标模型参数发送至本地服务器。
[0192]
s513、本地服务器将接收到的目标模型参数进行解密处理,确定目标模型,目标模型用于确定用户对各对象的兴趣程度。
[0193]
s514、本地服务器确定第一信用卡类型的对象信息。
[0194]
s515、本地服务器获取多个用户的多个用户数据。
[0195]
s516、本地服务器根据目标类型对第一信用卡类型的对象信息和所述多个用户数据进行处理,以在多个用户中确定目标用户,目标用户对第一信用卡类型的兴趣程度大于或等于预设阈值。
[0196]
s517、本地服务器向目标用户对应的设备发送第一信用卡类型的对象信息。
[0197]
其中,s501-s513的步骤为目标模型的训练过程,s514-s517的步骤为基于目标模型的对象推荐过程,二者可以独立执行,也可以结合执行,在此不做限定。
[0198]
本实施例在不泄露用户隐私数据的情况下,综合评估了用户在多个系统中的用户数据,建立了目标模型,并根据目标模型对第一信用卡类型的对象信息和多个用户数据进行处理,以在多个用户中确定目标用户,目标用户对第一信用卡类型的兴趣程度大于或等于预设阈值,向目标用户对应的设备发送第一信用卡类型的对象信息,提高了确定目标用户的准确性。
[0199]
图6为本技术实施例提供的一种模型训练装置的结构示意图。请参见图6,该装置600包括接收模块601、第一确定模块602、发送模块603、第二确定模块604和第三确定模块605,其中,
[0200]
接收模块601,用于获取至少两个服务器发送的至少两个用户标识集合,用户标识集合中包括多个加密后的用户标识;
[0201]
第一确定模块602,用于将至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识;
[0202]
发送模块603,用于向至少两个服务器发送多个目标用户标识和初始模型参数;
[0203]
接收模块601,还用于接收至少两个服务器发送的至少两个中间模型参数;
[0204]
第二确定模块604,用于根据至少两个中间模型参数确定目标模型参数;中间模型参数为服务器根据初始模型参数对多个目标用户标识对应的用户数据进行训练得到的,用户数据包括历史消费记录;
[0205]
第三确定模块605,用于根据目标模型参数确定目标模型,目标模型用于确定用户对各对象的兴趣程度。
[0206]
在一种可能的实施方式中,接收模块601具体用于:
[0207]
接收至少两个服务器发送的至少两个第i中间模型参数;
[0208]
第二确定模块604,具体用于:
[0209]
根据至少两个第i中间模型参数,确定目标模型的第i更新模型参数;
[0210]
若第i更新模型参数未使目标模型收敛,向至少两个服务器发送第i更新模型参数;
[0211]
其中,i依次取1、2、3、
……
,直至第i更新模型参数使目标模型的损失参数收敛时,将第i更新模型参数确定为目标模型参数。
[0212]
在一种可能的实施方式中,第二确定模块604,具体用于:
[0213]
对多个第i梯度值进行加权处理,得到多个第i加权梯度值,并对多个第i加权梯度值进行聚合处理,得到第i总梯度值;
[0214]
对多个第i损失值进行加权处理,得到多个第i加权损失值;并对多个第i加权损失值进行聚合处理,得到第i总损失值;
[0215]
根据第i总梯度值和第i总损失值,确定目标模型的第i更新模型参数。
[0216]
在一种可能的实施方式中,第二确定模块604,具体用于:
[0217]
根据第i总梯度值,确定第i平均梯度值;
[0218]
根据第i总损失值,确定第i平均损失值;
[0219]
根据第i平均梯度值和第i平均损失值,确定目标模型的第i更新模型参数。
[0220]
在一种可能的实施方式中,至少两个服务器包括第一服务器和至少一个第二服务器;接收601模块还用于:
[0221]
接收第一服务器发送的第一用户标识集合,第一用户标识集合为第一服务器采用第一加密算法加密后的数据;
[0222]
接收至少两个第二服务器发送的至少一个第二用户标识集合,第二服务器为第一服务器的合作服务器,第二用户标识集合为第二服务器采用第一加密算法加密后的数据;
[0223]
确定至少两个用户标识集合包括第一用户标识集合和至少一个第二用户标识集合。
[0224]
在一种可能的实施方式中,接收模块601还用于:
[0225]
获取第一服务器发送的模型训练任务;
[0226]
装置还包括:第四确定模块606;第四确定模块606用于:
[0227]
根据模型训练任务,在多个服务器中确定至少一个第二服务器;
[0228]
根据模型训练任务,确定初始模型参数。
[0229]
图7为本技术实施例提供的一种对象推荐装置的结构示意图。请参见图7,该装置700包括第一处理模块701、获取模块702、第二处理模块703和发送模块704,其中,
[0230]
第一处理模块701,用于确定第一对象的对象信息;
[0231]
获取模块702,用于获取多个用户的多个用户数据;
[0232]
第二处理模块703,用于根据目标模型对对象信息和多个用户数据进行处理,以在多个用户中确定目标用户,目标用户对第一对象的兴趣程度大于或等于预设阈值,目标模型为根据任一项所述的模型训练方法训练得到的;
[0233]
发送模块704,用于向目标用户对应的设备发送第一对象的对象信息。
[0234]
在一种可能的实施方式中,第二处理模块703具体用于:
[0235]
根据目标模型对对象信息和多个用户数据进行处理,得到每个用户对第一对象的兴趣程度;
[0236]
将多个用户中、对第一对象的兴趣程度大于或等于预设阈值的用户,确定为目标用户。
[0237]
图8为本技术实施例提供的一种电子设备的结构示意图。请参见图8,电子设备800可以包括:存储器801、处理器802、收发器803。
[0238]
存储器801用于存储程序指令;
[0239]
处理器802用于执行该存储器所存储的程序指令,用以使得电子设备800执行上述任一所示的模型训练方法或上述任一所示的对象推荐方法。
[0240]
收发器803可包括:发射器和/或接收器。该发射器还可称为发送器、发射机、发送端口或发送接口等类似描述,接收器还可称为接收机、接收端口或接收接口等类似描述。示例性地,存储器801、处理器802、收发器803,各部分之间通过总线804相互连接。
[0241]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,在计算机执行指令被处理器执行时,可实现上述任一所示的模型训练方法或上述任一所示的对象推荐方法。
[0242]
本技术实施例还提供一种计算机程序产品,该计算机程序产品可以由处理器执行,在计算机程序产品被执行时,可实现上述任一所示的模型训练方法或上述任一所示的对象推荐方法。
[0243]
本技术实施例的数据处理装置、电子设备、计算机可读存储介质及计算机程序产品,可执行上述数据处理方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
[0244]
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、快闪存储器、硬盘、固态硬盘、磁带(magnetic tape)、软盘(floppy disk)、光盘(optical disc)及其任意组合。
[0245]
本技术实施例是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0246]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0247]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0248]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0249]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
技术特征:
1.一种模型训练方法,其特征在于,所述方法包括:获取至少两个服务器发送的至少两个用户标识集合,所述用户标识集合中包括多个加密后的用户标识;将所述至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识;向所述至少两个服务器发送所述多个目标用户标识和初始模型参数;接收所述至少两个服务器发送的至少两个中间模型参数,根据所述至少两个中间模型参数确定目标模型参数;所述中间模型参数为所述服务器根据所述初始模型参数对所述多个目标用户标识对应的用户数据进行训练得到的,所述用户数据包括历史消费记录;根据所述目标模型参数确定目标模型,所述目标模型用于确定用户对各对象的兴趣程度。2.根据权利要求1所述的方法,其特征在于,接收所述至少两个服务器发送的至少两个中间模型参数,根据所述至少两个中间模型参数确定目标模型参数,包括:接收所述至少两个服务器发送的至少两个第i中间模型参数,并根据所述至少两个第i中间模型参数,确定目标模型的第i更新模型参数;若所述第i更新模型参数未使所述目标模型收敛,向所述至少两个服务器发送所述第i更新模型参数;其中,所述i依次取1、2、3、
……
,直至第i更新模型参数使所述目标模型的损失参数收敛时,将所述第i更新模型参数确定为所述目标模型参数。3.根据权利要求2所述的方法,其特征在于,根据所述至少两个第i中间模型参数,确定目标模型的第i更新模型参数,包括:对所述多个第i梯度值进行加权处理,得到多个第i加权梯度值,并对所述多个第i加权梯度值进行聚合处理,得到第i总梯度值;对所述多个第i损失值进行加权处理,得到多个第i加权损失值;并对所述多个第i加权损失值进行聚合处理,得到第i总损失值;根据所述第i总梯度值和所述第i总损失值,确定目标模型的第i更新模型参数。4.根据权利要求2所述的方法,其特征在于,根据所述第i总梯度值和所述第i总损失值,确定目标模型的第i更新模型参数,包括:根据所述第i总梯度值,确定第i平均梯度值;根据所述第i总损失值,确定第i平均损失值;根据所述第i平均梯度值和所述第i平均损失值,确定目标模型的第i更新模型参数。5.根据权利要求1-4任意一项所述的方法,其特征在于,所述至少两个服务器包括第一服务器和至少一个第二服务器;获取至少两个服务器发送的至少两个用户标识集合,包括:接收所述第一服务器发送的第一用户标识集合,所述第一用户标识集合为所述第一服务器采用第一加密算法加密后的数据;接收所述至少两个第二服务器发送的至少一个第二用户标识集合,所述第二服务器为所述第一服务器的合作服务器,所述第二用户标识集合为所述第二服务器采用所述第一加密算法加密后的数据;确定所述至少两个用户标识集合包括所述第一用户标识集合和所述至少一个第二用户标识集合。
6.根据权利要求5所述的方法,其特征在于,接收所述第一服务器发送的第一用户标识集合,以及接收所述至少两个第二服务器发送的至少一个第二用户标识集合之前,还包括:获取所述第一服务器发送的模型训练任务;根据所述模型训练任务,在多个服务器中确定所述至少一个第二服务器;根据所述模型训练任务,确定所述初始模型参数。7.一种对象推荐方法,其特征在于,包括:确定第一对象的对象信息;获取多个用户的多个用户数据;根据目标模型对所述对象信息和所述多个用户数据进行处理,以在所述多个用户中确定目标用户,所述目标用户对所述第一对象的兴趣程度大于或等于预设阈值,所述目标模型为根据权利要求1-6任一项所述的方法训练得到的;向所述目标用户对应的设备发送所述第一对象的对象信息。8.根据权利要求7所述的方法,其特征在于,根据目标模型对所述对象信息和所述多个用户数据进行处理,以在所述多个用户中确定目标用户,包括:根据目标模型对所述对象信息和所述多个用户数据进行处理,得到每个用户对所述第一对象的兴趣程度;将所述多个用户中、对所述第一对象的兴趣程度大于或等于所述预设阈值的用户,确定为所述目标用户。9.一种模型训练装置,其特征在于,包括:接收模块,用于获取至少两个服务器发送的至少两个用户标识集合,所述用户标识集合中包括多个加密后的用户标识;第一确定模块,用于将所述至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识;发送模块,用于向所述至少两个服务器发送所述多个目标用户标识和初始模型参数;接收模块,还用于接收所述至少两个服务器发送的至少两个中间模型参数;第二确定模块,用于根据所述至少两个中间模型参数确定目标模型参数;所述中间模型参数为所述服务器根据所述初始模型参数对所述多个目标用户标识对应的用户数据进行训练得到的,所述用户数据包括历史消费记录;第三确定模块,用于根据所述目标模型参数确定目标模型,所述目标模型用于确定用户对各对象的兴趣程度。10.一种对象推荐装置,其特征在于,包括:第一处理模块,用于确定第一对象的对象信息;获取模块,用于获取多个用户的多个用户数据;第二处理模块,用于根据目标模型对所述对象信息和所述多个用户数据进行处理,以在所述多个用户中确定目标用户,所述目标用户对所述第一对象的兴趣程度大于或等于预设阈值,所述目标模型为根据权利要求1-6任一项所述的方法训练得到的;发送模块,用于向所述目标用户对应的设备发送所述第一对象的对象信息。11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6任一项所述的方法,或者权利要求7或8所述的方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的方法,或者权利要求7或8所述的方法。
技术总结
本申请提供一种模型训练、对象推荐方法、装置、设备及存储介质,可用于机器学习领域。该方法包括:通过获取至少两个服务器发送的至少两个用户标识集合,将至少两个用户标识集合中分别存在的用户标识,确定为多个目标用户标识,向至少两个服务器发送多个目标用户标识和初始模型参数,向至少两个服务器发送多个目标用户标识和初始模型参数,根据目标模型参数确定目标模型。本申请的方法,提高了目标模型的精确度。精确度。精确度。
技术研发人员:刘曲
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.05.29
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/