CN110990871B - 基于人工智能的机器学习模型训练方法、预测方法及装置 - Google Patents
基于人工智能的机器学习模型训练方法、预测方法及装置 Download PDFInfo
- Publication number
- CN110990871B CN110990871B CN201911205122.3A CN201911205122A CN110990871B CN 110990871 B CN110990871 B CN 110990871B CN 201911205122 A CN201911205122 A CN 201911205122A CN 110990871 B CN110990871 B CN 110990871B
- Authority
- CN
- China
- Prior art keywords
- participant
- private
- party
- machine learning
- learning model
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于人工智能的机器学习模型训练方法、预测方法、装置、电子设备及存储介质;方法包括:将参与机器学习模型训练的第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述第一参与方持有的私有权重参数;结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有训练数据进行隐私保护处理,得到共享中间信息;根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,并沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。通过本发明,能够在模型训练及预测过程中,提升参与方持有数据的安全性。
Description
技术领域
本发明涉及人工智能技术,尤其涉及一种基于人工智能的机器学习模型训练方法、预测方法、装置、电子设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。机器学习(ML,Machine Learning)是人工智能的一个重要分支,主要研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
在机器学习模型的训练过程中,可能会涉及到不同的参与方,每个参与方提供私有的数据进行模型训练。为了使各参与方共享模型,在相关技术提供的方案中,通常是根据各参与方拥有的属性,将训练完成的模型拆分给各个参与方,但是,如果某参与方能够提供包含所有属性的数据,即使某一属性只有一个非缺失值,那么该参与方就可获得模型的全部权重参数,导致其他参与方的私有数据存在泄露的可能,数据安全性低。
发明内容
本发明实施例提供一种基于人工智能的机器学习模型训练方法、预测方法、装置、电子设备及存储介质,能够提升模型训练的安全性,保证各参与方的私有数据不被泄露。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于人工智能的机器学习模型训练方法,包括:
将参与机器学习模型训练的第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述第一参与方持有的机器学习模型的私有权重参数;
结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有训练数据进行隐私保护处理,得到共享中间信息;
根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,并
沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。
本发明实施例提供一种基于机器学习模型的预测方法,包括:
将参与机器学习模型训练的第一参与方的私有预测数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有预测数据包括所述第一参与方持有的机器学习模型的私有权重参数;
结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有预测数据进行隐私保护处理,得到共享中间信息;
根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签;
根据所述预测标签进行反馈处理。
本发明实施例提供一种基于人工智能的机器学习模型训练装置,包括:
训练融合模块,用于将参与机器学习模型训练的第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述第一参与方持有的机器学习模型的私有权重参数;
训练保护模块,用于结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有训练数据进行隐私保护处理,得到共享中间信息;
更新模块,用于根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,并
沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。
本发明实施例提供一种基于机器学习模型的预测装置,包括:
预测融合模块,用于将参与机器学习模型训练的第一参与方的私有预测数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有预测数据包括所述第一参与方持有的机器学习模型的私有权重参数;
预测保护模块,用于结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有预测数据进行隐私保护处理,得到共享中间信息;
标签预测模块,用于根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签;
反馈模块,用于根据所述预测标签进行反馈处理。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的机器学习模型训练方法,或基于机器学习模型的预测方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的机器学习模型训练方法,或基于机器学习模型的预测方法。
本发明实施例具有以下有益效果:
本发明实施例根据第一参与方的私有训练数据确定本地信息,获取根据第一参与方及第二参与方的私有训练数据确定的共享中间信息,并根据共享中间信息和第一参与方的本地信息对第一参与方的私有权重参数进行更新,由于共享中间信息是经过隐私保护处理后得到的,即通过共享中间信息无法推断出原信息,故本发明实施例有效提升了各参与方持有数据的安全性,并且,本发明实施例能够保证各参与方持有的并不是全部的权重参数,提升了机器学习模型的安全性。
附图说明
图1是本发明实施例提供的基于人工智能的机器学习模型训练系统的一个可选的架构示意图;
图2是本发明实施例提供的结合区块链网络的基于人工智能的机器学习模型训练系统的一个可选的架构示意图;
图3A是本发明实施例提供的服务器的一个可选的架构示意图;
图3B是本发明实施例提供的服务器的一个可选的架构示意图;
图4A是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图;
图4B是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图;
图4C是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图;
图4D是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图;
图5是本发明实施例提供的基于机器学习模型的预测方法的一个可选的流程示意图;
图6是本发明实施例提供的数据分区形式的一个可选的示意图;
图7是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图;
图8是本发明实施例提供的更新方向的一个可选的示意图;
图9是本发明实施例提供的基于机器学习模型的预测方法的一个可选的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)隐私保护数据挖掘(PPDM,Privacy-Preserving Data Mining):隐私与安全研究的最新趋势之一,隐私保护数据挖掘由信息时代的一个主要政策问题——隐私权所驱动。数据挖掘是自动发现高级数据和大量数据趋势的过程,但是有时数据会分布在各方之间,法律和商业方面的隐私可能会阻止双方直接共享一些敏感数据,而隐私保护数据挖掘提供了在不侵犯数据隐私的情况下协作进行数据挖掘的方法。
2)逻辑回归(LR,Logistic Regression):一种线性统计分类的方式,其基本形式是使用Logistic函数进行建模,而且存在许多更复杂的扩展。由于应用逻辑回归的模型简单并且效果出色,故已经被广泛的应用于各个大数据领域中。
3)共享标量积协议(Shared Scalar Product Protocol):旨在安全地计算两个隐私向量的点积,该协议作为一种基本工具,在分布式协同计算中得到了广泛的应用。共享标量积协议通过特定方式,使得在不泄露各参与方数据的情况下使得两个参与方方各获得一个标量,而这两个标量的和等于两参与方隐私向量的点积。
4)样本:在本文中存在两种形式,其一是仅包括属性参数,其二是包括属性参数和对应的样本标签。其中,属性参数对应属性种类,例如属性种类为用户年龄,那么属性参数为具体的年龄数值,样本标签指示属性参数对应的结果,例如用户是否违约的结果。
5)横向分区数据(Horizontally Partitioned Data):一种数据分布情况,指每个参与方都持有对应相同属性种类的不同样本。也就是说,每个样本都完全属于其中一个参与方。
6)纵向分区数据(Vertically Partitioned Data):指不同参与方拥有相同样本的专有属性种类集,即每个样本的属性种类被互补地分割给不同参与方。
7)任意分区数据(Arbitrarily Partitioned Data):每个样本被划分为分布在不同参与方的不相交子集,不同的样本不必遵循相同的赋值规则。特别是,如果一个样本的某一属性种类由其中一个参与方拥有,那么其他参与方就不会知道该属性种类对应的属性参数。
8)区块链(Blockchain):由区块(Block)形成的加密的、链式的交易的存储结构。
9)区块链网络(Blockchain Network):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
相关技术提供的机器学习模型通常涉及数据处理,包括数据收集、数据清洗、数据融合和模型构建,最终版本通常是出售或租赁云服务。该处理过程面临着来自数据法规和法律的重大挑战,如欧盟实施的通用数据保护条例(GDPR,General Data ProtectionRegulation)。故在机器学习模型的训练及预测过程中,需要合理进行数据碎片化和信息隔离,以保护隐私数据不被恶意方窃取。隐私保护数据挖掘旨在允许机器学习模型的协同训练,而不需要参与方的业务主体泄露参与方的任何私有数据。发明人发现在隐私保护数据挖掘中,一个不可避免的问题是如何在不同参与方之间共享最终模型的权重参数。
在相关技术提供的方案中,第一种方案是将最终模型的权重参数在所有参与方之间共享,但这往往会泄露太多信息,并且不符合隐私限制。另一种方案是尽可能在各参与方之间拆分模型,例如在不同参与方之间任意分割的数据进行分析,通过使用安全求和协议获得损失函数和梯度信息,并将其应用于模型权重参数的更新。在最终模型的权重参数的分配问题上,该方案根据每个参与方拥有的属性分配权重参数,其中要求参与方不会获得缺少所有值(属性参数)的属性种类对应的权重参数。具体来说,如果参与方拥有某一属性种类的全部属性参数,则只有该参与方才能获得与该属性种类对应的权重参数。
但是,根据这种分配原则,如果某一参与方能够提供对应所有属性种类的数据,即使某一属性种类只有一个非缺失的属性参数,那么该参与方都可以获得训练后的机器学习模型的全部权重参数,导致该参与方可以通过权重参数推断出其他参与方的数据,从而泄露隐私信息。
本发明实施例提供一种基于人工智能的机器学习模型训练方法、预测方法、装置、电子设备及存储介质,能够在模型训练及预测的过程中,有效提升各参与方持有数据的安全性和保密性,下面说明本发明实施例提供的电子设备的示例性应用。
参见图1,图1是本发明实施例提供的基于人工智能的机器学习模型训练系统100的一个可选的架构示意图,为实现支撑一个基于人工智能的机器学习模型训练应用,终端设备400-1通过网络300-1连接服务器200-1,终端设备400-2通过网络300-2连接服务器200-2,服务器200-1与后台数据库500-1连接,服务器200-2与后台数据库500-2连接,服务器200-1通过网络600连接服务器200-2,其中,网络300-1、网络300-2和网络600可以是广域网或者局域网,又或者是广域网和局域网的组合,此外,服务器200-1等同于第一参与方,服务器200-2等同于第二参与方。
服务器200-1用于从数据库500-1中获取服务器200-1的私有训练数据,并对该私有训练数据进行融合处理,得到服务器200-1的本地信息;其中,该私有训练数据包括机器学习模型的私有权重参数;服务器200-2用于从数据库500-2中获取服务器200-2的私有训练数据;服务器200-1还用于将服务器200-1的私有训练数据与服务器200-2的私有训练数据进行隐私保护处理,得到共享中间信息;根据共享中间信息和服务器200-1的本地信息,确定机器学习模型对应服务器200-1的梯度,并沿该梯度的下降方向更新对应服务器200-1的私有权重参数,将服务器200-1的私有权重参数存储至数据库500-1。
值得说明的是,私有训练数据的获取途径除了数据库外,还可以是终端设备的线上数据流或日志,例如服务器获取终端设备在运行过程中产生的训练样本,或者获取终端设备中随机初始化的私有权重参数,从而构成相应参与方的私有训练数据。
另外,服务器200-1还用于将服务器200-1的本地信息发送至服务器200-2;服务器200-2还用于根据共享中间信息和服务器200-1的本地信息,确定机器学习模型对应服务器200-2的梯度,并沿该梯度的下降方向更新对应服务器200-2的私有权重参数,将服务器200-2的私有权重参数存储至数据库500-2。
在完成对服务器200-1的私有权重参数的更新后,服务器200-1还用于从数据库500-1中获取服务器200-1的私有预测数据,该私有预测数据包括更新后的机器学习模型的私有权重参数;服务器200-2还用于从数据库500-2中获取服务器200-2的私有预测数据;服务器200-1还用于结合服务器200-1以及服务器200-2的私有预测数据进行隐私保护处理,得到共享中间信息;根据共享中间信息和服务器200-1的本地信息,确定机器学习模型的预测标签;根据所述预测标签进行反馈处理。同理,私有预测数据的获取途径除了数据库外,还可以是终端设备的线上数据流或日志,服务器200-2也可根据共享中间信息和服务器200-1的本地信息,确定机器学习模型的预测标签并进行反馈处理,此处不再赘述。
值得说明的是,服务器200-1进行的反馈处理可以是将预测标签发送至终端设备400-1,并由终端设备400-1将预测标签显示于图形界面410-1中。当然,也可结合具体的应用场景进行反馈处理,例如,在金融场景中,预测标签指示对应用户可信赖的概率,则可根据预测标签的数值,确定是否对该用户进行贷款;在商品推荐场景,预测标签指示用户对某商品喜好的概率,则可根据预测标签,确定是否对该用户推荐该商品。
本发明实施例也可结合区块链技术实现,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参见图2,图2是本发明实施例提供的基于人工智能的机器学习模型训练系统110的一个可选的架构示意图,包括区块链网络700(示例性地示出了节点710-1至节点710-3)、第一业务系统20-1(示例性地示出归属于第一业务系统20-1的服务器200-1,其中服务器200-1等同于第一参与方)及第二业务系统20-2(示例性地示出归属于第二业务系统20-2的服务器200-2,其中服务器200-2等同于第二参与方),业务系统即为参与方的上层业务主体使用的系统,参与方的上层业务主体如人、企业及政府单位等,下面分别进行说明。
区块链网络700的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务系统的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络700;以联盟链为例,业务系统在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络700,此时,成为区块链网络700中的一类特殊的节点即客户端节点。
需要指出地,客户端节点可以只提供支持业务系统发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络700的原生节点的功能,例如下文所述的排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务系统的具体业务需求)地实现。从而,可以将业务系统的数据和业务处理逻辑最大程度迁移到区块链网络700中,通过区块链网络700实现数据和业务处理过程的可信和可追溯。
区块链网络700接收来自业务系统(例如图2中示出的第一业务系统20-1)的客户端节点(例如,图2中示出的归属于第一业务系统20-1的服务器200-1)提交的交易,执行交易以更新账本或者查询账本。
下面以业务系统接入区块链网络以实现私有训练数据的上链为例说明区块链网络的示例性应用。
第一业务系统20-1的服务器200-1接入区块链网络700,成为区块链网络700的客户端节点;第二业务系统20-2的服务器200-2接入区块链网络700,同样成为区块链网络700的客户端节点。服务器200-1在完成对第一参与方的私有权重参数的更新后,生成对应第一参与方的密钥对,并将密钥对中的私钥发送至区块链网络700的节点710(原生节点),同时约定该私钥仅对节点710本身可见,即并不将该私钥存储至公开的区块链。服务器200-1根据密钥对中的公钥对第一参与方的私有训练数据进行加密处理,得到私有密文,并生成更新第一参与方的私有密文的交易,在交易中指定了实现更新操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了第一业务系统20-1签署的数字签名(例如,使用第一业务系统20-1的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络700。其中,数字证书可由第一业务系统20-1向认证中心800进行登记注册得到。
区块链网络700中的节点710在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的第一业务系统20-1的身份,确认第一业务系统20-1是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点710自己的数字签名,并继续在区块链网络700中广播。
区块链网络700中具有排序功能的节点710接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络中700提供共识服务的节点。
区块链网络700中的提供共识服务的节点710对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易:对于更新第一参与方的私有密文的交易,更新状态数据库中第一参与方的私有密文对应的键值对,键值对如“KEY:第一参与方VALUE:私有密文”。
同理,服务器200-2也可将对应第二参与方的私钥发送至节点710,并生成更新第二参与方的私有密文的交易,将该交易广播至区块链网络700,以将包括第二参与方的私有密文的新区块追加到区块链的尾部,同时更新状态数据库中私有密文对应的键值对,键值对如“KEY:第二参与方VALUE:私有密文”。
服务器200-1还可生成查询预测标签的预测请求,并根据该预测请求生成对应的查询交易,其中,该预测请求包括有待预测的样本或者指定了第一参与方的私有训练数据中待预测的样本。服务器200-1将交易广播至区块链网络700,经节点710进行验证、区块填充及共识一致后,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易。具体地,对于包括预测请求的交易,节点710从状态数据库中查询第一参与方的私有密文,并按照节点710持有的对应的私钥进行解密得到,第一参与方的私有训练数据;从状态数据库中查询第二参与方的私有密文,并按照节点710持有的对应的私钥进行解密,得到第二参与方的私有训练数据。然后,节点710根据预测请求对应的样本,对第一参与方的私有训练数据进行融合处理,得到第一参与方的本地信息,结合第一参与方以及第二参与方的私有训练数据进行隐私保护处理,得到共享中间信息,最终根据共享中间信息和第一参与方的本地信息,确定机器学习模型对于该样本的预测标签,并将该预测标签发送至服务器200-1。同理,服务器200-2也可以第二参与方的名义生成预测请求,并将对应的交易广播至区块链网络700,以得到区块链网络700的节点710反馈的预测标签,此处不再赘述。
下面继续说明本发明实施例提供的电子设备的示例性应用。电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端设备,也可以实施为服务器。下面,以电子设备为服务器为例进行说明。
参见图3A,图3A是本发明实施例提供的服务器200-1(例如,可以是图1所示的服务器200-1)的架构示意图,图3A所示的服务器200-1包括:至少一个处理器210、存储器240和至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3A中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本发明实施例提供的基于人工智能的机器学习模型训练装置可以采用软件方式实现,图3A示出了存储在存储器240中的基于人工智能的机器学习模型训练装置2430,其可以是程序和插件等形式的软件,包括以下软件模块:训练融合模块24301、训练保护模块24302及更新模块24303,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,本发明实施例提供的基于机器学习模型的预测装置也可以采用软件方式实现,参见图3B,图3B除了示出的基于机器学习模型的预测装置2431外,其余部分可均与图3A相同,此处不再赘述。对于存储在存储器240中的基于机器学习模型的预测装置2431,其可以是程序和插件等形式的软件,包括以下软件模块:预测融合模块24311、预测保护模块24312、标签预测模块24313及反馈模块24314,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的机器学习模型训练装置及基于机器学习模型的预测装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的机器学习模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的机器学习模型训练方法;本发明实施例提供的基于机器学习模型的预测装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于机器学习模型的预测方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
本发明实施例提供的基于人工智能的机器学习模型训练方法可以由上述的服务器执行,也可以由终端设备(例如,可以是图1所示的终端设备400-1)执行,或者由服务器和终端设备共同执行。
下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的基于人工智能的机器学习模型训练装置而实现基于人工智能的机器学习模型训练方法的过程。
参见图4A,图4A是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图,将结合图4A示出的步骤进行说明。
在步骤101中,参与机器学习模型训练的第一参与方将所述第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述第一参与方持有的机器学习模型的私有权重参数。
图4A所示出的服务器200-1等同于第一参与方,服务器200-2等同于第二参与方,参与方可根据上层的业务主体发起的指令,执行模型训练及预测等操作,业务主体如人、企业或政府单位等,本发明实施例对此不做限定。
在本步骤中,第一参与方根据上层的业务主体的指令,将自身的私有训练数据进行融合处理,得到第一参与方的本地信息,其中,第一参与方的私有训练数据至少包括第一参与方持有的机器学习模型的私有权重参数,通常来说,私有训练数据还包括第一参与方用于训练的训练样本。值得说明的是,第一参与方持有的私有权重参数可预先设定,可通过随机初始化得到,也可通过其他方式确定,本发明实施例对此不做限定。
在一些实施例中,可以通过这样的方式来实现上述的参与机器学习模型训练的第一参与方将所述第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息:所述第一参与方对所述第一参与方的私有权重参数进行转置处理;将所述第一参与方的属性参数与转置处理后的所述私有权重参数进行点积处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述属性参数。
这里,第一参与方的私有训练数据包括训练样本,训练样本包括属性参数,其中,属性参数为向量,属性参数包括元素的数量与属性种类的总数量相同,并且属性参数中的元素可以为空值,即可以为0。由于第一参与方的私有权重参数同样为向量,故在进行融合处理时,将第一参与方的私有权重参数进行转置处理,再将第一参与方的属性参数与转置处理后的私有权重参数进行点积处理,得到第一参与方的本地信息。举例来说,第一参与方的私有权重参数为w(A),第i个训练样本的属性参数为xi (A),则可得到对应第i个训练样本的本地信息为w(A)Txi (A)。在第二参与方的私有训练数据包括训练样本的情况下,第二参与方将自身持有的私有训练数据进行融合处理得到本地信息的过程与上述过程类似。
在一些实施例中,在步骤101之前,还包括:所述第一参与方确定所述第一参与方包括的属性参数对应的属性种类,并确定所述属性种类的参数范围;将不符合所述参数范围的属性参数发送至人工校验方;对所述人工校验方校验后的属性参数及符合所述参数范围的属性参数进行归一化处理;其中,所述第一参与方的私有训练数据包括所述属性参数。
在第一参与方的私有训练数据包括训练样本,且训练样本包括属性参数的基础上,可对训练样本进行预处理。具体地,第一参与方确定包括的属性参数对应的属性种类,并确定属性种类的参数范围和归一化条件。然后,将不符合参数范围的属性参数对应的训练样本发送至人工校验方,当人工校验方校验未通过时,丢弃该训练样本;当人工校验方校验通过时,根据归一化条件,对人工校验方校验后的属性参数及符合参数范围的属性参数进行归一化处理。
举例来说,第一参与方的训练样本1包括属性参数(年龄30岁,性别女),训练样本2包括属性参数(年龄101岁,性别男)。属性种类年龄的参数范围为0~100,归一化条件为将50岁以上的年龄归一化为数值1,将其他年龄归一化为数值2;属性种类性别的参数范围包括男和女,归一化条件为将男性归一化为数值1,将女性归一化为数值2。由于训练样本1的属性参数符合对应的参数范围,故无需进行人工校验。而训练样本2的属性参数年龄超出了对应的参数范围,故确定其存在异常,将该训练样本发送至人工校验方。当人工校验方校验未通过时,丢弃训练样本2,以防止错误的训练样本2对模型训练造成负面影响;当人工校验方校验通过时,对人工校验方校验后的训练样本2中的属性参数进行归一化处理,同时对训练样本1中的属性参数进行归一化处理,则归一化后的训练样本1包括属性参数(2,2),归一化后的训练样本2包括属性参数(1,1)。值得说明的是,在训练样本包括样本标签时,同时也对样本标签进行归一化处理,例如将样本标签归一化为-1和1两个数值中的一个。值得说明的是,第二参与方对自身的训练样本的预处理过程与上述过程类似,此处不再赘述。通过上述方式,保证了参与方的训练样本的有效性,并且统一了训练样本的数值标准,便于后续进行处理。
在步骤102中,所述第一参与方结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有训练数据进行隐私保护处理,得到共享中间信息。
这里,第一参与方结合自身和第二参与方的私有训练数据进行隐私保护处理,得到共享中间信息,其中,第一参与方和第二参与方均可获取共享中间信息,共享中间信息无法用于回溯生成共享中间信息的原信息,从而实现了私有训练数据的保密。
在步骤103中,所述第一参与方根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,并沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。
这里,确定机器学习模型的损失函数对应第一参与方的梯度,并沿该梯度的下降方向更新对应第一参与方的私有权重参数,如此,保证第一参与方的私有权重参数是一个在单独使用时无意义的向量,保证第一参与方无法根据私有权重参数推测出其他参与方的私有训练数据。
在步骤104中,所述第一参与方将所述第一参与方的本地信息发送至所述第二参与方。
为了使第二参与方也进行更新,第一参与方可将第一参与方的本地信息发送至第二参与方。
在步骤105中,所述第二参与方根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第二参与方的梯度,并沿所述梯度的下降方向更新对应所述第二参与方的私有权重参数。
同理,第二参与方根据共享中间信息和第一参与方的本地信息,确定机器学习模型的损失函数对应第二参与方的梯度,并沿梯度的下降方向更新对应第二参与方的私有权重参数。第一参与方的私有权重参数与第二参与方的私有权重参数的相加结果,即为机器学习模型的整体权重参数。
通过发明实施例对于图4A的上述示例性实施可知,本发明实施例通过在第一参与方和第二参与方之间共享经处理后的本地信息和共享中间信息,提升了原本的私有训练数据的安全性,并且,本发明实施例能够保证各参与方持有的并不是机器学习模型的整体权重参数,提升了机器学习模型的安全性。
在一些实施例中,参见图4B,图4B是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图,图4A示出的步骤102可以通过步骤201至步骤204实现,将结合各步骤进行说明。
在步骤201中,第二参与方将所述第二参与方的私有训练数据进行融合处理,并将得到的所述第二参与方的本地信息发送至所述第一参与方;其中,所述第一参与方及所述第二参与方的私有训练数据均包括属性参数。
这里,第一参与方和第二参与方的私有训练数据均包括训练样本和私有权重参数,其中训练样本至少包括属性参数,第一参与方的训练样本和第二参与方的训练样本互相隔离,且对应同一对象,例如电商平台A下辖的第一参与方和电商平台B下辖的第二参与方拥有同一用户的商品浏览记录。第二参与方将自身的私有训练数据进行同样的融合处理后,将得到的第二参与方的本地信息发送至第一参与方。
在步骤202中,所述第一参与方将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第一点积结果。
这里,第一参与方通过共享标量积处理的方式,与第二参与方进行密文交互,从而得到第一参与方的私有权重参数与第二参与方的属性参数之间的第一点积结果。
在一些实施例中,可以通过这样的方式来实现上述的所述第一参与方将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第一点积结果:所述第一参与方对所述第一参与方的私有权重参数进行加密处理,得到第一密文;将所述第一密文发送至所述区块链网络,以使所述区块链网络的节点根据所述第一密文、所述第二参与方的属性参数及生成的对应所述第二参与方的共享参数,确定第二密文并存储所述第二密文;向所述区块链网络发送查询请求,以获取所述区块链网络中的所述第二密文和所述第二参与方的共享参数;对所述第二密文进行解密处理,得到对应所述第一参与方的共享参数;将所述第一参与方的共享参数与所述第二参与方的共享参数进行求和处理,得到第一点积结果。
为了便于理解,以步骤形式说明共享标量积处理的方式:
1)第一参与方生成包括公钥和私有的密钥对,并将公钥发送至第二参与方。
2)第一参与方确定私有权重参数包括元素的数量d,d为大于0的整数,并且,对于第一参与方的私有权重参数中的第j个元素,随机生成第一字符串,根据公钥对第一字符串和第一参与方的私有权重参数共同进行加密处理,得到第一密文。将j从1到d进行遍历,直至得到d个第一密文,并将d个第一密文发送至第二参与方。
3)第二参与方将第二参与方的属性参数中的第j个元素,确定为第j个第一密文的次幂,得到第j个第一密文对应的乘方结果,并将d个乘方结果进行累乘得到中间密文。然后,随机生成第二字符串和第二参与方的共享参数,根据公钥对第二字符串和取负后的第二参与方的共享参数共同进行加密处理,将加密处理的结果与中间密文进行乘积处理,得到第二密文。第二参与方将第二密文和第二参与方的共享参数发送至第一参与方。
4)第一参与方根据私钥对第二密文进行解密处理,得到第一参与方的共享参数,并将第一参与方的共享参数和第二参与方的共享参数进行相加处理,得到第一点积结果。
本发明实施例还可在共享标量积处理的过程中,以区块链网络取代第二参与方的工作。具体地,在步骤1)中,第一参与方将公钥发送至区块链网络,区块链网络的节点将公钥存储至区块链及状态数据库;在步骤2)中,第一参与方将d个第一密文发送至区块链网络,区块链网络的节点将d个第一密文存储至区块链及状态数据库;在步骤3)中,区块链网络的节点预先存储有第二参与方的属性参数(对外不公开,仅限于节点内部可见),区块链网络的节点根据第二参与方的属性参数,对d个第一密文进行处理得到中间密文,然后,区块链网络的节点随机生成第二字符串和第二参与方的共享参数,根据存储的公钥对第二字符串和取负后的第二参与方的共享参数共同进行加密处理,将加密处理的结果与中间密文进行乘积处理,得到第二密文,并将第二密文和第二参与方的共享参数存储至区块链及状态数据库。在步骤3)中,区块链网络的节点还可响应于第一参与方发送的查询请求,将状态数据库中的第二参与方的共享参数和第二密文发送至第一参与方。通过上述方式,由区块链网络的节点进行共享标量积处理,提升了得到的第一点积结果的准确性,并且实现了不涉及隐私的中间数据的可追溯。
在步骤203中,所述第一参与方将所述第一参与方的属性参数与所述第二参与方的私有权重参数进行共享标量积处理,得到第二点积结果。
这里,第一参与方同样通过共享标量积处理的方式,与第二参与方进行密文交互,从而得到第一参与方的属性参数与第二参与方的私有权重参数之间的第二点积结果。步骤203的处理过程与步骤202类似,同样地,也可结合区块链网络实现,在此不做赘述。
在步骤204中,所述第一参与方将所述第二参与方的本地信息、所述第一点积结果及所述第二点积结果确定为共享中间信息。
这里,共享中间信息包括第二参与方的本地信息、第一点积结果及第二点积结果,共享中间信息可被第一参与方和第二参与方共享,属于透明信息。
通过发明实施例对于图4B的上述示例性实施可知,本发明实施例通过在第一参与方和第二参与方之间进行共享标量积处理,得到第一点积结果和第二点积结果,并与第二参与方的本地信息共同构成共享中间信息,在不侵犯各参与方私有训练数据的情况下,实现了协作数据挖掘,提升了数据安全性。
在一些实施例中,参见图4C,图4C是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图,图4A示出的步骤103可以通过步骤301至步骤303实现,将结合各步骤进行说明。
在步骤301中,所述第一参与方根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签。
在本发明实施例中,以机器学习模型为逻辑回归模型进行举例说明,但这并不构成对本发明实施例的限定,即机器学习模型还可为其他形式。在本步骤,第一参与方将共享中间信息和第一参与方的本地信息进行相加,例如将第二参与方的本地信息、第一点积结果、第二点积结果和第一参与方的本地信息进行相加,得到机器学习模型的整体权重参数与整体属性参数之间的点积结果,这里的整体属性参数可看作是第一参与方的属性参数与第二参与方的属性参数的合并结果。然后,对机器学习模型的点积结果进行以自然常数e为底的指数处理,并将指数处理的结果加1后取倒数,得到机器学习模型的预测标签。
在步骤302中,所述第一参与方将所述第一参与方的样本标签与所述第二参与方的属性参数进行共享标量积处理,得到所述第一参与方的共享参数;其中,所述第一参与方的私有训练数据包括属性参数和样本标签;所述第二参与方的私有训练数据包括属性参数。
针对第一参与方的训练样本包括属性参数和样本标签,第二参与方的训练样本仅包括属性参数,即样本标签位于第一参与方的情况,第一参与方将第一参与方的样本标签与第二参与方的属性参数进行共享标量积处理,得到第一参与方的共享参数。值得说明的是,这里的共享参数与步骤202中的共享参数并不是同一个。
在步骤303中,所述第一参与方根据所述预测标签、所述第一参与方的共享参数及所述第一参与方的私有训练数据,确定所述机器学习模型对应所述第一参与方的梯度,并沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。
在一些实施例中,可以通过这样的方式来实现上述的所述第一参与方根据所述预测标签、所述第一参与方的共享参数及所述第一参与方的私有训练数据,确定所述机器学习模型对应所述第一参与方的梯度:所述第一参与方根据所述预测标签和所述第一参与方的属性参数,确定第一梯度项;根据所述第一参与方的私有权重参数和所述第一参与方包括的属性参数的数量,确定第二梯度项;将所述第一参与方的共享参数确定为第三梯度项;根据所述第一参与方的属性参数和样本标签,确定第四梯度项;将所述第一梯度项、所述第二梯度项、所述第三梯度项和所述第四梯度项进行累积处理,得到所述机器学习模型对应所述第一参与方的梯度。
在机器学习模型为逻辑回归模型的情况下,可将计算出的第一梯度项、第二梯度项、第三梯度项和第四梯度项的求和结果,作为机器学习模型对应第一参与方的梯度。具体地,第一参与方将预测标签和第一参与方的属性参数进行乘积处理,得到第一梯度项;将设定的超参数与第一参与方包括的属性参数的数量进行相除,并将相除的结果与第一参与方的私有权重参数进行乘积处理,得到第二梯度项;将第一参与方的共享参数确定为第三梯度项;根据第一参与方的样本标签确定调整参数,并将调整参数和第一参与方的属性参数的乘积结果,作为第四梯度项。其中,调整参数仅限于1和0两种取值,可根据实际应用场景设定样本标签与调整参数之间的关系,例如设定当样本标签为1时,对应的调整参数为1;当样本标签为-1时,对应的调整参数为0。
值得说明的是,机器学习模型对应第二参与方的梯度的确定过程,与上述过程类似,只是将计算梯度项过程中的第一参与方替换为第二参与方,另外由于样本标签位于第一参与方,故不计算第二参与方的第四梯度项,即,将第二参与方的第一梯度项、第二梯度项和第三梯度项的相加结果,确定为机器学习模型对应第二参与方的梯度。
通过发明实施例对于图4C的上述示例性实施可知,本发明实施例先确定出机器学习模型的预测标签,再确定机器学习模型对应第一参与方的梯度,从而实现了参与方的私有权重参数的有效更新。
在一些实施例中,参见图4D,图4D是本发明实施例提供的基于人工智能的机器学习模型训练方法的一个可选的流程示意图,基于图4A,在步骤105之后,还可以在步骤401中,所述第一参与方生成对应所述第一参与方的密钥对,并将所述密钥对中的私钥发送至区块链网络中的节点;其中,所述密钥对包括所述私钥和对应的公钥。
第一参与方在完成私有权重参数的更新后,可生成对应第一参与方的密钥对,并将密钥对中的私钥发送至区块链网络中的节点。值得说明的是,这里是指将私钥部署至区块链网络中的节点内部,例如以智能合约的形式部署,而并不是将私钥存储至区块链或状态数据库,即,区块链网络的节点内的私钥对外是不公开状态。
在步骤402中,所述第一参与方根据所述公钥对更新后的所述第一参与方的私有训练数据进行加密处理,得到私有密文,并将所述私有密文存储至区块链网络。
第一参与方根据密钥对中的公钥,对更新后的第一参与方的私有训练数据进行加密处理,得到私有密文,并将私有密文发送至区块链网络,由区块链网络的节点将私有密文存储至区块链及状态数据库,即,私有密文对外是公开状态。同样地,第二参与方也生成对应第二参与方的密钥对,将密钥对中的私钥部署至区块链网络的节点内部,并根据密钥对中的公钥对第二参与方的私有训练数据进行加密处理,得到私有密文,将私有密文存储至区块链及状态数据库。
在步骤403中,所述区块链网络的节点响应于所述第一参与方或所述第二参与方的预测请求,根据所述私钥和所述私有密文进行预测处理得到预测标签,并将所述预测标签发送至所述预测请求对应的参与方。
第一参与方或第二参与方可向区块链网络发送预测请求,区块链网络的节点根据第一参与方的私钥对状态数据库中的第一参与方的私有密文进行解密,得到第一参与方的私有训练数据;根据第二参与方的私钥对状态数据库中的第二参与方的私有密文进行解密,得到第二参与方的私有训练数据。然后,区块链网络的节点根据预测请求中的样本或预测请求指定的训练样本,进行预测处理得到预测标签,并将预测标签发送至发起预测请求的参与方。
在一些实施例中,在步骤101之前,还包括:所述第一参与方将所述第一参与方的公共训练样本发送至区块链网络;所述区块链网络的节点根据所有参与方的公共训练样本,对所述机器学习模型的权重参数进行更新得到公共权重参数,并将所述公共权重参数存储至所述区块链网络;所述区块链网络的节点响应于所述第一参与方的权重参数请求,在确定所述第一参与方提供的公共训练样本满足数量条件时,将所述区块链网络中的所述公共权重参数发送至所述第一参与方;所述第一参与方将所述公共权重参数确定为所述第一参与方的私有权重参数;其中,所述公共训练样本包括属性参数,或包括属性参数及样本标签。
第一参与方的私有权重参数可人为设定,可随机初始化,也可以是通过预先训练得到的。具体地,第一参与方将第一参与方的公共训练样本发送至区块链网络,这里的公共训练样本是可共享、不存在隐私的数据,公共训练样本存在两种形式,一种是仅包括属性参数,另一种是包括属性参数和样本标签。当然,第二参与方也可将公共训练样本发送至区块链网络。
区块链网络的节点将接收到的所有参与方的公共训练样本存储至区块链及状态数据库中,并在进行模型训练时,将状态数据库中的所有公共训练样本进行合并,根据合并后的公共训练样本对机器学习模型的权重参数进行更新,得到公共权重参数。然后,区块链网络的节点对公共权重参数进行加密,并将加密后的公共权重参数存储至区块链及状态数据库,其中,解密所需的密钥并非由参与方持有,而是由区块链网络的节点持有。
第一参与方可向区块链网络发送权重参数请求,区块链网络的节点根据该权重参数请求,判断第一参与方提供的公共训练样本是否满足数量条件,并在确定第一参与方提供的公共训练样本满足数量条件时,将状态数据库存储的加密后的公共权重参数进行解密处理,并将得到的公共权重参数发送至第一参与方,其中,数量条件如参与方提供的公共训练样本的数量超过500条。第一参与方将接收到的公共权重参数,确定为自身的私有权重参数。通过上述方式确定私有权重参数,提升了后续更新私有权重参数的平滑性。
通过发明实施例对于图4D的上述示例性实施可知,本发明实施例将参与方的私钥和私有密文存储至区块链网络,并由区块链网络的节点执行预测工作,提升了预测过程的可追溯性,便于记录各参与方请求预测的情况。
本发明实施例提供的基于机器学习模型的预测方法可以由上述的服务器执行,也可以由终端设备(例如,可以是图1所示的终端设备400-1)执行,或者由服务器和终端设备共同执行。
下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的基于机器学习模型的预测装置而实现基于机器学习模型的预测方法的过程。
参见图5,图5是本发明实施例提供的基于机器学习模型的预测方法的一个可选的流程示意图,将结合图5示出的步骤进行说明。
在步骤501中,参与机器学习模型训练的第一参与方将所述第一参与方的私有预测数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有预测数据包括所述第一参与方持有的机器学习模型的私有权重参数。
这里,私有预测数据除了第一参与方的私有权重参数外,通常还包括预测样本,预测样本可以是新的样本,也可以上文的训练样本,命名不同仅是为了便于区分。将第一参与方的预测样本中的属性参数,与转置处理后的第一参与方的私有权重参数进行点积处理,得到第一参与方的本地信息。
在步骤502中,所述第一参与方结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有预测数据进行隐私保护处理,得到共享中间信息。
这里,第一参与方结合第一参与方和第二参与方的私有预测数据进行隐私保护处理,得到共享中间信息,隐私保护处理的过程与步骤102类似,在此不再赘述。
在步骤503中,所述第一参与方根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签。
这里,第一参与方根据共享中间信息和第一参与方的本地信息,直接确定机器学习模型的预测标签。当然,第一参与方也可将第一参与方的本地信息发送至第二参与方,以使第二参与方根据共享中间信息和第一参与方的本地信息,以同样的方式确定预测标签。
在步骤504中,所述第一参与方根据所述预测标签进行反馈处理。
这里,可针对不同的实际应用场景,根据得到的预测标签进行不同的反馈处理。
举例来说,在金融场景中,用户的属性种类包括贷款事由、婚姻状况、个人资产状况、工作种类及贷款金额,银行方A下辖的第一参与方持有某用户在银行方A的贷款记录,银行方B下辖的第二参与方持有该用户在银行方B的贷款记录,贷款记录包括上文的贷款事由等属性种类对应的归一化数值,在通常情况下,第一参与方和第二参与方的贷款记录均为隐私数据,无法互通,除此之外,第一参与方或第二参与方持有的贷款记录还包括该用户的还款结果,还款结果对应上文的样本标签,指示用户是否按时还款。通过本发明实施例,银行方A可对第一参与方发出指令,银行方B可对第二参与方发出指令,使第一参与方和第二参与方的私有训练数据进行融合处理和隐私保护处理,在不直接涉及贷款记录的情况下,进行机器学习模型的私有权重参数的更新,在更新过程中保证各参与方的贷款记录不被泄露。在第一参与方与第二参与方均完成私有权重参数的更新后,银行方A或银行方B可根据新用户的贷款记录,通过下辖的参与方向另一参与方发起预测请求,从而对第一参与方和第二参与方的数据进行融合处理和隐私保护处理,得到该新用户的预测标签,即预测还款结果。预测还款结果即为该新用户是否会按时还款的概率,发起预测请求的银行方可根据预测还款结果,判断是否进行贷款,例如通过设定概率阈值的方式,确定进行贷款或拒绝贷款。值得说明的是,参与方持有的贷款记录可以存在缺失值,例如银行方A未拥有用户的工作种类,则可以将贷款记录中工作种类对应的数值设置为0,当然,根据实际场景的不同,也可应用其他的缺失值设定方式。
又例如,在商品推荐场景中,用户的属性种类包括用户年龄、用户性别、用户终端安装应用程序的种类、商品类目及商品热度,电商平台A下辖的第一参与方持有在电商平台A浏览过的某用户的用户记录,用户记录包括上文的用户年龄等属性种类对应的归一化数值,电商平台B下辖的第二参与方持有该用户在电商平台B的用户记录,除此之外,第一参与方或第二参与方持有的用户记录还包括该用户的商品购买结果,商品购买结果对应样本标签,指示用户是否对对应的商品进行了付款。通过本发明实施例,电商平台A可通过向第一参与方发出指令,电商平台B可通过向第二参与方发出指令,对第一参与方和第二参与方的私有训练数据进行融合处理和隐私保护处理,在不直接涉及用户记录的情况下,进行机器学习模型的私有权重参数的更新,在更新过程中保证各参与方的用户记录不被泄露。在第一参与方和第二参与方均完成私有权重参数的更新后,电商平台A或电商平台B可根据不同的商品,在下辖的参与方构建新用户的多个用户记录,并向另一参与方发起预测请求,从而对第一参与方和第二参与方的数据进行融合处理和隐私保护处理,得到多个用户记录的预测标签,即预测购买结果。预测购买结果即为该新用户是否会购买对应商品的概率,发起预测请求的电商平台可将数值最高的预测购买结果对应的商品,推荐给该新用户,从而提升推荐的准确性。
通过发明实施例对于图5的上述示例性实施可知,本发明实施例通过隐私保护处理的方式,由第一参与方和第二参与方协同得到预测标签,并且在预测过程中能够保证参与方的私有预测训练不被泄露,提升了数据的安全性和保密性。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
图6是本发明实施例提供的数据分区形式的一个示意图,图6示出了横向分区、纵向分区和任意分区三种分区形式,在横向分区中,每个样本都完全属于其中一个参与方,且每个样本对应所有属性种类,不存在缺少所有值的情况;在纵向分区中,不同参与方拥有相同样本的专有属性种类集,即每个样本的属性种类被互补地分割给不同参与方;在任意分区中,每个样本被划分为分布在不同参与方的不相交子集,样本的赋值规则不定,其中,如果一个样本的某一属性种类由其中一个参与方拥有,那么其他参与方就不会知道该属性种类对应的属性参数。
本发明实施例可适用于图6示出的三种分区形式,为了便于说明模型训练的过程,提供了如图7所示的基于人工智能的机器学习模型训练方法的流程示意图,在图7中,默认第一参与方和第二参与方均知晓所有的属性种类。在训练过程中,每次只针对一个整体训练样本进行梯度下降,但可以通过合并多次结果实现批量梯度下降。在开始训练时,根据设定的归一化条件,对第一参与方和第二参与方持有的训练样本进行归一化处理,并且,第一参与方随机初始化私有权重参数,将私有权重参数和第一参与方的训练样本组建为上文的私有训练数据,第二参与方同样组建对应的私有训练数据,其中,训练样本可为两种形式,第一种形式是仅包括属性参数,第二种形式是包括属性参数和样本标签。
例如,第一参与方的第i个训练样本的属性参数可表示为其中,d为属性种类的数量,具体为大于0的整数,为第i个训练样本中,与第1个属性种类对应的属性参数。第二参与方的第i个训练样本的属性参数可表示为其中,第一参与方的第i个训练样本和第二参与方的第i个训练样本对应同一对象,即第i个对象。将第一参与方的第i个训练样本和第二参与方的第i个训练样本进行合并,则可得到第i个整体训练样本(xi,yi),当然,由于第一参与方和第二参与方的私有训练数据为隐私数据,故在实际处理的过程中并不会进行这样的合并操作,而是用共享标量积处理的方式来得到整体训练样本的运算结果。
若第i个对象的第j个属性种类的属性参数位于第一参与方,则第二参与方缺失了第j个属性种类的属性参数,即若第i个对象的与第j个属性种类的属性参数位于第二参与方,则其中,i和j均为大于0的整数。通过如此设定,可以得到为了便于说明,设定第i个对象的样本标签位于第一参与方的第i个训练样本中。
对于机器学习模型为逻辑回归模型的情况,在原始的逻辑回归问题中,机器学习模型的损失函数可表示为:
其中,L(w)为损失函数,w为权重参数,wT为权重参数的转置,g(w)为正则化项,可根据实际应用场景设定具体形式,如设定为L2范数,λ为超参数,同样可根据实际应用场景进行设定,N为训练样本的总数。
在本发明实施例中,由于整体训练样本(xi,yi)并不能直接得到,故将计算梯度的步骤分为两部分。在第一部分,确定机器学习模型的权重参数的转置wT与第i个整体训练样本的属性参数之间的点积结果:
其中,即为上文的第一参与方的本地信息,可在第一参与方本地进行计算得到,即为上文的第二参与方的本地信息。和为第一参与方的私有权重参数与第二参与方的属性参数之间的共享参数,和为第一参与方的属性参数与第二参与方的私有权重参数之间的共享参数,即
为了便于理解,以步骤形式说明确定第一参与方的私有权重参数与第二参与方的属性参数之间的共享参数的过程:
1)第一参与方生成密钥对(sk,pk),其中,sk为私钥,pk为公钥。第一参与方将pk发送至第二参与方。
2)第一参与方将j从1至d进行遍历,对于每一个j,随机生成第一字符串rj,并执行得到第一密文cj,其中,Enc为加密处理的符号,为第一参与方的私有权重参数中与第j个属性种类对应的数值。第一参与方将得到的d个第一密文发送至第二参与方。
计算其他共享参数的过程与上述过程类似。
在第二部分,根据存在于第一参与方的样本标签,确定各参与方对应的梯度:
其中,Δw(A)为机器学习模型对应第一参与方的梯度,为上文的第一梯度项,为上文的第二梯度项,为上文的第三梯度项,为上文的第四梯度项。Δw(B)为机器学习模型对应第二参与方的梯度。ai即为上文的调整参数,当样本标签yi存在1和-1两种取值情况时,可设定当yi=1时,ai=1;当yi=-1时,ai=0。
本发明实施例提供了如图8所示的更新方向示意图,根据Δw(A)对第一参与方持有的私有权重系数进行更新,根据Δw(B)对第二参与方持有的私有权重系数进行更新,从而可保证整体的权重参数朝最优结果移动。当满足设定的迭代条件时,停止更新,确定机器学习模型训练完成,迭代条件如设定的迭代次数或设定的准确率。以表示更新后的第一参与方的私有权重参数,以表示更新后的第二参与方的私有权重参数,则机器学习模型的整体权重参数为
本发明实施例提供了如图9所示的基于机器学习模型的预测方法的流程示意图,在图9示出的预测阶段中,两个参与方共同合作得到预测标签。例如,若第一参与方欲确定第q个对象(整体属性参数xq)的预测标签,则第一参与方首先向第二参与方发起预测请求,第二参与方根据预测请求,确定第二参与方的本地信息同时,第一参与方确定第一参与方的本地信息然后,通过共享标量积处理,得到和通过 及第一参与方便可确定第q个对象的预测标签并根据实际应用场景进行对应的反馈处理。
下面继续说明本发明实施例提供的基于人工智能的机器学习模型训练装置2430实施为软件模块的示例性结构,在一些实施例中,如图3A所示,存储在存储器240的基于人工智能的机器学习模型训练装置2430中的软件模块可以包括:训练融合模块24301,用于将参与机器学习模型训练的第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述第一参与方持有的机器学习模型的私有权重参数;训练保护模块24302,用于结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有训练数据进行隐私保护处理,得到共享中间信息;更新模块24303,用于根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,并沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。
在一些实施例中,训练保护模块24302还用于:获取所述第二参与方的本地信息,其中,所述第二参与方的本地信息是将所述第二参与方的私有训练数据进行融合处理得到;将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第一点积结果;将所述第一参与方的属性参数与所述第二参与方的私有权重参数进行共享标量积处理,得到第二点积结果;将所述第二参与方的本地信息、所述第一点积结果及所述第二点积结果确定为共享中间信息;其中,所述第一参与方及所述第二参与方的私有训练数据均包括属性参数。
在一些实施例中,训练保护模块24302还用于:对所述第一参与方的私有权重参数进行加密处理,得到第一密文;将所述第一密文发送至所述区块链网络,以使所述区块链网络的节点根据所述第一密文、所述第二参与方的属性参数及生成的对应所述第二参与方的共享参数,确定第二密文并存储所述第二密文;向所述区块链网络发送查询请求,以获取所述区块链网络中的所述第二密文和所述第二参与方的共享参数;对所述第二密文进行解密处理,得到对应所述第一参与方的共享参数;将所述第一参与方的共享参数与所述第二参与方的共享参数进行求和处理,得到第一点积结果。
在一些实施例中,更新模块24303还用于:根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签;将所述第一参与方的样本标签与所述第二参与方的属性参数进行共享标量积处理,得到所述第一参与方的共享参数;根据所述预测标签、所述第一参与方的共享参数及所述第一参与方的私有训练数据,确定所述机器学习模型对应所述第一参与方的梯度;其中,所述第一参与方的私有训练数据包括属性参数和样本标签;所述第二参与方的私有训练数据包括属性参数。
在一些实施例中,更新模块24303还用于:根据所述预测标签和所述第一参与方的属性参数,确定第一梯度项;根据所述第一参与方的私有权重参数和所述第一参与方包括的属性参数的数量,确定第二梯度项;将所述第一参与方的共享参数确定为第三梯度项;根据所述第一参与方的属性参数和样本标签,确定第四梯度项;将所述第一梯度项、所述第二梯度项、所述第三梯度项和所述第四梯度项进行累积处理,得到所述机器学习模型对应所述第一参与方的梯度。
在一些实施例中,基于人工智能的机器学习模型训练装置2430还包括:发送模块,用于将所述第一参与方的本地信息发送至所述第二参与方,以使所述第二参与方根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第二参与方的梯度,并沿所述梯度的下降方向更新对应所述第二参与方的私有权重参数。
在一些实施例中,训练融合模块24301还用于:对所述第一参与方的私有权重参数进行转置处理;将所述第一参与方的属性参数与转置处理后的所述私有权重参数进行点积处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述属性参数。
在一些实施例中,基于人工智能的机器学习模型训练装置2430还包括:范围确定模块,用于确定所述第一参与方包括的属性参数对应的属性种类,并确定所述属性种类的参数范围;校验模块,用于将不符合所述参数范围的属性参数发送至人工校验方;归一化模块,用于对所述人工校验方校验后的属性参数及符合所述参数范围的属性参数进行归一化处理;其中,所述第一参与方的私有训练数据包括所述属性参数。
在一些实施例中,基于人工智能的机器学习模型训练装置2430还包括:密钥生成模块,用于生成对应所述第一参与方的密钥对,并将所述密钥对中的私钥发送至区块链网络中的节点;其中,所述密钥对包括所述私钥和对应的公钥;加密模块,用于根据所述公钥对更新后的所述第一参与方的私有训练数据进行加密处理,得到私有密文;上链模块,用于将所述私有密文存储至所述区块链网络,以使所述区块链网络的节点响应于所述第一参与方或所述第二参与方的预测请求,根据所述私钥和所述私有密文进行预测处理得到预测标签,并将所述预测标签发送至所述预测请求对应的参与方。
在一些实施例中,基于人工智能的机器学习模型训练装置2430还包括:公共样本上链模块,用于将所述第一参与方的公共训练样本发送至区块链网络,以使所述区块链网络的节点根据所有参与方的公共训练样本,对所述机器学习模型的权重参数进行更新得到公共权重参数,并将所述公共权重参数存储至所述区块链网络;参数请求模块,用于向所述区块链网络发送权重参数请求,以使所述区块链网络的节点在确定所述第一参与方提供的公共训练样本满足数量条件时,将所述区块链网络中的所述公共权重参数发送至所述第一参与方;私有参数确定模块,用于将所述公共权重参数确定为所述第一参与方的私有权重参数;其中,所述公共训练样本包括属性参数,或包括属性参数及样本标签。
下面继续说明本发明实施例提供的基于机器学习模型的预测装置2431实施为软件模块的示例性结构,在一些实施例中,如图3B所示,存储在存储器240的基于机器学习模型的预测装置2431中的软件模块可以包括:预测融合模块24311,用于将参与机器学习模型训练的第一参与方的私有预测数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有预测数据包括所述第一参与方持有的机器学习模型的私有权重参数;预测保护模块24312,用于结合所述第一参与方以及参与所述机器学习模型训练的第二参与方的私有预测数据进行隐私保护处理,得到共享中间信息;标签预测模块24313,用于根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签;反馈模块24314,用于根据所述预测标签进行反馈处理。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图4A、4B、4C或4D示出的基于人工智能的机器学习模型训练方法,或者如图5示出的基于机器学习模型的预测方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本发明实施例通过共享标量积处理的方式,有效提升了模型训练及模型预测过程中各参与方的数据安全性,并且,本发明实施例能够保证各参与方持有的并不是机器学习模型的全部权重参数,提升了机器学习模型的安全性。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (14)
1.一种基于人工智能的机器学习模型训练方法,其特征在于,
包括:
将参与机器学习模型训练的第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述第一参与方持有的机器学习模型的私有权重参数;
获取第二参与方的本地信息,其中,所述第二参与方的本地信息是将所述第二参与方的私有训练数据进行融合处理得到;
将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第一点积结果;
将所述第一参与方的属性参数与所述第二参与方的私有权重参数进行共享标量积处理,得到第二点积结果;
将所述第二参与方的本地信息、所述第一点积结果及所述第二点积结果确定为共享中间信息,其中,所述第一参与方及所述第二参与方的私有训练数据均包括属性参数;
根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,并
沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。
2.根据权利要求1所述的机器学习模型训练方法,其特征在于,所述将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第一点积结果,包括:
对所述第一参与方的私有权重参数进行加密处理,得到第一密文;
将所述第一密文发送至区块链网络,以使
所述区块链网络的节点根据所述第一密文、所述第二参与方的属性参数及生成的对应所述第二参与方的共享参数,确定第二密文并存储所述第二密文;
向所述区块链网络发送查询请求,以获取所述区块链网络中的所述第二密文和所述第二参与方的共享参数;
对所述第二密文进行解密处理,得到对应所述第一参与方的共享参数;
将所述第一参与方的共享参数与所述第二参与方的共享参数进行求和处理,得到第一点积结果。
3.根据权利要求1所述的机器学习模型训练方法,其特征在于,所述根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,包括:
根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签;
将所述第一参与方的样本标签与所述第二参与方的属性参数进行共享标量积处理,得到所述第一参与方的共享参数;
根据所述预测标签、所述第一参与方的共享参数及所述第一参与方的私有训练数据,确定所述机器学习模型对应所述第一参与方的梯度;
其中,所述第一参与方的私有训练数据包括属性参数和样本标签;所述第二参与方的私有训练数据包括属性参数。
4.根据权利要求3所述的机器学习模型训练方法,其特征在于,所述根据所述预测标签、所述第一参与方的共享参数及所述第一参与方的私有训练数据,确定所述机器学习模型对应所述第一参与方的梯度,包括:
根据所述预测标签和所述第一参与方的属性参数,确定第一梯度项;
根据所述第一参与方的私有权重参数和所述第一参与方包括的属性参数的数量,确定第二梯度项;
将所述第一参与方的共享参数确定为第三梯度项;
根据所述第一参与方的属性参数和样本标签,确定第四梯度项;
将所述第一梯度项、所述第二梯度项、所述第三梯度项和所述第四梯度项进行累积处理,得到所述机器学习模型对应所述第一参与方的梯度。
5.根据权利要求1所述的机器学习模型训练方法,其特征在于,还包括:
将所述第一参与方的本地信息发送至所述第二参与方,以使
所述第二参与方根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第二参与方的梯度,并
沿所述梯度的下降方向更新对应所述第二参与方的私有权重参数。
6.根据权利要求1所述的机器学习模型训练方法,其特征在于,所述将参与机器学习模型训练的第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息,包括:
对所述第一参与方的私有权重参数进行转置处理;
将所述第一参与方的属性参数与转置处理后的所述私有权重参数进行点积处理,得到所述第一参与方的本地信息;
其中,所述第一参与方的私有训练数据包括所述属性参数。
7.根据权利要求1所述的机器学习模型训练方法,其特征在于,还包括:
确定所述第一参与方包括的属性参数对应的属性种类,并确定所述属性种类的参数范围;
将不符合所述参数范围的属性参数发送至人工校验方;
对所述人工校验方校验后的属性参数及符合所述参数范围的属性参数进行归一化处理;
其中,所述第一参与方的私有训练数据包括所述属性参数。
8.根据权利要求1至7任一项所述的机器学习模型训练方法,其特征在于,还包括:
生成对应所述第一参与方的密钥对,并将所述密钥对中的私钥发送至区块链网络中的节点;其中,所述密钥对包括所述私钥和对应的公钥;
根据所述公钥对更新后的所述第一参与方的私有训练数据进行加密处理,得到私有密文;
将所述私有密文存储至所述区块链网络,以使
所述区块链网络的节点响应于所述第一参与方或所述第二参与方的预测请求,根据所述私钥和所述私有密文进行预测处理得到预测标签,并将所述预测标签发送至所述预测请求对应的参与方。
9.根据权利要求1至7任一项所述的机器学习模型训练方法,其特征在于,还包括:
将所述第一参与方的公共训练样本发送至区块链网络,以使
所述区块链网络的节点根据所有参与方的公共训练样本,对所述机器学习模型的权重参数进行更新得到公共权重参数,并将所述公共权重参数存储至所述区块链网络;
向所述区块链网络发送权重参数请求,以使
所述区块链网络的节点在确定所述第一参与方提供的公共训练样本满足数量条件时,将所述区块链网络中的所述公共权重参数发送至所述第一参与方;
将所述公共权重参数确定为所述第一参与方的私有权重参数;
其中,所述公共训练样本包括属性参数,或包括属性参数及样本标签。
10.一种机器学习模型的预测方法,其特征在于,所述机器学习模型是基于权利要求1至9任一项所述的机器学习模型训练方法训练得到的,所述预测方法包括:
将参与所述机器学习模型训练的第一参与方的私有预测数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有预测数据包括所述第一参与方持有的机器学习模型的私有权重参数;
获取第二参与方的本地信息,其中,所述第二参与方的本地信息是将所述第二参与方的私有训练数据进行融合处理得到;
将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第三点积结果;
将所述第一参与方的属性参数与所述第二参与方的私有权重参数进行共享标量积处理,得到第四点积结果;
将所述第二参与方的本地信息、所述第三点积结果及所述第四点积结果确定为共享中间信息,其中,所述第一参与方及所述第二参与方的私有训练数据均包括属性参数;
根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签;
根据所述预测标签进行反馈处理。
11.一种基于人工智能的机器学习模型训练装置,其特征在于,所述机器学习模型训练装置包括:
训练融合模块,用于将参与机器学习模型训练的第一参与方的私有训练数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有训练数据包括所述第一参与方持有的机器学习模型的私有权重参数;
训练保护模块,用于获取第二参与方的本地信息,其中,所述第二参与方的本地信息是将所述第二参与方的私有训练数据进行融合处理得到;将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第一点积结果;将所述第一参与方的属性参数与所述第二参与方的私有权重参数进行共享标量积处理,得到第二点积结果;将所述第二参与方的本地信息、所述第一点积结果及所述第二点积结果确定为共享中间信息,其中,所述第一参与方及所述第二参与方的私有训练数据均包括属性参数;
更新模块,用于根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型对应所述第一参与方的梯度,并
沿所述梯度的下降方向更新对应所述第一参与方的私有权重参数。
12.一种基于机器学习模型的预测装置,其特征在于,包括:
预测融合模块,用于将参与机器学习模型训练的第一参与方的私有预测数据进行融合处理,得到所述第一参与方的本地信息;其中,所述第一参与方的私有预测数据包括所述第一参与方持有的机器学习模型的私有权重参数;
预测保护模块,用于获取第二参与方的本地信息,其中,所述第二参与方的本地信息是将所述第二参与方的私有训练数据进行融合处理得到;将所述第一参与方的私有权重参数与所述第二参与方的属性参数进行共享标量积处理,得到第三点积结果;将所述第一参与方的属性参数与所述第二参与方的私有权重参数进行共享标量积处理,得到第四点积结果;将所述第二参与方的本地信息、所述第三点积结果及所述第四点积结果确定为共享中间信息,其中,所述第一参与方及所述第二参与方的私有训练数据均包括属性参数;
标签预测模块,用于根据所述共享中间信息和所述第一参与方的本地信息,确定所述机器学习模型的预测标签;
反馈模块,用于根据所述预测标签进行反馈处理。
13.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至9任一项所述的基于人工智能的机器学习模型训练方法,或权利要求10所述的基于机器学习模型的预测方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至9任一项所述的基于人工智能的机器学习模型训练方法,或权利要求10所述的基于机器学习模型的预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205122.3A CN110990871B (zh) | 2019-11-29 | 2019-11-29 | 基于人工智能的机器学习模型训练方法、预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205122.3A CN110990871B (zh) | 2019-11-29 | 2019-11-29 | 基于人工智能的机器学习模型训练方法、预测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990871A CN110990871A (zh) | 2020-04-10 |
CN110990871B true CN110990871B (zh) | 2023-04-07 |
Family
ID=70088680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911205122.3A Active CN110990871B (zh) | 2019-11-29 | 2019-11-29 | 基于人工智能的机器学习模型训练方法、预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990871B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523138B (zh) * | 2020-04-20 | 2022-04-29 | 支付宝(杭州)信息技术有限公司 | 一种隐私数据的保护方法、装置、系统和电子设备 |
CN112488712A (zh) * | 2020-06-24 | 2021-03-12 | 杨刘琴 | 基于区块链大数据的安全识别方法及安全识别系统 |
CN111858754A (zh) * | 2020-06-30 | 2020-10-30 | 全链通有限公司 | 基于区块链的人工智能训练方法、区块链节点及介质 |
CN111651792B (zh) * | 2020-07-17 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | 多方协同学习中的风险检测、模型增强方法及装置 |
CN111737751B (zh) * | 2020-07-17 | 2020-11-17 | 支付宝(杭州)信息技术有限公司 | 实现隐私保护的分布式数据处理的方法及装置 |
CN112257105B (zh) * | 2020-10-19 | 2022-01-11 | 中山大学 | 一种基于参数替换算法的联邦学习方法及系统 |
CN112464287B (zh) * | 2020-12-12 | 2022-07-05 | 同济大学 | 基于秘密共享与联邦学习的多方XGBoost安全预测模型训练方法 |
CN112612641B (zh) * | 2020-12-16 | 2022-12-02 | 苏州浪潮智能科技有限公司 | 一种模型训练的保护方法、装置、电子设备及存储介质 |
CN112632607B (zh) * | 2020-12-22 | 2024-04-26 | 中国建设银行股份有限公司 | 一种数据处理方法、装置及设备 |
CN112542169B (zh) * | 2020-12-25 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种语音识别处理方法与装置 |
CN112632620B (zh) * | 2020-12-30 | 2022-08-26 | 支付宝(杭州)信息技术有限公司 | 一种增强隐私保护的联邦学习方法和系统 |
CN112766500B (zh) * | 2021-02-07 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN113095505B (zh) * | 2021-03-25 | 2022-12-06 | 支付宝(杭州)信息技术有限公司 | 多方协同更新模型的方法、装置及系统 |
CN113240127A (zh) * | 2021-04-07 | 2021-08-10 | 睿蜂群(北京)科技有限公司 | 基于联邦学习的训练方法、装置、电子设备及存储介质 |
CN113240128A (zh) * | 2021-04-07 | 2021-08-10 | 睿蜂群(北京)科技有限公司 | 数据不平衡的协同训练方法、装置、电子设备及存储介质 |
CN113032835B (zh) * | 2021-04-21 | 2024-02-23 | 支付宝(杭州)信息技术有限公司 | 一种隐私保护的模型训练方法、系统及装置 |
CN113420017B (zh) * | 2021-06-21 | 2023-10-13 | 上海特高信息技术有限公司 | 一种机器人导航算法训练数据集获取的区块链应用方法 |
CN113362168A (zh) * | 2021-07-22 | 2021-09-07 | 吉林亿联银行股份有限公司 | 一种风险预测方法及装置、存储介质及电子设备 |
CN113722738B (zh) * | 2021-09-02 | 2023-08-08 | 脸萌有限公司 | 数据保护方法、装置、介质及电子设备 |
CN115270001B (zh) * | 2022-09-23 | 2022-12-23 | 宁波大学 | 基于云端协同学习的隐私保护推荐方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2230794A2 (en) * | 2009-03-16 | 2010-09-22 | Technische Universität München | Towards Electrical, Integrated Implementations of SIMPL Systems |
CN105103487A (zh) * | 2013-08-09 | 2015-11-25 | 汤姆逊许可公司 | 用于基于矩阵分解的到评级贡献用户的隐私保护推荐的方法和系统 |
CN108712260A (zh) * | 2018-05-09 | 2018-10-26 | 曲阜师范大学 | 云环境下保护隐私的多方深度学习计算代理方法 |
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873813B2 (en) * | 2012-09-17 | 2014-10-28 | Z Advanced Computing, Inc. | Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities |
US9461876B2 (en) * | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
WO2015048275A2 (en) * | 2013-09-26 | 2015-04-02 | Polis Technology Inc. | System and methods for real-time formation of groups and decentralized decision making |
CN109426861A (zh) * | 2017-08-16 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置及电子设备 |
US20190317825A1 (en) * | 2018-04-16 | 2019-10-17 | Kazuhm, Inc. | System for managing deployment of distributed computing resources |
CN110084063B (zh) * | 2019-04-23 | 2022-07-15 | 中国科学技术大学 | 一种保护隐私数据的梯度下降计算方法 |
CN110399742B (zh) * | 2019-07-29 | 2020-12-18 | 深圳前海微众银行股份有限公司 | 一种联邦迁移学习模型的训练、预测方法及装置 |
WO2021223873A1 (en) * | 2020-05-08 | 2021-11-11 | Ecole Polytechnique Federale De Lausanne (Epfl) | System and method for privacy-preserving distributed training of machine learning models on distributed datasets |
-
2019
- 2019-11-29 CN CN201911205122.3A patent/CN110990871B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2230794A2 (en) * | 2009-03-16 | 2010-09-22 | Technische Universität München | Towards Electrical, Integrated Implementations of SIMPL Systems |
CN105103487A (zh) * | 2013-08-09 | 2015-11-25 | 汤姆逊许可公司 | 用于基于矩阵分解的到评级贡献用户的隐私保护推荐的方法和系统 |
CN108712260A (zh) * | 2018-05-09 | 2018-10-26 | 曲阜师范大学 | 云环境下保护隐私的多方深度学习计算代理方法 |
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110990871A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990871B (zh) | 基于人工智能的机器学习模型训练方法、预测方法及装置 | |
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
CN110245510B (zh) | 用于预测信息的方法和装置 | |
US10771240B2 (en) | Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport | |
CN111989893B (zh) | 用于生成和链接零知识证明的方法、系统和计算机可读装置 | |
US11257073B2 (en) | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment | |
AU2019277292B2 (en) | System and method for secure electronic transaction platform | |
US20220269942A1 (en) | Privacy Enhancing Deep Learning Cloud Service Using a Trusted Execution Environment | |
US20230023520A1 (en) | Training Method, Apparatus, and Device for Federated Neural Network Model, Computer Program Product, and Computer-Readable Storage Medium | |
CN110189192B (zh) | 一种信息推荐模型的生成方法及装置 | |
US20220230071A1 (en) | Method and device for constructing decision tree | |
CN111784001B (zh) | 一种模型训练方法、设备及计算机可读存储介质 | |
US20200293684A1 (en) | Data security hub | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
CN109478263A (zh) | 用于体系结构评估和策略执行的系统和设备 | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
Singh et al. | An adaptive mutual trust based access control model for electronic healthcare system | |
Barati et al. | Privacy‐aware cloud ecosystems: Architecture and performance | |
US10970180B2 (en) | Methods and apparatus for verifying processing results and/or taking corrective actions in response to a detected invalid result | |
Guo et al. | Pedagogical data federation toward education 4.0 | |
US11475155B1 (en) | Utilizing a protected server environment to protect data used to train a machine learning system | |
CN117094773A (zh) | 基于区块链隐私计算的在线迁移学习方法及系统 | |
Yu et al. | Deep learning personalized recommendation-based construction method of hybrid blockchain model | |
Wang et al. | Blockchain-Enabled Lightweight Fine-Grained Searchable Knowledge Sharing for Intelligent IoT | |
Peng et al. | Spatiotemporal prediction based intelligent task allocation for secure spatial crowdsourcing in industrial IoT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021145 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |