CN111415015B - 业务模型训练方法、装置、***及电子设备 - Google Patents

业务模型训练方法、装置、***及电子设备 Download PDF

Info

Publication number
CN111415015B
CN111415015B CN202010228702.0A CN202010228702A CN111415015B CN 111415015 B CN111415015 B CN 111415015B CN 202010228702 A CN202010228702 A CN 202010228702A CN 111415015 B CN111415015 B CN 111415015B
Authority
CN
China
Prior art keywords
model
iteration
parameter
data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010228702.0A
Other languages
English (en)
Other versions
CN111415015A (zh
Inventor
邱伟峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010228702.0A priority Critical patent/CN111415015B/zh
Publication of CN111415015A publication Critical patent/CN111415015A/zh
Priority to PCT/CN2020/132877 priority patent/WO2021189926A1/zh
Application granted granted Critical
Publication of CN111415015B publication Critical patent/CN111415015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书提出业务模型的训练方法、装置、***及电子设备,数据提供方和数据使用方各自迭代各自模型单元的模型参数,双方模型单元的模型参数共同构成了业务模型的模型参数。在迭代后,数据提供方可将第一样本数据输入至第一模型单元,得到中间结果,并将中间结果发送给数据使用方。数据使用方可将中间结果和第二样本数据输入至第二模型单元,并基于第二模型单元输出的预测结果和标签确定是否接受本次迭代的模型参数,若接受,则双发各自进行下次模型参数的迭代更新。若不接受,则双方回退至上次迭代的模型参数,继续下次模型参数的迭代更新,直至业务模型收敛,从而实现防止个人数据泄露的情况下,丰富数据使用方的数据的特征维度。

Description

业务模型训练方法、装置、***及电子设备
技术领域
本说明书一个或多个实施例涉及人工智能领域,尤其涉及业务模型训练方法、装置、***及电子设备。
背景技术
模型训练是人工智能技术中的重要组成部分。模型训练通常依赖用户的样本数据。通常情况下,用户的样本数据越多,特征维度越丰富,训练出的模型的精准性越高。
在一些场景中,业务方并没有大量的维度丰富的用户样本数据,为此,业务方需要向提供数据服务的第三方获取用户样本数据,通过第三方的用户样本数据来丰富特征维度,从而训练出更好的业务模型。这里将业务方称之为数据使用方,将提供数据服务的第三方称之为数据提供方。
由于用户样本数据是用户的隐私数据,数据提供方通常不允许将用户样本数据提供给数据使用方。而且,即使条件允许,作为重要的资产,数据提供方也不愿意将数据直接输出。因此,如何在***露用户隐私的情况下,丰富数据使用方的特征维度就成为业界持续探讨的问题。
发明内容
第一方面,本说明书提供一种业务模型的训练方法,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述方法应用在数据提供方,包括:
基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT
将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方;
接收数据使用方返回的参数更新决策,所述参数更新决策由所述数据使用方将所述中间结果和所述第二样本数据输入模型参数为NT的第二模型单元后,基于该第二模型单元输出的预测结果和所述样本对象的标签确定;所述NT为所述第二模型单元本次迭代的模型参数;
当所述参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛;
若否,则基于所述第一模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;
若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成。
第二方面,本说明书提供一种业务模型的训练方法,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述方法应用在数据使用方,包括:
基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT
在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元;所述中间结果是由所述数据提供方将所述第一样本数据输入至模型参数为MT的第一模型单元得到的,所述MT为所述第一模型单元本次迭代的模型参数;
基于该第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策,并将该参数更新决策发送给数据提供方,以由所述数据提供方基于该参数更新决策进行后续处理;
若所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;
若否,基于所述第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;
若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
第三方面,本说明书提供一种业务模型的训练***,所述训练***包括:数据使用方和数据提供方;所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同;
所述数据提供方,用于基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT;将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方,并在确定所述数据使用方返回的参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛,若否,则基于所述第一模型本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成;
所述数据使用方,用于基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT;在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元,并基于模型参数为NT的第二模型单元输出的预测结果和所述样本对象的标签确定参数更新决策,并将该参数更新决策发送给数据提供方,以及在确定所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;若否,基于所述第一模型本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
第四方面,本说明书提供一种业务模型的训练装置,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述装置应用在数据提供方,包括:
生成模块,基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT
发送模块,将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方;
接收模块,接收数据使用方返回的参数更新决策,所述参数更新决策由所述数据使用方将所述中间结果和所述第二样本数据输入模型参数为NT的第二模型单元后,基于该第二模型单元输出的预测结果和所述样本对象的标签确定;所述NT为所述第二模型单元本次迭代的模型参数;
决策模块,当所述参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛;若否,则基于所述第一模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成。
第五方面,本说明书提供一种业务模型的训练装置,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述装置应用在数据使用方,包括:
生成模块,基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT
预测模块,在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元;所述中间结果是由所述数据提供方将所述第一样本数据输入至模型参数为MT的第一模型单元得到的,所述MT为所述第一模型单元本次迭代的模型参数;
确定模块,基于该第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策,并将该参数更新决策发送给数据提供方,以由所述数据提供方基于该参数更新决策进行后续处理;
决策模块,若所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;若否,基于所述第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
第六方面,本说明书提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现第一方面所述的业务模型训练方法。
第七方面,本说明书提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面所述的业务模型训练方法。
第八方面,本说明书提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现第二方面所述的业务模型训练方法。
第九方面,本说明书提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第二方面所述的业务模型训练方法。
由上述描述可以看出,第一方面,由于数据提供方并没有将样本数据直接提供给数据使用方,而是将样本数据通过第一模型单元转换为中间结果,并将中间结果提供给数据使用方,从而实现了在用户隐私数据***露的情况下,丰富了数据使用方的数据。
第二方面,在本申请中,数据提供方和数据使用方是各自迭代更新各自模型单元的模型参数,而不是现有的基于双方交互的梯度信息来进行模型参数的迭代更新。所以双方之间只需要交互中间结果、以及一些通知信息,而无需交互梯度信息,所以双方之间交互的数据量大大降低,所以可以有效地节约带宽资源。此外,由于不需要传递梯度信息,从而使得不法分子无法基于梯度信息反推出用户隐私数据,所以可以保证用户隐私数据的安全性。
附图说明
图1是本申请一示例性实施例示出的一种业务模型训练***的示意图;
图2是本申请一示例性实施例示出的一种业务模型的训练方法的交互流程图;
图3是本申请一示例性实施例示出的另一种业务模型训练方法的流程图;
图4是本申请一示例性实施例示出的另一种业务模型训练方法的流程图;
图5是本申请一示例性实施例示出的一种业务模型训练方法的交互图;
图6是本申请一示例性实施例示出的一种电子设备的硬件结构图;
图7是本申请一示例性实施例示出的一种业务模型训练装置的框图;
图8是本申请一示例性实施例示出的一种业务模型训练装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
在传统技术中,数据提供方可基于对行业的理解和相关经验,利用模型等将用户样本数据转化为中间结果(如各类信用评分等),并将中间结果提供给数据使用方,以使得在***露用户隐私的情况下,丰富数据使用方特征维度。然而,实际上数据提供方提供的中间结果不一定能够完全满足数据使用方的需求。
为了使得数据提供方提供的中间结果可以更好地适用于数据使用方的业务模型的训练,数据提供方和数据使用方可以在保证双方数据可用不可见的前提下联合训练业务模型。其中,可用不可见是指双方不能读取对方数据,但是能够使用数据进行计算。
目前,常见的方案可包括:联邦学习。
在联邦学习中,业务模型包括第一模型单元和第二模型单元。第一模型单元和第二模型单元的模型参数共同组成了该业务模型的模型参数。数据使用方配置了第一模型单元,数据提供方配置了第二模型单元。在业务模型联合训练过程中,双方交互梯度信息,并通过交互的梯度信息完成第一模型单元和第二模型单元的模型参数的更新,以完成业务模型的训练。
然而,一方面,双发需要交互梯度信息才能完成第一模型单元和第二模型单元的更新,而梯度信息的数据量通常很大,双方的经常***互会严重占用双方的带宽资源。另一方面,梯度信息包含了丰富的信息,致使黑客可以通过反推梯度信息来获取用户样本数据,致使用户隐私的泄露,所以这种方案的安全性较低。
有鉴于此,本申请提供非梯度优化的模型训练方法,在本申请提供的方法中,业务模型包括第一模型单元和第二模型单元,第一模型单元配置在数据提供方,第二模型单元配置在数据使用方,数据提供方持有样本对象的第一样本数据,数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,第一样本数据和所述第二样本数据的特征维度不完全相同。
数据提供方和数据使用方可各自迭代各自模型单元的模型参数,在迭代后,数据提供方可将第一样本数据输入至第一模型单元,得到中间结果,并将中间结果发送给数据使用方。数据使用方可将中间结果和第二样本数据输入至第二模型单元,并基于第二模型单元输出的预测结果和该样本对象的标签确定是否接受本次迭代的模型参数,若接受,则双发各自继续进行下次模型参数的迭代更新。若不接受,则双方回退至上次迭代的模型参数,再以基于上次迭代的模型参数,继续下次模型参数的迭代更新,直至业务模型收敛。
由上述描述可以看出,第一方面,由于数据提供方并没有将样本数据直接提供给数据使用方,而是将样本数据通过第一模型单元转换为中间结果,并将中间结果提供给数据使用方,从而实现了在用户隐私数据***露的情况下,丰富了数据使用方的数据。
第二方面,在本申请中,数据提供方和数据使用方是各自迭代更新各自模型单元的模型参数,而不是基于双方交互的梯度信息来进行模型参数的迭代更新。所以双方之间只需要交互中间结果、以及一些通知信息,而无需交互梯度信息,所以双方之间交互的数据量大大降低,所以可以有效地节约带宽资源。此外,由于不需要传递梯度信息,从而使得不法分子无法基于梯度信息反推出用户隐私数据,所以可以保证用户隐私数据的安全性。
在介绍本申请提供的业务模型训练方法之前,先对本申请涉及的概念进行介绍。
1)业务模型
业务模型:是指可以进行业务处理的模型。该业务模型可以是神经网络、深度学习模型、逻辑回归、SVM(Support Vector Machine,支持向量机)等等。当然,该业务模型也可以是其他可以进行有监督训练的线性模型等等,这里只是对业务模型进行示例性地说明,不对该业务模型进行具体地限定。
此外,该业务模型可以做预测业务、分类业务、识别业务等等。这里只是对业务模型所作的业务进行示例性地说明,不对其进行具体地限定。该业务模型可以应用在风控领域。比如,银行机构可以利用自身收集的用户的金融数据以及电商等数据提供方的用户行为数据,并基于该业务模型进行反欺诈识别、以及信用评级等等。当然,该业务模型也可以应用在其他领域,这里不对该业务模型的应用领域进行具体地限定。
2)业务模型单元
业务模型单元是业务模型的一部分。在本申请实施例中,业务模型被拆分成两部分,分别为第一模型单元和第二模型单元。第一模型单元的模型参数和第二模型单元的模型参数共同组成了该业务模型的模型参数。
3)样本对象、样本数据
在本申请实施例中,样本对象可以是用户,也可以是其他对象,比如安防领域中,该样本对象可以是车辆等交通工具等等。这里只是对样本对象进行示例性地说明,不对其进行具体地限定。
样本数据是样本对象的相关数据,用于描述样本对象。样本数据包括多个特征维度。
例如,假设样本对象为用户,样本对象的特征维度可包括:用户的年龄、性别、职业、学历、用户操作行为等等。这里只是对特征维度进行示例性地说明,不对其进行具体地限定。
此外,在本申请中,该样本数据可以是用户数据,也可以是车辆的数据等等,这里只是对样本数据进行示例性地说明,不对其进行具体地限定。
下面介绍下业务模型训练***。
参见图1,图1是本申请一示例性实施例示出的一种业务模型训练***的示意图。
业务模型训练***包括:数据提供方和数据使用方。数据提供方和数据使用方联合训练业务模型。
在本申请中,数据提供方上被配置了业务模型的第一模型单元。数据使用方上被配置了业务模型的第二模型单元。
在本申请实施例中,数据提供方和数据使用方都存储有很多对象的数据。在进行模型训练前,数据提供方和数据使用方可以进行隐私求交,以使得数据提供方和数据使用方可抽取出两方共有的对象作为样本对象,并将两方共有的对象的数据作为样本数据。换句话来说,数据提供方持有样本对象的第一样本数据,所述数据使用方持有该样本对象的第二样本数据。第一样本数据和第二样本数据的特征维度不完全相同。
比如,第一样本数据包含的特征维度比第二样本数据包含的特征维度更多。当然,这里不对两者的特征维度的数量进行限定。此外,第一样本数据的特征维度与第二样本数据的特征维度可以有重叠部分,也可以完全相同,也可以不重叠,这里不进行具体地限定。
下面对本申请提供的业务模型训练方法进行详细地说明。
参见图2,图2是本申请一示例性实施例示出的一种业务模型的训练方法的交互流程图,该方法可包括如下所述步骤。
步骤202:数据提供方基于第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT
在一种可选的实现方式中,在训练开始时,数据提供方可以初始化第一模型单元的模型参数。该预设的矩阵在每次迭代中是固定不变的。
在基于第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT时,数据提供方可以基于第一模型单元上次迭代时的模型参数MT-1,以及预设的概率分布类型,生成目标概率分布。本次迭代的模型参数MT服从确定出的目标概率分布。然后,数据提供方可以依据所述目标概率分布,生成本次迭代的模型参数MT
在另一种可选的实现方式中,为了加快模型的收敛,还可以为第一模型单元配置模型参数的协方差矩阵。
在实现时,在训练开始时,数据提供方可以初始化第一模型单元的模型参数、以及初始化第一模型单元的协方差矩阵。
在基于第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT时,数据提供方可以基于第一模型单元上次迭代时的模型参数MT-1,第一模型单元上次迭代的协方差矩阵,以及预设的概率分布类型,生成目标概率分布。本次迭代的模型参数MT服从确定出的目标概率分布。然后,数据提供方可以依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数MT
其中,预设的概率分布类型可以为正态分布,也可以是其他类型的概率分布,比如也可以是其他的对称分布,只要满足细致平衡条件即可。这里只是对预设的概率分布类型进行示例性地说明,不对其进行具体地限定。
例如,假设,预设的概率分布类型为正态分布,数据提供方可以以第一模型单元上次迭代时的模型参数MT-1作为期望,以上次迭代的协方差矩阵AT-1作为方差,产生一个正态分布N(MT-1,AT-1)。其中,模型参数MT服从N(MT-1,AT-1),即MT~N(MT-1,AT-1)。
然后,数据提供方可依据该N(MT-1,AT-1)中产生一组随机数,将该随机数作为本次迭代的模型参数MT
其中,依据概率分布取随机数可依据现有取随机数的方式实现,这里不再赘述。
需要说明的是,第一模型单元的协方差矩阵是在每次迭代中不断更新的。比如,第一模型单元上次迭代的协方差矩阵AT-1,可通过该第一模型单元上上次迭代的协方差矩阵AT-2、以及第一模型单元上次迭代的模型参数MT-1确定。
此外还需要说明的是,每次迭代的协方差矩阵可以在本次迭代的模型参数被接受时,基于上次迭代的协方差矩阵和本次迭代的模型参数进行更新,也可以在其他时机下进行更新,这里只是示例性地说明,不对该第一模型单元的协方差矩阵的更新时机进行具体地限定。
由于模型参数的协方差矩阵记录了每次接受迭代的模型参数的相关信息,所以协方差矩阵可以反映出业务模型的收敛方向。所以数据提供方依据上述迭代的模型参数MT-1和上次迭代的协方差矩阵AT-1,确定本次迭代的模型参数MT时,可以使得第一模型单元是沿着业务模型收敛的方向进行模型参数的迭代,所以可以大大提高业务模型的收敛速度。
此外,上述第一模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第一模型单元上次迭代的协方差矩阵为动量矩阵。当然,第一模型单元的协方差矩阵也可以是其他类型的矩阵,比如预设的矩阵,这里不进行具体地限定。
此外,还需要说明的是,第一模型单元和第二模型单元可以采用相同的模型参数更新方式,也可以采用不同的模型参数更新方式,这里不进行具体地限定。
当第一模型单元上次迭代的协方差矩阵为关联矩阵时,该关联矩阵可通过如下公式确定:
CT-1=γCT-2+(1-γ)MT-1·MT-1 T
其中,CT-2是第一模型单元上上次迭代的关联矩阵;
CT-1是第一模型单元上次迭代的关联矩阵;
MT-1是第一模型单元上次迭代的模型参数;
γ是预设值,例如0.99,这里只是对γ的取值进行示例性地说明,不对其进行具体地限定。
当然,这里只是给出了模型参数的关联矩阵计算的示例性说明,不对其进行具体地限定。
步骤204:数据使用方基于第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT
在一种可选的实现方式中,在训练开始时,数据使用方可以初始化第二模型单元的模型参数。
在基于第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT时,数据使用方可以基于第二模型单元上次迭代时的模型参数NT-1,以及预设的概率分布类型,生成目标概率分布。本次迭代的模型参数NT服从确定出的目标概率分布。然后,数据使用方可以依据所述目标概率分布,生成本次迭代的模型参数NT
在另一种可选的实现方式中,为了加快模型的收敛,还可以为第二模型单元配置模型参数的协方差矩阵。
在实现时,在训练开始时,数据使用方可以初始化第二模型单元的模型参数、以及初始化第二模型单元的协方差矩阵。
在基于第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT时,数据使用方可以基于第二模型单元上次迭代时的模型参数NT-1,第二模型单元上次迭代的协方差矩阵,以及预设的概率分布类型,生成目标概率分布。本次迭代的模型参数NT服从确定出的目标概率分布。然后,数据使用方可以依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数NT
其中,预设的概率分布类型可以为正态分布,也可以是其他类型的分布,比如也可以是其他的对称分布,只要满足细致平衡条件即可,这里只是对预设的概率分布类型进行示例性地说明,不对其进行具体地限定。
例如,假设,预设的概率分布类型为正态分布,数据使用方可以以第二模型单元上次迭代时的模型参数NT-1作为期望,以模型参数第二模型单元上次迭代的协方差矩阵BT-1作为方差,产生一个正态分布N(NT-1,BT-1)。其中,模型参数NT服从N(NT-1,BT-1),即NT~N(NT-1,BT-1)。
然后,数据使用方可依据该N(NT-1,BT-1)中产生一个随机数,将该随机数作为本次迭代的模型参数NT
其中,依据概率分布取随机数可依据现有取随机数的方式实现,这里不再赘述。
需要说明的是,第二模型单元的斜方差矩阵是在每次迭代中不断更新的。比如,第二模型单元上次迭代的协方差矩阵BT-1,可通过该第二模型单元上上次迭代的协方差矩阵BT-2、以及第二模型单元上次迭代的模型参数NT-1确定。
此外还需要说明的是,每次迭代的协方差矩阵可以在本次迭代的模型参数被接受时,基于上次迭代的协方差矩阵和本次迭代的模型参数进行更新,也可以在其他时机下进行更新,这里只是示例性地说明,不对该第二模型单元的协方差矩阵的更新时机进行具体地限定。
由于第二模型单元的协方差矩阵记录了每次接受迭代的模型参数的相关信息,所以协方差矩阵可以反映出业务模型的收敛方向。所以数据使用方依据上述迭代的模型参数NT-1和第二模型单元上次迭代的协方差矩阵BT-1,确定本次迭代的模型参数NT时,可以第二模型单元是沿着业务模型收敛的方向进行模型参数的迭代,所以可以大大提高业务模型的收敛速度。
此外,上述第二模型单元上次迭代的协方差矩阵为MT-1的关联矩阵,或者,所述第二模型单元上次迭代的协方差矩阵为NT-1的动量矩阵。当然,第二模型单元上次迭代的协方差矩阵也可以是其他类型的矩阵,这里不进行具体地限定。
当第二模型单元上次迭代的协方差矩阵为关联矩阵时,该关联矩阵DT-1可通过如下公式确定:
DT-1=γDT-2+(1-γ)NT-1·NT-1 T
其中,DT-2是第二模型单元上上次迭代的关联矩阵;
DT-1是第二模型单元上次迭代的关联矩阵;
NT-1是第二模型单元上次迭代的模型参数;
γ是预设值。
当然,这里只是给出了模型参数的关联矩阵计算的示例性说明,不对其进行具体地限定。
步骤206:数据提供方将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果。
在实现时,数据提供方可将数据提供方持有的该目标对象的第一样本数据输入至模型参数为MT的第一模型单元,以由模型参数为MT的第一模型单元输出中间结果。
步骤208:数据提供方将该中间结果发送给所述数据使用方。
步骤210:数据使用方将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元,并基于该第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策。
在实现时,数据使用方可将本方持有的该目标对象的第二样本数据、以及中间结果输入至模型参数为NT的第二模型单元,以由模型参数为NT的第二模型单元输出预测结果。
然后,数据使用方可基于该预测结果和该样本对象的标签,确定参数更新决策。该参数更新决策包括:接受本次迭代的模型参数、或者不接受本次迭代的模型参数。
其中,接受本次迭代的模型参数是指:接受本次迭代的第一模型单元的模型参数MT和接受本次迭代的第二模型单元的模型参数NT。换句话来说,是指接受业务模型本次迭代的模型参数。
不接受本次迭代的模型参数是指:不接受本次迭代的第一模型单元的模型参数MT和接受本次迭代的第二模型单元的模型参数NT。换句话来说,是指不接受业务模型本次迭代的模型参数。
需要说明的是,现有的模型参数的迭代通常是计算每次迭代的梯度,然后基于上一次迭代的梯度,确定本次迭代的模型参数。这种通过上一次模型的梯度确定本次模型的模型参数,可以使得模型参数的迭代是按照业务预测效果好的方向进行。
而在本申请中,无论是数据提供方还是数据使用方,每次迭代的模型参数并不基于梯度来确定,而是根据概率分布随机确定的。所以在确定出本次迭代的模型参数时,还需要验证本次迭代的模型参数是否是沿着业务预测效果好的方向进行的。因此,在本申请中,还需要基于参数为本次迭代的模型参数的第二模型单元输出预测结果、以及标签来确定是否接受本次迭代的业务模型的模型参数,以此来实现业务模型是按照满足业务预测要求的方向进行模型参数更新。
在基于该预测结果和该样本对象的标签,确定参数更新决策时,数据使用方可基于预测结果和与所述样本对象的标签,计算所述业务模型的损失函数的取值。数据使用方可基于已记录的上次迭代时的损失函数的取值和本次迭代计算出的所述损失函数的取值,确定业务模型损失函数取值的变化量,并基于该计算出的变化量确定参数更新决策。
在一种可选的实现方式中,在基于该计算出的变化量确定参数更新决策时,数据使用方基于所述变化量,计算接受概率值,并基于接受概率,随机确定是否接受本次迭代的模型参数,作为参数更新决策。
下面介绍一种“基于接受概率,随机确定是否接受本次迭代的模型参数,作为参数更新决策”的方式。
数据使用方还可生成预设范围内的随机数;所述随机数服从预设范围内的均匀分布。
若所述随机数小于所述接受概率值,数据使用方则确定参数更新决策为接受本次迭代的模型参数。
若所述随机数大于或等于所述接受概率值,数据使用方则确定所述参数更新决策为不接受本次迭代的模型参数。
其中,例如,接受概率值可通过如下公式确定:
P=min{exp(-Δl),1};
其中,P为接受概率值;
所述Δl为业务模型损失函数取值的变化量。
当然,这里只是对接受概率的计算进行示例性地说明,不对该接受概率的计算进行具体地限定。
当然数据使用方还可通过其他方式来实现“基于接受概率,随机确定是否接受本次迭代的模型参数,作为参数更新决策”,这里只是示例性地说明,不对其进行具体地限定。
步骤212,数据使用方将该参数更新决策发送给数据提供方。
步骤214:数据提供方在确定参数更新决策是接受本次迭代的模型参数时,检测业务模型是否收敛,若不收敛则基于第一模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤,若收敛,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成。
在实现时,数据提供方可接收数据使用方发送的参数更新决策。
1)参数更新决策是接受本次迭代的模型参数
在本申请实施例中,数据提供方在确定参数更新决策是接受本次迭代的模型参数时,检测业务模型是否收敛。
在本申请实施例中,数据提供方在确定业务模型收敛时,可停止本地的第一模型单元的模型参数的迭代。
数据提供方在确定业务模型不收敛时,可基于所述第二模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤。即数据提供方按照步骤202至步骤216所示的方式来进行下次迭代。换句话来说,数据提供方会循环执行步骤202至步骤216,对第一模型单元的模型参数进行迭代,直至业务模型收敛。
2)参数更新决策是不接受本次迭代的模型参数
在本申请实施例中,数据提供方在确定参数更新决策是不接受本次迭代的模型参数,则基于第二模型单元上次迭代时的模型参数MT-1的参数信息,生成下次迭代的模型参数MT+1
步骤216:数据使用方在确定参数更新决策是接受本次迭代的模型参数时,检测业务模型是否收敛,若不收敛则基于第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤,若收敛,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
1)数更新决策是接受本次迭代的模型参数
在本申请实施例中,数据使用方在确定参数更新决策是接受本次迭代的模型参数时,检测业务模型是否收敛。
下面介绍下数据使用方检测业务模型是否收敛的方式。
数据使用方可基于本次迭代计算的损失函数的取值是否在预设误差范围内,若本次迭代的损失函数的取值在预设误差范围内,则确定业务模型收敛。
数据使用方确定本次迭代的损失函数的取值不在预设误差范围内,则确定业务模型不收敛。
当然,数据使用方还可以通过其他方式来确定业务模型是否收敛,这里只是示例性地说明,不对其进行具体地限定。
在本申请实施例中,数据使用方在确定业务模型收敛时,可停止本地的第二模型单元的模型参数的迭代。
数据使用方在确定业务模型不收敛时,可基于所述第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤。即数据使用方按照步骤202至步骤216所示的方式来进行下次迭代。换句话来说,数据使用方会循环执行步骤202至步骤216,对第二模型单元的模型参数进行迭代,直至业务模型收敛。
2)参数更新决策是不接受本次迭代的模型参数
在本申请实施例中,数据提供方在确定参数更新决策是不接受本次迭代的模型参数,则基于第二模型单元上次迭代时的模型参数NT-1的参数信息,生成下次迭代的模型参数NT+1
由上述描述可以看出,第一方面,由于数据提供方并没有将样本数据直接提供给数据使用方,而是将样本数据通过第一模型单元转换为中间结果,并将中间结果提供给数据使用方,从而实现了在用户隐私数据***露的情况下,丰富了数据使用方的数据。
第二方面,在本申请中,数据提供方和数据使用方是各自迭代更新各自模型单元的模型参数,而不是基于双方交互的梯度信息来进行模型参数的迭代更新。所以双方之间只需要交互中间结果、以及一些通知信息,而无需交互梯度信息,所以双方之间交互的数据量大大降低,所以可以有效地节约带宽资源。此外,由于不需要传递梯度信息,从而使得不法分子无法基于梯度信息反推出用户隐私数据,所以可以保证用户隐私数据的安全性。
参见图3,图3是本申请一示例性实施例示出的另一种业务模型训练方法的流程图。业务模型包括第一模型单元和第二模型单元,第一模型单元配置在数据提供方,第二模型单元配置在数据使用方,数据提供方持有样本对象的第一样本数据,数据使用方持有样本对象的第二样本数据和样本对象的标签,第一样本数据和第二样本数据的特征维度不完全相同,方法应用在数据提供方,可包括如下所示步骤。
步骤302:数据提供方基于第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT
步骤304:数据提供方将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方。
步骤306:数据提供方接收数据使用方返回的参数更新决策,所述参数更新决策由所述数据使用方将所述中间结果和所述第二样本数据输入模型参数为NT的第二模型单元后,基于该第二模型单元输出的预测结果和所述样本对象的标签确定;所述NT为所述第二模型单元本次迭代的模型参数。
步骤308:数据提供方当所述参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛;
步骤310:数据提供方若否,则基于所述第一模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成。
需要说明的是,步骤302至步骤310的实现方式可参见上文所述的步骤202至步骤216,这里不再赘述。
参见图4,图4是本申请一示例性实施例示出的另一种业务模型训练方法的流程图。业务模型包括第一模型单元和第二模型单元,第一模型单元配置在数据提供方,第二模型单元配置在数据使用方,数据提供方持有样本对象的第一样本数据,数据使用方持有样本对象的第二样本数据和样本对象的标签,第一样本数据和第二样本数据的特征维度不完全相同,方法应用在数据使用方,可包括如下所示步骤。
步骤402:数据使用方基于第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT
步骤404:数据使用方在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元;所述中间结果是由所述数据提供方将所述第一样本数据输入至模型参数为MT的第一模型单元得到的,所述MT为所述第一模型单元本次迭代的模型参数;
步骤406:数据使用方基于该第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策,并将该参数更新决策发送给数据提供方,以由所述数据提供方基于该参数更新决策进行后续处理;
步骤408:数据使用方若所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;
步骤410:若否,数据使用方基于所述第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
需要说明的是,步骤302至步骤310的实现方式可参见上文所述的步骤202至步骤216,这里不再赘述。
参见图5,图5是本申请一示例性实施例示出的一种业务模型训练方法的交互图,业务模型包括第一模型单元和第二模型单元,第一模型单元配置在数据提供方,第二模型单元配置在数据使用方,数据提供方持有样本对象的第一样本数据,数据使用方持有样本对象的第二样本数据和样本对象的标签,第一样本数据和第二样本数据的特征维度不完全相同,可包括如下所示步骤。
步骤501:数据提供方基于当前第一模型单元的模型参数、当前第一关联矩阵和预设的概率分布类型,确定本次迭代的模型参数,并将当前第一模型单元的模型参数修改为本次迭代的模型参数。
具体实现方式可参见步骤202,这里不再赘述。
步骤502:数据使用方基于当前第二模型单元的模型参数、当前第二关联矩阵和预设的概率分布类型,确定本次迭代的模型参数,并将当前第二模型单元的模型参数修改为本次迭代的模型参数。
具体实现方式可参见步骤204,这里不再赘述。
步骤503:数据提供方将第一样本数据输入至当前第一模型单元,得到中间结果
步骤504:数据提供方向数据使用方发送中间结果
步骤505:数据使用方将中间结果和第二样本数据输入至当前第二模型单元,基于当前第二模型单元输出的预测结果和样本对象的标签确定参数更新决策。
数据使用方在执行完步骤505之后,执行步骤512。
具体实现方式,可参见步骤210,这不再赘述。
步骤506:数据使用方发送参数更新决策
步骤507:数据提供方检测参数更新决策是否是接受本次迭代的模型参数。
若参数更新决策是接受本次迭代的模型参数,则执行步骤509至步骤511;
若参数更新决策是接受本次迭代的模型参数,则执行步骤508。
步骤508:数据提供方将当前第一模型单元的模型参数回退为修改前的模型参数。
在执行步骤508后,返回步骤501。
步骤509:数据提供方检测业务模型是否收敛。
若业务模型收敛,则执行步骤511.
若业务模型不收敛,则执行步骤510。
步骤510:数据提供方基于当前第一关联矩阵、当前第一模型单元的模型参数,生成本次迭代的关联矩阵,并将当前第一关联矩阵修改为生成的本次迭代的关联矩阵。
在执行步骤510后,返回步骤501。
步骤511:数据提供方结束流程,并确定所述业务模型训练完成。
步骤512:数据使用方检测参数更新决策是否是接受本次迭代的模型参数。
若参数更新决策是接受本次迭代的模型参数,则执行步骤514至步骤516;
若参数更新决策是接受本次迭代的模型参数,则执行步骤513。
步骤513:数据使用方将当前第二模型单元的模型参数回退为修改前的模型参数。
在执行步骤513后,返回步骤502。
步骤514:数据使用方检测业务模型是否收敛。
若业务模型收敛,则执行步骤516;
若业务模型不收敛,则执行步骤515。
步骤515:数据使用方基于当前第二关联矩阵、当前第二模型单元的模型参数,生成本次迭代的关联矩阵,并将当前第二关联矩阵修改为生成的本次迭代的关联矩阵。
在执行步骤515之后,返回步骤502。
步骤516:数据使用方结束流程,并确定所述业务模型训练完成。
下面通过具体的例子对步骤501至步骤516进行详细地说明。
假设,MT为第一模型单元第T次迭代的模型参数,CT第一模型单元第T次迭代的关联矩阵。
NT为第一模型单元第T次迭代的模型参数,DT第一模型单元第T次迭代的关联矩阵。
假设,初始时的当前第一模型单元的模型参数为M0,初始时的当前第一模型单元模型参数的关联矩阵(简称为当前第一关联矩阵)为C0。初始时的当前第二模型单元的模型参数为N0,初始时的当前第二模型单元模型参数的关联矩阵(简称为当前第二关联矩阵)为D0
对于业务模型的第一次迭代:
数据提供方可基于当前第一模型单元的模型参数(即M0)、当前第一关联矩阵(即C0)和正态分布,得到第一模型单元第一次迭代的模型参数M1,并将当前第一模型单元的模型参数修改为M1。数据使用方可基于N0、D0和正态分布,得到第二模型单元第一次迭代的模型参数N1,并将当前第二模型单元的模型参数修改为N1
然后,数据提供方可将第一样本数据输入至当前第一模型单元(即模型参数为M1的第一模型单元),得到中间结果,并将中间结果发送给数据使用方。
数据使用方将中间结果和第二样本数据输入至当前第一模型单元(即模型参数为N1的第一模型单元),得到预测结果,并基于预测结果和标签,确定参数更新决策,并将参数更新决策发送给数据提供方。
对于数据使用方来说,若该参数更新决策是接受第一次迭代的N1,则检测业务模型是否收敛。在本例中,假设业务模型收敛,数据使用方可基于当前第二关联矩阵(即D0)、当前第二模型单元的模型参数(即N1),确定本次迭代的关联矩阵(即D1),并将当前第二关联矩阵修改为计算出的本次迭代的关联矩阵(即将D0修改为D1,当前第二关联矩阵为D1)。然后,进行第二模型单元的模型参数的第二次迭代。在第一次迭代完后,当前第二模型单元的模型参数为N1,当前第二关联矩阵为D1
对于数据提供方来说,若接收到的参数更新决策是接受第一次迭代的M1,则检测业务模型是否收敛。在本例中,假设业务模型收敛,数据提供方可基于当前第一关联矩阵(即C0)、当前第一模型单元的模型参数(即M1),确定本次迭代的关联矩阵(即C1),并将当前第一关联矩阵修改为计算出的本次迭代的关联矩阵(即将C0修改为C1,当前第一关联矩阵为C1)。进行第一模型单元的模型参数的第二次迭代。
在第一次迭代完后,当前第一模型单元的模型参数为M1,当前第一关联矩阵为C1
对于业务模型的第二次迭代:
数据提供方可基于当前第一模型单元的模型参数(即M1)、当前第一关联矩阵(即C1)和正态分布,得到第一模型单元第二次迭代的模型参数M2,并将当前第一模型单元的模型参数修改为M2。数据使用方可基于N1、D1和正态分布,得到第二模型单元第二次迭代的模型参数N2,并将当前第二模型单元的模型参数修改为N2
然后,数据提供方可将第一样本数据输入至当前第一模型单元(即模型参数为M2的第一模型单元),得到中间结果,并将中间结果发送给数据使用方。
数据使用方将中间结果和第二样本数据输入至当前第一模型单元(即模型参数为N2的第一模型单元),得到预测结果,并基于预测结果和标签,确定参数更新决策,并将参数更新决策发送给数据提供方。
对于数据使用方来说,若该参数更新决策是不接受第二次迭代的N2,则将当前第二模型单元的模型参数回退至更新前的模型参数(即将当前第二模型的模型参数由N2修改为N1,当前第二模型单元的模型参数为N1),然后进行第二模型单元的模型参数的第三次迭代。在第二次迭代完后,当前第二模型单元的模型参数为N1,当前第二关联矩阵为D1
对于数据提供方来说,若接收到的参数更新决策是不接受第二次迭代的M2,则将当前第一模型单元的模型参数回退至更新前的模型参数(即将当前第一模型的模型参数由M2修改为M1,当前第一模型单元的模型参数为M1),然后进行第一模型单元的模型参数的第三次迭代。在第二次迭代完后,当前第一模型单元的模型参数为M1,当前第一关联矩阵为C1
对于业务模型的第三次迭代:
数据提供方可基于当前第一模型单元的模型参数(即M1)、当前第一关联矩阵(即C1)和正态分布,得到第一模型单元第三次迭代的模型参数M3,并将当前第一模型单元的模型参数修改为M3。数据使用方可基于N1、D1和正态分布,得到第二模型单元第三次迭代的模型参数N3,并将当前第二模型单元的模型参数修改为N3
然后,数据提供方可将第一样本数据输入至当前第一模型单元(即模型参数为M3的第一模型单元),得到中间结果,并将中间结果发送给数据使用方。
数据使用方将中间结果和第二样本数据输入至当前第一模型单元(即模型参数为N3的第一模型单元),得到预测结果,并基于预测结果和标签,确定参数更新决策,并将参数更新决策发送给数据提供方。
对于数据使用方来说,若该参数更新决策是接受第三次迭代的N3,则检测业务模型是否收敛。在本例中,假设业务模型收敛,数据使用方可基于当前第二关联矩阵(即D1)、当前第二模型单元的模型参数(即N3),确定本次迭代的关联矩阵(即D3),并将当前第二关联矩阵修改为计算出的本次迭代的关联矩阵(即将D1修改为D3,当前第二关联矩阵为D3)。然后,进行第二模型单元的模型参数的第四次迭代。在第三次迭代完后,当前第二模型单元的模型参数为N3,当前第二关联矩阵为D3
对于数据提供方来说,若接收到的参数更新决策是接受第三次迭代的M3,则检测业务模型是否收敛。在本例中,假设业务模型收敛,数据提供方可基于当前第一关联矩阵(即C1)、当前第一模型单元的模型参数(即M1),确定本次迭代的关联矩阵(即C3),并将当前第一关联矩阵修改为计算出的本次迭代的关联矩阵(即将C1修改为C3,当前第一关联矩阵为C3)。进行第一模型单元的模型参数的第四次迭代。在第三次迭代完后,当前第一模型单元的模型参数为M3,当前第一关联矩阵为C3
依次类推,直至业务模型收敛。
由上述描述可以看出,第一方面,由于数据提供方并没有将样本数据直接提供给数据使用方,而是将样本数据通过第一模型单元转换为中间结果,并将中间结果提供给数据使用方,从而实现了在用户隐私数据***露的情况下,丰富了数据使用方的数据。
第二方面,在本申请中,数据提供方和数据使用方是各自迭代更新各自模型单元的模型参数,而不是基于双方交互的梯度信息来进行模型参数的迭代更新。所以双方之间只需要交互中间结果、以及一些通知信息,而无需交互梯度信息,所以双方之间交互的数据量大大降低,所以可以有效地节约带宽资源。此外,由于不需要传递梯度信息,从而使得不法分子无法基于梯度信息反推出用户隐私数据,所以可以保证用户隐私数据的安全性。
与上述业务模型训练方法实施例相对应,本说明书还提供了业务模型训练装置的实施例。
与上述业务模型训练方法实施例相对应,本说明书还提供了一种业务模型训练装置的实施例。本说明书的业务模型训练装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书的业务模型训练装置所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
参见图7,图7是本申请一示例性实施例示出的一种业务模型训练装置的框图。
所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述装置应用在数据提供方,包括:
生成模块701,基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT
发送模块702,将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方;
接收模块703,接收数据使用方返回的参数更新决策,所述参数更新决策由所述数据使用方将所述中间结果和所述第二样本数据输入模型参数为NT的第二模型单元后,基于该第二模型单元输出的预测结果和所述样本对象的标签确定;所述NT为所述第二模型单元本次迭代的模型参数;
决策模块704,当所述参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛;若否,则基于所述第一模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成。
可选的,所述决策模块704,当所述参数更新决策是不接受本次迭代的模型参数时,基于第一模型上次迭代时的模型参数MT-1,生成下次迭代的模型参数MT+1
可选的,所述生成模块701,基于模型参数MT-1、第一模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;
依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数MT
其中,所述第一模型单元上次迭代的协方差矩阵通过所述第一模型单元上上次迭代时的协方差矩阵、以及所述第一模型单元上次迭代的模型参数MT-1确定。
可选的,所述第一模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第一模型单元上次迭代的协方差矩阵为动量矩阵。
可选的,当所述第一模型单元上次迭代的协方差矩阵为关联矩阵时,所述第一模型单元上次迭代的协方差矩阵通过如下公式确定:
CT-1=γCT-2+(1-γ)MT-1·MT-1 T
其中,CT-2是第一模型单元上上次迭代的关联矩阵;
CT-1是第一模型单元上次迭代时的关联矩阵;
MT-1是第一模型单元上次迭代时的模型参数;
γ是预设值。
可选的,所述样本对象为用户,所述第一样本数据和所述第二样本数据均为用户数据。
参见图8,图8是本申请一示例性实施例示出的一种业务模型训练装置的框图。
所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述装置应用在数据使用方,包括:
生成模块801,基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT
预测模块802,在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元;所述中间结果是由所述数据提供方将所述第一样本数据输入至模型参数为MT的第一模型单元得到的,所述MT为所述第一模型单元本次迭代的模型参数;
确定模块803,基于该第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策,并将该参数更新决策发送给数据提供方,以由所述数据提供方基于该参数更新决策进行后续处理;
决策模块804,若所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;若否,基于所述第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
可选的,所述决策模块804,若所述参数更新决策是不接受本次迭代的模型参数,则基于第二模型单元上次迭代时的模型参数NT-1,生成下次迭代的模型参数NT+1
可选的,所述生成模块801,基于模型参数NT-1、第二模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数NT;其中,所述第二模型单元上次迭代的协方差矩阵通过所述第二模型单元上上次迭代的协方差矩阵、以及所述第二模型单元上次迭代的模型参数NT-1确定。
可选的,所述第二模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第二模型单元的上次迭代的协方差矩阵为动量矩阵。
可选的,当所述第二模型单元上次迭代的协方差矩阵为关联矩阵时,所述第二模型单元的协方差矩阵通过如下公式确定:
DT-1=γDT-2+(1-γ)NT-1·NT-1 T
其中,DT-2是第二模型单元上上次迭代的关联矩阵;
DT-1是第二模型单元上次迭代的关联矩阵;
NT-1是第二模型单元上次迭代的模型参数;
γ是预设值。
可选的,所述确定模块803,基于所述预测结果和与所述样本对象的标签,计算所述业务模型的损失函数的取值;基于已记录的上次迭代时的损失函数的取值和本次迭代计算出的所述损失函数的取值,确定业务模型损失函数取值的变化量;基于所述变化量确定参数更新决策。
可选的,所述确定模块803,基于所述变化量,计算接受概率值;基于接受概率,随机确定是否接受本次迭代的模型参数,作为参数更新决策。
此外,本申请还提供一种业务模型的训练***,所述训练***包括:数据使用方和数据提供方;所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同;
所述数据提供方,用于基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT;将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方,并在确定所述数据使用方返回的参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛,若否,则基于所述第一模型本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成;
所述数据使用方,用于基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT;在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元,并基于模型参数为NT的第二模型单元输出的预测结果和所述样本对象的标签确定参数更新决策,并将该参数更新决策发送给数据提供方,以及在确定所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;若否,基于所述第一模型本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
可选的,
所述数据提供方,用于当所述参数更新决策是不接受本次迭代的模型参数时,基于第一模型上次迭代时的模型参数MT-1,生成下次迭代的模型参数MT+1
所述数据使用方,用于若所述参数更新决策是不接受本次迭代的模型参数,则基于第二模型单元上次迭代时的模型参数NT-1,生成下次迭代的模型参数NT+1
可选的,
所述数据提供方,在基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT时,用于基于模型参数MT-1、第一模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;所述模型参数MT服从确定出的目标概率分布;依据所述目标概率分布,生成本次迭代的模型参数MT;其中,所述第一模型单元上次迭代的协方差矩阵通过所述第一模型单元上上次迭代时的协方差矩阵、以及所述第一模型单元上次迭代的模型参数MT-1确定;
所述数据使用方,在基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT时,用于基于模型参数NT-1、第二模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;所述模型参数NT服从确定出的目标概率分布;依据所述目标概率分布,生成本次迭代的模型参数NT;其中,所述第二模型单元上次迭代的协方差矩阵通过所述第二模型单元上上次迭代的协方差矩阵、以及所述第二模型单元上次迭代的模型参数NT-1确定。
可选的,
所述第一模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第一模型单元上次迭代的协方差矩阵为动量矩阵;
所述第二模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第二模型单元的上次迭代的协方差矩阵为动量矩阵。
可选的,
当所述第一模型单元上次迭代的协方差矩阵为关联矩阵时,所述第一模型单元上次迭代的协方差矩阵通过如下公式确定:
CT-1=γCT-2+(1-γ)MT-1·MT-1 T
其中,CT-2是第一模型单元上上次迭代的关联矩阵;
CT-1是第一模型单元上次迭代时的关联矩阵;
MT-1是第一模型单元上次迭代时的模型参数;
γ是预设值;
当所述第二模型单元上次迭代的协方差矩阵为关联矩阵时,所述第二模型单元的协方差矩阵通过如下公式确定:
DT-1=γDT-2+(1-γ)NT-1·NT-1 T
其中,DT-2是第二模型单元上上次迭代的关联矩阵;
DT-1是第二模型单元上次迭代的关联矩阵;
NT-1是第二模型单元上次迭代的模型参数;
γ是预设值。
可选的,
所述数据使用方,在基于模型参数为NT的第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策时,用于基于所述预测结果和与所述样本对象的标签,计算所述业务模型的损失函数的取值;基于已记录的上次迭代时的损失函数的取值和本次迭代计算出的所述损失函数的取值,确定业务模型损失函数取值的变化量;基于所述变化量确定参数更新决策。
可选的,
所述数据使用方,在基于所述变化量确定参数更新决策时,用于基于所述变化量,计算接受概率值;基于接受概率,随机确定是否接受本次迭代的模型参数,作为参数更新决策。
可选的,所述样本对象为用户,所述第一样本数据和所述第二样本数据均为用户数据。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (43)

