CN111612168A - 一种机器学习任务的管理方法以及相关装置 - Google Patents
一种机器学习任务的管理方法以及相关装置 Download PDFInfo
- Publication number
- CN111612168A CN111612168A CN202010614845.5A CN202010614845A CN111612168A CN 111612168 A CN111612168 A CN 111612168A CN 202010614845 A CN202010614845 A CN 202010614845A CN 111612168 A CN111612168 A CN 111612168A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- learning model
- training
- task
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种机器学习任务的管理方法以及相关装置,可以应用于联邦学习的过程中。通过获取协调设备发送的机器学习任务;然后基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对第二机器学习模型进行检验;在对第二机器学习模型的检验通过的情况下,将第二机器学习模型发送给协调设备。由于在可信执行环境中对训练结果进行了校验,保证参与设备工作量证明的真实性,排除了未正常执行机器学习任务的参与设备,进而提高了机器学习任务中训练结果的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种机器学习任务的管理方法以及相关装置。
背景技术
当今社会机器学习越来越多地融入人们的生活,比如商品推荐、刷脸支付、游戏AI。机器学习是从数据中获得知识,数据是否充足,很大程度上影响着机器学习的效果。与人们生活相关的数据,很多时候都涉及到用户隐私,比如聊天记录、疾病检查结果、照片。人们在享受机器学习带来的便利的同时,也期望自己的数据得到有效的保护。
一般,机器学习算法通常是将数据集中到服务器上进行训练,这在一定程度上使得人们的隐私受到威胁。近期出现的联邦学习,在数据拥有者处进行训练,只上传机器学习模型参数到服务器上做聚合,数据的隐私性得到了更好的保护。联邦学习使用数据拥有者的数据和计算资源进行训练,对数据拥有者来说是一种付出。联邦学习的实际应用中,为了鼓励数据拥有者的参与,有时会设置一定的奖励机制,即进行奖励资源的分配。
然而,由于有些参与设备可能通过伪造工作量证明进行联邦学习的训练过程,从而影响类似于联邦学习的机器学习模型训练结果的准确性。
发明内容
有鉴于此,本申请提供一种机器学习任务的管理方法,可以有效避免伪造工作量证明产生的影响,提高多参与设备的机器学习任务的训练过程的准确性。
本申请第一方面提供一种机器学习任务的管理方法,可以应用于终端设备中包含机器学习任务的管理功能的系统或程序中,具体包括:获取协调设备发送的机器学习任务,所述机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;
基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型;
在可信执行环境中对所述第二机器学习模型进行检验;
在对所述第二机器学习模型的检验通过的情况下,将所述第二机器学习模型发送给所述协调设备。
可选的,在本申请一些可能的实现方式中,所述在可信执行环境中对所述第二机器学习模型进行检验,包括:
将所述第一机器学习模型、所述训练数据和所述第二机器学习模型传入所述可信执行环境;
基于所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型;
将所述第二机器学习模型和所述第三机器学习模型进行比对;
若所述第二机器学习模型和所述第三机器学习模型一致,则对所述第二机器学习模型的检验通过。
可选的,在本申请一些可能的实现方式中,所述在可信执行环境中对所述第二机器学习模型进行检验还包括:
根据预定规则判断是否在所述可信执行环境中对所述第二机器学习模型进行验证;
当判断在所述可信执行环境中不对所述第二机器学习模型进行验证时,确定对所述第二机器学习模型的检验通过。
可选的,在本申请一些可能的实现方式中,所述机器学习任务中包含第一机器学习模型签名以及公钥,所述基于所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型,包括:
将第一机器学习模型签名以及公钥传入所述可信执行环境;
基于所述公钥对所述第一机器学习模型签名进行解密,以得到认证信息;
若所述认证信息指示所述第一机器学习模型签名通过认证,则调用所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到所述第三机器学习模型。
可选的,在本申请一些可能的实现方式中,所述基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型之后,所述在可信执行环境中对所述第二机器学习模型进行检验,以得到检验信息之前,所述方法还包括:
获取所述机器学习任务中的检验时机信息;
根据所述检验时机信息确定目标时刻,并在所述可信执行环境中确定对应的检验接口;
根据所述检验接口调用所述训练数据和所述第一机器学习模型,以对所述第一机器学习模型进行训练得到第三机器学习模型。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
获取所述训练数据对应的样本数;
通过所述可信执行环境对应的所述检验接口获取所述第二机器学习模型的第二机器学习模型签名;
将所述样本数、所述第二机器学习模型签名或所述所述第二机器学习模型发送至所述协调设备,所述样本数用于指示所述参与设备的训练量,所述第二机器学习模型签名用于对所述第二机器学习模型进行认证。
可选的,在本申请一些可能的实现方式中,所述基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型,包括:
获取所述机器学习任务指示的训练参数,所述训练参数包括训练子集的尺寸、训练次数和输入信息;
根据所述训练子集的尺寸从对所述训练数据进行划分,以提取训练子集;
基于所述输入信息对所述训练子集中的数据进行调整;
根据调整后的所述训练子集对所述第一机器学习模型进行训练,并基于所述训练次数进行循环训练,以得到所述第二机器学习模型。
可选的,在本申请一些可能的实现方式中,所述根据所述训练子集的尺寸从对所述训练数据进行划分,以提取训练子集,包括:
确定所述训练数据中对应数据的路径信息;
根据所述训练子集的尺寸对所述路径信息进行划分,以得到子路径;
根据所述子路径确定所述训练子集。
可选的,在本申请一些可能的实现方式中,所述获取协调设备发送的机器学习任务,包括:
向所述协调设备发送参与请求,所述参与请求用于指示所述协调设备确定任务状态信息;
获取所述协调设备发送的任务状态信息;
基于所述任务状态信息获取所述协调设备发送的机器学习任务。
可选的,在本申请一些可能的实现方式中,所述协调设备为图像推荐服务器,所述机器学习任务用于指示对于用户标记的图像进行特征提取,所述第一机器学习模型、第二机器学习模型和第三机器学习模型为联邦学习模型;
或;
所述协调设备为医院服务器,所述机器学习任务用于指示医疗图像的特征提取,所述第一机器学习模型、第二机器学习模型和第三机器学习模型为联邦学习模型。
可选的,在本申请一些可能的实现方式中,所述参与设备和所述协调设备为区块链设备,所述区块链设备通过区块链进行关联。
本申请第二方面提供一种机器学习任务的管理的装置,包括:获取单元,用于获取协调设备发送的机器学习任务,所述机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;
训练单元,用于基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型;
检验单元,用于在可信执行环境中对所述第二机器学习模型进行检验;
管理单元,用于在对所述第二机器学习模型的检验通过的情况下,将所述第二机器学习模型发送给所述协调设备。
可选的,在本申请一些可能的实现方式中,所述检验单元,具体用于将所述第一机器学习模型、所述训练数据和所述第二机器学习模型传入所述可信执行环境;
所述检验单元,具体用于基于所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型;
所述检验单元,具体用于将所述第二机器学习模型和所述第三机器学习模型进行比对;
所述检验单元,具体用于若所述第二机器学习模型和所述第三机器学习模型一致,则对所述第二机器学习模型的检验通过。
可选的,在本申请一些可能的实现方式中,所述检验单元,具体用于根据预定规则判断是否在所述可信执行环境中对所述第二机器学习模型进行验证;
所述检验单元,具体用于当判断在所述可信执行环境中不对所述第二机器学习模型进行验证时,确定对所述第二机器学习模型的检验通过。
可选的,在本申请一些可能的实现方式中,所述机器学习任务中包含第一机器学习模型签名以及公钥,所述检验单元,具体用于将第一机器学习模型签名以及公钥传入所述可信执行环境;
所述检验单元,具体用于基于所述公钥对所述第一机器学习模型签名进行解密,以得到认证信息;
所述检验单元,具体用于若所述认证信息指示所述第一机器学习模型签名通过认证,则调用所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到所述第三机器学习模型。
可选的,在本申请一些可能的实现方式中,所述训练单元,具体用于获取所述机器学习任务中的检验时机信息;
所述训练单元,具体用于根据所述检验时机信息确定目标时刻,并在所述可信执行环境中确定对应的检验接口;
所述训练单元,具体用于根据所述检验接口调用所述训练数据和所述第一机器学习模型,以对所述第一机器学习模型进行训练得到第三机器学习模型。
可选的,在本申请一些可能的实现方式中,所述管理单元,具体用于获取所述训练数据对应的样本数;
所述管理单元,具体用于通过所述可信执行环境对应的所述检验接口获取所述第二机器学习模型的第二机器学习模型签名;
所述管理单元,具体用于将所述样本数、所述第二机器学习模型签名或所述所述第二机器学习模型发送至所述协调设备,所述样本数用于指示所述参与设备的训练量,所述第二机器学习模型签名用于对所述第二机器学习模型进行认证。
可选的,在本申请一些可能的实现方式中,所述训练单元,具体用于获取所述机器学习任务指示的训练参数,所述训练参数包括训练子集的尺寸、训练次数和输入信息;
所述训练单元,具体用于根据所述训练子集的尺寸从对所述训练数据进行划分,以提取训练子集;
所述训练单元,具体用于基于所述输入信息对所述训练子集中的数据进行调整;
所述训练单元,具体用于根据调整后的所述训练子集对所述第一机器学习模型进行训练,并基于所述训练次数进行循环训练,以得到所述第二机器学习模型。
可选的,在本申请一些可能的实现方式中,所述训练单元,具体用于确定所述训练数据中对应数据的路径信息;
所述训练单元,具体用于根据所述训练子集的尺寸对所述路径信息进行划分,以得到子路径;
所述训练单元,具体用于根据所述子路径确定所述训练子集。
可选的,在本申请一些可能的实现方式中,所述获取单元,具体用于向所述协调设备发送参与请求,所述参与请求用于指示所述协调设备确定任务状态信息;
所述获取单元,具体用于获取所述协调设备发送的任务状态信息;
所述获取单元,具体用于基于所述任务状态信息获取所述协调设备发送的机器学习任务。
本申请第三方面提供一种机器学习任务的管理方法,包括:将机器学习任务发送给N个参与设备,所述机器学习任务用于指示对第一机器学习模型进行训练;
接收M个所述参与设备发送的训练信息,所述训练信息包括第二机器学习模型,所述第二机器学习模型为所述参与设备对所述第一机器学习模型进行训练后的模型,所述参与设备基于训练数据在可信执行环境中对所述第二机器学习模型进行检验,M≤N,M、N为正整数;
聚合M个所述参与设备对应的第二机器学习模型,以确定训练结果。
可选的,在本申请一些可能的实现方式中,所述训练信息还包括样本数,所述聚合M个所述参与设备对应的第二机器学习模型,以对所述参与设备进行资源分配,包括:
基于所述样本数确定权重信息;
聚合M个所述参与设备对应的第二机器学习模型,以根据所述权重信息对所述参与设备进行资源分配。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
基于区块链保存N个所述参与设备对应的第二机器学习模型;
对所述第二机器学习模型进行聚类,以得到模型簇;
根据所述模型簇的差异信息对所述参与设备进行资源分配。
本申请第四方面提供一种机器学习任务的管理的装置,包括:发起单元,用于将机器学习任务发送给N个参与设备,所述机器学习任务用于指示对第一机器学习模型进行训练;
接收单元,用于接收M个所述参与设备发送的训练信息,所述训练信息包括第二机器学习模型,所述第二机器学习模型为所述参与设备对所述第一机器学习模型进行训练后的模型,所述参与设备基于训练数据在可信执行环境中对所述第二机器学习模型进行检验,M≤N,M、N为正整数;
管理单元,用于聚合M个所述参与设备对应的第二机器学习模型,以确定训练结果。
可选的,在本申请一些可能的实现方式中,所述训练信息还包括样本数,所述管理单元,具体用于基于所述样本数确定权重信息;
所述管理单元,具体用于聚合M个所述参与设备对应的第二机器学习模型,以根据所述权重信息对所述参与设备进行资源分配。
可选的,在本申请一些可能的实现方式中,所述管理单元,具体用于基于区块链保存N个所述参与设备对应的第二机器学习模型;
所述管理单元,具体用于对所述第二机器学习模型进行聚类,以得到模型簇;
所述管理单元,具体用于根据所述模型簇的差异信息对所述参与设备进行资源分配。
本申请第五方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面或第一方面任一项所述的机器学习任务的管理方法,或第三方面或第三方面任一项所述的机器学习任务的管理方法。
本申请第六方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一项所述的机器学习任务的管理方法,或第三方面或第三方面任一项所述的机器学习任务的管理方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
通过获取协调设备发送的机器学习任务,其中机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;然后基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对第二机器学习模型进行检验,以得到检验信息;进而根据检验信息确定参与设备的检验信息,检验信息用于指示参与设备对第一机器学习模型进行训练的真实性。由于在可信执行环境中对训练结果进行了校验,保证参与设备工作量证明的真实性,排除了未正常执行机器学习任务的参与设备,进而提高了机器学习任务中训练结果的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为机器学习任务的管理系统运行的网络架构图;
图2为本申请实施例提供的一种机器学习任务的管理的流程架构图;
图3为本申请实施例提供的一种机器学习任务的管理方法的流程图;
图4为本申请实施例提供的另一种机器学习任务的管理方法的流程图;
图5为本申请实施例提供的另一种机器学习任务的管理方法的流程图;
图6为本申请实施例提供的另一种机器学习任务的管理方法的流程图;
图7为本申请实施例提供的另一种机器学习任务的管理方法的流程图;
图8为本申请实施例提供的一种机器学习任务的管理装置的结构示意图;
图9为本申请实施例提供的另一种机器学习任务的管理装置的结构示意图;
图10为本申请实施例提供的一种终端设备的结构示意图;
图11为本申请实施例提供的一种服务器的结构示意图;
图12A为本申请实施例提供的一种数据共享系统示意图;
图12B为本申请实施例提供的数据共享系统中的区块组成示意图;
图12C为本申请实施例提供的区块链节点的数据传输响应示意图。
具体实施方式
本申请实施例提供了一种机器学习任务的管理方法以及相关装置,可以应用于终端设备中包含机器学习任务的管理功能的系统或程序中,通过获取协调设备发送的机器学习任务,其中机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;然后基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对第二机器学习模型进行检验;在对第二机器学习模型的检验通过的情况下,将第二机器学习模型发送给协调设备。由于在可信执行环境中对训练结果进行了校验,保证参与设备工作量证明的真实性,排除了未正常执行机器学习任务的参与设备,进而提高了机器学习任务中训练结果的准确性。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例中可能出现的一些名词进行解释。
联邦学习:联邦学习是为保护用户数据隐私而提出的多方参与的机器学习系统。各方在本地用私有数据做训练,数据不出本地,以一定的算法将各自训练的模型聚合成公共的模型,该模型效果好于各自独立训练的模型。
协调设备:即为机器学习任务架构中的服务器,用于发起机器学习任务并对各个参与设备的训练结果进行聚合,在一些场景中协调设备也可以为机器学习任务架构中发起机器学习任务的终端设备。
参与设备:即为机器学习任务架构中的终端设备,或客户端程序,用于对协调设备发起的机器学习任务进行基于本地训练数据的模型训练。
工作量证明(Proof-of-Work,PoW):一种对应服务与资源滥用、或是拒绝服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。本申请中可以是指代客户端确实做了所分配任务的证明。
epoches:定义机器学习算法将在整个训练数据集中训练处理的次数,即训练次数。
batch_size:是在更新内部机器学习模型参数前要处理的样本数量的一个超参数,即训练子集的尺寸。
应理解,本申请提供的机器学习任务的管理方法可以应用于终端设备中包含机器学习任务的管理功能的系统或程序中,例如联邦学习平台,具体的,机器学习任务的管理系统可以运行于如图1所示的网络架构中,如图1所示,是机器学习任务的管理系统运行的网络架构图,如图可知,机器学习任务的管理系统可以提供与多个信息源的机器学习任务的模型训练过程管理,终端(参与设备)通过网络建立与服务器(协调设备)的连接,进而接收服务器发送的机器学习任务,或查看服务器中机器学习任务的进度,然后在服务器中对不同终端的训练结果进行聚合;可以理解的是,图1中示出了多种终端设备,在实际场景中可以有更多或更少种类的终端设备参与到机器学习任务的管理的过程中,具体数量和种类因实际场景而定,此处不做限定,另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多模型训练交互的场景中,具体服务器数量因实际场景而定。
本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可以理解的是,上述机器学习任务的管理系统可以运行于个人移动终端,例如:作为图像推荐平台这样的应用,也可以运行于服务器,还可以作为运行于第三方设备以提供机器学习任务的管理,以得到信息源的机器学习任务的管理处理结果;具体的机器学习任务的管理系统可以是以一种程序的形式在上述设备中运行,也可以作为上述设备中的系统部件进行运行,还可以作为云端服务程序的一种,具体运作模式因实际场景而定,此处不做限定。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
当今社会机器学习越来越多地融入人们的生活,比如商品推荐、刷脸支付、游戏AI。机器学习是从数据中获得知识,数据是否充足,很大程度上影响着机器学习的效果。与人们生活相关的数据,很多时候都涉及到用户隐私,比如聊天记录、疾病检查结果、照片。人们在享受机器学习带来的便利的同时,也期望自己的数据得到有效的保护。
一般,机器学习算法通常是将数据集中到服务器上进行训练,这在一定程度上使得人们的隐私受到威胁。近期出现的联邦学习,在数据拥有者处进行训练,只上传机器学习模型参数到服务器上做聚合,数据的隐私性得到了更好的保护。联邦学习使用数据拥有者的数据和计算资源进行训练,对数据拥有者来说是一种付出。联邦学习的实际应用中,为了鼓励数据拥有者的参与,有时会设置一定的奖励机制,即进行奖励资源的分配。
然而,由于有些参与设备可能通过伪造工作量证明进行联邦学习的训练过程,从而影响类似于联邦学习的机器学习模型训练结果的准确性。
为了解决上述问题,本申请提出了一种机器学习任务的管理方法,该方法应用于图2所示的机器学习任务的管理的流程框架中,如图2所示,为本申请实施例提供的一种机器学习任务的管理的流程架构图,首先协调设备会发起机器学习任务,多个参与设备会接收该机器学习任务,并基于参与设备本地的训练数据对模型进行训练,在训练结束后会进行训练结果的校验过程,以得到用于指示工作量证明的检验信息,从而指示对协调设备反馈训练后模型的过程。
可以理解的是,本申请所提供的方法可以为一种程序的写入,以作为硬件系统中的一种处理逻辑,也可以作为一种机器学习任务的管理装置,采用集成或外接的方式实现上述处理逻辑。作为一种实现方式,该机器学习任务的管理装置通过获取协调设备发送的机器学习任务,其中机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;然后基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对第二机器学习模型进行检验;在对第二机器学习模型的检验通过的情况下,将第二机器学习模型发送给协调设备。由于在可信执行环境中对训练结果进行了校验,保证参与设备工作量证明的真实性,排除了未正常执行机器学习任务的参与设备,进而提高了机器学习任务中训练结果的准确性。
本申请实施例提供的方案涉及人工智能的机器学习、图像识别等技术,具体通过如下实施例进行说明:
结合上述流程架构,下面将对本申请中机器学习任务的管理方法进行介绍,请参阅图3,图3为本申请实施例提供的一种机器学习任务的管理方法的流程图,该管理方法可以是由参与设备执行的,本申请实施例至少包括以下步骤:
301、获取协调设备发送的机器学习任务。
本实施例中,机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练,参与设备与协调设备相关联,例如多个参与设备对协调设备发起的机器学习任务中的机器学习模型进行基于本地训练数据的训练。其中,参与设备可以是终端或其他具有模型训练功能的设备,具体的还可以是可以是终端中运行的客户端程序;而协调设备即是服务器或其他具有协调功能的设备,另外,对于训练过程中涉及的参与设备个数,可以是一个,也可以是多个;可以是即时加入的参与设备,也可以是长期合作的参与设备,此处不做限定。
可以是理解的是,机器学习任务可以是基于隐私保护学习过程设定的;具体的,隐私保护学习可以包括联邦学习或者隐私保护机器学习等,而联邦学习还可以进一步分为横向联邦学习和纵向联邦学习。
其中,隐私保护学习的本质是在保证数据隐私安全的前提下,实现共同建模,提升AI模型的效果。本实施例中,采用联邦学习为例进行说明,其他具有共同建模过程的机器学习过程也应包含在本申请提供的技术方案中,此处不做限定。
可选的,对于获取协调设备发送的机器学习任务的过程,可以是协调设备主动发送的,例如协调设备向存有历史训练记录中参与设备主动发送机器学习任务。
另外,机器学习任务也可以是参与设备请求的,具体的,参与设备可以向协调设备发送参与请求,参与请求用于指示协调设备确定任务状态信息,即协调设备是否发起了机器学习任务,或发起的机器学习任务是处于激活状态还是暂停状态;然后获取协调设备发送的任务状态信息;从而基于任务状态信息获取协调设备发送的机器学习任务。在参与设备主动请求的过程中,可以知晓机器学习任务的发起情况以及活动状态,并进行相应的选择,提高了机器学习过程的灵活性。
在一种可能的场景中,机器学习任务指示的机器学习模型可以是用于图像识别,例如机器学习任务指示的机器学习模型为MobileNet,该模型的输入为128*128的图像,alpha为0.25,89层,大小为805K,并配置有训练参数,比如训练总轮数T=10,每轮本地训练的epoch数epochs=5、batch_size=10等,具体的机器学习模型因实际场景而定。
302、基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型。
本实施例中,训练数据可以是参与设备本地存储的数据,也可以是参与设备即时从第三方设备调用的数据,具体的训练数据来源应实际场景而定,此处不做限定。
具体的,在对第一机器学习模型进行训练的过程中,会基于机器学习任务包含的相关参数进行训练;即首先获取机器学习任务指示的训练参数,其中训练参数包括训练子集的尺寸、训练次数和输入信息;然后根据训练子集的尺寸从对训练数据进行划分,以提取训练子集;进一步的基于输入信息对训练子集中的数据进行调整;从而根据调整后的训练子集对第一机器学习模型进行训练,并基于训练次数进行循环训练,以得到第二机器学习模型。
可选的,对于训练子集的划分过程可以是基于各个训练单元的路径信息进行的。具体的,首先确定训练数据中对应数据的路径信息;然后根据训练子集的尺寸对路径信息进行划分,以得到子路径;进而根据子路径确定训练子集。从而保证训练子集划分的准确性,且根据路径信息便于后续的样本检查。
在一种可能的场景中,训练参数包括训练子集的尺寸(batch_size)和训练次数(epochs),且batch_size=10,epochs=5,故上述训练过程可以是从图像路径集合(路径信息)中随机选取10张图像,读入图像,并将大小调整成机器学习模型输入所需大小(128*128)。进而取一批数据更新一次模型,取完所有数据为一个epoch,训练完5次epoch则本次训练完成。
可以理解的是,上述场景中对于图像(训练数据)的调整过程因不同的机器学习模型而设定,例如:对于MobileNet模型的输入图像需求为128*128,则在基于训练数据进行训练之前,将训练数据先调整至128*128大小,然后再进行训练,从而保证机器学习模型训练的准确性。
303、在可信执行环境中对第二机器学习模型进行检验。
本实施例中,在可信执行环境中对第二机器学习模型进行检验的过程即在可信执行环境中再次基于训练数据对第一机器学习模型进行训练,并将训练结果与第二机器学习模型进行比对,从而判断该参与设备是否执行了训练过程。
可以理解的是,可信执行环境(Trusted Execution Environment,TEE)是CPU内的一个安全区域。它运行在一个独立的环境中且与操作系统并行运行。CPU确保TEE中代码和数据的机密性和完整性都得到保护。通过同时使用硬件和软件来保护数据和代码,TEE比操作系统更加安全。在TEE中运行的受信任应用程序可以访问设备主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作系统中运行的用户安装应用程序的影响。故运行在TEE中的代码和数据,是保密且不可篡改的。
具体的,TEE在不同CPU上有不同的实现方案,例如在Intel的CPU上实现TEE的技术为软件保护扩展(Software Guard Extensions,SGX),为硬件级的隐私保护计算技术,使应用程序能够在信任的执行环境中执行代码和保护秘密,让开发者直接控制他们的应用程序安全;而在ARM芯片,也就是一般移动终端CPU上实现TEE的技术为TrustZone,且由于ARM由不同厂商定制,实际方案有很多,例如Kinibi、QSEE、TEE OS、Knox等,具体的可信执行环境下的隐私保护计算技术由实际场景而定,此处以SGX为例进行说明,并不做限定。
可选的,在上述检验过程中,参与检验的训练数据可以是特定的图像,例如:第一机器学习模型基于第一个epoch训练后的模型以及对应的训练图像。具体的检验过程中的训练数据与实际参与设备训练过程中涉及的训练数据对应。在一种可能的场景中,可以将第一机器学习模型、训练数据和第二机器学习模型传入可信执行环境;然后基于训练数据在可信执行环境中对第一机器学习模型进行训练,以得到第三机器学习模型;进而将第二机器学习模型和第三机器学习模型进行比对。对于比对的结果,若第二机器学习模型和第三机器学习模型一致,则对第二机器学习模型的检验通过,即说明该参与设备进行了相应的训练过程,若第二机器学习模型和第三机器学习模型不一致,则说明该参与设备可能没有执行训练的过程;具体的检验信息可以是标识字符,例如:0代表第二机器学习模型和第三机器学习模型不一样,1代表第二机器学习模型和第三机器学习模型一样,进而提供相应的判断参考,从而保证训练过程中数据的准确性。
在一种可能的场景中,对于第二机器学习模型进行检验的过程是抽查进行的,在该场景中,若抽查到需要对第二机器学习模型进行检验的情况,则进行上述传入可信执行环境的检验过程;而对于未抽查到需要对第二机器学习模型进行检验的情况,则可以判定第二机器学习模型的检验通过,具体的,即首先根据预定规则判断是否在可信执行环境中对第二机器学习模型进行验证,该预定规则即为上述抽查的规则;当判断在可信执行环境中不对第二机器学习模型进行验证时,则确定对第二机器学习模型的检验通过。通过对于预定规则的设定,使得入侵者并不能知晓对第二机器学习模型进行检查的时机,避免了入侵者采用临时训练的策略逃避检验,提高了对于第二机器学习模型的检验的准确性。
可选的,在当判断在可信执行环境中不对第二机器学习模型进行验证时,还可以对当前训练的状态进行判断,即判断训练是否完成,若完成,则确定对第二机器学习模型的检验通过;若未完成,则继续执行机器学习任务。
可选的,在得到第三机器学习模型的过程中,为保证第一机器学习模型的准确性,还可以对第一机器学习模型签名进行解析,由于第一机器学习模型签名为协调设备对第一机器学习模型设定的认证标识,可以通过该标识对第一机器学习模型进行认证,以得到该模型的可信度。具体的,首先将第一机器学习模型签名以及公钥传入可信执行环境;然后基于公钥对第一机器学习模型签名进行解密,以得到认证信息;若认证信息指示第一机器学习模型签名通过认证,则调用训练数据在可信执行环境中对第一机器学习模型进行训练,以得到第三机器学习模型。例如参与设备使用服务器的公钥对模型签名进行解密,得到RSApublic(SIGNin),并求模型摘要SHA(Min)(即RSApublic(RSAprivate(SHA(Min))));其中,SHA和RSA相对应,SHA可使用SHA-256,RSA可使用3072-bit的RSA密钥,具体加密方法因实际场景而定。然后判断签名是否正确,即判断RSApublic(SIGNin)==RSApublic(RSAprivate(SHA(Min)))是否成立,若不成立返回失败,若成立进行接下来的校验过程,从而进一步保证了检验过程的准确性。
可选的,由于可信执行环境一般采用指令的接口对需要检验的数据进行接入,故上述检验的过程还可以基于接口接入的时机进行,且结合该可以根据接入接口的时机进行训练过程的抽查,即在基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型之后,在可信执行环境中对第二机器学习模型进行检验,以得到检验信息之前进行训练抽查的过程。具体的,首先获取机器学习任务中的检验时机信息;然后根据检验时机信息确定目标时刻,并在可信执行环境中确定对应的检验接口;进而根据检验接口调用训练数据和第一机器学习模型,以对第一机器学习模型进行训练得到第三机器学习模型。从而实现对于参与设备训练过程的抽查。
可以理解的是,抽查的时机可以是机器学习任务中设定的,即在协调设备中设定的,例如设定参与设备每训练完一个batch进行一次训练结果的检验,或设定参与设备每训练完一个epoch进行一次训练结果的检验,还可以根据用户在协调设备中进行的自定义设定确定抽查的时机,具体的抽查形式因实际场景而定,此处不做限定。
在另一种可能的场景中,抽查的过程还可以是基于参与者设定的,即参与者为了避免因外部入侵而造成训练过程的停滞而设定的自动检测训练的过程。具体的,抽查时间可以是每训练完一个batch进行一次训练结果的检验,或每训练完一个epoch进行一次训练结果的检验,还可以根据用户在参与设备中进行的自定义设定确定抽查的时机,具体的抽查形式因实际场景而定,此处不做限定。
通过对于抽查时间的设定,保证了协调设备对于机器学习任务的控制程度,提高了训练结果的真实性;而对于参与设备则可以保证自身训练机制的正常运行,避免训练停滞的发生,提高自身在协调设备侧的信用程度。
应当注意的是,在抽查过程中,从检验接口接入的训练数据应与已经训练过的训练数据相对应,例如第二机器学习模型为基于batch_size=20的训练数据训练所得,则相应的接入检验接口的训练数据也是该训练过得数据,从而保证检验过程的准确性。
304、在对第二机器学习模型的检验通过的情况下,将第二机器学习模型发送给协调设备。
本实施例中,对第二机器学习模型的检验通过即说明该参与设备执行了机器学习任务,即进行了有效训练;从而将训练得到的第二机器学习模型发送给协调设备,以便于协调设备进行机器学习任务的训练数据整合。
可选的,对于已执行有效训练的参与设备可以具有工作量证明,而未执行有效训练对应的参与设备不具有工作量证明。
可选的,对于工作量证明的作用可以通过参与设备与协调设备的关联关系反映,其中参与设备与协调设备的关联关系即参与设备与协调设备的连接情况。
在一种可能的场景中,关联关系与工作量证明相关,而工作量证明用于指示协调设备对于参与设备的资源分配情况;即若检验信息指示参与设备未执行机器学习任务,则断开该参与设备与协调设备的关联关系,协调设备接收不到该参与设备发送的训练后的模型,从而该参与设备不具有工作量证明,故协调设备不会对该参与设备进行资源分配。对应的,若检验信息指示参与设备执行了机器学习任务,则建立该参与设备与协调设备的关联关系,协调设备接收该参与设备发送的训练后的模型,从而该参与设备具有工作量证明,故协调设备会对该参与设备进行资源分配,例如:虚拟货币奖励、云资源奖励或权限奖励等,具体的资源分配形式因实际场景而定,此处不做限定。
可选的,对于具有工作量证明的参与设备,还可以对协调设备反馈训练数据对应的样本数。具体的,首先获取训练数据对应的样本数;然后基于可信执行环境确定第二机器学习模型的第二机器学习模型签名;进而将样本数、第二机器学习模型签名或第二机器学习模型发送至协调设备,其中,样本数用于指示协调设备对于参与设备的资源分配权重,第二机器学习模型签名用于指示协调设备对第二机器学习模型的识别。从而保证协调设备对于资源分配的准确性。
结合上述实施例可知,通过获取协调设备发送的机器学习任务,其中机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;然后基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对第二机器学习模型进行检验;在对第二机器学习模型的检验通过的情况下,将第二机器学习模型发送给协调设备。由于在可信执行环境中对训练结果进行了校验,保证参与设备工作量证明的真实性,排除了未正常执行机器学习任务的参与设备,进而提高了机器学习任务中训练结果的准确性。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的机器学习任务的管理的方法另一可选实施例中,对于在可信执行环境中对第二机器学习模型进行检验的过程,可以输出检验信息,根据检验信息确定检验结果(第二机器学习模型的检验通过的情况)的过程可以包括:
首先确定检验信息对应的目标字符;然后基于目标字符确定参与设备的检验结果,该检验结果中即包含了第二机器学习模型。即通过可执行环境输出的训练过程判断结果为目标字符,并不是训练的结果对比;从而提高数据的保密性以及训练结果判断的可行性。
本实施例考虑到对于通过可信执行环境输出训练的结果对比的场景中,具有参与设备高级权限的用户可调用可信执行环境输出的信息,并在进训练结果的判断之前进行信息的查询或修改,若在该场景中人为的修改训练结果使得检验结果指示参与设备具有工作量证明,则可能无法检测到偷懒的参与设备。故通过可信执行环境输出目标字符可以解决该问题,即相关人员无法在确定检验结果之前获取到训练结果数据。
具体的,基于检验信息设定的目标字符设定了对应的含义,例如:设定目标字符为0代表第二机器学习模型和第三机器学习模型不一样,目标字符为1代表第二机器学习模型和第三机器学习模型一样,从而得到对应的检验结果。该目标字符对应的含义可以变化的,具体的目标字符的设定因实际场景而定,此处不做限定。
可选地,在上述实施例中检验结果还可以包括多次检验信息对应的结果,即检验结果中记录了多次训练检验的过程,例如检验结果中记录了每训练完一个batch进行一次训练结果的检验信息,或检验结果中记录了每训练完一个epoch进行一次训练结果的检验信息,检验结果中还可以记录了根据用户在参与设备中进行的自定义设定确定抽查的时机以及对应的时刻下的检验信息。基于上述不同场景下的检验信息,在检验结果中不仅会记录检验信息对应的结果,还会对应的记录检验的时间点,以便于协调设备进行训练过程的核对时进行各个时间点的逐一检测。
在一种可能的场景中,参与设备只基于部分训练数据进行了模型训练,而检测信息并未包含未训练时对应的时间段,此时容易造成偷懒参与设备的遗漏。通过上述检验结果的设定,即包括多次检验信息对应的结果,可以将整个训练过程覆盖,由于各个时间段均设定了对应的检测信息,使得对于偷懒参与设备的确定更加准确,并保证了训练结果的准确性。
上述实施例介绍了参与设备在机器学习任务执行过程中的管理过程,下面,结合服务器与客户端交互的场景对机器学习任务的管理过程中服务器的管理过程进行介绍,该实施例中以联邦学习任务作为机器学习任务进行说明。请参阅图4,图4为本申请实施例提供的另一种机器学习任务的管理方法的流程图,本申请实施例至少包括以下步骤:
401、服务器发起联邦学习任务。
本实施例中,联邦学习任务为发起者准备好的需要训练的模型,比如MobileNet(输入为128*128的图像,alpha为0.25,89层,大小为805K),配置好训练参数,比如训练总轮数T=10、每轮本地训练的epoch数epochs=5、batch_size=10。
可选的,由于客户端可能存在闲忙或故障的情况,此时服务器可以在事先约定的地址监听,等候客户端的连接,从而对连接的客户端发送联邦学习任务。
402、服务器对联邦学习任务进行签名。
本实施例中,为保证联邦学习任务的保密性,可以使用私钥对当前模型Mt进行签名,得到SIGN(Mt)=RSAprivate(SHA(Mt))。其中,SHA可使用SHA-256,RSA可使用3072-bit的RSA密钥。
403、服务器收集客户端的更新模型。
可以理解的是,对于上述信息中样本数越多,则说明对模型训练的贡献也越大,将给与更多的奖励;且通过SGX的远程认证(Remote Attestation)机制验证训练结果签名,如果通过则保存该更新模型,否则删除,从而保证训练结果的可信性,以防止客户端伪造结果。
404、服务器聚合模型。
本实施例中,由于在联邦学习中需要多个客户端训练后的模型进行聚合,故需要等待接收的训练结果达到预设调整才可以进行聚合模型。例如接收了足够多数量的有效的经过远程认证的训练结果(比如100个客户端的训练结果),或者等待超时(比如24h之后)。
具体的,对于聚合模型的过程可以采用如下公式进行:
具体的,还可以设定模型权重,具体可以为32位浮点数的三维矩阵。聚合模型的过程对所有接收的模型进行加权平均,权重为参与训练的样本数。
405、服务器判断训练是否完成。
本实施例中,通过判断当前训练的轮数是否达到预设轮数,即t是否达到阈值T,来判断训练是否完成。若不是,则继续执行步骤401-405的过程,若是则结束训练。
在一种可能的场景中,发起的机器学习任务中指示了N个客户端参与第一机器学习模型的训练;而只接收到M个客户端发送的训练信息,其中,M≤N,M、N为正整数,其差值即筛选掉的未执行训练过程的客户端;从而聚合M个客户端对应的第二机器学习模型,以对客户端进行资源分配,从而保证了资源分配的准确性。
可选的,在上述图4对应的各个实施例的基础上,本申请实施例提供的机器学习任务的管理的方法另一可选实施例中,服务器还会接收到终端发送的检验结果,即训练结果以及对应的检验信息,以便于对训练结果进行复查。
在一种可能的场景中,服务器还会接收到的终端发送的检验结果中,还还可以包括多次检验信息对应的结果,即检验结果中记录了多次训练检验的过程,例如检验结果中记录了每训练完一个batch进行一次训练结果的检验信息,或检验结果中记录了每训练完一个epoch进行一次训练结果的检验信息,检验结果中还可以记录了根据用户在参与设备中进行的自定义设定确定抽查的时机以及对应的时刻下的检验信息。基于上述不同场景下的检验信息,在检验结果中不仅会记录检验信息对应的结果,还会对应的记录检验的时间点,以便于服务器进行训练过程的核对时进行各个时间点的逐一检测。
通过上述检验结果的设定,即包括多次检验信息对应的结果,可以将整个训练过程覆盖,由于各个时间段均设定了对应的检测信息,使得对于偷懒参与设备的确定更加准确,并保证了训练结果的准确性。
下面,对服务器对应的客户端侧的机器学习任务的管理过程进行介绍,该实施例中以联邦学习任务作为机器学习任务进行说明。请参阅图5,图5为本申请实施例提供的另一种机器学习任务的管理方法的流程图,本申请实施例至少包括以下步骤:
501、客户端接入联邦学习任务。
本实施例中,客户端首先接受联邦学习任务,然后客户端准备好训练数据,包括图像的路径及标签,标签包括1表示已收藏,0表示未收藏从而对对应的图像进行正负样本的设定。
可选的,客户端可以是主动访问事先约定的服务器的地址,查询当前是否有训练任务,若有则进入训练;客户端也可以是直接接入关联的服务器的联邦学习任务。
502、客户端进行模型训练。
本实施例中,模型训练过程涉及从服务器获得模型Mt、模型签名SIGN(Mt)、训练参数(如batch_size、max_samples、epochs等)、当前轮数t及总轮数T。
具体的,训练过程中每次从数据迭代器取一批数据,也就是从图像路径集合中随机选取batch_size张图像;然后读入图像,并将大小调整成模型输入所需大小(比如128*128)。对于上述过程,取一批数据更新一次模型,直到取完所有数据为一个epoch,当训练完指定数量的epoch则本次训练完成。
503、客户端对训练结果的校验。
本实施例中,校验的过程首先将模型Mt、模型签名SIGN(Mt)、本地训练数据(Xi,Yi)、更新的模型传入SGX中的检验接口。然后检验接口以一定的概率选择是否进行抽查,对应的,若不抽查,直接返回成功。
若抽查,传入检验接口,然后使用服务器的公钥对模型签名进行解密,得到RSApublic(SIGNin),并求模型摘要SHA(Min)(即RSApublic(RSAprivate(SHA(Min))))。客户端使用的加密参数与服务器端的SHA和RSA相对应。其中,SHA可使用SHA-256,RSA可使用3072-bit的RSA密钥。
在检验之前,需要判断模型的签名是否正确,即RSApublic(SIGNin)==RSApublic(RSAprivate(SHA(Min))),若不正确返回失败,若正确则进行校验过程中的训练得到M1的过程。
进一步的,对比训练得到的更新模型和传入的更新模型Min,如果不一样则返回失败,即该客户端可能未执行训练过程,从而可以取消客户端的训练资格,可以简单实现成直接退出,这样没有训练结果发送到服务器端,客户端不能获得对应奖励。
若一样则返回成功,即该客户端进行了训练过程,并将更新模型参与训练的样本数训练结果签名发送给服务器。其中通过SGX的远程认证机制获得训练结果签名其中为参与训练的样本数,可从本地训练数据(Xi,Yi)获得。
由于一般联邦学习任务可能包含多轮训练,故还可以判断该轮训练是否是最后一轮,若不是,则继续执行步骤501-503以继续进行训练;若是,则结束。
结合上述实施例可见,通过服务器与客户端的交互可检测出偷懒的联邦学习参与设备(客户端),从而完善了联邦学习系统,有益于联邦学习生态的健康发展,即保证了训练数据的可信度。
在一种可能的场景中,医院建立医疗资料联盟,使用联邦学习对少见疾病进行联合医疗建模。这样病人的医疗资料不需要离开各家医院,保护了病人的隐私。训练过程需要医院准备服务器,并对医疗资料进行适当整理,因此一般情况下,训练的发起者需要支付一定的费用,奖励给参与训练的医院以及平台搭建方(中心服务器)。为防止医院实际并未参与训练,可采用本技术进行检验。
下面,结合联邦学习在医疗(病灶)图像识别中的应用作为具体场景进行说明,请参阅图6,图6为本申请实施例提供的另一种机器学习任务的管理方法的流程图,本申请实施例至少包括以下步骤:
601、中心服务器发起联邦学习任务。
本实施例中,中心服务器发起的联邦学习任务可以是对于目标病灶图像特征的采集,即根据不同医院对于固定病灶特征的采集训练特定的联邦模型,以提高联邦模型对对于固定病灶图像识别的准确性。
602、中心服务器向第一医院客户端发送联邦学习任务。
本实施例中,第一医院客户端为与中心服务器长期合作的特定客户端,即中心服务器可以直接向第一医院客户端发送相关联邦学习任务以进行模型训练。
603、第一医院客户端基于医疗图像进行模型训练。
604、第一医院客户端进行训练结果校验。
605、第一医院客户端向中心服务器发送训练后的模型。
本实施例中,步骤603-604与图3所示实施例的步骤302-304相似,相关特征描述可以进行参考,此处不做赘述。
606、第二医院客户端访问中心服务器设置的预设地址。
本实施例中,第二医院客户端可以主动的向中心服务器发起访问,从而得到中心服务器发起的联邦学习任务,或联邦学习任务的执行状态,并根据自身情况进行选择。
607、中心服务器向第二医院客户端发送联邦学习任务。
本实施例中,中心服务器在收到第二医院客户端在预设地址进行的选择指令后,向第二医院客户端发送联邦学习任务。
608、第二医院客户端基于医疗图像进行模型训练。
609、第二医院客户端进行训练结果校验。
610、第二医院客户端向中心服务器发送训练后的模型。
本实施例中,步骤608-610与图3所示实施例的步骤302-304相似,相关特征描述可以进行参考,此处不做赘述。
611、中心服务器进行模型聚合。
本实施例中,步骤611与图4所示实施例的步骤404相似,相关特征描述可以进行参考,此处不做赘述。
通过多个医院进行联邦学习任务的共同参与,可以提高病灶识别模型开发的效率,并保护了病人的隐私,且防止医院实际并未参与训练的发生。
在另一种可能的场景中,用户可以通过相册管家推荐一些比较好的照片建议用户收藏。为进行推荐,可采用联邦学习使用用户隐私数据训练模型,在用户隐私数据不出手机的前提下保护了用户隐私。训练过程需要消耗用户手机的计算资源,为鼓励用户参与,对同意参与训练的用户,可以进行一定的奖励,如一定额度的云端备份存储空间。为防止用户通过伪造工作量证明,而实际并未参与训练的情形,可采用本技术进行检验。
下面,结合联邦学习在推荐图像识别中的应用作为具体场景进行说明,请参阅图7,图7为本申请实施例提供的另一种机器学习任务的管理方法的流程图,本申请实施例至少包括以下步骤:
701、服务器发起联邦学习任务。
本实施例中,服务器发起的联邦学习任务可以是对于推荐照片的图像特征的采集,即根据不同用户对于收藏的图像进行特征采集并训练特定的联邦模型,以提高联邦模型对对于推荐图像识别的准确性。
702、服务器向第一客户端发送联邦学习任务。
本实施例中,第一客户端为与服务器长期合作的特定客户端,即服务器可以直接向第一客户端发送相关联邦学习任务以进行模型训练。
703、第一客户端基于相册图像进行模型训练。
本实施例中,模型训练的过程可以是基于机器学习任务中指示的续联参数进行的,例如训练参数包括相册图像训练子集的尺寸(batch_size)和训练次数(epochs),且batch_size=10,epochs=5,故上述训练过程可以是从相册图像数据库(路径信息)中随机选取10张图像,读入图像,并将大小调整成机器学习模型输入所需大小(128*128)。进而取一批数据更新一次模型,取完所有数据为一个epoch,训练完5次epoch则本次训练完成。
704、第一客户端进行训练结果校验。
705、第一客户端向服务器发送训练后的模型。
本实施例中,步骤704和705与图3所示实施例的步骤303和304相似,相关特征描述可以进行参考,此处不做赘述。
706、第二客户端访问服务器设置的预设地址。
本实施例中,第二客户端可以主动的向服务器发起访问,从而得到服务器发起的联邦学习任务,或联邦学习任务的执行状态,并根据自身情况进行选择。
707、服务器向第二客户端发送联邦学习任务。
本实施例中,服务器在收到第二客户端在预设地址进行的选择指令后,向第二客户端发送联邦学习任务。
708、第二客户端基于相册图像进行模型训练。
709、第二客户端进行训练结果校验。
710、第二客户端向服务器发送训练后的模型。
本实施例中,步骤708-710与图3所示实施例的步骤302-304相似,相关特征描述可以进行参考,此处不做赘述。
711、服务器对训练后的模型进行区块链存证。
本实施例中,可使用服务器的公钥进行加密再保存到区块链上。由于区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块,区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
通过将服务器的公钥进行加密再保存到区块链上,并通过区块链底层平台、平台产品服务层以及应用服务层的交互,使得只有拥有私钥的服务器可解密,从而保证训练后的模型的可信度。
712、服务器对中间模型进行模型聚类。
本实施例中,聚类的过程可以基于模型的特定参数的差异进行,例如梯度的变化情况等。
713、服务器模型簇的差异信息判断异常。
本实施例中,对于异于其他多数模型簇的模型簇设定为异常,以不对于该客户端发送的训练后的模型不进行模型聚合的过程。
而对于模型聚合的过程与图4所示实施例的步骤404相似,相关特征描述可以进行参考,此处不做赘述。
在判断异常之后,即进行基于工作量证明的资源分配过程,其中工作量证明用于指示协调设备对于参与设备的资源分配情况;即若检验信息指示参与设备未执行图像识别任务,则断开该参与设备与协调设备的关联关系,协调设备接收不到该参与设备发送的训练后的模型,从而该参与设备不具有工作量证明,故协调设备不会对该参与设备进行资源分配。对应的,若检验信息指示参与设备执行了图像识别任务,则建立该参与设备与协调设备的关联关系,协调设备接收该参与设备发送的训练后的模型,从而该参与设备具有工作量证明,故协调设备会对该参与设备进行资源分配,例如:虚拟货币奖励、云资源奖励或权限奖励。
具体的,以云资源奖励为例,若第一客户端与第二客户端均具有工作量证明,则通过第一客户端与第二客户端反馈的训练数据中的样本数进行云资源的分配,即执行相册图像识别的图像数量,例如第一客户端执行的相册图像识别的图像数量为500,而第二客户端执行的相册图像识别的图像数量为200,则按照5:2的关系为第一客户端和第二客户端分配预设的用于奖励的云资源。
通过区块链存证可以将中间模型保存起来,供后续复查,且对联邦学习的参与设备有一定的威慑力,保证了参与设备发送推荐图像数据的准确性。
为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图8,图8为本申请实施例提供的一种机器学习任务的管理装置的结构示意图,机器学习任务的管理装置800包括:
获取单元801,用于获取协调设备发送的机器学习任务,所述机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;
训练单元802,用于基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型;
检验单元803,用于在可信执行环境中对所述第二机器学习模型进行检验;
管理单元804,用于在对所述第二机器学习模型的检验通过的情况下,将所述第二机器学习模型发送给所述协调设备。
可选的,在本申请一些可能的实现方式中,所述检验单元803,具体用于将所述第一机器学习模型、所述训练数据和所述第二机器学习模型传入所述可信执行环境;
所述检验单元803,具体用于基于所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型;
所述检验单元803,具体用于将所述第二机器学习模型和所述第三机器学习模型进行比对;
所述检验单元803,具体用于若所述第二机器学习模型和所述第三机器学习模型一致,则对所述第二机器学习模型的检验通过。
可选的,在本申请一些可能的实现方式中,所述检验单元803,具体用于根据预定规则判断是否在所述可信执行环境中对所述第二机器学习模型进行验证;
所述检验单元803,具体用于当判断在所述可信执行环境中不对所述第二机器学习模型进行验证时,确定对所述第二机器学习模型的检验通过。
可选的,在本申请一些可能的实现方式中,所述机器学习任务中包含第一机器学习模型签名以及公钥,所述检验单元803,具体用于将第一机器学习模型签名以及公钥传入所述可信执行环境;
所述检验单元803,具体用于基于所述公钥对所述第一机器学习模型签名进行解密,以得到认证信息;
所述检验单元803,具体用于若所述认证信息指示所述第一机器学习模型签名通过认证,则调用所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到所述第三机器学习模型。
可选的,在本申请一些可能的实现方式中,所述检验单元803,具体用于获取所述机器学习任务中的检验时机信息;
所述检验单元803,具体用于根据所述检验时机信息确定目标时刻,并在所述可信执行环境中确定对应的检验接口;
所述检验单元803,具体用于根据所述检验接口调用所述训练数据和所述第一机器学习模型,以对所述第一机器学习模型进行训练得到第三机器学习模型。
可选的,在本申请一些可能的实现方式中,所述检验单元803,具体用于获取所述训练数据对应的样本数;
所述检验单元803,具体用于通过所述可信执行环境对应的所述检验接口获取所述第二机器学习模型的第二机器学习模型签名;
所述检验单元803,具体用于将所述样本数、所述第二机器学习模型签名或所述所述第二机器学习模型发送至所述协调设备,所述样本数用于指示所述参与设备的训练量,所述第二机器学习模型签名用于对所述第二机器学习模型进行认证。
可选的,在本申请一些可能的实现方式中,所述训练单元802,具体用于获取所述机器学习任务指示的训练参数,所述训练参数包括训练子集的尺寸、训练次数和输入信息;
所述训练单元802,具体用于根据所述训练子集的尺寸从对所述训练数据进行划分,以提取训练子集;
所述训练单元802,具体用于基于所述输入信息对所述训练子集中的数据进行调整;
所述训练单元802,具体用于根据调整后的所述训练子集对所述第一机器学习模型进行训练,并基于所述训练次数进行循环训练,以得到所述第二机器学习模型。
可选的,在本申请一些可能的实现方式中,所述训练单元802,具体用于确定所述训练数据中对应数据的路径信息;
所述训练单元802,具体用于根据所述训练子集的尺寸对所述路径信息进行划分,以得到子路径;
所述训练单元802,具体用于根据所述子路径确定所述训练子集。
可选的,在本申请一些可能的实现方式中,所述获取单元801,具体用于向所述协调设备发送参与请求,所述参与请求用于指示所述协调设备确定任务状态信息;
所述获取单元801,具体用于获取所述协调设备发送的任务状态信息;
所述获取单元801,具体用于基于所述任务状态信息获取所述协调设备发送的机器学习任务。
通过获取协调设备发送的机器学习任务,其中机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;然后基于机器学习任务调用训练数据,以对第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对第二机器学习模型进行检验;在对第二机器学习模型的检验通过的情况下,将第二机器学习模型发送给协调设备。由于在可信执行环境中对训练结果进行了校验,保证参与设备工作量证明的真实性,排除了未正常执行机器学习任务的参与设备,进而提高了机器学习任务中训练结果的准确性。
本申请实施例还提供了一种机器学习任务的管理装置900,如图9所示,是本申请实施例提供的另一种机器学习任务的管理装置的结构示意图,具体包括:
发起单元901,用于将机器学习任务发送给N个参与设备,所述机器学习任务用于指示对第一机器学习模型进行训练;
接收单元902,用于接收M个所述参与设备发送的训练信息,所述训练信息包括第二机器学习模型,所述第二机器学习模型为所述参与设备对所述第一机器学习模型进行训练后的模型,所述参与设备基于训练数据在可信执行环境中对所述第二机器学习模型进行检验,M≤N,M、N为正整数;
管理单元903,用于聚合M个所述参与设备对应的第二机器学习模型,以确定训练结果。
可选的,在本申请一些可能的实现方式中,所述训练信息还包括样本数,所述管理单元903,具体用于基于所述样本数确定权重信息;
所述管理单元903,具体用于聚合M个所述参与设备对应的第二机器学习模型,以根据所述权重信息对所述参与设备进行资源分配。
可选的,在本申请一些可能的实现方式中,所述管理单元903,具体用于基于区块链保存N个所述参与设备对应的第二机器学习模型;
所述管理单元903,具体用于对所述第二机器学习模型进行聚类,以得到模型簇;
所述管理单元903,具体用于根据所述模型簇的差异信息对所述参与设备进行资源分配。
本申请实施例还提供了一种终端设备,如图10所示,是本申请实施例提供的另一种终端设备的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图10示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图10,手机包括:射频(radio frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作,以及在触控面板1031上一定范围内的隔空触控操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;可选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
具体的,该处理器1080可以用于获取协调设备发送的机器学习任务,所述机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;以及基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对所述第二机器学习模型进行检验,以得到检验信息;进而根据所述检验信息确定所述参与设备的检验信息,所述检验信息用于指示所述参与设备对所述第一机器学习模型进行训练的真实性。
该处理器1080还可以用于基于所述训练数据在可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型;然后根据所述第二机器学习模型和所述第三机器学习模型进行比对,以确定所述检验信息。
该处理器1080还可以用于获取所述机器学习任务中包含的第一机器学习模型签名以及公钥;并基于所述公钥对所述第一机器学习模型签名进行解密,以得到认证信息;若所述认证信息指示所述第一机器学习模型签名通过认证,则调用所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型。
该处理器1080还可以用于在所述基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型之后,所述在可信执行环境中对所述第二机器学习模型进行检验,以得到检验信息之前,获取所述机器学习任务中的检验时机信息;然后根据所述检验时机信息确定目标时刻,并在所述可信执行环境中确定对应的检验接口;进而根据所述检验接口调用所述训练数据和所述第一机器学习模型,以对所述第一机器学习模型进行训练得到第三机器学习模型。
该处理器1080还可以用于获取所述训练数据对应的样本数;然后通过所述可信执行环境对应的所述检验接口获取所述第二机器学习模型的第二机器学习模型签名;并将所述样本数、所述第二机器学习模型签名或所述所述第二机器学习模型发送至所述协调设备,所述样本数用于指示所述参与设备的训练量,所述第二机器学习模型签名用于对所述第二机器学习模型进行认证。
该处理器1080还可以用于获取所述机器学习任务指示的训练参数,所述训练参数包括训练子集的尺寸、训练次数和输入信息;然后根据所述训练子集的尺寸从对所述训练数据进行划分,以提取训练子集;并基于所述输入信息对所述训练子集中的数据进行调整;从而根据调整后的所述训练子集对所述第一机器学习模型进行训练,并基于所述训练次数进行循环训练,以得到所述第二机器学习模型。
该处理器1080还可以用于确定所述训练数据中对应数据的路径信息;并根据所述训练子集的尺寸对所述路径信息进行划分,以得到子路径;然后根据所述子路径确定所述训练子集。
该处理器1080还可以用于向所述协调设备发送参与请求,所述参与请求用于指示所述协调设备确定任务状态信息;并获取所述协调设备发送的任务状态信息;然后基于所述任务状态信息获取所述协调设备发送的机器学习任务。
该处理器1080可以为图像推荐服务器中的处理器,对应的,所述机器学习任务用于指示对于用户标记的图像进行特征提取,所述第一机器学习模型、第二机器学习模型和第三机器学习模型为联邦学习模型;
该处理器1080可以为医院服务器,对应的,所述机器学习任务用于指示医疗图像的特征提取,所述第一机器学习模型、第二机器学习模型和第三机器学习模型为联邦学习模型。
手机还包括给各个部件供电的电源1090(比如电池),可选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1080还具有执行如上述页面处理方法的各个步骤的功能。
本申请实施例还提供了一种服务器,请参阅图11,图11是本申请实施例提供的一种服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。
其中,中央处理器1122可以用于发起机器学习任务,所述机器学习任务用于指示N个参与设备参与第一机器学习模型的训练;
接收M个所述参与设备发送的训练信息,所述训练信息包括第二机器学习模型,所述第二机器学习模型为所述参与设备对所述第一机器学习模型进行训练后的模型,所述参与设备基于训练数据在可信执行环境中对所述第二机器学习模型进行检验,M≤N,M、N为正整数;
聚合M个所述参与设备对应的第二机器学习模型,以确定训练结果。
中央处理器1122还可以用于基于所述样本数确定权重信息;然后聚合M个所述参与设备对应的第二机器学习模型,以根据所述权重信息对所述参与设备进行资源分配。
中央处理器1122还可以用于基于区块链保存N个所述参与设备对应的第二机器学习模型;然后对所述第二机器学习模型进行聚类,以得到模型簇;并根据所述模型簇的差异信息对所述参与设备进行资源分配。
另外,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口11511,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由管理装置所执行的步骤可以基于该图11所示的服务器结构。
另外,上述机器学习任务的管理方法和装置还可以应用于数据共享系统中,可以将所述参与设备和所述协调设备作为区块链设备,所述区块链设备通过区块链在数据共享系统中关联。参见图12A所示的数据共享系统,数据共享系统1200是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点1201,多个节点1201可以是指数据共享系统中各个客户端。每个节点1201在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1节点与节点标识对应关系
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图12B,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图12C,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有机器学习任务的管理指令,当其在计算机上运行时,使得计算机执行如前述图3至图7所示实施例描述的方法中机器学习任务的管理装置所执行的步骤。
本申请实施例中还提供一种包括机器学习任务的管理指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图7所示实施例描述的方法中机器学习任务的管理装置所执行的步骤。
具体的,该计算机程序产品至少用于获取协调设备发送的机器学习任务,所述机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;然后基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型;并在可信执行环境中对所述第二机器学习模型进行检验,以得到检验信息;从而根据所述检验信息确定所述参与设备的检验信息,所述检验信息用于指示所述参与设备对所述第一机器学习模型进行训练的真实性。
本申请实施例还提供了一种机器学习任务的管理系统,所述机器学习任务的管理系统可以包含图8所描述实施例中的机器学习任务的管理装置,或图9所描述实施例中的机器学习任务的管理装置,或者图10所描述的终端设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,机器学习任务的管理装置,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种机器学习任务的管理方法,其特征在于,包括:
获取协调设备发送的机器学习任务,所述机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练;
基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型;
在可信执行环境中对所述第二机器学习模型进行检验;
在对所述第二机器学习模型的检验通过的情况下,将所述第二机器学习模型发送给所述协调设备。
2.根据权利要求1所述的方法,其特征在于,所述在可信执行环境中对所述第二机器学习模型进行检验,包括:
将所述第一机器学习模型、所述训练数据和所述第二机器学习模型传入所述可信执行环境;
基于所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型;
将所述第二机器学习模型和所述第三机器学习模型进行比对;
若所述第二机器学习模型和所述第三机器学习模型一致,则对所述第二机器学习模型的检验通过。
3.根据权利要求1所述的方法,其特征在于,所述在可信执行环境中对所述第二机器学习模型进行检验还包括:
根据预定规则判断是否在所述可信执行环境中对所述第二机器学习模型进行验证;
当判断在所述可信执行环境中不对所述第二机器学习模型进行验证时,确定对所述第二机器学习模型的检验通过。
4.根据权利要求2所述的方法,其特征在于,所述机器学习任务中包含第一机器学习模型签名以及公钥,所述基于所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到第三机器学习模型,包括:
将第一机器学习模型签名以及公钥传入所述可信执行环境;
基于所述公钥对所述第一机器学习模型签名进行解密,以得到认证信息;
若所述认证信息指示所述第一机器学习模型签名通过认证,则调用所述训练数据在所述可信执行环境中对所述第一机器学习模型进行训练,以得到所述第三机器学习模型。
5.根据权利要求1所述的方法,其特征在于,所述基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型之后,所述在可信执行环境中对所述第二机器学习模型进行检验之前,所述方法还包括:
获取所述机器学习任务中的检验时机信息;
根据所述检验时机信息确定目标时刻,并在所述可信执行环境中确定对应的检验接口;
根据所述检验接口调用所述训练数据和所述第一机器学习模型,以对所述第一机器学习模型进行训练得到第三机器学习模型。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
获取所述训练数据对应的样本数;
通过所述可信执行环境对应的检验接口获取所述第二机器学习模型的第二机器学习模型签名;
将所述样本数、所述第二机器学习模型签名或所述所述第二机器学习模型发送至所述协调设备,所述样本数用于指示所述参与设备的训练量,所述第二机器学习模型签名用于对所述第二机器学习模型进行认证。
7.根据权利要求1所述的方法,其特征在于,所述基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型,包括:
获取所述机器学习任务指示的训练参数,所述训练参数包括训练子集的尺寸、训练次数和输入信息;
根据所述训练子集的尺寸从对所述训练数据进行划分,以提取训练子集;
基于所述输入信息对所述训练子集中的数据进行调整;
根据调整后的所述训练子集对所述第一机器学习模型进行训练,并基于所述训练次数进行循环训练,以得到所述第二机器学习模型。
8.根据权利要求7所述的方法,其特征在于,所述根据所述训练子集的尺寸从对所述训练数据进行划分,以提取训练子集,包括:
确定所述训练数据中对应数据的路径信息;
根据所述训练子集的尺寸对所述路径信息进行划分,以得到子路径;
根据所述子路径确定所述训练子集。
9.根据权利要求1所述的方法,其特征在于,所述获取协调设备发送的机器学习任务,包括:
向所述协调设备发送参与请求,所述参与请求用于指示所述协调设备确定任务状态信息;
获取所述协调设备发送的任务状态信息;
基于所述任务状态信息获取所述协调设备发送的机器学习任务。
10.一种机器学习任务的管理方法,其特征在于,包括:
将机器学习任务发送给N个参与设备,所述机器学习任务用于指示对第一机器学习模型进行训练;
接收M个所述参与设备发送的训练信息,所述训练信息包括第二机器学习模型,所述第二机器学习模型为所述参与设备对所述第一机器学习模型进行训练后的模型,所述参与设备基于训练数据在可信执行环境中对所述第二机器学习模型进行检验,M≤N,M、N为正整数;
聚合M个所述参与设备对应的第二机器学习模型,以确定训练结果。
11.根据权利要求10所述的方法,其特征在于,所述训练信息还包括样本数,所述方法还包括:
基于所述样本数确定权重信息;
聚合M个所述参与设备对应的第二机器学习模型,以根据所述权重信息对所述参与设备进行资源分配。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
基于区块链保存N个所述参与设备对应的第二机器学习模型;
对所述第二机器学习模型进行聚类,以得到模型簇;
根据所述模型簇的差异信息对所述参与设备进行资源分配。
13.一种机器学习任务的管理的装置,其特征在于,包括:
获取单元,用于获取协调设备发送的机器学习任务,所述机器学习任务用于指示至少一个参与设备参与第一机器学习模型的训练,所述参与设备与所述协调设备相关联;
训练单元,用于基于所述机器学习任务调用训练数据,以对所述第一机器学习模型进行训练得到第二机器学习模型;
检验单元,用于基于预设规则对所述第二机器学习模型进行检验,以得到检验信息,所述预设规则基于所述训练数据在可信执行环境中的训练情况确定;
管理单元,用于根据所述检验信息确定所述参与设备与所述协调设备的关联关系,所述关联关系与工作量证明相关,所述工作量证明用于指示所述协调设备对于所述参与设备的资源分配情况。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至9任一项所述的机器学习任务的管理方法,或权利要求10至12任一项所述的机器学习任务的管理方法。
15.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1至9任一项所述的机器学习任务的管理方法,或权利要求10至12任一项所述的机器学习任务的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614845.5A CN111612168B (zh) | 2020-06-30 | 2020-06-30 | 一种机器学习任务的管理方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614845.5A CN111612168B (zh) | 2020-06-30 | 2020-06-30 | 一种机器学习任务的管理方法以及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111612168A true CN111612168A (zh) | 2020-09-01 |
CN111612168B CN111612168B (zh) | 2021-06-15 |
Family
ID=72201091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010614845.5A Active CN111612168B (zh) | 2020-06-30 | 2020-06-30 | 一种机器学习任务的管理方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111612168B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101579A (zh) * | 2020-11-18 | 2020-12-18 | 杭州趣链科技有限公司 | 基于联邦学习的机器学习方法、电子装置和存储介质 |
CN112164224A (zh) * | 2020-09-29 | 2021-01-01 | 杭州锘崴信息科技有限公司 | 信息安全的交通信息处理系统、方法、设备及存储介质 |
CN112217706A (zh) * | 2020-12-02 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112434818A (zh) * | 2020-11-19 | 2021-03-02 | 脸萌有限公司 | 模型构建方法、装置、介质及电子设备 |
CN112434680A (zh) * | 2021-01-27 | 2021-03-02 | 武汉星巡智能科技有限公司 | 智能摄像头模型自训练方法、装置、设备及介质 |
CN112671514A (zh) * | 2020-12-29 | 2021-04-16 | 链博(成都)科技有限公司 | 基于区块链的联邦学习数据保护方法及系统 |
CN112686385A (zh) * | 2021-01-07 | 2021-04-20 | 中国人民解放军国防科技大学 | 面向多站点三维影像的联邦深度学习方法及系统 |
CN112989944A (zh) * | 2021-02-08 | 2021-06-18 | 西安翔迅科技有限责任公司 | 一种基于联邦学习的视频智能安全监管方法 |
CN113241056A (zh) * | 2021-04-26 | 2021-08-10 | 标贝(北京)科技有限公司 | 语音合成模型的训练与语音合成方法、装置、系统及介质 |
CN113240524A (zh) * | 2021-05-10 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 联邦学习系统中账户的异常检测方法、装置及电子设备 |
EP3975089A1 (en) * | 2020-09-25 | 2022-03-30 | Beijing Baidu Netcom Science And Technology Co. Ltd. | Multi-model training method and device based on feature extraction, an electronic device, and a medium |
WO2022158678A1 (ko) * | 2021-01-22 | 2022-07-28 | 삼성전자 주식회사 | 하드웨어 보안 아키텍쳐를 이용하여 연합 학습을 수행하는 전자 장치 및 이를 이용한 연합 학습 방법 |
WO2023028996A1 (en) * | 2021-09-03 | 2023-03-09 | Huawei Technologies Co., Ltd. | Methods and devices for ensuring the reproducibility of software systems |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342980A (zh) * | 2017-06-05 | 2017-11-10 | 杭州云象网络技术有限公司 | 一种公有链节点工作量证明的可信验证方法及系统 |
CN109714298A (zh) * | 2017-10-25 | 2019-05-03 | 腾讯科技(深圳)有限公司 | 验证方法、装置及存储介质 |
CN109981639A (zh) * | 2019-03-23 | 2019-07-05 | 西安电子科技大学 | 基于区块链的分布式可信网络连接方法 |
CN110166415A (zh) * | 2018-03-22 | 2019-08-23 | 西安电子科技大学 | 基于匿名网络和机器学习的信誉数据处理方法 |
CN110263908A (zh) * | 2019-06-20 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 联邦学习模型训练方法、设备、系统及存储介质 |
US20200082270A1 (en) * | 2018-09-07 | 2020-03-12 | International Business Machines Corporation | Verifiable Deep Learning Training Service |
US10614101B2 (en) * | 2017-11-28 | 2020-04-07 | Accenture Global Solutions Limited | Virtual agent for improving item identification using natural language processing and machine learning techniques |
CN111125779A (zh) * | 2019-12-17 | 2020-05-08 | 山东浪潮人工智能研究院有限公司 | 一种基于区块链的联邦学习方法及装置 |
CN111275491A (zh) * | 2020-01-21 | 2020-06-12 | 深圳前海微众银行股份有限公司 | 一种数据处理方法及装置 |
-
2020
- 2020-06-30 CN CN202010614845.5A patent/CN111612168B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342980A (zh) * | 2017-06-05 | 2017-11-10 | 杭州云象网络技术有限公司 | 一种公有链节点工作量证明的可信验证方法及系统 |
CN109714298A (zh) * | 2017-10-25 | 2019-05-03 | 腾讯科技(深圳)有限公司 | 验证方法、装置及存储介质 |
US10614101B2 (en) * | 2017-11-28 | 2020-04-07 | Accenture Global Solutions Limited | Virtual agent for improving item identification using natural language processing and machine learning techniques |
CN110166415A (zh) * | 2018-03-22 | 2019-08-23 | 西安电子科技大学 | 基于匿名网络和机器学习的信誉数据处理方法 |
US20200082270A1 (en) * | 2018-09-07 | 2020-03-12 | International Business Machines Corporation | Verifiable Deep Learning Training Service |
CN109981639A (zh) * | 2019-03-23 | 2019-07-05 | 西安电子科技大学 | 基于区块链的分布式可信网络连接方法 |
CN110263908A (zh) * | 2019-06-20 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 联邦学习模型训练方法、设备、系统及存储介质 |
CN111125779A (zh) * | 2019-12-17 | 2020-05-08 | 山东浪潮人工智能研究院有限公司 | 一种基于区块链的联邦学习方法及装置 |
CN111275491A (zh) * | 2020-01-21 | 2020-06-12 | 深圳前海微众银行股份有限公司 | 一种数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
XIDI QU ET AL: "Proof of Federated Learning: A Novel Energy-recycling Consensus Algorithm", 《ARXIV》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3975089A1 (en) * | 2020-09-25 | 2022-03-30 | Beijing Baidu Netcom Science And Technology Co. Ltd. | Multi-model training method and device based on feature extraction, an electronic device, and a medium |
CN112164224A (zh) * | 2020-09-29 | 2021-01-01 | 杭州锘崴信息科技有限公司 | 信息安全的交通信息处理系统、方法、设备及存储介质 |
CN112101579A (zh) * | 2020-11-18 | 2020-12-18 | 杭州趣链科技有限公司 | 基于联邦学习的机器学习方法、电子装置和存储介质 |
WO2022108529A1 (zh) * | 2020-11-19 | 2022-05-27 | 脸萌有限公司 | 模型构建方法、装置、介质及电子设备 |
CN112434818A (zh) * | 2020-11-19 | 2021-03-02 | 脸萌有限公司 | 模型构建方法、装置、介质及电子设备 |
CN112434818B (zh) * | 2020-11-19 | 2023-09-26 | 脸萌有限公司 | 模型构建方法、装置、介质及电子设备 |
CN112217706A (zh) * | 2020-12-02 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112217706B (zh) * | 2020-12-02 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112671514A (zh) * | 2020-12-29 | 2021-04-16 | 链博(成都)科技有限公司 | 基于区块链的联邦学习数据保护方法及系统 |
CN112671514B (zh) * | 2020-12-29 | 2022-08-09 | 链博(成都)科技有限公司 | 基于区块链的联邦学习数据保护方法及系统 |
CN112686385A (zh) * | 2021-01-07 | 2021-04-20 | 中国人民解放军国防科技大学 | 面向多站点三维影像的联邦深度学习方法及系统 |
WO2022158678A1 (ko) * | 2021-01-22 | 2022-07-28 | 삼성전자 주식회사 | 하드웨어 보안 아키텍쳐를 이용하여 연합 학습을 수행하는 전자 장치 및 이를 이용한 연합 학습 방법 |
CN112434680A (zh) * | 2021-01-27 | 2021-03-02 | 武汉星巡智能科技有限公司 | 智能摄像头模型自训练方法、装置、设备及介质 |
CN112989944A (zh) * | 2021-02-08 | 2021-06-18 | 西安翔迅科技有限责任公司 | 一种基于联邦学习的视频智能安全监管方法 |
CN113241056A (zh) * | 2021-04-26 | 2021-08-10 | 标贝(北京)科技有限公司 | 语音合成模型的训练与语音合成方法、装置、系统及介质 |
CN113241056B (zh) * | 2021-04-26 | 2024-03-15 | 标贝(青岛)科技有限公司 | 语音合成模型的训练与语音合成方法、装置、系统及介质 |
CN113240524A (zh) * | 2021-05-10 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 联邦学习系统中账户的异常检测方法、装置及电子设备 |
CN113240524B (zh) * | 2021-05-10 | 2024-05-14 | 深圳前海微众银行股份有限公司 | 联邦学习系统中账户的异常检测方法、装置及电子设备 |
WO2023028996A1 (en) * | 2021-09-03 | 2023-03-09 | Huawei Technologies Co., Ltd. | Methods and devices for ensuring the reproducibility of software systems |
Also Published As
Publication number | Publication date |
---|---|
CN111612168B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111612168B (zh) | 一种机器学习任务的管理方法以及相关装置 | |
US20210173932A1 (en) | Methods and systems for secure and reliable identity-based computing | |
CN110401715B (zh) | 资源收集任务管理方法、装置、存储介质及系统 | |
Shuwandy et al. | Sensor-based mHealth authentication for real-time remote healthcare monitoring system: A multilayer systematic review | |
US10348699B2 (en) | Identity binding systems and methods in a personal data store in an online trust system | |
CN110569909B (zh) | 基于区块链的故障预警方法、装置、设备及存储介质 | |
CN110689460B (zh) | 基于区块链的交通事故数据处理方法、装置、设备及介质 | |
US11943256B2 (en) | Link detection method and apparatus, electronic device, and storage medium | |
US9934310B2 (en) | Determining repeat website users via browser uniqueness tracking | |
CN105229596A (zh) | 高级验证技术和应用 | |
CN110598879B (zh) | 基于区块链的垃圾回收方法、装置、设备及存储介质 | |
JP2019513250A (ja) | アンチリプレイのシステム及び方法 | |
CN110933113B (zh) | 基于区块链的互动行为检测方法、装置、设备及存储介质 | |
CN111339181B (zh) | 区块存储方法、装置、节点设备及存储介质 | |
CN110909259A (zh) | 基于区块链的用户推荐方法、装置、设备及存储介质 | |
CN111667371B (zh) | 基于区块链的资源聚合方法、系统、设备及存储介质 | |
CN114207613A (zh) | 用于激励式入侵检测系统的技术 | |
CN110597906B (zh) | 基于区块链的入学积分生成方法、装置、设备及存储介质 | |
CN111212074B (zh) | 基于区块链的资格认定方法、装置、设备及存储介质 | |
KR102665644B1 (ko) | 인증을 위한 방법 및 그 장치 | |
Zhang et al. | Aegis: a trusted, automatic and accurate verification framework for vertical federated learning | |
CN112231768A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
WO2023066205A1 (zh) | 模型数据发送方法、模型数据整合方法及装置 | |
CN111062497A (zh) | 基于区块链网络的物业管理方法、平台及存储介质 | |
CN111327427B (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 |