CN111784001B - 一种模型训练方法、设备及计算机可读存储介质 - Google Patents
一种模型训练方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111784001B CN111784001B CN202010925814.1A CN202010925814A CN111784001B CN 111784001 B CN111784001 B CN 111784001B CN 202010925814 A CN202010925814 A CN 202010925814A CN 111784001 B CN111784001 B CN 111784001B
- Authority
- CN
- China
- Prior art keywords
- sample
- target
- model
- mixed
- 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 219
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000003860 storage Methods 0.000 title claims abstract description 30
- 238000002156 mixing Methods 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 40
- 238000002372 labelling Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000003993 interaction Effects 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 101150049349 setA gene Proteins 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Accounting & Taxation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种模型训练方法、设备及计算机可读存储介质;方法包括:获取第一目标样本和第二目标样本;基于第二目标样本,对第一目标样本和第二目标样本的公共样本进行混合,得到混合公共样本;对公共样本和混合公共样本分别进行解密,得到目标样本和目标混合样本;将目标混合样本发送至第二设备,以使第二设备基于目标混合样本与第一设备协同进行模型训练以确定第二模型参数;基于目标样本与第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练,第一模型参数用于与第二模型参数结合完成预测模型的预测任务。通过本申请实施例,能够提升模型训练过程中的数据安全性。
Description
技术领域
本申请涉及人工智能领域的联邦学习技术,尤其涉及一种模型训练方法、装置、设备及计算机可读存储介质。
背景技术
随着人工智能技术的发展,使用人工智能技术来执行各种预测任务的行业也越来越多,例如金融行业、社交媒体行业等。在利用人工智能进行任务预测时,通常是先用样本数据训练出预测模型,然后基于预测模型来进行任务预测。针对训练数据中隐私性较强的数据,则可以使用联邦学习来完成训练。
一般来说,在使用联邦学习训练预测模型时,通常是利用隐私求交技术使各参与方均能够获得数据交集,进而各参与方基于数据交集进行中间参数交互和本地计算,以使各参与方获得自身的模型参数,进而结合各参与方对应的模型参数获得预测模型。然而,上述获取预测模型的过程中,在某个参与方中每条数据都具有隐私性的情况下,使其他参与方获得交集数据对该参与方就构成了数据安全隐患。因此,模型训练过程中的数据安全性较低。
发明内容
本申请实施例提供一种模型训练方法、设备及计算机可读存储介质,能够提升基于模型训练过程中的数据安全性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种模型训练方法,包括:
获取第一目标样本和第二目标样本,所述第一目标样本为第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的;
基于所述第二目标样本,对所述第一目标样本和所述第二目标样本的公共样本进行混合,得到混合公共样本;
对所述公共样本和所述混合公共样本分别进行解密,得到目标样本和目标混合样本;
将所述目标混合样本发送至所述第二设备,以使所述第二设备基于所述目标混合样本与所述第一设备协同进行模型训练以确定第二模型参数;
基于所述目标样本与所述第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练,所述第一模型参数用于与所述第二模型参数结合完成所述预测模型的预测任务。
在本申请实施例中,所述获取第一目标样本和第二目标样本,包括:
对第一样本进行加密,得到第一加密样本,所述第一样本为所述第一设备中的金融样本;
向所述第二设备发送第一加密样本;
接收所述第二设备发送的第二加密样本,所述第二加密样本为所述第二设备对所述第二设备中的第二样本进行加密得到的;
对所述第二加密样本进行加密,得到第二目标样本;
接收所述第二设备针对所述第一加密样本发送的第一目标样本,所述第一目标样本为所述第二设备对所述第一加密样本进行加密得到的。
在本申请实施例中,所述获取所述目标预测信息与所述目标标签信息之间的差异,得到目标差异之后,所述方法还包括:
对所述目标差异进行加密,得到加密目标差异;
将所述加密目标差异发送至所述第二设备;
接收所述第二设备针对所述加密目标差异发送的待解密梯度,所述待解密梯度为所述第二设备利用所述加密目标差异计算得到的加密梯度;
对所述待解密梯度进行解密,得到目标梯度;
将所述目标梯度发送至所述第二设备,以使所述第二设备利用所述目标梯度进行模型训练确定所述第二模型参数。
本申请实施例还提供一种模型训练方法,包括:
接收第一设备发送的目标混合样本,所述目标混合样本为所述第一设备基于第二目标样本对第一目标样本和所述第二目标样本的公共样本混合得到的;
其中,所述第一目标样本为所述第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的,所述公共样本用于所述第一设备与所述第二设备协同进行模型训练以确定第一模型参数;
基于所述目标混合样本与所述第一设备协同进行模型训练,确定第二模型参数,从而完成预测模型的训练,所述第二模型参数用于与所述第一模型参数结合完成所述预测模型的预测任务。
在本申请实施例中,所述接收第一设备发送的目标混合样本之前,所述方法还包括:
对第二样本进行加密,得到第二加密样本,所述第二样本为所述第二设备中的社交样本;
向所述第一设备发送所述第二加密样本;
接收所述第一设备发送的第一加密样本,所述第一加密样本为所述第一设备对所述第一设备中的第一样本进行加密得到的;
对所述第一加密样本进行加密,得到所述第一目标样本;
将所述第一目标样本发送至所述第一设备,以使所述第一设备基于所述第一目标样本和所述第二加密样本获得所述公共样本。
在本申请实施例中,所述将所述第二目标样本发送至所述第一设备之后,所述方法还包括:
接收所述第一设备发送的针对所述第二加密样本和所述第一目标样本所发送的所述公共样本和所述混合公共样本;
对所述公共样本和所述混合公共样本分别进行解密,得到待解密公共样本和待解密混合公共样本;
将所述待解密公共样本和所述待解密混合公共样本发送至所述第一设备,以使所述第一设备对所述待解密公共样本和所述待解密混合公共样本分别进行解密而得到所述目标样本和所述目标混合样本。
在本申请实施例中,所述基于所述目标混合样本与所述第一设备协同进行模型训练,确定第二模型参数,包括:
从预定特征库中,获取所述目标混合样本对应的第二目标特征,利用第二预设参数,获取所述第二目标特征对应的第二预测信息;
将所述第二预测信息发送至所述第一设备,以使所述第一设备基于所述第二预测信息获得加密目标差异;
接收所述第一设备发送的加密目标差异,利用所述加密目标差异与所述第二目标特征计算梯度,并对计算得到的梯度进行加密,得到待解密梯度;
将所述待解密梯度发送至所述第一设备,以使所述第一设备对所述待解密梯度进行解密而得到目标梯度;
接收所述第一设备发送的所述目标梯度,对所述目标梯度进行解密,得到待处理梯度,利用所述待处理梯度对所述第二预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代后的第二预设参数确定为所述第二模型参数。
在本申请实施例中,所述基于所述目标混合样本进行模型训练,确定第二模型参数,从而完成预测模型的训练之后,所述方法还包括:
接收所述第一设备发送的包括待预测数据的预测请求;
响应所述预测请求,利用所述第二模型参数获取待预测数据对应的第二子预测结果;
将所述第二子预测结果发送至所述第一设备,以使所述第一设备基于所述第二子预测结果获得所述预测任务对应的目标结果。
本申请实施例提供一种模型训练装置,包括:
样本获取模块,用于获取第一目标样本和第二目标样本,所述第一目标样本为第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的;
公共样本模块,用于基于所述第二目标样本,对所述第一目标样本和所述第二目标样本的公共样本进行混合,得到混合公共样本;
第一解密模块,用于对所述公共样本和所述混合公共样本分别进行解密,得到目标样本和目标混合样本;
样本发送模块,用于将所述目标混合样本发送至所述第二设备,以使所述第二设备基于所述目标混合样本与所述第一设备协同进行模型训练以确定第二模型参数;
第一模型训练模块,用于基于所述目标样本与所述第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练,所述第一模型参数用于与所述第二模型参数结合完成所述预测模型的预测任务。
在本申请实施例中,所述公共样本模块,还用于获取所述第一目标样本和所述第二目标样本的所述公共样本的样本数量;获取所述第二目标样本的样本数量;计算所述公共样本的样本数量和所述第二目标样本的样本数量的比值,得到目标比值;结合所述目标比值与预设样本选择参数,从所述第二目标样本中选择包含所述公共样本的样本,得到所述混合公共样本,从而完成所述第二目标样本对所述公共样本的混合。
在本申请实施例中,所述第一解密模块,还用于将所述公共样本和所述混合公共样本发送至所述第二设备,以使所述第二设备对所述公共样本和所述混合公共样本分别进行解密;接收所述第二设备针对所述公共样本和所述混合公共样本所发送的待解密公共样本和待解密混合公共样本;其中,所述待解密公共样本和所述待解密混合公共样本,为所述第二设备对所述公共样本和所述混合公共样本分别进行解密得到的;对所述待解密公共样本和所述待解密混合公共样本分别进行解密,得到所述目标样本和所述目标混合样本。
在本申请实施例中,所述第一模型训练模块,还用于从预设特征库中,获取与所述目标样本对应的第一目标特征,从预设标签库中,获取与所述目标样本对应的目标标签信息;利用第一预设参数,获取所述第一目标特征对应的第一预测信息;接收所述第二设备发送的第二预测信息,所述第二预测信息为所述第二设备利用第二预设参数对所述目标混合样本对应的第二目标特征进行预测得到的结果;整合所述第一预测信息和所述第二预测信息,得到目标预测信息;根据所述目标预测信息与所述目标标签信息之间的差异,以及预设差异值,得到目标差异;结合所述目标差异和所述第一目标特征,对所述第一预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代训练后的第一预设参数确定为所述第一模型参数。
在本申请实施例中,所述第一模型训练模块,还用于将所述目标标签信息与所述目标预测信息之间的差异,确定为第一子目标差异;获取所述目标混合样本中除所述目标样本之外的剩余样本;将所述剩余样本对应的各标注差异确定为所述预设差异值,从而得到第二子目标差异;将所述第一子目标差异和所述第二子目标差异组合,得到所述目标差异。
在本申请实施例中,所述第一模型训练装置还包括第一模型应用模块,用于获取所述预测任务,从所述预测任务中获取待预测数据;利用所述第一模型参数获取所述待预测数据对应的第一子预测结果;向所述第二设备发送包括所述待预测数据的预测请求,以使所述第二设备利用所述第二模型参数获取所述待预测数据对应的第二子预测结果;接收所述第二设备针对所述预测请求发送的所述第二子预测结果;整合所述第一子预测结果和所述第二子预测结果,得到所述预测任务对应的目标结果。
在本申请实施例中,所述样本获取模块,还用于对第一样本进行加密,得到第一加密样本,所述第一样本为所述第一设备中的金融样本;向所述第二设备发送第一加密样本;接收所述第二设备发送的第二加密样本,所述第二加密样本为所述第二设备对所述第二设备中的第二样本进行加密得到的;对所述第二加密样本进行加密,得到第二目标样本;接收所述第二设备针对所述第一加密样本发送的第一目标样本,所述第一目标样本为所述第二设备对所述第一加密样本进行加密得到的。
在本申请实施例中,所述第一模型训练模块,还用于对所述目标差异进行加密,得到加密目标差异;将所述加密目标差异发送至所述第二设备;接收所述第二设备针对所述加密目标差异发送的待解密梯度,所述待解密梯度为所述第二设备利用所述加密目标差异计算得到的加密梯度;对所述待解密梯度进行解密,得到目标梯度;将所述目标梯度发送至所述第二设备,以使所述第二设备利用所述目标梯度进行模型训练确定所述第二模型参数。
本申请实施例还提供一种模型训练装置,包括:
样本接收模块,用于接收第一设备发送的目标混合样本,所述目标混合样本为所述第一设备基于第二目标样本对第一目标样本和所述第二目标样本的公共样本混合得到的;
其中,所述第一目标样本为所述第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的,所述公共样本用于所述第一设备与所述第二设备协同进行模型训练以确定第一模型参数;
第二模型训练模块,用于基于所述目标混合样本与所述第一设备协同进行模型训练,确定第二模型参数,从而完成预测模型的训练,所述第二模型参数用于与所述第一模型参数结合完成所述预测模型的预测任务。
在本申请实施例中,所述第二模型训练装置还包括样本加密模块,用于对第二样本进行加密,得到第二加密样本,所述第二样本为所述第二设备中的社交样本;向所述第一设备发送所述第二加密样本;接收所述第一设备发送的第一加密样本,所述第一加密样本为所述第一设备对所述第一设备中的第一样本进行加密得到的;对所述第一加密样本进行加密,得到所述第一目标样本;将所述第一目标样本发送至所述第一设备,以使所述第一设备基于所述第一目标样本和所述第二加密样本获得所述公共样本。
在本申请实施例中,所述第二模型训练装置还包括第二解密模块,用于接收所述第一设备发送的针对所述第二加密样本和所述第一目标样本所发送的所述公共样本和所述混合公共样本;对所述公共样本和所述混合公共样本分别进行解密,得到待解密公共样本和待解密混合公共样本;将所述待解密公共样本和所述待解密混合公共样本发送至所述第一设备,以使所述第一设备对所述待解密公共样本和所述待解密混合公共样本分别进行解密而得到所述目标样本和所述目标混合样本。
在本申请实施例中,所述第二模型训练模块,还用于从预定特征库中,获取所述目标混合样本对应的第二目标特征,利用第二预设参数,获取所述第二目标特征对应的第二预测信息;将所述第二预测信息发送至所述第一设备,以使所述第一设备基于所述第二预测信息获得加密目标差异;接收所述第一设备发送的加密目标差异,利用所述加密目标差异与所述第二目标特征计算梯度,并对计算得到的梯度进行加密,得到待解密梯度;将所述待解密梯度发送至所述第一设备,以使所述第一设备对所述待解密梯度进行解密而得到目标梯度;接收所述第一设备发送的所述目标梯度,对所述目标梯度进行解密,得到待处理梯度,利用所述待处理梯度对所述第二预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代后的第二预设参数确定为所述第二模型参数。
在本申请实施例中,所述第二模型训练装置还包括第二模型应用模块,用于接收所述第一设备发送的包括待预测数据的预测请求;响应所述预测请求,利用所述第二模型参数获取待预测数据对应的第二子预测结果;将所述第二子预测结果发送至所述第一设备,以使所述第一设备基于所述第二子预测结果获得所述预测任务对应的目标结果。
本申请实施例提供一种第一设备,包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现本申请实施例提供的应用于第一设备的模型训练方法。
本申请实施例提供一种第二设备,包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现本申请实施例提供的应用于第二设备的模型训练方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被第一处理器执行时,实现本申请实施例提供的应用于第一设备的模型训练方法;或者,用于被第二处理器执行时,实现本申请实施例提供的应用于第二设备的模型训练方法。
本申请实施例至少具有以下有益效果:由于采用联邦学习训练模型时,第二设备获得的交集数据为混合后的公共样本,因此,保证了第一设备的金融样本中的任一条金融数据的隐私性;也就是说,第一设备能够在保证自身中的金融样本的隐私性的情况下,利用第二设备的社交样本训练出预测模型;从而,能够提升模型训练过程中的数据安全性。
附图说明
图1是一种示例性的联邦学习区域示意图;
图2是本申请实施例提供的模型训练系统的一个可选的架构示意图;
图3是本申请实施例提供的图2中一服务器的组成结构示意图;
图4是本申请实施例提供的图2中另一服务器的组成结构示意图;
图5是本申请实施例提供的模型训练方法的一个可选的流程示意图;
图6是本申请实施例提供的模型训练方法的另一个可选的流程示意图;
图7是本申请实施例提供的模型训练方法的又一个可选的流程示意图;
图8是本申请实施例提供的模型训练方法的再一个可选的流程示意图;
图9是本申请实施例提供的模型训练系统的另一个可选的架构示意图;
图10是本申请实施例提供的一种示例性的联邦学习区域示意图;
图11是本申请实施例提供的一种示例性的损失函数的变化示意图;
图12是本申请实施例提供的一种示例性的评估指标的变化示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
2)机器学习(Machine Learning,ML):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能;重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习和归纳学习等技术。
3)联邦学习:一种面向隐私保护的分布式机器学习技术,用于解决敏感数据存在多个独立的机构、团体或个人手中时,在保护隐私和部分原始数据不出本地的前提下,通过虚拟“聚合”的数据共同训练一个全局模型的问题;联邦学习包括纵向联邦学习和横向联邦学习;其中,纵向联邦学习是指各参与方掌握不同特征,但拥有大量样本标识交集的情况下的机器学习;横向联邦学习指各参与方掌握不同样本标识,但拥有大量特征交集的情况下的机器学习;本申请实施例中,涉及的为基于纵向联邦学习的模型训练方法。
4)安全多方计算:是一种当具有隐私性的数据分布式地掌握在多方手中时,安全求解一个全局问题的技术;是实现联邦学习的底层技术。
解密也具有同态性。
6)交换性:是指密码系统加密方式的一种性质;如果一个密码系统具有交换性,则任一明文执行加、解密操作顺序的任意置换能够产生相同的结果;比如同一明文m先用密钥再用密钥加密,与先用密钥再用密钥加密,产生相同密文,如式(2)所示:
解密也具有交换性。
7)云技术(Cloud Technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
8)云存储(cloud storage):是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
9)区块链(Block Chain):是由区块(Block)形成的加密的、链式的交易的存储结构。
10)区块链网络(Block Chain Network):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
这里,定义数据集D的样式如式(3)所示:
3)不失一般性,这里假设A1不存在标签,只有A2存在标签,如式(5)所示:
这里,如果假设参与方A1是强势参与方,存在大量样本(样本数量大于预定数量);参与方A2是弱势参与方,存在少量样本(样本数量小于指定数量),如式(6)所示:
基于上述针对纵向联邦学习的知识分布设定,参见图1,图1是一种示例性的联邦学习区域示意图;如图1所示,斜线填充部分为样本标识空间,点云填充部分为特征空间,方格填充部分为标签空间;虚线框内为联邦学习区域(面向隐私保护的机器学习的区域),即参与方A2利用自身的特征和标签,以及参与方A1的特征来联合训练网络模型。另外,区域1-1为参与方A1的样本标识空间,区域1-2为参与方A2的样本标识空间;区域1-3为参与方A1的特征空间,区域1-4为参与方A2的特征空间;区域1-5为参与方A2的标签空间。从而根据区域1-1和区域1-2,可确定数据交集对应区域1-6,从而也就确定了联邦学习区域。
通常,纵向联邦学习包括如下两个步骤:
1)样本标识求交阶段:通过利用隐私求交技术获取各参与方数据交集的阶段,但该阶段中,各参与方对其他参与方中非数据交集部分的数据是未知的;比如,针对上述参与方A1和参与方A2,对应的数据交集如式(7)所示:
2)加密建模阶段:各参与方基于数据交集,并按照联邦学习算法执行中间参数交互和本地计算,以使各参与方获得自身的模型参数。
然而,针对上述图1示出的两参与方的不平衡的知识分布情况,样本标识空间对弱势参与方A2来讲本身即为重要的隐私,泄露给参与方A1对参与方A2来讲从法律、利益等角度是不可接受的,这直接影响了纵向联邦学习步骤第1)步骤无法进行,彻底阻碍了整个联邦学习的执行。
另外,基于上述描述,需要说明的是,在使用联邦学习训练预测模型时,通常是利用隐私求交((Private Set Intersection))技术使各参与方均能够获得数据交集,进而各参与方基于数据交集进行中间参数交互和本地计算,以使各参与方获得自身的模型参数,进而结合各参与方对应的模型参数获得预测模型。然而,上述获取预测模型的过程中,在某个参与方中每条数据都具有隐私性的情况下,使其他参与方获得交集数据对该参与方就构成了数据安全隐患;另外,如果此时,该参与方所拥有的数据较少而其他参与方所拥有的数据较多时,交集数据对数据较少的参与方来说数据被泄露的比例较大;进一步说明了交集数据对数据较少的参与方构成了数据安全隐患。因此,模型训练过程中的数据安全性较低。
基于此,本申请实施例提供一种模型训练方法、装置、设备和计算机可读存储介质,能够提高基于联邦学习的模型训练的可行性,提升训练过程中的数据安全性。下面说明本申请实施例提供的模型训练设备(第一设备和第二设备)的示例性应用,本申请实施例提供的模型训练设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明模型训练设备实施为服务器时的示例性应用。
参见图2,图2是本申请实施例提供的模型训练系统的一个可选的架构示意图;如图2所示,为支撑一个模型训练应用,在模型训练系统100中,服务器400(第一设备)通过网络300连接服务器200(第二设备,示例性地示出了服务器200-1和服务器200-2),网络300可以是广域网或者局域网,又或者是二者的组合。易知,服务器400和服务器200共同组成本申请实施例的模型训练设备。
服务器400,用于获取第一目标样本和第二目标样本,第一目标样本为服务器400和服务器200依次对服务器400中的金融样本进行加密得到的,第二目标样本为服务器200和服务器400依次对服务器200中的社交样本进行加密得到的;基于第二目标样本,对第一目标样本和第二目标样本的公共样本进行混合,得到混合公共样本;对公共样本和混合公共样本分别进行解密,得到目标样本和目标混合样本;将目标混合样本发送至服务器200,以使服务器200基于目标混合样本与服务器400协同进行模型训练以确定第二模型参数;基于目标样本与服务器200协同进行模型训练,确定第一模型参数,从而完成预测模型的训练,第一模型参数用于与第二模型参数结合完成预测模型的预测任务。
服务器200,用于接收服务器400发送的目标混合样本,目标混合样本为服务器400基于第二目标样本对第一目标样本和第二目标样本的公共样本混合得到的;其中,第一目标样本为服务器400和服务器200依次对服务器400中的金融样本进行加密得到的,第二目标样本为服务器200和服务器400依次对服务器200中的社交样本进行加密得到的,公共样本用于服务器400与服务器200协同进行模型训练以确定第一模型参数;基于目标混合样本与服务器400协同进行模型训练,确定第二模型参数,从而完成预测模型的训练,第二模型参数用于与第一模型参数结合完成预测模型的预测任务。
在一些实施例中,服务器200和服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参见图3,图3是本申请实施例提供的图2中一服务器的组成结构示意图;图3所示的服务器400包括:至少一个第一处理器410、第一存储器450、至少一个第一网络接口420和第一用户接口430。服务器400中的各个组件通过第一总线系统440耦合在一起。可理解,第一总线系统440用于实现这些组件之间的连接通信。第一总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为第一总线系统440。
第一处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口430包括使得能够呈现媒体内容的一个或多个第一输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口430还包括一个或多个第一输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第一存储器450旨在包括任意适合类型的存储器。第一存储器450可选地包括在物理位置上远离第一处理器410的一个或多个存储设备。
在一些实施例中,第一存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块452,用于经由一个或多个(有线或无线)第一网络接口420到达其他计算设备,示例性的第一网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第一显示模块453,用于经由一个或多个与第一用户接口430相关联的第一输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块454,用于对一个或多个来自一个或多个第一输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的第一模型训练装置可以采用软件方式实现,图3示出了存储在第一存储器450中的第一模型训练装置455,其可以是程序和插件等形式的软件,包括以下软件模块:样本获取模块4551、公共样本模块4552、第一解密模块4553、样本发送模块4554、第一模型训练模块4555和第一模型应用模块4556,将在下文中说明各个模块的功能。
参见图4,图4是本申请实施例提供的图2中另一服务器的组成结构示意图;如图4所示,服务器200包括:至少一个第二处理器210、第二存储器250、至少一个第二网络接口220和第二用户接口230。服务器200中的各个组件通过第二总线系统240耦合在一起。可理解,第二总线系统240用于实现这些组件之间的连接通信。第二总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为第二总线系统240。
第二处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口230包括使得能够呈现媒体内容的一个或多个第二输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口230还包括一个或多个第二输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器,易失性存储器可以是随机存取存储器。本申请实施例描述的第二存储器250旨在包括任意适合类型的存储器。第二存储器250可选地包括在物理位置上远离第二处理器210的一个或多个存储设备。
在一些实施例中,第二存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块252,用于经由一个或多个(有线或无线)第二网络接口220到达其他计算设备,示例性的第二网络接口220包括:蓝牙、无线相容性认证、和通用串行总线等;
第二显示模块253,用于经由一个或多个与第二用户接口230相关联的第二输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块254,用于对一个或多个来自一个或多个第二输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的第二模型训练装置可以采用软件方式实现,图4示出了存储在第二存储器250中的第二模型训练装置255,其可以是程序和插件等形式的软件,包括以下软件模块:样本接收模块2551、第二模型训练模块2552、样本加密模块2553、第二解密模块2554和第二模型应用模块2555,将在下文中说明各个模块的功能。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的第一模型训练装置和第二模型训练装置可以采用硬件方式实现,作为示例,本申请实施例提供的第一模型训练装置和第二模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的模型训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面,将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的模型训练方法。
参见图5,图5是本申请实施例提供的模型训练方法的一个可选的流程示意图,将结合图5示出的步骤进行说明。
S501、第一设备获取第一目标样本和第二目标样本。
在本申请实施例中,第一设备对应存储着样本,即第一设备中的金融样本;第二设备也对应存储着样本,即第二设备中的社交样本;为了保护第一设备对应的样本的隐私性,当第一设备和第二设备依次对第一设备中的金融样本进行了加密之后,也就得到了第一目标样本;同理,为了保护第二设备对应的样本的隐私性,当第二设备和第一设备依次对第二设备中的社交样本进行了加密之后,也就得到了第二目标样本。
也就是说,第一目标样本为第一设备和第二设备依次对第一设备对应的样本进行加密得到的,第二目标样本为第二设备和第一设备依次对第二设备对应的样本进行加密得到的;另外,金融样本是指与金融相关的数据样本,比如,违约记录,购买记录等;社交样本是指与社交相关的数据样本,比如,直播记录,游戏记录等社交记录。
这里,第一设备对应的样本的数量与第二设备对应的样本的数量,可以是远大于的关系,可以是远小于的关系,可以是相当的关系,可以是大于的关系,还可以是小于的关系,等等,本申请实施例对此不作具体限定。
需要说明的是,第一设备和第二设备均为参与方对应的设备;其中,第一设备的数量为一个,且第一设备对应的样本具有隐私性;第二设备的数量为至少一个。另外,本申请实施例中所涉及的样本,是指数据标识,属于样本标识空间。
可以理解的是,由于第一设备获得的为第一目标样本和第二目标样本,而第一目标样本和第二目标样本均为第一设备和第二设备加密后的样本,确保了第一设备对应的样本不为第二设备所知,第二设备对应的样本不为第一设备所知;如此,也就确保了各参与方中样本的安全性。
S502、第一设备基于第二目标样本,对第一目标样本和第二目标样本的公共样本进行混合,得到混合公共样本。
在本申请实施例中,由于第一设备对应的样本具有隐私性,从而,如果第二设备获知了第一设备对应的样本和第二设备对应的样本的交集数据之后,则第二设备也就获知了第一设备对应的样本的部分数据,破坏了第一设备对应的样本的数据隐私性,降低了第一设备对应的样本的安全性;因此,第一设备获得了第一目标样本和第二目标样本之后,获取第一目标样本和第二目标样本的公共样本;接着,并不直接将公共样本为第二设备所用,而是利用第二设备对应的第二目标样本中的样本对公共样本进行混合,所得到的混合结果即混合公共样本。
需要说明的是,混合公共样本包含公共样本,且混合公共样本的样本数量大于公共样本的样本数量。
S503、第一设备对公共样本和混合公共样本分别进行解密,得到目标样本和目标混合样本。
在本申请实施例中,第一设备获得了公共样本和混合公共样本之后,由于公共样本和混合公共样本均为第一设备和第二设备加密后的样本,因此,第一设备对公共样本和混合公共样本分别进行解密,所获得的明文即目标样本和目标混合样本。
需要说明的是,目标样本即第一设备对应的样本和第二设备对应的样本之间共同的样本,即金融样本和社交样本之间共同的样本;目标混合样本即利用第二设备对应的样本对目标样本进行混合后的样本。另外,由于公共样本和混合公共样本均为第一设备和第二设备加密样本的样本,因此,第一设备对公共样本和混合公共样本分别进行解密时,是通过获取第二设备和第一设备依次分别对公共样本和混合公共样本进行解密的结果实现的。
这里,第一设备和第二设备对样本加密和解密时所选用的加解密系统是具有交换性的。
S504、第一设备将目标混合样本发送至第二设备,以使第二设备基于目标混合样本与第一设备协同进行模型训练以确定第二模型参数。
在本申请实施例中,第一设备获得了目标混合样本之后,由于目标混合样本已经是明文,因此,可以利用目标混合样本进行模型训练了;从而,第一设备将目标混合样本发送至第二设备,以使第二设备基于目标混合样本与第一设备协同进行模型训练确定第二模型参数。
相应地,当第一设备执行完S504之后,即第一设备将目标混合样本发送至第二设备之后,第二设备也就接收到了第一设备发送的目标混合样本;易知,目标混合样本为第一设备基于第二目标样本对第一目标样本和第二目标样本的公共样本混合得到的。
S505、第二设备基于目标混合样本与第一设备协同进行模型训练,确定第二模型参数。
在本申请实施例中,第二设备对应的数据集中,存在与目标混合样本对应的特征,从而,第二设备获得了目标混合样本之后,基于目标混合样本,从第二设备对应的数据集中获取与目标混合样本对应的特征,进而基于获取到的与目标混合样本对应的特征进行本地计算,并与第一设备进行交互,协同实现模型训练;当完成模型训练时,第二设备也就确定了自身的模型参数,即第二模型参数,从而完成预测模型的训练,第二模型参数用于与第一模型参数结合完成预测模型的预测任务;易知,第二模型参数为预测模型的部分模型参数。
S506、第一设备基于目标样本与第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练,第一模型参数用于与第二模型参数结合完成预测模型的预测任务。
在本申请实施例中,第一设备对应的数据集中,存在与目标样本对应的特征和标签,从而,第一设备获得了目标样本之后,基于目标样本,从第一设备对应的数据集中获取与目标样本对应的特征和标签,进而基于获取到的与目标样本对应的特征和标签进行本地计算,并与第二设备进行交互,协同实现模型训练;当完成模型训练时,第一设备也就确定了自身的模型参数,即第一模型参数。易知,公共样本用于第一设备与第二设备协同进行模型训练以确定第一模型参数。
需要说明的是,第一模型参数为预测模型的部分模型参数;并且,第一模型参数和第二模型参数共同组成了预测模型的模型参数;从而,结合第一模型参数和第二模型参数就能够完成预测模型的预测任务。
可以理解的是,由于第二设备获得的交集数据并不是第一设备对应的样本和第二设备对应的样本的交集,而是对第一设备对应的样本和第二设备对应的样本的交集混合后的数据;如此,使得第二设备虽然获得了第一设备对应的样本和第二设备对应的样本的交集,却不确定每条数据是否就是第一设备对应的数据,从而也就保护了第一设备对应的样本的隐私性,提升了基于联邦学习的模型训练过程中的数据安全性。
参见图6,图6是本申请实施例提供的模型训练方法的另一个可选的流程示意图;如图6所示,在本申请实施例中,S501可通过S5011-S5017实现;也就是说,第一设备获取第一目标样本和第二目标样本,包括S5011-S5017,下面对各步骤分别进行说明。
S5011、第一设备对第一样本进行加密,得到第一加密样本。
需要说明的是,第一样本为第一设备对应的样本,即第一样本为第一设备中的金融样本;第一设备选用具有交互性的加密系统对第一样本加密,加密后的第一样本即第一加密样本。
S5012、第一设备向第二设备发送第一加密样本。
在本申请实施例中,第一设备获得了第一加密样本之后,将第一加密样本发送至第二设备,以使第二设备对第一加密样本进行加密。
相应地,在本申请实施例中,当第一设备执行完S5012,即第一设备向第二设备发送第一加密样本之后,第二设备也就接收到了第一设备发送的第一加密样本;易知,第一加密样本为第一设备对第一设备中的第一样本进行加密得到的。
S5013、第二设备对第二样本进行加密,得到第二加密样本,第二样本为第二设备中的样本。
需要说明的是,第二样本为第二设备对应的样本,即第二样本为第二设备中的社交样本;第二设备选用与第一设备相同的加密系统但不同的密钥对第二样本加密,加密后的第二样本即第二加密样本。
S5014、第二设备向第一设备发送第二加密样本。
在本申请实施例中,第二设备获得了第二加密样本之后,将第二加密样本发送至第一设备,以使第一设备对第二加密样本进行加密。
相应地,在本申请实施例中,当第二设备执行完S5014,即第二设备向第一设备发送第二加密样本之后,第一设备也就接收到了第二设备发送的第二加密样本;易知,第二加密样本为第二设备对第二设备中的第二样本进行加密得到的。
S5015、第二设备对第一加密样本进行加密,得到第一目标样本。
在本申请实施例中,获得了第一加密样本之后,采用与第一设备相同的加密系统但不同的密钥对第一加密样本加密,加密后的第一加密样本即第一目标样本。
S5016、第二设备将第一目标样本发送至第一设备,以使第一设备基于第一目标样本和第二加密样本获得公共样本。
相应地,在本申请实施例中,第二设备执行完S5016之后,即第二设备将第一目标样本发送至第一设备之后,第一设备也就接收到了第二设备针对第一加密样本发送的第一目标样本;易知,第一目标样本为第二设备对第一加密样本进行加密得到的。
S5017、第一设备对第二加密样本进行加密,得到第二目标样本。
在本申请实施例中,第一设备获得了第二加密样本之后,采用对第一样本加密的加密方式对第二加密样本进行加密,加密后的第二加密样本即第二目标样本。
在本申请实施例中,S502可通过S5021-S5024实现;也就是说,第一设备基于第二目标样本,对第一目标样本和第二目标样本的公共样本进行混合,得到混合公共样本,包括S5021-S5024,下面对各步骤分别进行说明。
S5021、第一设备获取第一目标样本和第二目标样本的公共样本的样本数量。
在本申请实施例中,第一设备对公共样本进行混合时,首先,获取公共样本的样本数量,以基于公共样本的样本数量从第二目标样本中确定用于对公共样本进行混合的样本。
S5022、第一设备获取第二目标样本的样本数量。
在本申请实施例中,第一设备对公共样本进行混合时,还要获取第二目标样本的样本数量,以结合第二目标样本的样本数量和公共样本的样本数量,从第二目标样本中确定用于对公共样本进行混合的样本。
S5023、第一设备计算公共样本的样本数量和第二目标样本的样本数量的比值,得到目标比值。
在本申请实施例中,第一设备获得了公共样本的样本数量和第二目标样本的样本数量之后,将公共样本的样本数量作为分母,将第二目标样本的样本数量作为分子,计算比值,所获得的比值结果即目标比值。
S5024、第一设备结合目标比值与预设样本选择参数,从第二目标样本中选择包含公共样本的样本,得到混合公共样本,从而完成第二目标样本对公共样本的混合。
需要说明的是,第一设备中预先设置有预设样本选择参数,或第一设备能够获取到预设样本选择参数,将预设样本选择参数与目标比值结合,确定从第二目标样本中选择的用于混合公共样本的样本数量;进而,根据所确定的样本数量,从第二目标样本中选择包含公共样本的样本,也就得到了混合公共样本;此时,也就完成了第二目标样本对公共样本的混合。
基于图6,参见图7,图7是本申请实施例提供的模型训练方法的又一个可选的流程示意图;如图7所示,在本申请实施例中,S503可通过S5031-S5034实现;也就是说,第一设备对公共样本和混合公共样本分别进行解密,得到目标样本和目标混合样本,包括S5031-S5034,下面对各步骤分别进行说明。
S5031、第一设备将公共样本和混合公共样本发送至第二设备,以使第二设备对公共样本和混合公共样本分别进行解密。
相应地,在本申请实施例中,当第一设备执行完S5031之后;即第一设备将公共样本和混合公共样本发送至第二设备之后,第二设备也就接收到了第一设备发送的针对第二加密样本和第一目标样本所发送的公共样本和混合公共样本。
S5032、第二设备对公共样本和混合公共样本分别进行解密,得到待解密公共样本和待解密混合公共样本。
在本申请实施例中,第二设备获得了公共样本和混合公共样本之后,采用对第二样本和第一加密样本进行加密时对应的解密方法,对公共样本和混合公共样本分别进行解密;这里,解密后的公共样本即待解密公共样本,解密后的混合公共样本即待解密混合公共样本。
S5033、第二设备将待解密公共样本和待解密混合公共样本发送至第一设备,以使第一设备对待解密公共样本和待解密混合公共样本分别进行解密而得到目标样本和目标混合样本。
相应地,在本申请实施例中,当第二设备执行完S5033之后;即第二设备将待解密公共样本和待解密混合公共样本发送至第一设备之后,第一设备也就接收到了第二设备针对公共样本和混合公共样本所发送的待解密公共样本和待解密混合公共样本;易知,待解密公共样本和待解密混合公共样本,为第二设备对公共样本和混合公共样本分别进行解密得到的。
S5034、第一设备对待解密公共样本和待解密混合公共样本分别进行解密,得到目标样本和目标混合样本。
在本申请实施例中,第一设备获得了待解密公共样本和待解密混合公共样本之后,由于待解密公共样本和待解密混合公共样本均为密文;因此,第一设备采用对第一样本和第二加密样本进行加密时对应的解密方法,对待解密公共样本和待解密混合公共样本分别进行解密;解密后的待解密公共样本即目标样本,解密后待解密混合公共样本即目标混合样本。
参见图8,图8是本申请实施例提供的模型训练方法的再一个可选的流程示意图;如图8所示,在本申请实施例中,S506可通过S5061-S5067实现;也就是说,第一设备基于目标样本与第二设备协同进行模型训练,确定第一模型参数,包括S5061-S5067,下面对各步骤分别进行说明。
S5061、第一设备从预设特征库中,获取与目标样本对应的第一目标特征,从预设标签库中,获取与目标样本对应的目标标签信息。
需要说明的是,第一设备对应的数据集中,包括预设特征库;该预设特征库为第一样本对应的特征构成的数据库;第一设备获得了目标样本之后,由于目标样本属于第一样本,从而能够从预设特征库中获取到对应的特征,即第一目标特征。另外,第一设备对应的数据集中,包括预设标签库;该预设标签库为第一样本对应的标签构成的数据库;第一设备获得了目标样本之后,由于目标样本属于第一样本,从而能够从预设标签库中获取到对应的标签,即第一目标标签。
S5062、第一设备利用第一预设参数,获取第一目标特征对应的第一预测信息。
在本申请实施例中,第一设备中预先还设置有第一预设参数,或者第一设备能够获取到第一预设参数;该第一预设参数为训练模型过程中待更新的第一设备对应的模型参数。这里,第一设备获得了第一目标特征之后,利用第一预设参数对第一目标特征进行预测,也就得到了第一预测信息。
S5063、第二设备从预定特征库中,获取目标混合样本对应的第二目标特征,利用第二预设参数,获取第二目标特征对应的第二预测信息。
需要说明的是,第二设备对应的数据集中,包括预定特征库;该预定特征库为第二样本对应的特征构成的数据库;第二设备获得了目标混合样本之后,由于目标混合样本属于第二样本,从而能够从预设特征库中获取到对应的特征,即第二目标特征。
这里,第二设备中预先还设置有第二预设参数,或者第二设备能够获取到第二预设参数;该第二预设参数为训练模型过程中待更新的第二设备对应的模型参数。这里,第二设备获得了第二目标特征之后,利用第二预设参数对第二目标特征进行预测,也就得到了第二预测信息。
S5064、第二设备将第二预测信息发送至第一设备,以使第一设备基于第二预测信息获得目标差异。
相应地,在本申请实施例中,第二设备执行完S5064之后;即第二设备将第二预测信息发送至第一设备之后,第一设备也就接收到了第二设备发送的第二预测信息;易知,第二预测信息为第二设备利用第二预设参数对目标混合样本对应的第二目标特征进行预测得到的结果。
S5065、第一设备整合第一预测信息和第二预测信息,得到目标预测信息。
在本申请实施例中,第一设备获得了第一预测信息和第二预测信息之后,将第一预测信息和第二预测信息整合,也就得到了针对目标样本的预测信息,即目标预测信息。这里,第一设备进行整合的方式可以是叠加,可以是相乘,还可以是其他整合方式,本申请实施例对此不作具体限定。
S5066、第一设备根据目标预测信息与目标标签信息之间的差异,以及预设差异值,得到目标差异。
需要说明的是,第一设备获得了目标预测信息和目标标签信息之后,对比目标预测信息和目标标签信息,获取目标预测信息和目标标签信息之间的差异,并利用预设差异值对目标混合样本中除目标样本之外的样本的标注差异信息进行填充,此时,也就获得了目标差异。
S5067、第一设备结合目标差异和第一目标特征,对第一预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代训练后的第一预设参数确定为第一模型参数。
需要说明的是,第一设备通过将目标差异与第一目标特征结合,获取对应的梯度,进而再利用对应的梯度对第一预设参数进行更新,当根据更新后的第一预设参数确定满足预设训练截止条件时,停止训练,将更新后的第一预设参数(即迭代训练后的第一预设参数)确定为第一模型参数;而当根据更新后的第一预设参数确定不满足预设训练截止条件时,继续对更新后的第一预设参数进行迭代训练,直到基于迭代训练后的更新后的第一预设参数确定满足预设训练截止条件时,停止训练,将迭代训练后的更新后的第一预设参数(即迭代训练后的第一预设参数)确定为第一模型参数。
这里,预设训练截止条件可以为模型收敛的条件,还可以为计算得到的损失函数值小于阈值的条件,等等,本申请实施例对此不作具体限定。
在本申请实施例中,S5066可通过S50661-S50664实现;也就是说,第一设备根据目标预测信息与目标标签信息之间的差异,以及预设差异值,得到目标差异,包括S50661-S50664,下面对各步骤分别进行说明。
S50661、第一设备将目标标签信息与目标预测信息之间的差异,确定为第一子目标差异。
需要说明的是,第一子目标差异可以是目标预测信息和目标标签信息作差得到的,还可以是借用预设的差异计算方式得到的,等等,本申请实施例对此不作具体限定。这里,第一子目标差异是指目标样本对应的标注差异。
S50662、第一设备获取目标混合样本中除目标样本之外的剩余样本。
需要说明的是,由于第二设备发送的第二预测信息是与目标混合样本同维度的,而第一子目标差异的维度小于目标混合样本的维度;因此,第一设备利用预设差异值对除目标样本之外的剩余样本对应的标注差异进行填充,以实现不变元处理。
S50663、第一设备将剩余样本对应的各标注差异确定为预设差异值,从而得到第二子目标差异。
需要说明的是,第一设备对剩余样本对应的各标注差异进行不变元处理,即利用预设差异值对剩余样本对应的各标注差异进行填充,也就得到了第二子目标差异。这里,第二子目标差异是指剩余样本对应的标注差异。
S50664、第一设备将第一子目标差异和第二子目标差异组合,得到目标差异。
可以理解的是,通过利用预设差异值对剩余子目标预测信息对应的各标注差异进行不变元处理,从而第二设备在基于目标差异进行本地计算时,不会受目标混合样本中的混合样本的影响,提升了模型训练的准确度;另外,还使得第二设备仍然不明确目标样本,保护了第一设备对应的样本的隐私性。
需要说明的是,第一设备获得了目标差异之后,根据该目标差异迭代训练得到第一模型参数的过程中,还与第二设备进行交互,以使第二设备基于该目标差异迭代训练得到第二模型参数。这里,第一设备和第二设备在迭代训练时的训练过程是一一对应的。
基于此,在本申请实施例中,S5066之后还包括S5068-S50614;也就是说,第一设备获取目标预测信息与目标标签信息之间的差异,得到目标差异之后,该模型训练方法还包括S5068-S50614,下面对各步骤分别进行说明。
S5068、第一设备对目标差异进行加密,得到加密目标差异。
在本申请实施例中,基于同态语义安全性,第一设备选择具有同态性的加密系统对目标差异进行加密,加密后的目标差异即加密目标差异。
S5069、第一设备将加密目标差异发送至第二设备。
在本申请实施例中,当第一设备执行完S5069之后;即第一设备将加密目标差异发送至第二设备之后,第二设备也就接收到了第一设备发送的加密目标差异。
S50610、第二设备利用加密目标差异与第二目标特征计算梯度,并对计算得到的梯度进行加密,得到待解密梯度。
需要说明的是,第二设备可以通过将加密目标差异与第二目标特征进行加权求和来计算梯度;另外,第二设备在对计算得到的梯度进行加密时,采用具有同态加密的加密系统进行加密。
S50611、第二设备将待解密梯度发送至第一设备,以使第一设备对待解密梯度进行解密而得到目标梯度。
在本申请实施例中,当第二设备执行完S50611之后;即第二设备将待解密梯度发送至第一设备之后,第一设备也就接收到了第二设备针对加密目标差异发送的待解密梯度;易知,待解密梯度为第二设备利用加密目标差异计算得到的加密梯度。
S50612、第一设备对待解密梯度进行解密,得到目标梯度。
需要说明的是,第一设备获得了待解密梯度后,采用对目标差异加密时对应的解密方式,对待解密梯度进行解密,解密后的待解密梯度即目标梯度。
S50613、第一设备将目标梯度发送至第二设备,以使第二设备利用目标梯度进行模型训练确定第二模型参数。
在本申请实施例中,当第一设备执行完S50612之后;即第一设备将目标梯度发送至第二设备之后,第二设备也就接收到了第一设备发送的目标梯度。
S50614、第二设备对目标梯度进行解密,得到待处理梯度,利用待处理梯度对第二预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代后的第二预设参数确定为第二模型参数。
需要说明的是,第二设备获得了目标梯度后,由于目标梯度此时仍然是密文,从而第二设备采用对计算得到的梯度进行加密时所对应的解密方法,对目标梯度进行解密,解密后的目标梯度即待处理梯度。此时,第二设备利用待处理梯度对第二预设参数进行更新,当基于更新后的第二预设参数确定满足预设训练截止条件时,停止训练,将更新后的第二预设参数(即迭代训练后的第二预设参数)确定为第二模型参数;而当基于更新后的第二预设参数确定不满足预设训练截止条件时,对更新后的第二预设参数进行迭代训练,直到基于迭代训练后的更新后的第二预设参数确定满足预设训练截止条件时,停止训练,将迭代训练后的更新后的第二预设参数(即迭代训练后的第二预设参数)确定为第二模型参数。
在本申请实施例中,S506之后还包括S507-S512;也就是说,第一设备基于目标样本与第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练之后,该模型训练方法还包括S507-S512,下面对各步骤分别进行说明。
S507、第一设备获取预测任务,从预测任务中获取待预测数据。
在本申请实施例中,当利用包括第一模型参数和第二模型参数的预测模型进行预测时,第一设备也就接收到了预测任务;其中,预测任务中包括待预测数据。
S508、第一设备利用第一模型参数获取待预测数据对应的第一子预测结果。
在本申请实施例中,第一设备获得了待预测数据之后,利用第一模型参数预测待预测数据对应的信息,也就得到了第一子预测结果。
S509、第一设备向第二设备发送包括待预测数据的预测请求,以使第二设备利用第二模型参数获取待预测数据对应的第二子预测结果。
需要说明的是,当第一设备执行完S509之后,第二设备也就接收到了第一设备发送的包括待预测数据的预测请求。
S510、第二设备响应预测请求,利用第二模型参数获取待预测数据对应的第二子预测结果。
在本申请实施例中,第二设备获得了预测请求之后,对该预测请求进行响应,以利用第二模型参数预测待预测数据对应的信息,也就得到了第二子预测结果。
S511、第二设备将第二子预测结果发送至第一设备,以使第一设备基于第二子预测结果获得预测任务对应的目标结果。
需要说明的是,当第二设备执行完S511之后,第一设备也就接收到了第二设备针对预测请求发送的第二子预测结果。
S512、第一设备整合第一子预测结果和第二子预测结果,得到预测任务对应的目标结果。
这里,整合的方式可以是叠加,加权求和,拼接,融合,等等,本申请实施例对此不作具体限定。
需要说明的是,当获得了包括第一模型参数和第二模型参数的预测模型之后,还可以利用新的目标样本和新的目标混合样本对预测模型进行优化,即更新第一模型参数和第二模型参数;如此,来提升预测模型的泛化能力。
在本发明实施例中,S505之后,还包括S513;也就是说,第一设备基于目标样本与第二设备协同进行模型训练,确定第一模型参数之后,该模型预测方法还包括S513:第一设备将第一模型参数发送至区块链网络,以使区块链网络的节点将第一模型参数填充至新区块,且当对新区块共识一致时,将新区块追加至区块链的尾部以完成上链。这里,第一设备将第一模型参数进行上链,以保证不可篡改。
在本申请实施例中,S506之后,还包括S514;也就是说,第二设备基于目标混合样本与第一设备协同进行模型训练,确定第二模型参数之后,该模型预测方法还包括S514:第二设备将第二模型参数发送至区块链网络,以使区块链网络的节点将第二模型参数填充至新区块,且当对新区块共识一致时,将新区块追加至区块链的尾部以完成上链。这里,第二设备将第二模型参数进行上链,以保证不可篡改。
下面以第一设备将第一模型参数上传至区块链网络保存为例,说明区块链网络的示例性应用,参见图9,客户端节点810可以是服务器400。其中,业务主体800和业务主体900在认证中心700中进行过登记注册。
首先,在客户端节点810设置第一模型参数上链的逻辑,例如当获得第一模型参数时,客户端节点810将第一模型参数发送至区块链网络600时,生成对应的交易,交易包括:为了上链第一模型参数而需要调用的智能合约、以及向智能合约传递的参数;交易还包括客户端节点810的数字证书、签署的数字签名,并将交易广播到区块链网络600中的共识节点610。
然后,区块链网络600中的共识节点610中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体800的身份,确认业务主体800是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署共识节点610自己的数字签名(例如,使用共识节点610的私钥对交易的摘要进行加密得到),并继续在区块链网络600中广播。
最后,区块链网络600中的共识节点610接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络600中的共识节点610广播新区块时,会对新区块进行验证,例如,验证新区块中交易的数字签名是否有效,如果验证成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交的存储第一模型参数的交易,在状态数据库中添加包括第一模型参数的键值对。
再以服务器在区块链网络600中查询第一模型参数为例,说明区块链网络的示例性应用。参见图9,客户端节点910可以是服务器400。
在一些实施例中,客户端节点910在区块链网络600中能够查询的数据的类型,可以由共识节点610通过约束业务主体的客户端阶段能够发起的交易的权限来实现,当客户端节点910具有发起查询第一模型参数的权限时,可以由客户端节点910生成用于查询第一模型参数的交易并提交到区块链网络600中,从共识节点610执行交易以从状态数据库中查询相应的第一模型参数,并返回客户端节点910。
以应用在服务器执行预测任务为例进行应用的说明:服务器设置第一模型参数,并将第一模型参数上链;当执行预测任务时,从区块链网络中获取第一模型参数进行预测任务的执行;如此,能够提升预测任务的安全性。这里,第二模型参数的上链过程和应用过程,与第一模型参数的上链过程和应用过程类似。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
示例性地,参与方A1,A2(A1与第二设备对应,A2与第一设备对应)是两家公司,其中A1是一家社交媒体公司,拥有众多人群(如10亿量级)的大量社交行为相关特征(如百万量级);A2是信贷公司,拥有小部分人群(如几千量级)的违约记录作为标签,每条违约记录的获取对A2来说都通过巨大的损失获得的,具有隐私性。在保护隐私的前提下,A2借助A1的广泛特征联合进行训练模型,以利用训练得到模型对众多人群做违约预测,根据预测结果,判定新用户是否违约,并做后续决策,降低用户违约率。
需要说明的是,以总数据集包括14亿人来描述,总样本标识的数量为14亿,随机选择一个样本标识,那么该样本标识在A1样本标识空间内的概率如式(8)所示:
该样本标识在A1样本标识空间内的概率如式(9)所示:
易知,即使含有该样本标识的目标样本被A2获知,那么关于该样本标识在A1的样本标识空间中的概率是从71.4%增加到100%。但是,如果目标样本被A1获知,那么A1从目标样本中获得的知识增益是从0%增加到100%;如此,将对A2宝贵的样本标识空间的隐私造成巨大破坏。因此,在实际业务中,为了对样本标识空间的隐私保护,除了常规的保护A1特征,保护A2标签外,还需要保护A2的样本标识空间。
基于上述示例性描述,本申请实施例提供一种示例性的模型训练方法,该示例性的模型训练方法包括如下步骤:
此时,参见图10,图10是本申请实施例提供的一种示例性的联邦学习区域示意图;如图10所示,斜线填充部分为样本标识空间,点云填充部分为特征空间,方格填充部分为标签空间;虚线框内为联邦学习区域,即参与方A2利用自身的特征和标签,以及参与方A1的特征来联合训练网络模型。另外,区域10-1为参与方A1的样本标识空间,区域10-2为参与方A2的样本标识空间;区域10-3为参与方A1的特征空间,区域10-4为参与方A2的特征空间;区域10-5为参与方A2的标签空间。从而根据区域10-1和区域10-2,可确定数据交集对应区域10-6,从而也就确定了联邦学习区域。
其中,t和t+1指迭代训练的次数,η为学习率,大于0。
下面,继续说明本申请实施例提供的示例性的训练过程;这里,选择60000个样本和784个特征的“MNIST”数据集作为训练数据集,并将所选择的训练数据集分割为如表1所示的两个参与方:
这里,将两台4核CPU和16GB内存的服务器作为参与方A1和参与方A2。λ=0,0.25,0.5,0.75,1,联邦学习对应的预测模型的训练过程的损失函数值如图11所示,λ取不同的值时,损失函数值随迭代训练次数t的变化曲线归结于曲线11-1;而训练过程的评估指标(“AUC”指标)随迭代训练次数t的变化曲线如图12所示,λ=0,评估指标曲线为曲线12-1;λ=0.25,评估指标曲线为曲线12-2;λ=0.5,评估指标曲线为曲线12-3;λ=0.75,评估指标曲线为曲线12-4;λ=1,评估指标曲线为曲线12-5;由于,曲线12-1至12-5相似,从而说明本申请实施例提供的模型训练方法能够在保证第一设备对应的样本的隐私性的情况下,实现与各参与方均获知目标样本的情况下的模型效果一致,证明了本申请实施例提供的模型训练方法的有效性。也就是说,从图11和图12可以看出,本申请实施例提供的模型训练方法(对应λ>0)与对称联邦学习技术实现的模型训练方法(对应λ>0)能够产生相同的模型效果。
下面继续说明本申请实施例提供的第一模型训练装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在第一存储器450的第一模型训练装置455中的软件模块可以包括:
样本获取模块4551,用于获取第一目标样本和第二目标样本,所述第一目标样本为第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的;
公共样本模块4552,用于基于所述第二目标样本,对所述第一目标样本和所述第二目标样本的公共样本进行混合,得到混合公共样本;
第一解密模块4553,用于对所述公共样本和所述混合公共样本分别进行解密,得到目标样本和目标混合样本;
样本发送模块4554,用于将所述目标混合样本发送至所述第二设备,以使所述第二设备基于所述目标混合样本与所述第一设备协同进行模型训练以确定第二模型参数;
第一模型训练模块4555,用于基于所述目标样本与所述第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练,所述第一模型参数用于与所述第二模型参数结合完成所述预测模型的预测任务。
在本申请实施例中,所述公共样本模块4552,还用于获取所述第一目标样本和所述第二目标样本的所述公共样本的样本数量;获取所述第二目标样本的样本数量;计算所述公共样本的样本数量和所述第二目标样本的样本数量的比值,得到目标比值;结合所述目标比值与预设样本选择参数,从所述第二目标样本中选择包含所述公共样本的样本,得到所述混合公共样本,从而完成所述第二目标样本对所述公共样本的混合。
在本申请实施例中,所述第一解密模块4553,还用于将所述公共样本和所述混合公共样本发送至所述第二设备,以使所述第二设备对所述公共样本和所述混合公共样本分别进行解密;接收所述第二设备针对所述公共样本和所述混合公共样本所发送的待解密公共样本和待解密混合公共样本;其中,所述待解密公共样本和所述待解密混合公共样本,为所述第二设备对所述公共样本和所述混合公共样本分别进行解密得到的;对所述待解密公共样本和所述待解密混合公共样本分别进行解密,得到所述目标样本和所述目标混合样本。
在本申请实施例中,所述第一模型训练模块4555,还用于从预设特征库中,获取与所述目标样本对应的第一目标特征,从预设标签库中,获取与所述目标样本对应的目标标签信息;利用第一预设参数,获取所述第一目标特征对应的第一预测信息;接收所述第二设备发送的第二预测信息,所述第二预测信息为所述第二设备利用第二预设参数对所述目标混合样本对应的第二目标特征进行预测得到的结果;整合所述第一预测信息和所述第二预测信息,得到目标预测信息;根据所述目标预测信息与所述目标标签信息之间的差异,以及预设差异值,得到目标差异;结合所述目标差异和所述第一目标特征,对所述第一预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代训练后的第一预设参数确定为所述第一模型参数。
在本申请实施例中,所述第一模型训练模块4555,还用于将所述目标标签信息与所述目标预测信息之间的差异,确定为第一子目标差异;获取所述目标混合样本中除所述目标样本之外的剩余样本;将所述剩余样本对应的各标注差异确定为所述预设差异值,从而得到第二子目标差异;将所述第一子目标差异和所述第二子目标差异组合,得到所述目标差异。
在本申请实施例中,所述第一模型训练装置455还包括第一模型应用模块4556,用于获取所述预测任务,从所述预测任务中获取待预测数据;利用所述第一模型参数获取所述待预测数据对应的第一子预测结果;向所述第二设备发送包括所述待预测数据的预测请求,以使所述第二设备利用所述第二模型参数获取所述待预测数据对应的第二子预测结果;接收所述第二设备针对所述预测请求发送的所述第二子预测结果;整合所述第一子预测结果和所述第二子预测结果,得到所述预测任务对应的目标结果。
在本申请实施例中,所述样本获取模块4551,还用于对第一样本进行加密,得到第一加密样本,所述第一样本为所述第一设备中的金融样本;向所述第二设备发送第一加密样本;接收所述第二设备发送的第二加密样本,所述第二加密样本为所述第二设备对所述第二设备中的第二样本进行加密得到的;对所述第二加密样本进行加密,得到第二目标样本;接收所述第二设备针对所述第一加密样本发送的第一目标样本,所述第一目标样本为所述第二设备对所述第一加密样本进行加密得到的。
在本申请实施例中,所述第一模型训练模块4555,还用于对所述目标差异进行加密,得到加密目标差异;将所述加密目标差异发送至所述第二设备;接收所述第二设备针对所述加密目标差异发送的待解密梯度,所述待解密梯度为所述第二设备利用所述加密目标差异计算得到的加密梯度;对所述待解密梯度进行解密,得到目标梯度;将所述目标梯度发送至所述第二设备,以使所述第二设备利用所述目标梯度进行模型训练确定所述第二模型参数。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的第一处理器从计算机可读存储介质读取该计算机指令,第一处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的应用于第一设备的模型训练方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被第一处理器执行时,将引起第一处理器执行本申请实施例提供的应用于第一设备的模型训练方法,例如,如图7示出的方法。
下面继续说明本申请实施例提供的第二模型训练装置255的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在第二存储器250的第二模型训练装置255中的软件模块可以包括:
样本接收模块2551,用于接收第一设备发送的目标混合样本,所述目标混合样本为所述第一设备基于第二目标样本对第一目标样本和所述第二目标样本的公共样本混合得到的;
其中,所述第一目标样本为所述第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的,所述公共样本用于所述第一设备与所述第二设备协同进行模型训练以确定第一模型参数;
第二模型训练模块2552,用于基于所述目标混合样本与所述第一设备协同进行模型训练,确定第二模型参数,从而完成预测模型的训练,所述第二模型参数用于与所述第一模型参数结合完成所述预测模型的预测任务。
在本申请实施例中,所述第二模型训练装置255还包括样本加密模块2553,用于对第二样本进行加密,得到第二加密样本,所述第二样本为所述第二设备中的社交样本;向所述第一设备发送所述第二加密样本;接收所述第一设备发送的第一加密样本,所述第一加密样本为所述第一设备对所述第一设备中的第一样本进行加密得到的;对所述第一加密样本进行加密,得到所述第一目标样本;将所述第一目标样本发送至所述第一设备,以使所述第一设备基于所述第一目标样本和所述第二加密样本获得所述公共样本。
在本申请实施例中,所述第二模型训练装置255还包括第二解密模块2554,用于接收所述第一设备发送的针对所述第二加密样本和所述第一目标样本所发送的所述公共样本和所述混合公共样本;对所述公共样本和所述混合公共样本分别进行解密,得到待解密公共样本和待解密混合公共样本;将所述待解密公共样本和所述待解密混合公共样本发送至所述第一设备,以使所述第一设备对所述待解密公共样本和所述待解密混合公共样本分别进行解密而得到所述目标样本和所述目标混合样本。
在本申请实施例中,所述第二模型训练模块2552,还用于从预定特征库中,获取所述目标混合样本对应的第二目标特征,利用第二预设参数,获取所述第二目标特征对应的第二预测信息;将所述第二预测信息发送至所述第一设备,以使所述第一设备基于所述第二预测信息获得加密目标差异;接收所述第一设备发送的加密目标差异,利用所述加密目标差异与所述第二目标特征计算梯度,并对计算得到的梯度进行加密,得到待解密梯度;将所述待解密梯度发送至所述第一设备,以使所述第一设备对所述待解密梯度进行解密而得到目标梯度;接收所述第一设备发送的所述目标梯度,对所述目标梯度进行解密,得到待处理梯度,利用所述待处理梯度对所述第二预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代后的第二预设参数确定为所述第二模型参数。
在本申请实施例中,所述第二模型训练装置255还包括第二模型应用模块2555,用于接收所述第一设备发送的包括待预测数据的预测请求;响应所述预测请求,利用所述第二模型参数获取待预测数据对应的第二子预测结果;将所述第二子预测结果发送至所述第一设备,以使所述第一设备基于所述第二子预测结果获得所述预测任务对应的目标结果。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的第二处理器从计算机可读存储介质读取该计算机指令,第二处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的应用于第二设备的模型训练方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被第二处理器执行时,将引起第二处理器执行本申请实施例提供的应用于第二设备的模型训练方法,例如,如图5示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例,由于采用联邦学习训练模型时,第二设备获得的交集数据为混合后的公共样本,因此,保证了第一设备的金融样本中的任一条金融数据的隐私性;也就是说,第一设备能够在保证自身中的金融样本的隐私性的情况下,利用第二设备的社交样本训练出预测模型;从而,能够提升模型训练过程中的数据安全性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种模型训练方法,其特征在于,包括:
获取第一目标样本和第二目标样本,所述第一目标样本为第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的;
基于所述第二目标样本,对所述第一目标样本和所述第二目标样本的公共样本进行混合,得到混合公共样本;
对所述公共样本和所述混合公共样本分别进行解密,得到目标公共样本和目标混合样本,所述目标公共样本为解密后的所述公共样本;
将所述目标混合样本发送至所述第二设备,以使所述第二设备基于所述目标混合样本与所述第一设备协同进行模型训练以确定第二模型参数;
基于所述目标公共样本与所述第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练,所述第一模型参数用于与所述第二模型参数结合完成所述预测模型的预测任务。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第二目标样本,对所述第一目标样本和所述第二目标样本的公共样本进行混合,得到混合公共样本,包括:
获取所述第一目标样本和所述第二目标样本的所述公共样本的样本数量;
获取所述第二目标样本的样本数量;
计算所述公共样本的样本数量和所述第二目标样本的样本数量的比值,得到目标比值;
结合所述目标比值与预设样本选择参数,从所述第二目标样本中选择包含所述公共样本的样本,得到所述混合公共样本,从而完成所述第二目标样本对所述公共样本的混合。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述公共样本和所述混合公共样本分别进行解密,得到目标公共样本和目标混合样本,包括:
将所述公共样本和所述混合公共样本发送至所述第二设备,以使所述第二设备对所述公共样本和所述混合公共样本分别进行解密;
接收所述第二设备针对所述公共样本和所述混合公共样本所发送的待解密公共样本和待解密混合公共样本;
其中,所述待解密公共样本和所述待解密混合公共样本,为所述第二设备对所述公共样本和所述混合公共样本分别进行解密得到的;
对所述待解密公共样本和所述待解密混合公共样本分别进行解密,得到所述目标公共样本和所述目标混合样本。
4.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标公共样本与所述第二设备协同进行模型训练,确定第一模型参数,包括:
从预设特征库中,获取与所述目标公共样本对应的第一目标特征,从预设标签库中,获取与所述目标公共样本对应的目标标签信息;
利用第一预设参数,获取所述第一目标特征对应的第一预测信息;
接收所述第二设备发送的第二预测信息,所述第二预测信息为所述第二设备利用第二预设参数对所述目标混合样本对应的第二目标特征进行预测得到的结果;
整合所述第一预测信息和所述第二预测信息,得到目标预测信息;
根据所述目标预测信息与所述目标标签信息之间的差异,以及预设差异值,得到目标差异;
结合所述目标差异和所述第一目标特征,对所述第一预设参数进行迭代训练,直到满足预设训练截止条件时,将迭代训练后的第一预设参数确定为所述第一模型参数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标预测信息与所述目标标签信息之间的差异,以及预设差异值,得到目标差异,包括:
将所述目标标签信息与所述目标预测信息之间的差异,确定为第一子目标差异;
获取所述目标混合样本中除所述目标公共样本之外的剩余样本;
将所述剩余样本对应的各标注差异确定为所述预设差异值,从而得到第二子目标差异;
将所述第一子目标差异和所述第二子目标差异组合,得到所述目标差异。
6.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标公共样本与所述第二设备协同进行模型训练,确定第一模型参数,从而完成预测模型的训练之后,所述方法还包括:
获取所述预测任务,从所述预测任务中获取待预测数据;
利用所述第一模型参数获取所述待预测数据对应的第一子预测结果;
向所述第二设备发送包括所述待预测数据的预测请求,以使所述第二设备利用所述第二模型参数获取所述待预测数据对应的第二子预测结果;
接收所述第二设备针对所述预测请求发送的所述第二子预测结果;
整合所述第一子预测结果和所述第二子预测结果,得到所述预测任务对应的目标结果。
7.一种模型训练方法,其特征在于,包括:
接收第一设备发送的目标混合样本,所述目标混合样本为所述第一设备基于第二目标样本对第一目标样本和所述第二目标样本的公共样本混合得到的;
其中,所述第一目标样本为所述第一设备和第二设备依次对所述第一设备中的金融样本进行加密得到的,所述第二目标样本为所述第二设备和所述第一设备依次对所述第二设备中的社交样本进行加密得到的,所述公共样本用于所述第一设备与所述第二设备协同进行模型训练以确定第一模型参数;
基于所述目标混合样本与所述第一设备协同进行模型训练,确定第二模型参数,从而完成预测模型的训练,所述第二模型参数用于与所述第一模型参数结合完成所述预测模型的预测任务。
8.一种用于模型训练的第一设备,其特征在于,包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现权利要求1至6任一项所述的模型训练方法。
9.一种用于模型训练的第二设备,其特征在于,包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现权利要求7所述的模型训练方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被第一处理器执行时,实现权利要求1至6任一项所述的模型训练方法;或者,用于被第二处理器执行时,实现权利要求7所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010925814.1A CN111784001B (zh) | 2020-09-07 | 2020-09-07 | 一种模型训练方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010925814.1A CN111784001B (zh) | 2020-09-07 | 2020-09-07 | 一种模型训练方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111784001A CN111784001A (zh) | 2020-10-16 |
CN111784001B true CN111784001B (zh) | 2020-12-25 |
Family
ID=72762261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010925814.1A Active CN111784001B (zh) | 2020-09-07 | 2020-09-07 | 一种模型训练方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111784001B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257876B (zh) * | 2020-11-15 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、计算机设备及介质 |
CN112597379B (zh) * | 2020-12-04 | 2023-09-01 | 光大科技有限公司 | 数据识别方法、装置和存储介质及电子装置 |
CN112529101B (zh) * | 2020-12-24 | 2024-05-14 | 深圳前海微众银行股份有限公司 | 分类模型的训练方法、装置、电子设备及存储介质 |
CN113591097A (zh) * | 2021-01-21 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
CN113095505B (zh) * | 2021-03-25 | 2022-12-06 | 支付宝(杭州)信息技术有限公司 | 多方协同更新模型的方法、装置及系统 |
CN113051239A (zh) * | 2021-03-26 | 2021-06-29 | 北京沃东天骏信息技术有限公司 | 数据共享方法、应用其的模型的使用方法及相关设备 |
CN113807536B (zh) * | 2021-04-01 | 2024-04-16 | 京东科技控股股份有限公司 | 一种数据处理方法、装置及电子设备 |
CN113297175A (zh) * | 2021-05-26 | 2021-08-24 | Oppo广东移动通信有限公司 | 数据处理方法、装置、系统和可读存储介质 |
CN113723688B (zh) * | 2021-09-01 | 2024-04-19 | 网银在线(北京)科技有限公司 | 预测方法、装置、计算机设备及存储介质 |
CN113836566B (zh) * | 2021-11-26 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 基于区块链系统的模型处理方法及装置、设备、介质 |
CN115545088B (zh) * | 2022-02-22 | 2023-10-24 | 北京百度网讯科技有限公司 | 模型构建方法、分类方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN110288094A (zh) * | 2019-06-10 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法及装置 |
CN111259443A (zh) * | 2020-01-16 | 2020-06-09 | 百融云创科技股份有限公司 | 一种基于psi技术保护联邦学习预测阶段隐私的方法 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529327B9 (zh) * | 2016-10-08 | 2023-02-03 | 西安电子科技大学 | 混合云环境下面向加密数据库的数据存取系统及方法 |
US11429653B2 (en) * | 2018-12-21 | 2022-08-30 | Adobe Inc. | Generating estimated trait-intersection counts utilizing semantic-trait embeddings and machine learning |
CN111104731B (zh) * | 2019-11-19 | 2023-09-15 | 北京集奥聚合科技有限公司 | 一种用于联邦学习的图形化模型全生命周期建模方法 |
-
2020
- 2020-09-07 CN CN202010925814.1A patent/CN111784001B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN110288094A (zh) * | 2019-06-10 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法及装置 |
CN111259443A (zh) * | 2020-01-16 | 2020-06-09 | 百融云创科技股份有限公司 | 一种基于psi技术保护联邦学习预测阶段隐私的方法 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
Non-Patent Citations (1)
Title |
---|
"联邦学习安全与隐私保护研究综述";周俊等;《西华大学学报(自然科学版)》;20200731;第39卷(第4期);第9-17页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111784001A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111784001B (zh) | 一种模型训练方法、设备及计算机可读存储介质 | |
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
CN113159327B (zh) | 基于联邦学习系统的模型训练方法、装置、电子设备 | |
US10491390B2 (en) | Proof chaining and decomposition | |
CN110189192B (zh) | 一种信息推荐模型的生成方法及装置 | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
CN104715187B (zh) | 用于认证电子通信系统中的节点的方法和装置 | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
CN112631605A (zh) | 联邦学习模型的代码编译方法、装置、设备及存储介质 | |
CN112182644A (zh) | 一种数据处理方法、装置和电子设备 | |
CN113505882A (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN111081337A (zh) | 一种协同任务预测方法及计算机可读存储介质 | |
US11722322B2 (en) | Method for providing information to be stored and method for providing a proof of retrievability | |
Hu et al. | Secure outsourced computation of the characteristic polynomial and eigenvalues of matrix | |
CN112600830B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
Qiu et al. | Categorical quantum cryptography for access control in cloud computing | |
CN113591097A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN116502732B (zh) | 基于可信执行环境的联邦学习方法以及系统 | |
Liu et al. | Lightning-fast and privacy-preserving outsourced computation in the cloud | |
Wang et al. | Blockchain-Enabled Lightweight Fine-Grained Searchable Knowledge Sharing for Intelligent IoT | |
CN116506227B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112949866A (zh) | 泊松回归模型的训练方法、装置、电子设备及存储介质 | |
CN117313119A (zh) | 一种应用代码加密验证方法、装置以及计算机设备 | |
WO2017065122A1 (ja) | 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム | |
CN113032838B (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 |