1.一种业务模型的训练方法,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述方法应用在数据提供方,包括:
基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT
将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方;
接收数据使用方返回的参数更新决策,所述参数更新决策由所述数据使用方将所述中间结果和所述第二样本数据输入模型参数为NT的第二模型单元后,基于该第二模型单元输出的预测结果和所述样本对象的标签确定;所述NT为所述第二模型单元本次迭代的模型参数;
当所述参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛;
若否,则基于所述第一模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;
若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成。
2.根据权利要求1所述的方法,所述方法还包括:
当所述参数更新决策是不接受本次迭代的模型参数时,基于第一模型上次迭代时的模型参数MT-1,生成下次迭代的模型参数MT+1
3.根据权利要求1所述的方法,所述基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT,包括:
基于模型参数MT-1、第一模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;
依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数MT
其中,所述第一模型单元上次迭代的协方差矩阵通过所述第一模型单元上上次迭代时的协方差矩阵、以及所述第一模型单元上次迭代的模型参数MT-1确定。
4.根据权利要求3所述的方法,所述第一模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第一模型单元上次迭代的协方差矩阵为动量矩阵。
5.根据权利要求4所述的方法,当所述第一模型单元上次迭代的协方差矩阵为关联矩阵时,所述第一模型单元上次迭代的协方差矩阵通过如下公式确定:
CT-1=γCT-2+(1-γ)MT-1·MT-1 T
其中,CT-2是第一模型单元上上次迭代的关联矩阵;
CT-1是第一模型单元上次迭代时的关联矩阵;
MT-1是第一模型单元上次迭代时的模型参数;
γ是预设值。
6.根据权利要求1所述的方法,所述样本对象为用户,所述第一样本数据和所述第二样本数据均为用户数据。
7.一种业务模型的训练方法,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述方法应用在数据使用方,包括:
基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT
在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元;所述中间结果是由所述数据提供方将所述第一样本数据输入至模型参数为MT的第一模型单元得到的,所述MT为所述第一模型单元本次迭代的模型参数;
基于该第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策,并将该参数更新决策发送给数据提供方,以由所述数据提供方基于该参数更新决策进行后续处理;
若所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;
若否,基于所述第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;
若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
8.根据权利要求7所述的方法,所述方法还包括:
若所述参数更新决策是不接受本次迭代的模型参数,则基于第二模型单元上次迭代时的模型参数NT-1,生成下次迭代的模型参数NT+1
9.根据权利要求7所述的方法,所述基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT,包括:
基于模型参数NT-1、第二模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;
依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数NT
其中,所述第二模型单元上次迭代的协方差矩阵通过所述第二模型单元上上次迭代的协方差矩阵、以及所述第二模型单元上次迭代的模型参数NT-1确定。
10.根据权利要求9所述的方法,所述第二模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第二模型单元的上次迭代的协方差矩阵为动量矩阵。
11.根据权利要求10所述的方法,当所述第二模型单元上次迭代的协方差矩阵为关联矩阵时,所述第二模型单元的协方差矩阵通过如下公式确定:
DT-1=γDT-2+(1-γ)NT-1·NT-1 T
其中,DT-2是第二模型单元上上次迭代的关联矩阵;
DT-1是第二模型单元上次迭代的关联矩阵;
NT-1是第二模型单元上次迭代的模型参数;
γ是预设值。
12.根据权利要求7所述的方法,所述基于模型参数为NT的第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策,包括:
基于所述预测结果和与所述样本对象的标签,计算所述业务模型的损失函数的取值;
基于已记录的上次迭代时的损失函数的取值和本次迭代计算出的所述损失函数的取值,确定业务模型损失函数取值的变化量;
基于所述变化量确定参数更新决策。
13.根据权利要求12所述的方法,所述基于所述变化量确定参数更新决策,包括:
基于所述变化量,计算接受概率值;
基于所述接受概率值,随机确定是否接受本次迭代的模型参数,作为参数更新决策。
14.根据权利要求13所述的方法,所述基于所述变化量,计算接受概率值,包括:
通过如下公式计算接受概率值:
P=min{exp(-Δl),1};
其中,P为接受概率值;
所述Δl为业务模型损失函数取值的变化量。
15.根据权利要求7至14任一项所述的方法,所述样本对象为用户,所述第一样本数据和第二样本数据为用户数据。
16.一种业务模型的训练***,所述训练***包括:数据使用方和数据提供方;所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同;
所述数据提供方,用于基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT;将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方,并在确定所述数据使用方返回的参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛,若否,则基于所述第一模型本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成;
所述数据使用方,用于基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT;在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元,并基于模型参数为NT的第二模型单元输出的预测结果和所述样本对象的标签确定参数更新决策,并将该参数更新决策发送给数据提供方,以及在确定所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;若否,基于所述第一模型本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
17.根据权利要求16所述的***,
所述数据提供方,用于当所述参数更新决策是不接受本次迭代的模型参数时,基于第一模型上次迭代时的模型参数MT-1,生成下次迭代的模型参数MT+1
所述数据使用方,用于若所述参数更新决策是不接受本次迭代的模型参数,则基于第二模型单元上次迭代时的模型参数NT-1,生成下次迭代的模型参数NT+1
18.根据权利要求16所述的***,
所述数据提供方,在基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT时,用于基于模型参数MT-1、第一模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数MT;其中,所述第一模型单元上次迭代的协方差矩阵通过所述第一模型单元上上次迭代时的协方差矩阵、以及所述第一模型单元上次迭代的模型参数MT-1确定;
所述数据使用方,在基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT时,用于基于模型参数NT-1、第二模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数NT;其中,所述第二模型单元上次迭代的协方差矩阵通过所述第二模型单元上上次迭代的协方差矩阵、以及所述第二模型单元上次迭代的模型参数NT-1确定。
19.根据权利要求18所述的***,所述第一模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第一模型单元上次迭代的协方差矩阵为动量矩阵;
所述第二模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第二模型单元的上次迭代的协方差矩阵为动量矩阵。
20.根据权利要求19所述的***,
当所述第一模型单元上次迭代的协方差矩阵为关联矩阵时,所述第一模型单元上次迭代的协方差矩阵通过如下公式确定:
CT-1=γCT-2+(1-γ)MT-1·MT-1 T
其中,CT-2是第一模型单元上上次迭代的关联矩阵;
CT-1是第一模型单元上次迭代时的关联矩阵;
MT-1是第一模型单元上次迭代时的模型参数;
γ是预设值;
当所述第二模型单元上次迭代的协方差矩阵为关联矩阵时,所述第二模型单元的协方差矩阵通过如下公式确定:
DT-1=γDT-2+(1-γ)NT-1·NT-1 T
其中,DT-2是第二模型单元上上次迭代的关联矩阵;
DT-1是第二模型单元上次迭代的关联矩阵;
NT-1是第二模型单元上次迭代的模型参数;
γ是预设值。
21.根据权利要求16所述的***,
所述数据使用方,在基于模型参数为NT的第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策时,用于基于所述预测结果和与所述样本对象的标签,计算所述业务模型的损失函数的取值;基于已记录的上次迭代时的损失函数的取值和本次迭代计算出的所述损失函数的取值,确定业务模型损失函数取值的变化量;基于所述变化量确定参数更新决策。
22.根据权利要求21所述的***,
所述数据使用方,在基于所述变化量确定参数更新决策时,用于基于所述变化量,计算接受概率值;基于所述接受概率值,随机确定是否接受本次迭代的模型参数,作为参数更新决策。
23.根据权利要求22所述的***,
所述数据使用方,在基于所述变化量,计算接受概率值时,用于通过如下公式计算接受概率值:
P=min{exp(-Δl),1};
其中,P为接受概率值;
所述Δl为业务模型损失函数取值的变化量。
24.根据权利要求16至23任一项所述的***,所述样本对象为用户,所述第一样本数据和所述第二样本数据均为用户数据。
25.一种业务模型的训练装置,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述装置应用在数据提供方,包括:
生成模块,基于所述第一模型单元上次迭代时的模型参数MT-1,生成本次迭代的模型参数MT
发送模块,将所述第一样本数据输入模型参数为MT的第一模型单元,得到中间结果,并将该中间结果发送给所述数据使用方;
接收模块,接收数据使用方返回的参数更新决策,所述参数更新决策由所述数据使用方将所述中间结果和所述第二样本数据输入模型参数为NT的第二模型单元后,基于该第二模型单元输出的预测结果和所述样本对象的标签确定;所述NT为所述第二模型单元本次迭代的模型参数;
决策模块,当所述参数更新决策是接受本次迭代的模型参数时,检测所述业务模型是否收敛;若否,则基于所述第一模型单元本次迭代时的模型参数MT,执行生成下次迭代的模型参数MT+1的步骤;若是,则停止所述第一模型单元的模型参数的迭代,并确定所述业务模型训练完成。
26.根据权利要求25所述的装置,所述决策模块,当所述参数更新决策是不接受本次迭代的模型参数时,基于第一模型上次迭代时的模型参数MT-1,生成下次迭代的模型参数MT+1
27.根据权利要求25所述的装置,所述生成模块,基于模型参数MT-1、第一模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数MT
其中,所述第一模型单元上次迭代的协方差矩阵通过所述第一模型单元上上次迭代时的协方差矩阵、以及所述第一模型单元上次迭代的模型参数MT-1确定。
28.根据权利要求27所述的装置,所述第一模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第一模型单元上次迭代的协方差矩阵为动量矩阵。
29.根据权利要求28所述的装置,当所述第一模型单元上次迭代的协方差矩阵为关联矩阵时,所述第一模型单元上次迭代的协方差矩阵通过如下公式确定:
CT-1=γCT-2+(1-γ)MT-1·MT-1 T
其中,CT-2是第一模型单元上上次迭代的关联矩阵;
CT-1是第一模型单元上次迭代时的关联矩阵;
MT-1是第一模型单元上次迭代时的模型参数;
γ是预设值。
30.根据权利要求25所述的装置,所述样本对象为用户,所述第一样本数据和所述第二样本数据均为用户数据。
31.一种业务模型的训练装置,所述业务模型包括第一模型单元和第二模型单元,所述第一模型单元配置在数据提供方,所述第二模型单元配置在数据使用方,所述数据提供方持有样本对象的第一样本数据,所述数据使用方持有所述样本对象的第二样本数据和所述样本对象的标签,所述第一样本数据和所述第二样本数据的特征维度不完全相同,所述装置应用在数据使用方,包括:
生成模块,基于所述第二模型单元上次迭代时的模型参数NT-1,生成本次迭代的模型参数NT
预测模块,在接收到数据提供方发送的中间结果时,将所述中间结果和所述第二样本数据输入至模型参数为NT的第二模型单元;所述中间结果是由所述数据提供方将所述第一样本数据输入至模型参数为MT的第一模型单元得到的,所述MT为所述第一模型单元本次迭代的模型参数;
确定模块,基于该第二模型单元输出的预测结果和所述样本对象的标签,确定参数更新决策,并将该参数更新决策发送给数据提供方,以由所述数据提供方基于该参数更新决策进行后续处理;
决策模块,若所述参数更新决策是接受本次迭代的模型参数,则检测所述业务模型是否收敛;若否,基于所述第二模型单元本次迭代时的模型参数NT,执行生成下次迭代的模型参数NT+1的步骤;若是,则停止所述第二模型单元的模型参数的迭代,并确定所述业务模型训练完成。
32.根据权利要求31所述的装置,所述决策模块,若所述参数更新决策是不接受本次迭代的模型参数,则基于第二模型单元上次迭代时的模型参数NT-1,生成下次迭代的模型参数NT+1
33.根据权利要求31所述的装置,所述生成模块,基于模型参数NT-1、第二模型单元上次迭代的协方差矩阵以及预设的概率分布类型,确定目标概率分布;依据所述目标概率分布,生成服从所述目标概率分布的本次迭代的模型参数NT;其中,所述第二模型单元上次迭代的协方差矩阵通过所述第二模型单元上上次迭代的协方差矩阵、以及所述第二模型单元上次迭代的模型参数NT-1确定。
34.根据权利要求33所述的装置,所述第二模型单元上次迭代的协方差矩阵为关联矩阵,或者,所述第二模型单元的上次迭代的协方差矩阵为动量矩阵。
35.根据权利要求34所述的装置,当所述第二模型单元上次迭代的协方差矩阵为关联矩阵时,所述第二模型单元的协方差矩阵通过如下公式确定:
DT-1=γDT-2+(1-γ)NT-1·NT-1 T
其中,DT-2是第二模型单元上上次迭代的关联矩阵;
DT-1是第二模型单元上次迭代的关联矩阵;
NT-1是第二模型单元上次迭代的模型参数;
γ是预设值。
36.根据权利要求31所述的装置,所述确定模块,基于所述预测结果和与所述样本对象的标签,计算所述业务模型的损失函数的取值;基于已记录的上次迭代时的损失函数的取值和本次迭代计算出的所述损失函数的取值,确定业务模型损失函数取值的变化量;基于所述变化量确定参数更新决策。
37.根据权利要求36所述的装置,所述确定模块,基于所述变化量,计算接受概率值;基于所述接受概率值,随机确定是否接受本次迭代的模型参数,作为参数更新决策。
38.根据权利要求37所述的装置,所述确定模块,通过如下公式计算接受概率值:
P=min{exp(-Δl),1};
其中,P为接受概率值;
所述Δl为业务模型损失函数取值的变化量。
39.根据权利要求31至38任一项所述的装置,所述样本对象为用户,所述第一样本数据和第二样本数据为用户数据。
40.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-6中任一项所述的方法。
41.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-6中任一项所述方法的步骤。
42.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求7-14中任一项所述的方法。
43.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求7-14中任一项所述方法的步骤。
CN202010228702.0A 2020-03-27 2020-03-27 业务模型训练方法、装置、***及电子设备 Active CN111415015B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010228702.0A CN111415015B (zh) 2020-03-27 2020-03-27 业务模型训练方法、装置、***及电子设备
PCT/CN2020/132877 WO2021189926A1 (zh) 2020-03-27 2020-11-30 业务模型训练方法、装置、***及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010228702.0A CN111415015B (zh) 2020-03-27 2020-03-27 业务模型训练方法、装置、***及电子设备

