CN114239863B - 机器学习模型的训练方法及其预测方法、装置、电子设备 - Google Patents
机器学习模型的训练方法及其预测方法、装置、电子设备 Download PDFInfo
- Publication number
- CN114239863B CN114239863B CN202210172210.3A CN202210172210A CN114239863B CN 114239863 B CN114239863 B CN 114239863B CN 202210172210 A CN202210172210 A CN 202210172210A CN 114239863 B CN114239863 B CN 114239863B
- Authority
- CN
- China
- Prior art keywords
- passive
- encryption
- coding
- model
- prediction
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 194
- 238000010801 machine learning Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000012545 processing Methods 0.000 claims abstract description 165
- 230000006870 function Effects 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 26
- 230000001902 propagating effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 69
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 20
- 238000013507 mapping Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 230000002776 aggregation Effects 0.000 description 10
- 238000004220 aggregation Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000002372 labelling Methods 0.000 description 6
- 238000012417 linear regression Methods 0.000 description 5
- 238000007477 logistic regression Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种机器学习模型的训练方法及其预测方法、装置、电子设备;机器学习模型的训练方法包括:基于样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,得到主动方第一加密编码结果;接收N个被动方第一加密编码结果;基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率;基于第一预测概率与样本对的第一预测任务标签更新各个模型的参数;基于正样本对以及对应的第二预测任务标签,更新包括第二预测模型在内的各个模型的参数,第二预测模型的预测任务与第一预测模型的预测任务不同。通过本申请能够基于第一预测任务标签扩大训练规模,提高机器学习模型的泛化能力,从而提升预测结果的准确性。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种机器学习模型的训练方法及其预测方法、装置、电子设备。
背景技术
人工智能(Artificial Intelligence,AI)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
随着人工智能技术的发展,出现了“纵向联邦学习”的概念。纵向联邦学习是在训练参与方之间的对象特征重叠较少、对象重叠较多的情况下,取出训练参与方对象相同而对象特征不同的那部分对象及对象特征进行联合训练机器学习模型。
相关技术中,纵向联邦学习只能基于训练参与方均交叉且有目标任务标注标签的样本数据进行学习。在实际的应用场景中,训练参与方交叉的样本数据量通常十分巨大,然而只能利用其中少量有目标任务标注标签的样本数据进行学习训练。并且,通常只利用在离当前时间较近的一段时间内的目标任务标注标签,这样使得训练参与方实际可用的交叉的样本数据的规模进一步缩小。如果只使用在离当前时间较近的一段时间内的、有目标任务标注标签的样本数据进行训练,极易导致过拟合现象的出现,从而使得训练出的模型效果不佳。
发明内容
本申请实施例提供一种机器学习模型的训练方法及其预测方法、装置、电子设备、计算机可读存储介质及计算机程序产品,引入除目标预测任务标签之外的第一预测任务标签进行模型训练,并基于大规模的样本对进行模型训练,使得训练得到的机器学习模型具有良好的泛化能力,从而提升机器学习模型的预测结果的准确性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种机器学习模型的训练方法,应用于主动方设备,所述方法包括:
基于样本对中由所述主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方第一加密编码结果,其中,所述样本对的类型包括正样本对和负样本对;
对所述主动方第一加密编码结果与所述N个被动方第一加密编码结果进行拼接处理,基于得到的第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征所述样本对中的对象特征来源于同一对象的第一预测概率;
基于所述第一预测概率与所述样本对的第一预测任务标签之间的第一差异进行反向传播以更新所述第一预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数;
所述主动方设备和所述N个被动方设备基于所述正样本对以及对应的第二预测任务标签,更新第二预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数,其中,所述第二预测模型的预测任务与所述第一预测模型的预测任务不同。
本申请实施例提供一种基于机器学习模型的预测方法,应用于主动方设备,所述方法包括:
基于所述主动方设备提供的待预测对象的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方加密编码结果;
对所述主动方加密编码结果与所述N个被动方加密编码结果进行拼接处理,得到拼接加密编码结果;
基于所述拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率;
其中,所述主动方编码模型、所述N个被动方编码模型以及所述第二预测模型是根据上述的机器学习模型的训练方法训练得到的。
本申请实施例提供一种机器学习模型的训练装置,包括:
编码处理模块,用于基于样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方第一加密编码结果,其中,所述样本对的类型包括正样本对和负样本对;
接收模块,用于接收N个被动方设备对应发送的N个被动方第一加密编码结果;其中,N为整数常量且,所述N个被动方第一加密编码结果是基于N个被动方编码模型,并结合所述样本对中由所述N个被动方设备对应提供的对象特征确定的;
拼接处理模块,用于对所述主动方第一加密编码结果与所述N个被动方第一加密编码结果进行拼接处理,基于得到的第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征所述样本对中的对象特征来源于同一对象的第一预测概率;
第一更新模块,用于基于所述第一预测概率与所述样本对的第一预测任务标签之间的第一差异进行反向传播以更新所述第一预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数;
第二更新模块,用于所述主动方设备和所述N个被动方设备基于所述正样本对以及对应的第二预测任务标签,更新第二预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数,其中,所述第二预测模型的预测任务与所述第一预测模型的预测任务不同。
本申请实施例提供一种基于机器学习模型的预测装置,包括:
编码处理模块,用于基于主动方设备提供的待预测对象的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方加密编码结果;
接收模块,用于接收N个被动方设备对应发送的N个被动方加密编码结果;其中,N为整数常量且,所述N个被动方加密编码结果是基于N个被动方编码模型,并结合所述N个被动方设备对应提供的所述待预测对象的对象特征确定的;
拼接处理模块,用于对所述主动方加密编码结果与所述N个被动方加密编码结果进行拼接处理,得到拼接加密编码结果;
预测处理模块,用于基于所述拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率;
其中,所述主动方编码模型、所述N个被动方编码模型以及所述第二预测模型是根据上述的机器学习模型的训练方法训练得到的。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的机器学习模型的训练方法或基于机器学习模型的预测方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的机器学习模型的训练方法或基于机器学习模型的预测方法。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的机器学习模型的训练方法或基于机器学习模型的预测方法。
本申请实施例具有以下有益效果:
通过使用样本对中由主动方设备与被动方设备提供的对象特征训练第一预测模型,由于第一预测模型预测得出的第一预测概率表征样本对中的对象特征来源于同一对象的概率,所以第一预测模型可以拉近同一对象在主动方设备与被动方设备中的对象特征的表征;由于第一预测模型的预测任务与第二预测模型的预测任务不同,所以第一预测任务标签与第二预测任务标签也不同,通过引入与目标预测任务标签不同的第一预测任务标签,由于第一预测任务标签反映的是多个对象特征是否来源于同一对象,对用于进行训练的对象特征没有限制,也就是用于进行训练的正样本对和负样本对的数量非常庞大,从而扩大了训练规模,使得训练得到的机器学习模型具有良好的泛化能力,从而提升机器学习模型的预测结果的准确性。
附图说明
图1A是本申请实施例提供的包括主动方设备和被动方设备的机器学习模型的训练系统100的架构示意图;
图1B是本申请实施例提供的包括主动方设备、被动方设备和中间方设备的机器学习模型的训练系统100的架构示意图;
图2A是本申请实施例提供的包括机器学习模型的训练装置的服务器200的结构示意图;
图2B是本申请实施例提供的包括基于机器学习模型的预测装置的服务器200的结构示意图;
图3A是本申请实施例提供的机器学习模型的训练方法中步骤101-105的流程示意图;
图3B是本申请实施例提供的机器学习模型的训练方法中步骤1041A-1045A的流程示意图;
图3C是本申请实施例提供的机器学习模型的训练方法中步骤1031-1033和步骤1041B-1044B的流程示意图;
图3D是本申请实施例提供的机器学习模型的训练方法中步骤1051-1055的流程示意图;
图3E是本申请实施例提供的机器学习模型的训练方法中步骤10551A-10555A的流程示意图;
图3F是本申请实施例提供的机器学习模型的训练方法中步骤10531-10532和步骤10551B-10554B的流程示意图;
图4A是本申请实施例提供的包括主动方和被动方的机器学习模型的结构示意图;
图4B是本申请实施例提供的包括主动方、被动方和中间方的机器学习模型的结构示意图;
图4C为本申请实施例提供的负样本对的构造方式的示意图;
图5是本申请实施例提供的基于机器学习模型的预测方法的流程示意图;
图6是本申请实施例提供的主动方设备与被动方设备对象交叉示意图;
图7是本申请实施例提供的正负样本对的构造方式示意图;
图8A是本申请实施例提供的预训练阶段的机器学习模型的结构示意图;
图8B是本申请实施例提供的预训练阶段和精调阶段的机器学习模型的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
可以理解的是,在本申请实施例中,涉及到用户信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)纵向联邦学习(Vertical Federated Learning,VFL),是一种分布式学习的机器学习框架,在保障数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在对象重叠较多、对象特征重叠较少的主动方设备和多个被动方设备之间开展高效率的机器学习。
2)主动方,为纵向联邦学习的术语,在纵向联邦学习过程中,主动方基于自身存储的标签数据和训练样本来训练机器学习模型,主动方用于训练机器学习模型的设备称为主动方设备。
3)被动方,同为纵向联邦学习的术语,在纵向联邦学习过程中,被动方基于自身存储的训练样本来训练机器学习模型。被动方用于训练机器学习模型的设备称为被动方设备。
4)中间方,也称为协调方,同为纵向联邦学习的术语,在纵向联邦学习过程中,主动方和被动方可以将模型训练相关的数据加密后发送给中间方,由中间方执行纵向联邦学习过程。中间方用于训练机器学习模型的设备称为中间方设备。
5)同态加密算法,对使用同态加密算法进行加密的数据进行运算得到的输出结果,进行解密得到的解密结果,与对未进行同态加密处理的原始数据进行运算得到的输出结果相同。
相关技术中,纵向联邦学习只能基于训练参与方均交叉且有目标任务标注标签的样本数据进行学习。在实际的应用场景中,训练参与方交叉的样本数据量通常十分巨大,然而只能利用其中少量有目标任务标注标签的样本数据进行学习训练,造成了数据浪费的问题。并且,在诸多互联网业务场景中,在进行纵向联邦学习时,对目标任务标注标签的时效性具有要求,通常只利用在离当前时间较近的一段时间内的目标任务标注标签,这样使得训练参与方实际可用的交叉的样本数据的规模进一步缩小。如果只使用在离当前时间较近的一段时间内的、有目标任务标注标签的样本数据进行训练,极易导致过拟合现象的出现,从而使得训练出的模型效果不佳。
本申请实施例可以基于云计算技术实现,云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台),一般称为基础设施即服务平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在基础设施即服务层上可以部署平台即服务层,平台即服务层之上再部署软件即服务层,也可以直接将软件即服务部署在基础设施即服务上。平台即服务为软件运行的平台,如数据库、网络容器等。软件即服务为各式各样的业务软件,如网络门户网站、短信群发器等。一般来说,软件即服务和平台即服务相对于基础设施即服务是上层。
本申请实施例提供一种机器学习模型的训练方法及其预测方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够提高机器学习模型的预测结果的准确性,下面说明本申请实施例提供的用于进行机器学习模型的训练的电子设备的示例性应用,本申请实施例提供的进行机器学习模型的训练的电子设备可以实施为服务器。下面,将说明电子设备实施为服务器时的示例性应用。
本申请实施例提供的机器学习模型的训练方法可以由服务器完成,参见图1A,图1A是本申请实施例提供的包括主动方设备和被动方设备的机器学习模型的训练系统100的架构示意图,包括主动方设备和多个被动方设备,其中,多个被动方设备分别与主动方设备进行通信连接。每个被动方设备将被动方加密编码结果发送给主动方设备,主动方设备对主动方加密编码结果和多个被动方加密编码结果进行拼接处理,得到拼接加密编码结果。主动方设备基于拼接加密编码结果与预测任务标签之间的差异,得到各个模型的参数的加密梯度,主动方设备基于主动方编码模型的参数的加密梯度,更新主动方编码模型的参数。并且,主动方设备将每个被动方编码模型的参数的加密梯度对应发送给被动方设备,以使被动方设备更新对应的被动方编码模型的参数。其中,主动方设备和多个被动方设备可以实施为服务器。
参见图1B,图1B是本申请实施例提供的包括主动方设备、被动方设备和中间方设备的机器学习模型的训练系统100的架构示意图,包括中间方设备、主动方设备和多个被动方设备。每个被动方设备将被动方加密编码结果发送给主动方设备,主动方设备将主动方加密编码结果和多个被动方加密编码结果发送给中间方设备,中间方设备对收到的加密编码结果进行拼接处理,得到拼接加密编码结果。中间方设备基于拼接加密编码结果与预测任务标签之间的差异,得到各个模型的参数的加密梯度并发送给主动方设备,主动方设备基于主动方编码模型的参数的加密梯度,更新主动方编码模型的参数。并且,主动方设备将每个被动方编码模型的参数的加密梯度对应发送给被动方设备,以使被动方设备更新对应的被动方编码模型的参数。其中,中间方设备、主动方设备和多个被动方设备可以实施为服务器。
在一些实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器之间可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
本申请实施例可以借助区块链技术来实现,在一些实施例中,多个服务器可以组成为一区块链网络,服务器为区块链网络上的节点,多个节点运行用于实现机器学习模型的训练方法及其预测方法的智能合约,通过共识的方式来保证训练过程和应用过程的数据的可靠性。此外,机器学习模型的参数也可以上链存储,链下的需要使用机器学习模型的电子设备通过调用智能合约的方式来向区块链网络请求机器学习模型的参数,当参数被多个节点共识通过时才会下发,避免了机器学习模型的参数被恶意篡改。
本申请实施例还可以应用于地图车联网领域,在一些实施例中,机器学习模型可以是车载场景中的智能语音助手模型,用于对驾驶者的语音指令进行响应,包括对车辆进行控制,运行车载终端中的应用,例如音乐客户端、视频客户端、导航客户端等。
下面,参见图2A,图2A是本申请实施例提供的包括机器学习模型的训练装置的服务器200的结构示意图,图2A所示的服务器200可以表示为上文所述的主动方设备。图2A所示的服务器200包括:至少一个处理器210、存储器230、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器230可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器230可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器230包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器230旨在包括任意适合类型的存储器。
在一些实施例中,存储器230能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统231,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
网络通信模块232,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的机器学习模型的训练装置可以采用软件方式实现,图2A示出了存储在存储器230中的机器学习模型的训练装置233,其可以是程序和插件等形式的软件,包括以下软件模块:编码处理模块2331、接收模块2332、预测处理模块2333、第一更新模块2334和第二更新模块2335,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
参见图2B,图2B是本申请实施例提供的包括基于机器学习模型的预测装置的服务器200的结构示意图,图2B所示的服务器200可以表示为上文所述的主动方设备。图2B所示的服务器200包括:至少一个处理器210、存储器230、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。图2B示出了存储在存储器230中的基于机器学习模型的预测装置234,其可以是程序和插件等形式的软件,包括以下软件模块:编码处理模块2341、接收模块2342、拼接处理模块2343和预测处理模块2344,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
在另一些实施例中,本申请实施例提供的机器学习模型的训练装置以及基于机器学习模型的预测装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的机器学习模型的训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在对本申请实施例提供的机器学习模型的训练方法进行说明之前,先说明本申请实施例提供的机器学习模型的结构。参见图4A,图4A是本申请实施例提供的包括主动方和被动方的机器学习模型的结构示意图。图4A所示的机器学习模型包括主动方编码模型、被动方编码模型、第一预测模型和第二预测模型。作为示例,主动方编码模型和被动方编码模型可以为深度学习网络(Deep Neural Networks,DNN)模型,第一预测模型和第二预测模型均可以为线性回归模型、逻辑回归模型、梯度提升树模型中的任意一种。
作为示例,下面以被动方设备的数量为1进行说明。
主动方设备基于样本对中由主动方设备提供的对象特征调用主动方编码模型进行编码处理,得到主动方第一编码结果,主动方设备对主动方第一编码结果进行加密处理,得到主动方第一加密编码结果。同样地,被动方设备基于样本对中由被动方设备提供的对象特征调用被动方编码模型进行编码处理,得到被动方第一编码结果,被动方设备对被动方第一编码结果进行加密处理后,得到被动方第一加密编码结果并发送给主动方设备。
主动方设备通过聚合层(Aggregate Layer)对主动方第一加密编码结果与被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果。主动方设备基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率。基于第一预测概率与第一预测任务标签之间的第一差异进行反向传播,得到各个模型的参数的第一加密梯度,主动方设备对第一预测模型的参数的第一加密梯度和主动方编码模型的参数的第一加密梯度分别进行解密处理,并基于对应的解密后的第一梯度更新对应的模型的参数。其中,各个模型的参数的第一加密梯度通过对参数的第一梯度进行加密处理得到,例如可以采取同态加密算法进行加密处理。模型的参数的第一梯度为一个向量,在模型的参数沿着该向量的方向变化时,模型的输出结果的变化速度最快。并且,主动方设备将被动方编码模型的参数的第一加密梯度发送给被动方设备,由被动方设备对接收到的被动方编码模型的参数的第一加密梯度进行解密处理,并基于解密后的第一梯度更新被动方编码模型的参数。如此,对各个模型参数进行了一次更新,当训练达到最大次数或者第一差异足够小之后,结束第一阶段的训练并开启第二阶段的训练。
在第二训练阶段,主动方编码模型和被动方编码模型为第一训练阶段结束后得到的主动方编码模型和被动发编码模型。第二预测模型为重新经过初始化的模型。
第二训练阶段的训练过程与第一训练阶段的训练过程相同,但第二训练阶段的训练数据(为正样本对)与第一训练阶段的训练数据(为正样本对和负样本对)不同;第二预测模型的预测任务不同于第一预测模型的预测任务。
参见图4B,图4B是本申请实施例提供的包括主动方、被动方和中间方的机器学习模型的结构示意图。图4B所示的机器学习模型包括主动方编码模型、被动方编码模型、第一预测模型和第二预测模型。作为示例,主动方编码模型和被动方编码模型可以为DNN模型,第一预测模型和第二预测模型均可以为线性回归模型、逻辑回归模型、梯度提升树模型中的任意一种。
作为示例,下面以被动方设备的数量为1进行说明。
主动方设备基于样本对中由主动方设备提供的对象特征调用主动方编码模型进行编码处理,得到主动方第一编码结果,主动方设备对主动方第一编码结果进行加密处理,得到主动方第一加密编码结果。同样地,被动方设备基于样本对中由被动方设备提供的对象特征调用被动方编码模型进行编码处理,得到被动方第一编码结果,被动方设备对被动方第一编码结果进行加密处理后,得到被动方第一加密编码结果并发送给主动方设备。
主动方设备将主动方第一加密编码结果和被动方第一加密编码结果发送给中间方设备,中间方设备通过聚合层对主动方第一加密编码结果与被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果。中间方设备基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率。基于第一预测概率与第一预测任务标签之间的第一差异进行反向传播,得到各个模型的参数的第一加密梯度并发送给主动方设备。
主动方设备对接收到的第一预测模型的参数的第一加密梯度和主动方编码模型的参数的第一加密梯度分别进行解密处理,并基于对应的解密后的第一梯度更新对应的模型的参数。并且,主动方设备将接收到的被动方编码模型的参数的第一加密梯度发送给被动方设备,由被动方设备对接收到的被动方编码模型的参数的第一加密梯度进行解密处理,并基于解密后的第一梯度更新被动方编码模型的参数。如此,对各个模型参数进行了一次更新,当训练达到最大次数或者第一差异足够小之后,结束第一阶段的训练并开启第二阶段的训练。
在第二训练阶段,主动方编码模型和被动方编码模型为第一训练阶段结束后得到的主动方编码模型和被动发编码模型。第二预测模型为重新经过初始化的模型。
第二训练阶段的训练过程与第一训练阶段的训练过程相同,但第二训练阶段的训练数据(为正样本对)与第一训练阶段的训练数据(为正样本对和负样本对)不同;第二预测模型的预测任务不同于第一预测模型的预测任务。
下面将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的机器学习模型的训练方法,该方法应用于主动方设备。可以理解地,下述的方法可以由上文所述的服务器200执行。
参见图3A,图3A是本申请实施例提供的机器学习模型的训练方法中步骤101-105的流程示意图,将结合图3A示出的步骤进行说明。
在S101中,基于样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方第一加密编码结果,其中,样本对的类型包括正样本对和负样本对。
作为示例,主动方编码模型可以为DNN模型,在得到主动方第一编码结果(例如隐层向量)后,主动方设备可以采取同态加密算法对主动方第一编码结果进行加密处理,得到主动方第一加密编码结果。同态加密算法具有对加密数据进行运算得到的输出结果,与使用原始数据进行运算得到输出结果相同的特点。作为示例,在同态加密算法中,En(a)+En(b)=En(a+b),即,先对数据a进行同态加密后得到加密结果En(a)、对数据b进行同态加密后得到加密结果En(b),再将两个加密结果进行求和处理得到的结果,与先对数据a和数据b进行求和处理得到求和结果a+b,再对求和结果a+b进行同态加密后得到的加密结果En(a+b)是相同的;En(a)*En(b)=En(a*b),即,先对数据a进行同态加密后得到加密结果En(a)、对数据b进行同态加密后得到加密结果En(b),再将两个加密结果进行相乘处理得到的结果,与先对数据a和数据b进行相乘处理得到相乘结果a*b,再对相乘结果a*b进行同态加密后得到的加密结果En(a*b)是相同的。
在一些实施例中,正样本对中的对象特征来源于同一对象,且正样本对对应的第一预测任务标签为概率1;负样本对中的对象特征来源于不同对象,且负样本对对应的第一预测任务标签为概率0。
作为示例,正样本对中的由主动方设备提供的对象特征和由被动方设备提供的对象特征来源于同一对象。在基于正样本对进行机器学习模型训练的情况下,正样本对对应的第一预测任务标签为概率1。
负样本对中的由主动方设备提供的对象特征和由被动方设备提供的对象特征来源于不同对象。在基于负样本对进行机器学习模型训练的情况下,负样本对对应的第一预测任务标签为概率1。
通过针对正样本对和负样本对分别使用不同的标签,可以使得训练得到的机器学习模型具备二分类的功能,并提高训练得到的机器学习模型的泛化能力。
在一些实施例中,样本对中由主动方设备提供的对象特征存储在主动方设备中,样本对中由被动方设备提供的对象特征存储在被动方设备中;样本对是以批的方式处理的,且用于训练的每批样本对包括K个正样本对和L个负样本对,L为K的整数倍;K个正样本对包括:由主动方设备以及每个被动方设备分别针对相同的K个对象提供的对象特征,且K个对象在主动方设备和每个被动方设备中的排序相同。
作为示例,样本对中由主动方设备提供的对象特征存储在主动方设备中,样本对中由被动方设备提供的对象特征存储在被动方设备中。也就是说,主动方设备和被动方设备任一方均不会拥有样本对中的全部对象特征,从而保证各方的数据安全。并且,主动方设备存储的对象特征和被动方设备存储的对象特征不完全相同,也可能完全互补。
作为示例,样本对是以批(Batch)的方式处理的,即,用于训练的样本对是分批得到的,每次使用一批样本对作为训练数据,迭代更新各个模型的参数,不同批次使用的样本对不同。每批样本对包括K个正样本对和L个负样本对,L为K的整数倍。通过以下方式确定K个正样本对:主动方设备和被动方设备首先进行加密对象对齐操作,确定出主动方设备与被动方设备的交叉对象,也就是确定出主动方设备和被动方设备共同拥有的对象,也就是进行对象的对齐处理。有多种方式实现对象的对齐处理。下面示例说明。
例如,可以使用隐私集合求交(Private Set Intersection,PSI)算法实现主动方设备与被动方设备的加密对象对齐操作,主动方设备与被动方设备多次交互加密的对象标识(如对象电话号码、对象证件号码),找出主动方设备和被动方设备之间的对象的交集。
例如,可以采用公钥加密算法(RSA Algorithm)和哈希算法进行加密对象对齐处理。主动方设备通过RSA算法生成公钥对和私钥对,并将公钥对发送给被动方设备;被动方设备对拥有的每个对象标识u生成一个对应的随机数r,并通过公钥对对随机数进行加密处理得到R,对每个对象标识u进行哈希处理得到H,将R与H相乘,得到Y,将Y发送给主动方设备,同时被动方设备保存Y与对象标识u之间的映射关系,构成一个映射表Y-u;主动方设备利用私钥对对Y进行解密处理得到Z,同时,主动方设备对拥有的每个对象标识u’进行哈希处理得到对应的H’,再利用私钥对对H’进行加密处理接着进行哈希处理,得到Z’,u’与Z’是一一对应的关系,构成一个映射表Z’-u’,主动方设备将Z和Z’一起发送给被动方设备;被动方设备将映射表Y-u与映射表Y-Z进行连接运算,得到新的映射表Z-u,同时将Z除以随机数r,并将得到的结果进行哈希处理,得到D,D与Z之间是一一对应关系,因此D与u之间也是一一对应的关系,因此存在映射表D-u,被动方设备将D与Z’进行相交运算,得到加密和哈希状态下的对象标识集合I,被动方设备利用D-u之间的映射表在集合I中找出明文状态下的对象标识交集,从而得到被动方设备的交叉对象;被动方设备将集合I发送给主动方设备,主动方设备利用D’-u’之间的映射表在集合I中找出明文状态下的对象标识交集,从而得到主动方设备的交叉对象。
获得主动方设备与被动方设备的交叉对象后,每次从交叉对象中选取K个交叉对象,也就是每一个Batch中存在K个交叉对象。主动方设备与被动方设备对这K个交叉对象进行同样的排序处理,并按照相同的排序依次提供对象特征,例如,均可以按照交叉对象的电话号码的升序或降序进行排序,也可以按照交叉对象的证件号码的升序或降序进行排序。这样,每次主动方设备提供的对象特征和被动方设备提供的对象特征均来源于同一对象,构成一个正样本对。
例如,K为4,在某一个Batch中,主动方设备与被动方设备之间的这4个交叉对象分别为u1、u2、u3、u4,主动方设备和被动方设备对这4个交叉对象的排序均为u1-u2-u3-u4,并按照该相同的排序依次提供对象特征,在主动方设备提供u1的对象特征时,被动方设备提供的也是u1的对象特征,这样,主动方设备提供的对象特征和被动方设备提供的对象特征均来源于对象u1,因此,主动方设备提供的对象特征与被动方设备提供的对象特征构成一个正样本对。
需要说明的是,在进行加密对象对齐处理之后,主动方设备和被动方设备可以约定每一个Batch使用哪一些交叉对象构造正样本对,并且约定每一个Batch中的交叉对象的排列顺序。例如,在上述示例中,主动方设备和被动方设备约定在某一个Batch中使用u1、u2、u3、u4这四个交叉对象构造正样本对,并且约定这四个交叉对象的排列顺序为u1-u2-u3-u4。
通过使用上述方式构造正样本对,在保证主动方设备与被动方设备的数据的隐私性的同时提高了构造出的正样本对的准确性。
在一些实施例中,L个负样本对通过以下至少一种方式得到:在主动方设备提供第一对象的对象特征的情况下,每个被动方设备提供K个对象中除第一对象之外的任一对象的对象特征;第一对象为K个对象中的任一对象;在主动方设备提供第一对象的对象特征的情况下,每个被动方设备提供拼接对象特征;拼接对象特征的维度与每个被动方设备中存储的第一对象的对象特征的维度相同;拼接对象特征由每个被动方设备基于K-1个对象中每个对象的部分对象特征进行拼接处理得到,K-1个对象为K个对象中除第一对象之外的对象。
作为示例,参见图4C,图4C为本申请实施例提供的负样本对的构造方式的示意图,图4C示出的是被动方设备的数量为1、K的取值为4的情况。如图4C所示,主动方设备与被动方设备的4个交叉对象分别为对象1、2、3、4,其中,主动方设备提供的对象1的对象特征表示为,被动方设备提供的对象1的对象特征表示为,主动方提供的对象4的对象特征表示为,被动方设备提供的对象4的对象特征为。
在主动方设备提供第一对象的对象特征的情况下,被动方设备提供的是K个对象中除第一对象之外的其他对象的对象特征。这样,主动方设备提供的对象特征和被动方设备提供的对象特征来源于不同的对象,构成一个负样本对。
如图4C示出的构造方式A所示,在主动方设备提供对象1的对象特征的情况下,被动方设备提供除对象1之外的对象2、3、4中任意一个对象的对象特征,如被动方设备提供对象2的对象特征,这样,主动方设备提供的对象特征来源于对象1,而被动方设备提供的对象特征来源于对象2,因此,(,)构成一个负样本对。
作为示例,在主动方设备提供第一对象的对象特征的情况下,被动方设备提供拼接对象特征。拼接对象特征的维度与被动方设备中存储的第一对象的对象特征的维度相同、拼接对象特征的长度也与被动方设备中存储的第一对象的对象特征的长度相同;拼接对象特征由被动方设备基于除第一对象之外的其他每个对象的部分对象特征进行拼接处理得到。由于拼接对象特征中并不包括第一对象的任何对象特征,因此,主动方设备提供的第一对象的对象特征与被动方设备提供的拼接对象特征来源于不同的对象,构成一个负样本对。
如图4C示出的构造方式B所示,在主动方设备提供对象1的对象特征的情况下,被动方设备提供拼接对象特征;拼接对象特征的维度与被动方设备中存储的对象1的对象特征的维度相同、拼接对象特征的长度也与的长度相同;拼接对象特征由被动方设备基于对象2、3、4中每个对象的部分对象特征进行拼接处理得到,由于拼接对象特征中不包括对象1的任何对象特征,因此,主动方设备提供的对象1的对象特征与被动方设备提供的拼接对象特征来源于不同的对象,所以,(,)构成一个负样本对。
需要说明的是,在进行加密对象对齐处理之后,主动方设备和被动方设备可以约定每一个Batch使用哪一些交叉对象构造正样本对和负样本对,还可以约定使用哪一种方式构造负样本对。
通过使用上述方式构造负样本对,在保证主动方设备与被动方设备每一方数据的隐私性的同时提高了构造出的负样本对的准确性,并且,基于主动方设备与被动方设备的交叉对象的对象特征构建出多个负样本对,并将多个负样本对用于进行机器学习模型的训练,不仅提升了每方的对象特征的利用率,也扩大了机器学习模型的训练规模,有利于提升机器学习模型的泛化能力。
在S102中,接收N个被动方设备对应发送的N个被动方第一加密编码结果。
作为示例,主动方设备接收每个被动方设备发送的被动方第一加密编码结果。被动方设备的数量为N个,N为整数常量且。每个被动方第一加密编码结果是基于每个被动方编码模型,并结合样本对中由每个被动方设备提供的对象特征确定的。
在一些实施例中,第n个被动方第一加密编码结果是第n个被动方设备通过以下方式获取的:基于样本对中由第n个被动方设备提供的对象特征调用第n被动方编码模型进行编码处理,对得到的第n被动方第一编码结果进行加密处理,得到第n被动方第一加密编码结果;n为整数变量且。
作为示例,N个被动方第一加密编码结果中的第n个被动方第一加密编码结果是通过以下方式得到的:第n被动方设备基于样本对中由第n被动方提供的对象特征,调用第n被动方编码模型进行编码处理,得到第n被动方第一编码结果,第n被动方设备对第n被动方第一编码结果进行加密处理,如采取同态加密算法进行加密处理,得到第n被动方第一加密编码结果。其中,n为整数变量且。
每个被动方设备通过基于样本对中由对应的被动方提供的对象特征,调用对应的被动方编码模型进行编码处理,并进行加密处理,可以准确确定出每个被动方设备对应的被动方第一加密编码结果。
在S103中,对主动方第一加密编码结果与N个被动方第一加密编码结果进行拼接处理,基于得到的第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征样本对中的对象特征来源于同一对象的第一预测概率。
作为示例,参见图4A,主动方设备在接收到N个被动方第一加密编码结果之后,通过聚合层对主动方第一加密编码结果与这N个被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果。例如,假设N为1,即只存在1个被动方第一加密编码结果,主动方第一加密编码结果(例如主动方第一加密隐层向量)的维度为16维,这1个被动方第一加密编码结果(例如被动方第一加密隐层向量)的维度为48维,通过聚合层对这两个结果进行拼接处理,也就是将主动方第一加密隐层向量和被动方第一加密隐层向量进行向量拼接处理,得到的第一拼接加密结果的维度为64维。
在得到第一拼接加密编码结果后,主动方设备基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率,第一预测概率表征样本对中的对象特征来源于同一对象的概率。
作为示例,在被动方设备的数量为1的情况下,第一预测概率的计算公式如下:
其中,为被动方编码模型的映射函数,为样本对中被动方设备提供的对象特征,为被动方编码模型的参数;为主动方编码模型的映射函数,为样本对中主动方设备提供的对象特征,为主动方编码模型的参数;为第一预测模型的映射函数,为第一预测模型的参数;为与来源于同一对象的概率。
作为示例,第一预测模型可以为线性回归模型、逻辑回归模型以及梯度提升树模型中的任意一种。
在S104中,基于第一预测概率与样本对的第一预测任务标签之间的第一差异进行反向传播以更新第一预测模型、主动方编码模型以及N个被动方编码模型的参数。
作为示例,主动方设备基于第一预测概率与样本对的第一预测任务标签之间的第一差异进行反向传播(Back-Propagation),以更新第一预测模型、主动方编码模型以及N个被动方编码模型的参数。
在样本对为正样本对的情况下,由于正样本对对应的第一预测任务标签为概率1,那么主动方设备基于第一预测概率与概率1之间的第一差异进行反向传播。
在样本对为负样本对的情况下,由于负样本对对应的第一预测任务标签为概率0,那么主动方设备基于第一预测概率与概率0之间的第一差异进行反向传播。
参见图3B,图3B是本申请实施例提供的机器学习模型的训练方法中步骤1041A-1045A的流程示意图。图3A中的S104可以由图3B示出的S1041A-S1045A实现。下面将结合图3B对S1041A-S1045A进行说明。
在S1041A中,将第一预测概率与样本对的第一预测任务标签代入第一损失函数进行计算得到第一差异。
作为示例,主动方设备将第一预测概率与样本对的第一预测任务标签代入第一损失函数进行计算得到第一差异。例如,在第一损失函数的类型为交叉熵损失函数的情况下,第一损失函数的计算公式如下:
在S1042A中,基于第一差异进行反向传播,得到第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及N个被动方编码模型的参数的第一加密梯度。
作为示例,在计算得出第一差异之后,基于第一差异进行反向传播,也就是按照从第一预测模型的输出层到输入层、主动方编码模型的输出层到输入层、被动方编码模型的输出层到输入层的方式进行传播。
在反向传播过程中,主动方设备分别计算第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及N个被动方编码模型的参数的第一加密梯度。
在S1043A中,基于第一预测模型的参数的第一加密梯度与主动方编码模型的参数的第一加密梯度,对应更新第一预测模型的参数和主动方编码模型的参数。
作为示例,在计算得出第一预测模型的参数的第一加密梯度与主动方编码模型的参数的第一加密梯度之后,主动方设备分别对第一预测模型的参数的第一加密梯度和主动方编码模型的参数的第一加密梯度进行解密处理,基于得到的解密后的第一预测模型的参数的第一梯度,更新第一预测模型的参数;基于得到的解密后的主动方编码模型的参数的第一梯度,更新主动方编码模型的参数。
在S1044A中,向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度。
作为示例,在分别计算得出N个被动方编码模型的参数的第一加密梯度之后,主动方设备向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度。
在S1045A中,第n个被动方设备更新第n个被动方编码模型的参数。
作为示例,第n个被动方设备接收到第n个被动方编码模型的参数的第一加密梯度后,首先进行解密处理,接着基于得到的解密后的第n个被动方编码模型的参数的第一梯度,更新第n个被动方编码模型的参数。
通过基于第一差异进行反向传播,得到各个模型的参数的梯度,基于各个模型的参数的梯度更新对应的模型的参数,可以对各个模型的参数进行准确更新,便于提高机器学习模型的训练效率。
参见图3C,图3C是本申请实施例提供的机器学习模型的训练方法中步骤1031-1033和步骤1041B-1044B的流程示意图。图3A中的S103可以由图3C中的S1031-S1033实现,图3A中的S104还可以由图3C中的S1041B-S1044B实现。下面将结合图3C对S1031-S1033以及S1041B-S1044B进行说明。
在S1031中,将主动方第一加密编码结果和N个被动方第一加密编码结果发送给中间方设备。
作为示例,参见图4A,主动方设备将主动方第一加密编码结果和N个被动方第一加密编码结果发动给中间方设备。
在S1032中,中间方设备对主动方第一加密编码结果与N个被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果。
作为示例,中间方设备在接收到主动方设备发送的主动方第一加密编码结果和N个被动方第一加密编码结果后,对主动方第一加密编码结果与N个被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果。
在S1033中,中间方设备基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率。
作为示例,在得到第一拼接加密编码结果后,中间方设备基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率。
在S1041B中,接收中间方设备发送的第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及N个被动方编码模型的参数的第一加密梯度。
作为示例,中间方设备基于第一预测概率与样本对的第一预测任务标签之间的第一差异进行反向传播,得到第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及N个被动方编码模型的参数的第一加密梯度并发送给主动方设备。
在S1042B中,基于第一预测模型的参数的第一加密梯度与主动方编码模型的参数的第一加密梯度,对应更新第一预测模型的参数和主动方编码模型的参数。
作为示例,主动方设备接收到第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度之后,分别对第一预测模型的参数的第一加密梯度和主动方编码模型的参数的第一加密梯度进行解密处理,基于得到的解密后的第一预测模型的参数的第一梯度,更新第一预测模型的参数;基于得到的解密后的主动方编码模型的参数的第一梯度,更新主动方编码模型的参数。
在S1043B中,向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度。
作为示例,主动方设备接收到N个被动方编码模型的参数的第一加密梯度之后,向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度。
在S1044B中,第n个被动方设备更新第n个被动方编码模型的参数。
作为示例,第n个被动方设备接收到第n个被动方编码模型的参数的第一加密梯度后,首先进行解密处理,接着基于得到的解密后的第n个被动方编码模型的参数的第一梯度,更新第n个被动方编码模型的参数。
通过基于中间方设备计算出的各个模型的参数的梯度,更新对应的模型的参数,不需要主动方设备和被动方设备进行对应的模型的参数的梯度的计算,减轻了各方设备的计算负载,提高了机器学习模型的训练效率,降低了机器学习模型的各个训练参与方的硬件要求。
在S105中,主动方设备和N个被动方设备基于正样本对以及对应的第二预测任务标签,更新第二预测模型、主动方编码模型以及N个被动方编码模型的参数,其中,第二预测模型的预测任务与第一预测模型的预测任务不同。
作为示例,在对第一预测模型、主动方编码模型以及N个被动方编码模型的参数更新多次,使得第一预测模型、主动方编码模型以及N个被动方编码模型达到收敛状态后,主动方设备和N个被动方设备基于正样本对以及对应的第二预测任务标签,更新第二预测模型、主动方编码模型以及N个被动方编码模型的参数。第二预测模型的预测任务与第一预测模型的预测任务不同。
作为示例,第二预测模型的预测任务可以包括预测对象对商品的购买意向、预测对象的游戏注册概率。
需要说明的是,由于第二预测模型的预测任务与第一预测模型的预测任务不同,那么第二预测任务标签(即目标预测任务标签)与第一预测任务标签也不同。也就是说,本申请在进行机器学习模型的训练过程中,引入了与目标预测任务标签不同的第一预测任务标签,可以摆脱相关技术中只能利用目标预测任务标签进行训练的限制,从而扩大了训练规模,提升了机器学习模型的泛化能力,避免了基于单一的目标预测任务标签进行训练导致的过拟合问题。
作为示例,第二预测模型可以为线性回归模型、逻辑回归模型以及梯度提升树模型中的任意一个。
参见图3D,图3D是本申请实施例提供的机器学习模型的训练方法中步骤1051-1055的流程示意图。图3A中的S105可以由图3D示出的S1051-S1055实现。下面将结合图3D对S1051-S1055进行说明。
在S1051中,基于正样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方第二加密编码结果。
作为示例,主动方设备在得到主动方第二编码结果后,可以采取同态加密算法对主动方第二编码结果进行加密处理,得到主动方第二加密编码结果。
在S1052中,接收N个被动方设备对应发送的N个被动方第二加密编码结果。
作为示例,主动方设备接收每个被动方设备发送的被动方第二加密编码结果。被动方设备的数量为N个,N为整数常量且。每个被动方第二加密编码结果是基于每个被动方编码模型,并结合正样本对中由每个被动方设备提供的对象特征确定的。
在S1053中,对主动方第二加密编码结果与N个被动方第二加密编码结果进行拼接处理,得到正样本对对应的第二拼接加密编码结果。
作为示例,主动方设备在接收到N个被动方第二加密编码结果之后,通过聚合层对主动方第二加密编码结果与这N个被动方第二加密编码结果进行拼接处理,得到第二拼接加密编码结果。例如,假设N为1,即只存在1个被动方第二加密编码结果,主动方第二加密编码结果的维度为16维,这1个被动方第二加密编码结果的维度为48维,通过聚合层对这两个结果进行拼接处理后,得到的第二拼接加密结果的维度为64维。
在S1054中,基于正样本对对应的第二拼接加密编码结果,调用第二预测模型进行预测处理,得到第二预测概率。
在得到第二拼接加密编码结果后,主动方设备基于第二拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率。
在S1055中,基于第二预测概率与第二预测任务标签之间的第二差异进行反向传播,以更新第二预测模型、主动方编码模型以及和N个被动方编码模型的参数。
作为示例,主动方设备基于第二预测概率与正样本对的第二预测任务标签之间的第二差异进行反向传播,以更新第二预测模型、主动方编码模型以及N个被动方编码模型的参数。
通过基于正样本对确定出对应的第二预测概率,可以基于准确的第二预测概率准确计算第二差异,从而可以基于准确的第二差异更新各个模型的参数,提高了机器学习模型的训练效率。
参见图3E,图3E是本申请实施例提供的机器学习模型的训练方法中步骤10551A-10555A的流程示意图。图3D中的S1055可以由图3E示出的S10551A-S10555A实现。下面将结合图3E对S10551A-S10555A进行说明。
在S10551A中,将第二预测概率与第二预测任务标签代入第二损失函数进行计算得到第二差异。
作为示例,主动方设备将第二预测概率与第二预测任务标签代入第二损失函数进行计算得到第二差异。例如,在第二损失函数的类型为交叉熵损失函数的情况下,第二损失函数的计算公式如下:
在S10552A中,基于第二差异进行反向传播,得到第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及N个被动方编码模型的参数的第二加密梯度。
作为示例,在计算得出第二差异之后,基于第二差异进行反向传播,也就是按照从第二预测模型的输出层到输入层、主动方编码模型的输出层到输入层、被动方编码模型的输出层到输入层的方式进行传播。
在反向传播过程中,主动方设备分别计算第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及N个被动方编码模型的参数的第二加密梯度。
在S10553A中,基于第二预测模型的参数的第二加密梯度与主动方编码模型的参数的第二加密梯度,对应更新第二预测模型的参数和主动方编码模型的参数。
作为示例,在计算得出第二预测模型的参数的第二加密梯度与主动方编码模型的参数的第二加密梯度之后,主动方设备分别对第二预测模型的参数的第二加密梯度和主动方编码模型的参数的第二加密梯度进行解密处理,基于得到的解密后的第二预测模型的参数的第二梯度,更新第二预测模型的参数;基于得到的解密后的主动方编码模型的参数的第二梯度,更新主动方编码模型的参数。
在S10554A中,向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度。
作为示例,在分别计算得出N个被动方编码模型的参数的第二加密梯度之后,主动方设备向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度。
在S10555A中,第n个被动方设备更新第n个被动方编码模型的参数。
作为示例,第n个被动方设备接收到第n个被动方编码模型的参数的第二加密梯度后,首先进行解密处理,接着基于得到的解密后的第n个被动方编码模型的参数的第二梯度,更新第n个被动方编码模型的参数。
通过基于第二差异进行反向传播,得到各个模型的参数的梯度,基于各个模型的参数的梯度更新对应的模型的参数,可以对各个模型的参数进行准确更新,便于提高机器学习模型的训练效率。
参见图3F,图3F是本申请实施例提供的机器学习模型的训练方法中步骤10531-10532和步骤10551B-10554B的流程示意图。图3D中的S1053可以由图3F中的S10531-S10532实现,图3D中的S1055还可以由图3F中的S10551B-S10554B实现。下面将结合图3F对S10531-S10532以及S10551B-S10554B进行说明。
在S10531中,将主动方第二加密编码结果和N个被动方第二加密编码结果发送给中间方设备。
作为示例,主动方设备将主动方第二加密编码结果和N个被动方第二加密编码结果发动给中间方设备。
在S10531中,对主动方第二加密编码结果和N个被动方第二加密编码结果进行拼接处理,得到第二拼接加密编码结果。
作为示例,中间方设备在接收到主动方设备发送的主动方第二加密编码结果和N个被动方第二加密编码结果后,对主动方第二加密编码结果与N个被动方第二加密编码结果进行拼接处理,得到第二拼接加密编码结果。
在S10551B中,接收中间方设备发送的第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及N个被动方编码模型的参数的第二加密梯度。
作为示例,中间方设备基于得到的第二拼接加密编码结果,调用第二预测模型进行预测处理,得到第二预测概率。接着基于第二预测概率与样本对的第二预测任务标签之间的第二差异进行反向传播,得到第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及N个被动方编码模型的参数的第二加密梯度并发送给主动方设备。
在S10552B中,基于第二预测模型的参数的第二加密梯度与主动方编码模型的参数的第二加密梯度,对应更新第二预测模型的参数和主动方编码模型的参数。
作为示例,主动方设备在接收到第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度之后,分别对第二预测模型的参数的第二加密梯度和主动方编码模型的参数的第二加密梯度进行解密处理,基于得到的解密后的第二预测模型的参数的第二梯度,更新第二预测模型的参数;基于得到的解密后的主动方编码模型的参数的第二梯度,更新主动方编码模型的参数。
在S10553B中,向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度。
作为示例,主动方设备在接收到N个被动方编码模型的参数的第二加密梯度之后,向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度。
在S10554B中,第n个被动方设备更新第n个被动方编码模型的参数。
作为示例,第n个被动方设备接收到第n个被动方编码模型的参数的第二加密梯度后,首先进行解密处理,接着基于得到的解密后的第n个被动方编码模型的参数的第二梯度,更新第n个被动方编码模型的参数。
通过基于中间方设备计算出的各个模型的参数的梯度,更新对应的模型的参数,不需要主动方设备和被动方设备进行对应的模型的参数的梯度的计算,减轻了各方设备的计算负载,提高了机器学习模型的训练效率,降低了机器学习模型的各个训练参与方的硬件要求。
在本申请实施例中,通过使用样本对中由主动方设备与被动方设备提供的对象特征训练第一预测模型,由于第一预测模型预测得出的第一预测概率表征样本对中的对象特征来源于同一对象的概率,所以第一预测模型可以拉近同一对象在主动方设备与被动方设备中的对象特征的表征;由于第一预测模型的预测任务与第二预测模型的预测任务不同,所以第一预测任务标签与第二预测任务标签也不同,通过引入与目标预测任务标签不同的第一预测任务标签,由于第一预测任务标签反映的是多个对象特征是否来源于同一对象,对用于进行训练的对象特征没有限制,也就是用于进行训练的正样本对和负样本对的数量非常庞大,从而扩大了训练规模,使得训练得到的机器学习模型具有良好的泛化能力,从而提升机器学习模型的预测结果的准确性。
参见图5,图5是本申请实施例提供的基于机器学习模型的预测方法,该方法应用于主动方设备。下面将结合图5示出的步骤进行说明。
在S201中,基于主动方设备提供的待预测对象的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方加密编码结果。
作为示例,主动方设备基于待预测对象的对象特征,调用主动方编码模型进行编码处理,并对得到的编码结果进行加密处理,得到主动方加密编码结果。
在S202中,接收N个被动方设备对应发送的N个被动方加密编码结果。
作为示例,主动方设备接收每个被动方设备发送的被动方加密编码结果。被动方设备的数量的为N个,N为整数常量且。每个被动方加密编码结果是基于每个被动方编码模型,并结合每个被动方设备提供的待预测对象的对象特征确定的。
在一些实施例中,第n个被动方加密编码结果是由第n个被动方设备响应于主动方设备的预测请求发出的,主动方设备的预测请求携带待预测对象的对象标识;第n个被动方加密编码结果是第n个被动方设备在接收到主动方设备的预测请求之前的离线状态下通过以下方式获取的:基于第n被动方提供的待预测对象的对象特征调用第n被动方编码模型进行编码处理,对得到的第n被动方编码结果进行加密处理,得到第n被动方加密编码结果。
作为示例,第n个被动方加密编码结果是第n个被动方设备在离线状态下通过以下方式获取的:基于第n被动方提供的待预测对象的对象特征调用第n被动方编码模型进行编码处理,对得到的第n被动方编码结果进行加密处理,得到第n被动方加密编码结果。其中,离线状态是指被动方设备没有网络连接的状态。
第n个被动方设备在接收到主动方设备发出的预测请求后,基于预测请求中携带的待预测对象的对象标识,从第n个被动方设备存储的多个对象对应的被动方加密编码结果中,获取待预测对象对应的被动方加密编码结果,并发送给主动方设备。
被动方设备通过在离线状态下提前获得多个对象对应的被动方加密编码结果,在接收到主动方设备发送的预测请求后,可以快速地将待预测对象对应的被动方加密编码结果发送给主动方设备,节约了被动方设备在线获得待预测对象对应的被动方加密编码结果的时间,从而提高了确定出第二预测概率的效率。
在S203中,对主动方加密编码结果与N个被动方加密编码结果进行拼接处理,得到拼接加密编码结果。
作为示例,主动方设备在接收到N个被动方加密编码结果之后,通过聚合层对主动方加密编码结果与这N个被动方加密编码结果进行拼接处理,得到拼接加密编码结果。
在S204中,基于拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率。
作为示例,主动方设备基于拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率。
作为示例,第二预测概率可以表征对象对商品的购买意向,第二预测概率越高,表示对象购买商品的意向越强;第二预测概率越低,表示对象购买商品的意向很淡。在这种场景下,主动方设备可以为部署于电商机构的设备,被动方设备可以为部署于银行机构的设备。主动方设备提供的对象特征可以为对象的商品购买特征,如购买次数特征、购买偏好特征等;被动方设备提供的对象特征可以为对象的年龄特征、性别特征等。
作为示例,第二预测概率还可以表征对象的游戏注册概率,第二预测概率越高,对象的游戏注册概率越高;第二预测概率越低,对象的游戏注册概率越低。在这种场景下,主动方设备为部署于游戏企业的设备,被动方设备为部署于广告企业的设备。主动方设备提供的对象特征可以为对象在特定游戏中的行为特征,被动方设备提供的对象特征可以为对象对特定广告的兴趣特征。
其中,主动方编码模型、N个被动方编码模型以及第二预测模型是根据图3A-图3F所示的任一机器学习模型的训练方法训练得到的。
通过基于已训练的主动方编码模型、N个被动方编码模型以及第二预测模型进行预测处理,可以获得准确的预测结果。
下面将以被动方设备的数量为1个、主动方设备为部署于游戏企业的设备、被动方设备为部署于广告企业的设备或部署于提供社交媒体服务的企业的设备为例,说明本申请实施例在一个实际的基于机器学习模型的预测场景中的示例性应用。
本申请实施例可具有如下应用场景,基于主动方设备提供的待预测对象在特定游戏中的行为特征,调用主动方编码模型进行编码处理,并对得到的编码结果进行加密处理,得到主动方加密编码结果;接收被动方设备发送的被动方加密编码结果,被动方编码结果是基于被动方设备提供的待预测对象对特定广告的兴趣特征,调用被动方编码模型进行编码处理,并对得到的编码结果进行加密处理得到的;将主动方加密编码结果与被动方加密编码结果进行拼接处理,得到拼接加密编码结果;基于拼接加密编码结果调用第二预测模型进行预测处理,得到待预测对象在点击特定的广告后注册特定游戏的概率。
作为示例,如果被动方编码结果是基于被动方设备提供的待预测对象对特定社交媒体内容的浏览行为特征,调用被动方编码模型进行编码处理,并对得到的编码结果进行加密处理得到的;那么,将主动方加密编码结果与被动方加密编码结果进行拼接处理,得到拼接加密编码结果;基于拼接加密编码结果调用第二预测模型进行预测处理,得到的是待预测对象在浏览特定的社交媒体内容后注册特定游戏的概率。
在本申请实施例中,基于主动方和被动方提供的交叉对象的对象特征,构造正负样本对,基于正负样本对进行纵向联邦学习模型的预训练,拉近相同对象的对象特征表征。在精调训练阶段,使用预训练得到的主动方编码模型与被动方编码模型,以及初始化得到的第二预测模型进一步进行训练,训练使用的训练数据为正样本对,通过这种方式训练得到的纵向联邦学习模型具有更准确的预测效果。
作为示例,在进行纵向联邦学习模型训练之前,主动方设备与被动方设备先进行加密对象对齐操作,确定出主动方设备与被动方设备两方的交叉对象。例如,可以使用PSI算法实现主动方设备与被动方设备两方的加密对象对齐操作。
参见图6,图6是本申请实施例提供的主动方设备与被动方设备对象交叉示意图。经过加密对齐处理后,主动方设备与被动方设备存在一部分交叉对象,交叉对象表征主动方设备和被动方设备双方均具有的对象。主动方设备还存在一部分独有的对象,被动方设备也存在一部分独有的对象。
例如,主动方设备包括的对象为(u1,u2,u3,u4),被动方设备包括的对象为(u1,u2,u5),那么,主动方设备与被动方设备的交叉对象为(u1,u2),而主动方设备独有的对象为(u3,u4),而被动方设备独有的对象为u5。
在纵向联邦学习模型训练过程中,主动方设备提供标签数据与训练数据。作为示例,在主动方设备为部署于游戏企业的设备的情况下,主动方提供的标签数据可以为游戏注册概率标签(即对象实际的游戏注册概率),训练数据包括对象在多种游戏中的行为特征。
被动方提供训练数据,作为示例,在被动方设备为部署于广告企业的设备的情况下,训练数据包括对象对海量广告的兴趣特征;在被动方设备为部署于提供社交媒体服务的企业的设备的情况下,训练数据为从社交媒体内容中提取出的对象行为特征。
为了使纵向联邦学习模型能够在无标签的训练数据中,学习主动方设备和被动方设备提供的对象特征之间的相关性,在预训练阶段设计了对比式配对区分任务。该任务的目标是,使得训练得到的纵向联邦学习模型具备二分类的功能,也就是能够区分主动方设备和被动方设备提供的对象特征是否来源于同一个对象。
作为示例,样本对中由主动方设备提供的对象特征存储在主动方设备中,样本对中由被动方设备提供的对象特征存储在被动方设备中。用于训练的每批样本对包括K个正样本对和L个负样本对,L为K的整数倍。其中,正样本对包括来源于同一对象的主动方设备的对象特征与被动方设备的对象特征,可以表示为(,)。负样本对包括来源于不同对象的主动方设备的对象特征与被动方设备的对象特征,可以表示为(,)。其中,和分别表示被动方设备和主动方设备同一个Batch提供的对象特征矩阵,表示顺序置乱矩阵。
作为示例,正样本对的构造方式如下:假设在同一个Batch中,主动方设备与被动方设备之间存在K个交叉对象,主动方设备和被动方设备对这K个交叉对象按照相同的顺序进行排序,主动方设备和被动方设备按照该相同的顺序依次提供对象特征,那么这样每次主动方设备提供的对象特征和被动方设备提供的对象特征来源于同一对象,构成一个正样本对。
作为示例,在同一个Batch中,主动方设备与被动方设备之间存在4个交叉对象,分别为u1、u2、u3、u4,主动方设备和被动方设备均按照u1-u2-u3-u4的顺序对这4个对象进行排序,并且主动方设备与被动方设备均按照该顺序依次提供对象特征,如主动方设备提供u1的对象特征,被动方设备也提供u1的对象特征,这样,主动方设备提供的对象特征与被动方设备提供的对象特征均来源于对象u1,所以,主动方设备提供的对象特征与被动方设备提供的对象特征构成了一个正样本对。
作为示例,负样本对的构造方式如下:如果主动方设备和被动方设备对这K个交叉对象按照不同的顺序进行排序,并且主动方设备与被动方设备按照对应的顺序依次提供对象特征,这样,每次主动方设备提供的对象特征和被动方设备提供的对象特征来源于不同的对象,构成一个负样本对。
继续上面的示例,如果主动方设备中交叉对象的排列顺序为u1-u2-u3-u4,而被动方设备中交叉对象的排列顺序为u4-u1-u2-u3,主动方设备提供u1的对象特征时,被动方设备提供u4的对象特征,这样,主动方设备提供的对象特征与被动方设备提供的对象特征来源于不同的对象,因此,主动方设备提供的对象特征与被动方设备提供的对象特征构成了一个负样本对。
作为示例,负样本对还可以通过以下方式进行构造:在主动方设备提供第一对象的对象特征的情况下,被动方设备提供拼接对象特征;拼接对象特征的维度与被动方设备中存储的第一对象的对象特征的维度相同;拼接对象特征由被动方设备基于K-1个对象中每个对象的部分对象特征进行拼接处理得到,K-1个对象为K个对象中除第一对象之外的对象。由于拼接对象特征中不包括第一对象的对象特征,因此,主动方设备提供的第一对象的对象特征与被动方设备提供的拼接对象特征来源于不同的对象,构成一个负样本对。
继续上面的示例,如果在同一个Batch中,主动方设备与被动方设备之间的交叉对象为u1、u2、u3、u4,在主动方设备提供对象u1的对象特征的情况下,那么被动方设备从对象u2、u3、u4中各选择一部分对象特征,拼接成一个与被动方设备中的对象u1的对象特征维度相同、长度相同的对象特征,这样,主动方设备提供的对象u1的对象特征与被动方设备提供的拼接对象特征构成一个负样本对。
被动方设备与主动方设备均按照对象1-对象2-对象3-对象4的排列顺序对交叉对象进行排序,并按照该排列顺序依次提供对象特征,这样,每次主动方设备提供的对象特征与被动方设备提供的对象特征构成一个正样本对。如主动方设备提供的对象特征和被动方设备提供的对象特征均来源于对象1,所以(,)构成一个人正样本对,同样地,(,)也构成一个正样本对,正样本对对应的配对标签为1。
当主动方设备按照对象1-对象2-对象3-对象4的排列顺序对交叉对象进行排序,而被动方设备按照对象2-对象1-对象4-对象3的顺序对交叉对象进行排序,主动方设备和被动方设备按照对应的排列顺序依次提供对象特征,这样,每次主动方设备提供的对象特征与被动方设备提供的对象特征构成一个负样本对。如主动方设备提供的对象特征为,被动方设备提供的对象特征为,这样,主动方设备提供的对象特征来源于对象1,而被动方设备提供的对象特征来源于对象2,所以(,)构成一个负样本对,同样地,(,)也构成一个负样本对,负样本对对应的配对标签为0。
在主动方设备提供对象1的对象特征的情况下,被动方设备提供拼接对象特征;拼接对象特征的维度与被动方设备中存储的对象1的对象特征的维度相同;拼接对象特征由被动方设备基于对象2、对象3和对象4中每个对象的部分对象特征进行拼接处理得到,由于拼接对象特征中不包括对象1的对象特征,因此,主动方设备提供的对象1的对象特征与被动方设备提供的拼接对象特征来源于不同的对象,所以,(,)构成一个负样本对,负样本对对应的配对标签为0。
参见图8A,图8A是本申请实施例提供的预训练阶段的机器学习模型的结构示意图,在预训练阶段,基于样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,得到编码结果,对编码结果进行加密处理,例如采用同态加密算法进行加密处理,得到主动方第一加密编码结果。样本对的类型包括正样本对和负样本对。
接收被动方设备发送的被动方第一加密编码结果,被动方第一加密编码结果是被动方设备通过以下方式获取的:基于样本对中由被动方提供的对象特征调用被动方编码模型进行编码处理,得到编码结果,对编码结果进行加密处理,例如采用同态加密算法进行加密处理,得到被动方第一加密编码结果。
通过主动方设备中的聚合层对主动方第一加密编码结果与被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果。基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征样本对中的对象特征来源于同一对象的第一预测概率。作为示例,第一预测概率的计算公式如下:
其中,为被动方编码模型的映射函数,为样本对中被动方设备提供的对象特征,为被动方编码模型的参数;为主动方编码模型的映射函数,为样本对中主动方设备提供的对象特征,为主动方编码模型的参数;为第一预测模型的映射函数,为第一预测模型的参数;为与来源于同一对象的概率。
作为示例,在预训练阶段采用标准的批量梯度下降法训练各个模型。例如,基于第一预测概率与样本对的配对标签之间的第一差异进行反向传播以更新第一预测模型、主动方编码模型以及被动方编码模型的参数。作为示例,将第一预测概率与样本对的配对标签代入第一损失函数,计算得到第一差异,基于第一差异进行反向传播,得到第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及被动方编码模型的参数的第一加密梯度。主动方设备分别对第一预测模型的参数的第一加密梯度和主动方编码模型的参数的第一加密梯度进行解密处理,基于第一预测模型的参数的解密后的第一梯度以及主动方编码模型的参数的解密后的第一梯度,分别更新第一预测模型的参数和主动方编码模型的参数。作为示例,使用ADAM优化器最小化第一损失函数,第一损失函数的类型可以为交叉熵损失函数;在进行反向传播时,各个模型的学习率可以设置为1e-4。在预训练过程中,为每个模型的权重添加最小二乘L2正则项,以避免出现过拟合现象,作为示例,L2正则项的系数可以设置为1e-5。
作为示例,用于进行训练的样本对中的与来源于同一对象,基于该样本对的对应的第一拼接加密编码结果调用第一预测模型,得到的第一预测概率为0.6,而实际上该样本对为正样本对,对应的配对标签为概率1,那么将0.6与1代入第一损失函数计算第一差异,基于第一差异进行反向传播,分别得到各个模型的参数的第一加密梯度。
在得到被动方编码模型的参数的第一加密梯度之后,主动方设备将被动方编码模型的参数的第一加密梯度发送给被动方设备,被动方设备对该第一加密梯度进行解密处理,并基于解密后的第一梯度更新被动方编码模型的参数。这样,对各个模型的参数进行了一次更新,重复上述步骤,直至达到最大的训练次数或者第一差异变得足够小。
需要说明的是,在预训练阶段,主动方设备与被动方设备交叉对象的数量规模较大,预训练阶段使用的配对标签并非主动方设备实际产生的标签数据。
参见图8B,图8B是本申请实施例提供的预训练阶段和精调阶段的机器学习模型的结构示意图。在预训练阶段结束后,进入精调训练阶段,需要说明的是,精调训练阶段使用的主动方编码模型和被动方编码模型,为预训练阶段结束后的主动方编码模型和被动方编码模型,而第二预测模型是重新经过初始化产生的。
在精调训练阶段,作为示例,基于正样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,对编码结果进行加密处理,例如采用同态加密算法进行加密处理,得到主动方第二加密编码结果。
接收被动方设备发送的被动方第二加密编码结果,被动方第二加密编码结果是被动方设备通过以下方式获取的:基于正样本对中由被动方提供的对象特征调用被动方编码模型进行编码处理,得到编码结果,对编码结果进行加密处理,例如采用同态加密算法进行加密处理,得到被动方第二加密编码结果。
通过主动方设备中的聚合层对主动方第二加密编码结果与被动方第二加密编码结果进行拼接处理,得到正样本对对应的第二拼接加密编码结果。基于正样本对对应的第二拼接加密编码结果,调用第二预测模型进行预测处理,得到第二预测概率。
作为示例,在精调训练阶段采用标准的批量梯度下降法训练各个模型。例如,基于第二预测概率与第二预测任务标签之间的第二差异进行反向传播,以更新第二预测模型、主动方编码模型以及被动方编码模型的参数。作为示例,将第二预测概率与正样本对的第二预测任务标签代入第二损失函数,计算得到第二差异,基于第二差异进行反向传播,得到第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及被动方编码模型的参数的第二加密梯度。主动方设备分别对第二预测模型的参数的第二加密梯度和主动方编码模型的参数的第二加密梯度进行解密处理,基于第二预测模型的参数的解密后的第二梯度以及主动方编码模型的参数的解密后的第二梯度,分别更新第二预测模型的参数和主动方编码模型的参数。作为示例,可以使用ADAM优化器最小化第二损失函数,第二损失函数的类型可以为交叉熵损失函数;在进行反向传播时,被动方编码模型与主动方编码模型的学习率小于第二预测模型的学习率,如被动方编码模型与主动方编码模型的学习率可以设置为1e-3,第二预测模型的学习率为1e-2。在精调训练过程中,为每个模型的权重添加L2正则项,以避免出现过拟合现象,作为示例,L2正则项的系数可以设置为1e-5。
作为示例,用于进行训练的正样本对中的与来源于同一对象1,基于该正样本对的对应的第二拼接加密编码结果调用第二预测模型,得到的第二预测概率为0.3,假设第二预测概率为主动方设备与被动方设备提供的对象特征对应的对象的游戏注册概率,第二预测任务概率为该对象实际的游戏注册概率,那么第二预测模型预测出对象1的游戏注册概率为0.3,而对象1实际的游戏注册概率为0.6,那么将0.3与0.6代入第二损失函数计算第二差异,基于第二差异进行反向传播,分别得到各个模型的参数的第二加密梯度。
在得到被动方编码模型的参数的第二加密梯度之后,主动方设备将被动方编码模型的参数的第二加密梯度发送给被动方设备,被动方设备对该第二加密梯度进行解密处理,并基于解密后的第二梯度更新被动方编码模型的参数。这样,对各个模型的参数进行了一次更新,重复上述步骤,直至达到最大的训练次数或者第二差异变得足够小。
需要说明的是,精调训练阶段使用的训练数据,即正样本对的数量的规模较小,精调训练阶段使用的标签为主动方设备实际产生的标签数据。
在精调训练阶段结束之后,可以使用精调训练阶段结束之后得到的机器学习模型进行预测处理。作为示例,在需要得到对象2的第二预测概率时,首先基于由主动方设备提供的对象2的对象特征,调用主动方编码模型进行编码处理,对编码结果进行加密处理,例如采用同态加密算法进行加密处理,得到主动方加密编码结果。接收被动方设备发送的被动方加密编码结果;被动方加密编码结果是被动方设备通过以下方式获取的:基于由被动方提供的对象2的对象特征调用被动方编码模型进行编码处理,得到编码结果,对编码结果进行加密处理,例如采用同态加密算法进行加密处理,得到被动方加密编码结果。对主动方加密编码结果与被动方加密编码结果进行拼接处理,得到拼接加密编码结果;基于拼接编码结果调用第二预测模型进行预测处理,得到第二预测概率。
作为示例,被动方设备可以在离线状态下,预先基于所有交叉对象的对象特征,调用被动方编码模型进行编码处理,接着进行加密处理,然后把得到的每个交叉对象对应的加密编码结果(例如加密隐层向量)存储起来。在接收到主动方设备的线上预测请求的情况下,基于预测请求中携带的待预测对象的对象标识,仅给主动方设备发送此次请求需要的待预测对象对应的加密编码结果。
作为示例,主动方编码模型和被动方编码模型可以为DNN模型,第一预测模型和第二预测模型可以为线性回归模型、逻辑回归模型以及梯度提升树模型其中之一。
作为示例,主动方设备为部署于游戏企业的设备,提供对象实际的游戏注册概率标签以及对象在多种游戏中的行为特征;被动方设备为部署于广告企业的设备,提供对象对海量广告的兴趣特征。采用过去7天内的相关数据作为训练集,近1天内的相关数据作为测试集。主动方设备与被动方设备两方的数据量设置如下:
表1 双方的数据量
表1为主动方设备与被动方设备提供的数据量示意图,在预训练阶段,主动方设备和被动方设备提供的训练数据量均为10M;主动方设备提供的对象特征的种类为89、维度为166,被动方设备提供的对象特征的种类为39、维度为298;正样本对对应的标签数据量与负样本对对应的标签数据量的比值为1比13。在精调训练阶段,主动方设备和被动方设备提供的训练数据量均为640K。在测试阶段,主动方设备和被动方设备提供的训练数据量均为25K。
作为示例,主动方设备为部署于游戏企业的设备,提供对象实际的游戏注册概率标签以及对象在多种游戏中的行为特征;被动方设备为部署于提供社交媒体服务的企业的设备,提供从社交媒体内容中提取出的对象行为特征。采用过去7天内的相关数据作为训练集,近1天内的相关数据作为测试集。主动方设备与被动方设备两方的数据量设置如下:
表2 双方数据量
表2为主动方设备与被动方设备提供的数据量示意图,在预训练阶段,主动方设备和被动方设备提供的训练数据均为10M;主动方设备提供的对象特征的种类为51、维度为2122,被动方设备提供的对象特征的种类为27、维度为1017;正样本对对应的标签数据量与负样本对对应的标签数据量的比值为1比20。在精调阶段,主动方设备和被动方设备提供的训练数据均为360K。在测试阶段,主动方设备和被动方设备提供的训练数据均为50K。
使用表1所示的数据量对纵向联邦学习模型进行训练,训练得到的纵向联邦学习模型的测试结果如下:
表3 测试结果1
表3为基于表1所示的数据量训练得到的纵向联邦学习模型的测试结果,可见,在仅由被动方设备提供对象特征的情况下,曲线下方区域面积(Area Under Curve,AUC)取值为0.6603;在仅由主动方设备提供对象特征的情况下,AUC取值为0.7033;现有技术的纵向联邦学习模型的预测结果对应的AUC取值为0.7230,对应的AUC增益为2.8%;本申请的纵向联邦学习模型的预测结果对应的AUC取值为0.7342,对应的AUC增益为4.4%。
可见,相比现有技术的纵向联邦学习模型,本申请提供的纵向联邦学习模型的预测结果对应的AUC取值获得了1.6%的提升。其中,AUC为机器学习模型的一种模型性能评估指标,AUC取值越大说明模型性能越佳。
使用表2所示的数据量对纵向联邦学习模型进行训练,训练得到的纵向联邦学习模型的测试结果如下:
表4 测试结果2
表4为基于表2所示的数据量训练得到的纵向联邦学习模型的测试结果,可见,在仅由被动方设备提供对象特征的情况下,AUC取值为0.5871;在仅由主动方设备提供对象特征的情况下,AUC取值为0.6827;现有技术的纵向联邦学习模型的预测结果对应的AUC取值为0.7375,对应的AUC增益为8.0%;本申请的纵向联邦学习模型的预测结果对应的AUC取值为0.7488,对应的AUC增益为9.6%。可见,相比现有技术的纵向联邦学习模型,本申请提供的纵向联邦学习模型的预测结果对应的AUC取值获得了1.6%的提升。
在本申请实施例中,纵向联邦学习模型的预训练阶段使用样本对中由主动方设备与被动方设备提供的交叉对象的对象特征进行对比学习训练,可以拉近相同对象的对象特征的表征;在精调训练阶段,使用预训练得到的主动方编码模型与被动方编码模型,以及初始化得到的第二预测模型进一步进行训练。通过引入与目标预测任务标签不同的第一预测任务标签,由于第一预测任务标签反映的是多个对象特征是否来源于同一对象,对用于进行训练的对象特征没有限制,也就是说用于进行训练的正样本对和负样本对的数量非常庞大,从而扩大了训练规模,使得训练得到的机器学习模型具有良好的泛化能力,从而提升机器学习模型的预测结果的准确性。
下面继续说明本申请实施例提供的机器学习模型的训练装置233的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器230的机器学习模型的训练装置233中的软件模块可以包括:编码处理模块2331,用于基于样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方第一加密编码结果,其中,样本对的类型包括正样本对和负样本对;接收模块2332,用于接收N个被动方设备对应发送的N个被动方第一加密编码结果;其中,N为整数常量且,N个被动方第一加密编码结果是基于N个被动方编码模型,并结合样本对中由N个被动方设备对应提供的对象特征确定的;预测处理模块2333,用于对主动方第一加密编码结果与N个被动方第一加密编码结果进行拼接处理,基于得到的第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征样本对中的对象特征来源于同一对象的第一预测概率;第一更新模块2334,用于基于第一预测概率与样本对的第一预测任务标签之间的第一差异进行反向传播以更新第一预测模型、主动方编码模型以及N个被动方编码模型的参数;第二更新模块2335,用于主动方设备和N个被动方设备基于正样本对以及对应的第二预测任务标签,更新第二预测模型、主动方编码模型以及N个被动方编码模型的参数,其中,第二预测模型的预测任务与第一预测模型的预测任务不同。
上述方案中,第n个被动方第一加密编码结果是第n个被动方设备通过以下方式获取的:基于样本对中由第n个被动方设备提供的对象特征调用第n被动方编码模型进行编码处理,对得到的第n被动方第一编码结果进行加密处理,得到第n被动方第一加密编码结果;n为整数变量且。
上述方案中,正样本对中的对象特征来源于同一对象,且正样本对对应的第一预测任务标签为概率1;负样本对中的对象特征来源于不同对象,且负样本对对应的第一预测任务标签为概率0。
上述方案中,样本对中由主动方设备提供的对象特征存储在主动方设备中,样本对中由被动方设备提供的对象特征存储在被动方设备中;样本对是以批的方式处理的,且用于训练的每批样本对包括K个正样本对和L个负样本对,L为K的整数倍;K个正样本对包括:由主动方设备以及每个被动方设备分别针对相同的K个对象提供的对象特征,且K个对象在主动方设备和每个被动方设备中的排序相同。
上述方案中,L个负样本对通过以下至少一种方式得到:在主动方设备提供第一对象的对象特征的情况下,每个被动方设备提供K个对象中除第一对象之外的任一对象的对象特征;第一对象为K个对象中的任一对象;在主动方设备提供第一对象的对象特征的情况下,每个被动方设备提供拼接对象特征;拼接对象特征的维度与每个被动方设备中存储的第一对象的对象特征的维度相同;拼接对象特征由每个被动方设备基于K-1个对象中每个对象的部分对象特征进行拼接处理得到,K-1个对象为K个对象中除第一对象之外的对象。
上述方案中,第一更新模块2334,还用于将第一预测概率与样本对的第一预测任务标签代入第一损失函数进行计算得到第一差异;基于第一差异进行反向传播,得到第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及N个被动方编码模型的参数的第一加密梯度;基于第一预测模型的参数的第一加密梯度与主动方编码模型的参数的第一加密梯度,对应更新第一预测模型的参数和主动方编码模型的参数;向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度,以使第n个被动方设备更新第n个被动方编码模型的参数;其中,n为整数变量且。
上述方案中,预测处理模块2333,还用于将主动方第一加密编码结果发送给中间方设备,由中间方设备结合N个被动方设备发送的N个被动方第一加密编码结果执行以下处理:对主动方第一加密编码结果与N个被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果;基于第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率;第一更新模块2334,还用于接收中间方设备发送的第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及N个被动方编码模型的参数的第一加密梯度;其中,第一预测模型的参数的第一加密梯度、主动方编码模型的参数的第一加密梯度以及N个被动方编码模型的参数的第一加密梯度,是由中间方设备基于第一预测概率与样本对的第一预测任务标签之间的第一差异进行反向传播得到的;基于第一预测模型的参数的第一加密梯度与主动方编码模型的参数的第一加密梯度,对应更新第一预测模型的参数和主动方编码模型的参数;向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度,以使第n个被动方设备更新第n个被动方编码模型的参数;其中,n为整数变量且。
上述方案中,第二更新模块2335,还用于基于正样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方第二加密编码结果;接收N个被动方设备对应发送的N个被动方第二加密编码结果;其中,N个被动方第二加密编码结果是基于N个被动方编码模型,并结合正样本对中由N个被动方设备对应提供的对象特征确定的;对主动方第二加密编码结果与N个被动方第二加密编码结果进行拼接处理,得到正样本对对应的第二拼接加密编码结果;基于正样本对对应的第二拼接加密编码结果,调用第二预测模型进行预测处理,得到第二预测概率;基于第二预测概率与第二预测任务标签之间的第二差异进行反向传播,以更新第二预测模型、主动方编码模型以及和N个被动方编码模型的参数。
上述方案中,第二更新模块2335,还用于将第二预测概率与第二预测任务标签代入第二损失函数进行计算得到第二差异;基于第二差异进行反向传播,得到第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及N个被动方编码模型的参数的第二加密梯度;基于第二预测模型的参数的第二加密梯度与主动方编码模型的参数的第二加密梯度,对应更新第二预测模型的参数和主动方编码模型的参数;向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度,以使第n个被动方设备更新第n个被动方编码模型的参数;其中,n为整数变量且。
上述方案中,第二更新模块2335,还用于将主动方第二加密编码结果发送给中间方设备,由中间方设备结合N个被动方设备发送的N个被动方第二加密编码结果执行以下处理:对主动方第二加密编码结果与N个被动方第二加密编码结果进行拼接处理,得到正样本对对应的第二拼接加密编码结果;接收中间方设备发送的第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及N个被动方编码模型的参数的第二加密梯度;其中,第二预测模型的参数的第二加密梯度、主动方编码模型的参数的第二加密梯度以及N个被动方编码模型的参数的第二加密梯度,是由中间方设备基于第二预测概率与正样本对的第二预测任务标签之间的第二差异进行反向传播得到的;第二预测概率是由中间方设备基于正样本对对应的第二拼接加密编码结果调用第二预测模型进行预测处理得到的;基于第二预测模型的参数的第二加密梯度与主动方编码模型的参数的第二加密梯度,对应更新第二预测模型的参数和主动方编码模型的参数;向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度,以使第n个被动方设备更新第n个被动方编码模型的参数;其中,n为整数变量且。
下面继续说明本申请实施例提供的基于机器学习模型的预测装置234的实施为软件模块的示例性结构,在一些实施例中,如图2B所示,存储在存储器230的基于机器学习模型的预测装置234中的软件模块可以包括:编码处理模块2341,用于基于主动方设备提供的待预测对象的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行加密处理,得到主动方加密编码结果;接收模块2342,用于接收N个被动方设备对应发送的N个被动方加密编码结果;其中,N为整数常量且,N个被动方加密编码结果是基于N个被动方编码模型,并结合N个被动方设备对应提供的待预测对象的对象特征确定的;拼接处理模块2343,用于对主动方加密编码结果与N个被动方加密编码结果进行拼接处理,得到拼接加密编码结果;预测处理模块2344,用于基于拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率;其中,主动方编码模型、N个被动方编码模型以及第二预测模型是根据上述的机器学习模型的训练方法训练得到的。
上述方案中,第n个被动方加密编码结果是由第n个被动方设备响应于主动方设备的预测请求发出的,主动方设备的预测请求携带待预测对象的对象标识;第n个被动方加密编码结果是第n个被动方设备在接收到主动方设备的预测请求之前的离线状态下通过以下方式获取的:基于第n被动方提供的待预测对象的对象特征调用第n被动方编码模型进行编码处理,对得到的第n被动方编码结果进行加密处理,得到第n被动方加密编码结果;n为整数变量且。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的机器学习模型的训练方法或基于机器学习模型的预测方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的机器学习模型的训练方法或基于机器学习模型的预测方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例能够通过使用样本对中由主动方设备与被动方设备提供的对象特征训练第一预测模型,由于第一预测模型预测得出的第一预测概率表征样本对中的对象特征来源于同一对象的概率,所以第一预测模型可以拉近同一对象在主动方设备与被动方设备中的对象特征的表征;由于第一预测模型的预测任务与第二预测模型的预测任务不同,所以第一预测任务标签与第二预测任务标签也不同,通过引入与目标预测任务标签不同的第一预测任务标签,由于第一预测任务标签反映的是多个对象特征是否来源于同一对象,对用于进行训练的对象特征没有限制,也就是用于进行训练的正样本对和负样本对的数量非常庞大,从而扩大了训练规模,使得训练得到的机器学习模型具有良好的泛化能力,从而提升机器学习模型的预测结果的准确性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (16)
1.一种机器学习模型的训练方法,其特征在于,应用于主动方设备,所述方法包括:
基于样本对中由所述主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行同态加密处理,得到主动方第一加密编码结果,其中,所述样本对的类型包括正样本对和负样本对;
接收N个被动方设备对应发送的N个被动方第一加密编码结果;其中,N为整数常量且N,所述N个被动方第一加密编码结果是基于N个被动方编码模型,并结合所述样本对中由所述N个被动方设备对应提供的对象特征确定的;所述N个被动方第一加密编码结果是通过对N个被动方第一编码结果分别进行同态加密处理得到的;
对所述主动方第一加密编码结果与所述N个被动方第一加密编码结果进行拼接处理,基于得到的第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征所述样本对中的对象特征来源于同一对象的第一预测概率;
基于所述第一预测概率与所述样本对的第一预测任务标签之间的第一差异进行反向传播以更新所述第一预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数;
所述主动方设备和所述N个被动方设备基于所述正样本对以及对应的第二预测任务标签,更新第二预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数,其中,所述第二预测模型的预测任务与所述第一预测模型的预测任务不同。
3.根据权利要求1所述的方法,其特征在于,
所述正样本对中的对象特征来源于同一对象,且所述正样本对对应的第一预测任务标签为概率1;所述负样本对中的对象特征来源于不同对象,且所述负样本对对应的第一预测任务标签为概率0。
4.根据权利要求1所述的方法,其特征在于,
所述样本对中由所述主动方设备提供的对象特征存储在所述主动方设备中,所述样本对中由所述被动方设备提供的对象特征存储在所述被动方设备中;
所述样本对是以批的方式处理的,且用于训练的每批样本对包括K个正样本对和L个负样本对,L为K的整数倍;
所述K个正样本对包括:由所述主动方设备以及每个所述被动方设备分别针对相同的K个对象提供的对象特征,且所述K个对象在所述主动方设备和每个所述被动方设备中的排序相同。
5.根据权利要求4所述的方法,其特征在于,
所述L个负样本对通过以下至少一种方式得到:
在所述主动方设备提供第一对象的对象特征的情况下,每个所述被动方设备提供所述K个对象中除所述第一对象之外的任一对象的对象特征;所述第一对象为所述K个对象中的任一对象;
在所述主动方设备提供第一对象的对象特征的情况下,每个所述被动方设备提供拼接对象特征;所述拼接对象特征的维度与每个所述被动方设备中存储的所述第一对象的对象特征的维度相同;所述拼接对象特征由每个所述被动方设备基于K-1个对象中每个所述对象的部分对象特征进行拼接处理得到,所述K-1个对象为所述K个对象中除所述第一对象之外的对象。
6.根据权利要求1所述的方法,其特征在于,
所述基于所述第一预测概率与所述样本对的第一预测任务标签之间的第一差异进行反向传播以更新所述第一预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数,包括:
将所述第一预测概率与所述样本对的第一预测任务标签代入第一损失函数进行计算得到第一差异;
基于所述第一差异进行反向传播,得到所述第一预测模型的参数的第一加密梯度、所述主动方编码模型的参数的第一加密梯度以及所述N个被动方编码模型的参数的第一加密梯度;
基于所述第一预测模型的参数的第一加密梯度与所述主动方编码模型的参数的第一加密梯度,对应更新所述第一预测模型的参数和所述主动方编码模型的参数;
向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度,以使所述第n个被动方设备更新所述第n个被动方编码模型的参数;
7.根据权利要求1所述的方法,其特征在于,
所述对所述主动方第一加密编码结果与所述N个被动方第一加密编码结果进行拼接处理,基于得到的第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征所述样本对中的对象特征来源于同一对象的第一预测概率,包括:
将所述主动方第一加密编码结果发送给中间方设备,由所述中间方设备结合所述N个被动方设备发送的N个被动方第一加密编码结果执行以下处理:
对所述主动方第一加密编码结果与所述N个被动方第一加密编码结果进行拼接处理,得到第一拼接加密编码结果;
基于所述第一拼接加密编码结果调用第一预测模型进行预测处理,得到第一预测概率;
所述基于所述第一预测概率与所述样本对的第一预测任务标签之间的第一差异进行反向传播以更新所述第一预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数,包括:
接收所述中间方设备发送的所述第一预测模型的参数的第一加密梯度、所述主动方编码模型的参数的第一加密梯度以及所述N个被动方编码模型的参数的第一加密梯度;
其中,所述第一预测模型的参数的第一加密梯度、所述主动方编码模型的参数的第一加密梯度以及所述N个被动方编码模型的参数的第一加密梯度,是由所述中间方设备基于所述第一预测概率与所述样本对的第一预测任务标签之间的第一差异进行反向传播得到的;
基于所述第一预测模型的参数的第一加密梯度与所述主动方编码模型的参数的第一加密梯度,对应更新所述第一预测模型的参数和所述主动方编码模型的参数;
向第n个被动方设备发送第n个被动方编码模型的参数的第一加密梯度,以使所述第n个被动方设备更新所述第n个被动方编码模型的参数;
8.根据权利要求1所述的方法,其特征在于,
所述主动方设备和所述N个被动方设备基于所述正样本对以及对应的第二预测任务标签,更新第二预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数,包括:
基于所述正样本对中由所述主动方设备提供的对象特征,调用所述主动方编码模型进行编码处理,对得到的编码结果进行同态加密处理,得到所述主动方第二加密编码结果;
接收所述N个被动方设备对应发送的N个被动方第二加密编码结果;其中,所述N个被动方第二加密编码结果是基于N个被动方编码模型,并结合所述正样本对中由所述N个被动方设备对应提供的对象特征确定的;
对所述主动方第二加密编码结果与所述N个被动方第二加密编码结果进行拼接处理,得到所述正样本对对应的第二拼接加密编码结果;
基于所述正样本对对应的第二拼接加密编码结果,调用所述第二预测模型进行预测处理,得到所述第二预测概率;
基于所述第二预测概率与所述第二预测任务标签之间的第二差异进行反向传播,以更新所述第二预测模型、所述主动方编码模型以及和所述N个被动方编码模型的参数。
9.根据权利要求8所述的方法,其特征在于,
所述基于所述第二预测概率与所述第二预测任务标签之间的第二差异进行反向传播,以更新所述第二预测模型、所述主动方编码模型以及和所述N个被动方编码模型的参数,包括:
将所述第二预测概率与所述第二预测任务标签代入第二损失函数进行计算得到第二差异;
基于所述第二差异进行反向传播,得到所述第二预测模型的参数的第二加密梯度、所述主动方编码模型的参数的第二加密梯度以及所述N个被动方编码模型的参数的第二加密梯度;
基于所述第二预测模型的参数的第二加密梯度与所述主动方编码模型的参数的第二加密梯度,对应更新所述第二预测模型的参数和所述主动方编码模型的参数;
向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度,以使所述第n个被动方设备更新所述第n个被动方编码模型的参数;
10.根据权利要求8所述的方法,其特征在于,
所述对所述主动方第二加密编码结果与所述N个被动方第二加密编码结果进行拼接处理,得到所述正样本对对应的第二拼接加密编码结果,包括:
将所述主动方第二加密编码结果发送给中间方设备,由所述中间方设备结合所述N个被动方设备发送的N个被动方第二加密编码结果执行以下处理:
对所述主动方第二加密编码结果与所述N个被动方第二加密编码结果进行拼接处理,得到所述正样本对对应的第二拼接加密编码结果;
所述基于所述第二预测概率与所述第二预测任务标签之间的第二差异进行反向传播,以更新所述第二预测模型、所述主动方编码模型以及和所述N个被动方编码模型的参数,包括:
接收所述中间方设备发送的所述第二预测模型的参数的第二加密梯度、所述主动方编码模型的参数的第二加密梯度以及所述N个被动方编码模型的参数的第二加密梯度;
其中,所述第二预测模型的参数的第二加密梯度、所述主动方编码模型的参数的第二加密梯度以及所述N个被动方编码模型的参数的第二加密梯度,是由所述中间方设备基于第二预测概率与所述正样本对的第二预测任务标签之间的第二差异进行反向传播得到的;所述第二预测概率是由所述中间方设备基于所述正样本对对应的第二拼接加密编码结果调用所述第二预测模型进行预测处理得到的;
基于所述第二预测模型的参数的第二加密梯度与所述主动方编码模型的参数的第二加密梯度,对应更新所述第二预测模型的参数和所述主动方编码模型的参数;
向第n个被动方设备发送第n个被动方编码模型的参数的第二加密梯度,以使所述第n个被动方设备更新所述第n个被动方编码模型的参数;
11.一种基于机器学习模型的预测方法,其特征在于,应用于主动方设备,所述方法包括:
基于所述主动方设备提供的待预测对象的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行同态加密处理,得到主动方加密编码结果;
接收N个被动方设备对应发送的N个被动方加密编码结果;其中,N为整数常量且N,所述N个被动方加密编码结果是基于N个被动方编码模型,并结合所述N个被动方设备对应提供的所述待预测对象的对象特征确定的;所述N个被动方加密编码结果是通过对N个被动方编码结果分别进行同态加密处理得到的;
对所述主动方加密编码结果与所述N个被动方加密编码结果进行拼接处理,得到拼接加密编码结果;
基于所述拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率;
其中,所述主动方编码模型、所述N个被动方编码模型以及所述第二预测模型是根据权利要求1-10任一项所述的机器学习模型的训练方法训练得到的。
13.一种机器学习模型的训练装置,其特征在于,所述装置包括:
编码处理模块,用于基于样本对中由主动方设备提供的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行同态加密处理,得到主动方第一加密编码结果,其中,所述样本对的类型包括正样本对和负样本对;
接收模块,用于接收N个被动方设备对应发送的N个被动方第一加密编码结果;其中,N为整数常量且N,所述N个被动方第一加密编码结果是基于N个被动方编码模型,并结合所述样本对中由所述N个被动方设备对应提供的对象特征确定的;所述N个被动方第一加密编码结果是通过对N个被动方第一编码结果分别进行同态加密处理得到的;
拼接处理模块,用于对所述主动方第一加密编码结果与所述N个被动方第一加密编码结果进行拼接处理,基于得到的第一拼接加密编码结果调用第一预测模型进行预测处理,得到表征所述样本对中的对象特征来源于同一对象的第一预测概率;
第一更新模块,用于基于所述第一预测概率与所述样本对的第一预测任务标签之间的第一差异进行反向传播以更新所述第一预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数;
第二更新模块,用于所述主动方设备和所述N个被动方设备基于所述正样本对以及对应的第二预测任务标签,更新第二预测模型、所述主动方编码模型以及所述N个被动方编码模型的参数,其中,所述第二预测模型的预测任务与所述第一预测模型的预测任务不同。
14.一种基于机器学习模型的预测装置,其特征在于,所述装置包括:
编码处理模块,用于基于主动方设备提供的待预测对象的对象特征,调用主动方编码模型进行编码处理,对得到的编码结果进行同态加密处理,得到主动方加密编码结果;
接收模块,用于接收N个被动方设备对应发送的N个被动方加密编码结果;其中,N为整数常量且N,所述N个被动方加密编码结果是基于N个被动方编码模型,并结合所述N个被动方设备对应提供的所述待预测对象的对象特征确定的;所述N个被动方加密编码结果是通过对N个被动方编码结果分别进行同态加密处理得到的;
拼接处理模块,用于对所述主动方加密编码结果与所述N个被动方加密编码结果进行拼接处理,得到拼接加密编码结果;
预测处理模块,用于基于所述拼接加密编码结果调用第二预测模型进行预测处理,得到第二预测概率;
其中,所述主动方编码模型、所述N个被动方编码模型以及所述第二预测模型是根据权利要求1-10任一项所述的机器学习模型的训练方法训练得到的。
15.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至10任一项所述的机器学习模型的训练方法或如权利要求11-12任一项所述的基于机器学习模型的预测方法。
16.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时实现如权利要求1至10任一项所述的机器学习模型的训练方法或如权利要求11-12任一项所述的基于机器学习模型的预测方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210172210.3A CN114239863B (zh) | 2022-02-24 | 2022-02-24 | 机器学习模型的训练方法及其预测方法、装置、电子设备 |
PCT/CN2022/134720 WO2023160069A1 (zh) | 2022-02-24 | 2022-11-28 | 机器学习模型的训练方法及其预测方法、装置、设备、计算机可读存储介质及计算机程序产品 |
US18/369,716 US20240005165A1 (en) | 2022-02-24 | 2023-09-18 | Machine learning model training method, prediction method therefor, apparatus, device, computer-readable storage medium, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210172210.3A CN114239863B (zh) | 2022-02-24 | 2022-02-24 | 机器学习模型的训练方法及其预测方法、装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114239863A CN114239863A (zh) | 2022-03-25 |
CN114239863B true CN114239863B (zh) | 2022-05-20 |
Family
ID=80748070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210172210.3A Active CN114239863B (zh) | 2022-02-24 | 2022-02-24 | 机器学习模型的训练方法及其预测方法、装置、电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240005165A1 (zh) |
CN (1) | CN114239863B (zh) |
WO (1) | WO2023160069A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239863B (zh) * | 2022-02-24 | 2022-05-20 | 腾讯科技(深圳)有限公司 | 机器学习模型的训练方法及其预测方法、装置、电子设备 |
CN117034000B (zh) * | 2023-03-22 | 2024-06-25 | 浙江明日数据智能有限公司 | 纵向联邦学习的建模方法、装置、存储介质以及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401570A (zh) * | 2020-04-10 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 针对隐私树模型的解释方法和装置 |
CN112529101A (zh) * | 2020-12-24 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 分类模型的训练方法、装置、电子设备及存储介质 |
CN112738039A (zh) * | 2020-12-18 | 2021-04-30 | 北京中科研究院 | 一种基于流量行为的恶意加密流量检测方法、系统及设备 |
CN113051557A (zh) * | 2021-03-15 | 2021-06-29 | 河南科技大学 | 基于纵向联邦学习的社交网络跨平台恶意用户检测方法 |
CN113592097A (zh) * | 2021-07-23 | 2021-11-02 | 京东科技控股股份有限公司 | 联邦模型的训练方法、装置和电子设备 |
CN113688408A (zh) * | 2021-08-03 | 2021-11-23 | 华东师范大学 | 一种基于安全多方计算的最大信息系数方法 |
CN113988319A (zh) * | 2021-10-27 | 2022-01-28 | 深圳前海微众银行股份有限公司 | 联邦学习模型的训练方法、装置、电子设备、介质及产品 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200225655A1 (en) * | 2016-05-09 | 2020-07-16 | Strong Force Iot Portfolio 2016, Llc | Methods, systems, kits and apparatuses for monitoring and managing industrial settings in an industrial internet of things data collection environment |
US10956704B2 (en) * | 2018-11-07 | 2021-03-23 | Advanced New Technologies Co., Ltd. | Neural networks for biometric recognition |
CN112785002A (zh) * | 2021-03-15 | 2021-05-11 | 深圳前海微众银行股份有限公司 | 模型构建优化方法、设备、介质及计算机程序产品 |
CN113505896A (zh) * | 2021-07-28 | 2021-10-15 | 深圳前海微众银行股份有限公司 | 纵向联邦学习建模优化方法、设备、介质及程序产品 |
CN114239863B (zh) * | 2022-02-24 | 2022-05-20 | 腾讯科技(深圳)有限公司 | 机器学习模型的训练方法及其预测方法、装置、电子设备 |
-
2022
- 2022-02-24 CN CN202210172210.3A patent/CN114239863B/zh active Active
- 2022-11-28 WO PCT/CN2022/134720 patent/WO2023160069A1/zh unknown
-
2023
- 2023-09-18 US US18/369,716 patent/US20240005165A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401570A (zh) * | 2020-04-10 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 针对隐私树模型的解释方法和装置 |
CN112738039A (zh) * | 2020-12-18 | 2021-04-30 | 北京中科研究院 | 一种基于流量行为的恶意加密流量检测方法、系统及设备 |
CN112529101A (zh) * | 2020-12-24 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 分类模型的训练方法、装置、电子设备及存储介质 |
CN113051557A (zh) * | 2021-03-15 | 2021-06-29 | 河南科技大学 | 基于纵向联邦学习的社交网络跨平台恶意用户检测方法 |
CN113592097A (zh) * | 2021-07-23 | 2021-11-02 | 京东科技控股股份有限公司 | 联邦模型的训练方法、装置和电子设备 |
CN113688408A (zh) * | 2021-08-03 | 2021-11-23 | 华东师范大学 | 一种基于安全多方计算的最大信息系数方法 |
CN113988319A (zh) * | 2021-10-27 | 2022-01-28 | 深圳前海微众银行股份有限公司 | 联邦学习模型的训练方法、装置、电子设备、介质及产品 |
Non-Patent Citations (4)
Title |
---|
Demand Forecasting of E-Commerce Enterprises Based on Horizontal Federated Learning from the Perspective of Sustainable Development;Juntao Li等;《Sustainability》;20211125;第13卷(第23期);13050-1-29 * |
基于北斗RDSS的核辐射监测应急通讯方法;王廷银等;《计算机系统应用》;20191215(第12期);252-256 * |
基于文件和行为特征的WebShell检测系统的研究与实现;赵彤彤;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20190815(第8期);I139-79 * |
基于机器学习的网页恶意代码检测技术研究;李洋;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20131215(第S2期);I140-74 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023160069A1 (zh) | 2023-08-31 |
CN114239863A (zh) | 2022-03-25 |
US20240005165A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022089256A1 (zh) | 联邦神经网络模型的训练方法、装置、设备、计算机程序产品及计算机可读存储介质 | |
US20220230071A1 (en) | Method and device for constructing decision tree | |
Hidano et al. | Model inversion attacks for prediction systems: Without knowledge of non-sensitive attributes | |
CN114239863B (zh) | 机器学习模型的训练方法及其预测方法、装置、电子设备 | |
CN115943394A (zh) | 用于安全纵向联邦学习的方法、装置和系统 | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
CN112035743B (zh) | 数据推荐方法、装置、计算机设备以及存储介质 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN110825975B (zh) | 一种信息推荐方法、装置、设备及计算机可读存储介质 | |
CN110929806B (zh) | 基于人工智能的图片处理方法、装置及电子设备 | |
CN112529101B (zh) | 分类模型的训练方法、装置、电子设备及存储介质 | |
EP4208808A1 (en) | Privacy preserving machine learning using secure multi-party computation | |
CN114580794B (zh) | 数据处理方法、装置、程序产品、计算机设备和介质 | |
EP4058951A1 (en) | Privacy preserving machine learning via gradient boosting | |
CN115114329A (zh) | 数据流异常检测的方法、装置、电子设备和存储介质 | |
CN112102015B (zh) | 物品推荐方法、元网络处理方法、装置、存储介质和设备 | |
CN114936892B (zh) | 基于联邦迁移学习标签传播的线下商品推荐系统及方法 | |
CN114723012B (zh) | 基于分布式训练系统的计算方法和装置 | |
CN115114519A (zh) | 基于人工智能的推荐方法、装置、电子设备及存储介质 | |
CN114463063A (zh) | 数据处理方法及相关装置 | |
CN116955836B (zh) | 推荐方法、装置、设备、计算机可读存储介质及程序产品 | |
CN114912542A (zh) | 特征提取模型的训练方法、装置、设备、介质及程序产品 | |
CN115689202A (zh) | 一种基于区块链的三维数字数据处理方法 | |
CN115222436A (zh) | 目标用户的确定方法、信息推送方法、装置及电子设备 | |
CN116976462A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40069948 Country of ref document: HK |