Publications (2)

Publication Number Publication Date
CN111415015A CN111415015A (zh) 2020-07-14
CN111415015B true CN111415015B (zh) 2021-06-04

Family

ID=71493358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010228702.0A Active CN111415015B (zh) 2020-03-27 2020-03-27 业务模型训练方法、装置、***及电子设备

Country Status (2)

Country Link
CN (1) CN111415015B (zh)
WO (1) WO2021189926A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111415015B (zh) * 2020-03-27 2021-06-04 支付宝(杭州)信息技术有限公司 业务模型训练方法、装置、***及电子设备
CN112906912A (zh) * 2021-04-01 2021-06-04 深圳市洞见智慧科技有限公司 纵向联邦学习中无可信第三方的回归模型训练方法及***
CN114266406B (zh) * 2021-12-24 2024-07-12 北京航空航天大学 一种基于联邦学习的大范围路网交通流状态预测方法
CN116468132A (zh) * 2022-01-10 2023-07-21 华为技术有限公司 用户数据处理的***、方法以及装置
CN117540827B (zh) * 2024-01-08 2024-04-09 杭州吉利汽车数字科技有限公司 模型热更新方法、装置、设备及计算机可读存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292325A (zh) * 2016-03-31 2017-10-24 日本电气株式会社 用于训练混合模型的方法和设备
US10380503B2 (en) * 2016-04-08 2019-08-13 Here Global B.V. Distributed online learning for privacy-preserving personal predictive models
CN107688849B (zh) * 2017-07-28 2021-04-13 赛灵思电子科技(北京)有限公司 一种动态策略定点化训练方法及装置
CN109426894A (zh) * 2017-08-22 2019-03-05 阿里巴巴集团控股有限公司 用户信息共享、竞价方法、装置、***及电子设备
US10410121B2 (en) * 2017-10-25 2019-09-10 SparkCognition, Inc. Adjusting automated neural network generation based on evaluation of candidate neural networks
CN108985929B (zh) * 2018-06-11 2022-04-08 创新先进技术有限公司 训练方法、业务数据分类处理方法及装置、电子设备
CN109345302B (zh) * 2018-09-27 2023-04-18 腾讯科技(深圳)有限公司 机器学习模型训练方法、装置、存储介质和计算机设备
CN109886417B (zh) * 2019-03-01 2024-05-03 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质
CN110796270A (zh) * 2019-10-25 2020-02-14 深圳市超算科技开发有限公司 一种机器学习模型选择方法
CN110751294A (zh) * 2019-10-31 2020-02-04 深圳前海微众银行股份有限公司 联合多方特征数据的模型预测方法、装置、设备及介质
CN111415015B (zh) * 2020-03-27 2021-06-04 支付宝(杭州)信息技术有限公司 业务模型训练方法、装置、***及电子设备

Also Published As

Publication number Publication date
WO2021189926A1 (zh) 2021-09-30
CN111415015A (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN111415015B (zh) 业务模型训练方法、装置、***及电子设备
US10917425B2 (en) Graph structure model training and junk account identification
US10977664B2 (en) Method and apparatus for transferring from robot customer service to human customer service
CN109155002B (zh) 增强神经网络***、方法和计算机程序
US10832134B2 (en) Augmenting neural networks with external memory
CN111080123A (zh) 用户风险评估方法及装置、电子设备、存储介质
CN109313720B (zh) 具有稀疏访问的外部存储器的增强神经网络
CN110956275B (zh) 风险预测和风险预测模型的训练方法、装置及电子设备
US11080594B2 (en) Augmenting neural networks with external memory using reinforcement learning
US11727301B2 (en) Exploiting local inter-task relationships in adaptive multi-task learning
CN110008984B (zh) 一种基于多任务样本的目标欺诈交易模型训练方法和装置
JP2017509947A (ja) ネットワークサブジェクトの社会的関係タイプの取得
CN112015909B (zh) 知识图谱的构建方法及装置、电子设备、存储介质
CN112381216A (zh) 混合图神经网络模型的训练、预测方法和装置
CN111008898B (zh) 评估模型解释工具的方法和装置
CN111383030B (zh) 一种交易风险的检测方法、装置及设备
CA3234914A1 (en) Multi-model system for electronic transaction authorization and fraud detection
CN113743678B (zh) 一种用户信用评分预测方法及相关设备
CN113849314A (zh) 一种数据处理模型部署方法及装置
CN116720214A (zh) 一种用于隐私保护的模型训练方法及装置
CN112967044A (zh) 一种支付业务的处理方法及装置
Kottke et al. A stopping criterion for transductive active learning
CN112200234B (zh) 模型分类的过程中防止模型窃取的方法及装置
US20240177058A1 (en) Use of a Training Framework of a Multi-Class Model to Train a Multi-Label Model
CN111143552B (zh) 文本信息的类别预测方法和装置、服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40033608

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant