CN113487042B - 一种联邦学习方法、装置及联邦学习系统 - Google Patents

一种联邦学习方法、装置及联邦学习系统 Download PDF

Info

Publication number
CN113487042B
CN113487042B CN202110722830.5A CN202110722830A CN113487042B CN 113487042 B CN113487042 B CN 113487042B CN 202110722830 A CN202110722830 A CN 202110722830A CN 113487042 B CN113487042 B CN 113487042B
Authority
CN
China
Prior art keywords
participant
data
central server
virtual machine
training 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
Application number
CN202110722830.5A
Other languages
English (en)
Other versions
CN113487042A (zh
Inventor
姜新
应志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202110722830.5A priority Critical patent/CN113487042B/zh
Publication of CN113487042A publication Critical patent/CN113487042A/zh
Application granted granted Critical
Publication of CN113487042B publication Critical patent/CN113487042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Abstract

本申请的实施例公开了一种联邦学习方法、装置及联邦学习系统,涉及安全技术领域,为便于提高联邦学习过程中数据的安全性而发明。所述方法,包括:向数据参与方发送模型运行环境可执行镜像文件;向数据参与方发送参与方人工智能训练模型;通过虚拟机加载全局人工智能训练模型到第一安全隔离内存;第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离;通过虚拟机接收数据参与方发送的中间迭代参数;中间迭代参数,由数据参与方利用本地数据集训练参与方人工智能训练模型得到;虚拟机根据所述中间迭代参数,计算全局模型参数,并基于全局模型参数判断全局人工智能训练模型的收敛是否符合预期值。本申请适用于训练人工智能模型。

Description

一种联邦学习方法、装置及联邦学习系统
技术领域
本申请涉及安全技术领域,尤其涉及一种联邦学习方法、装置及联邦学习系统。
背景技术
人工智能算法(AI,Artificial Intelligence)如机器学习和神经网络等的训练需要大量且广泛的高质量的数据集,但是这些数据往往保存在各个孤立的部门,由于隐私保护和安全法规等,无法把各部门的数据发布出来,以集中训练高精度的人工智能算法。而联邦学习算法在不需要数据拥有者提供原始数据的情况下,可以联合各方数据来参与训练高精度的AI算法模型。
现有的联邦学习架构由全局模型(中心服务器)和数据拥有者(数据参与方)两部分构成,如图1。在联邦学习的整个过程中,数据参与方始终只向中心服务器更新模型中间参数,并不需要把原始数据发送到服务器,而各个数据拥有者之间并不会彼此交换原始数据,保证本地数据的安全性。
然而,在现有的联邦学习过程中,运行在中心服务器上和/或运行在数据参与方上的恶意程序,可以通过中间参数和/或全局模型的参数,利用一定的逆向技术手段探测训练过程中的数据特征,造成数据泄露,降低了联邦学习过程中的数据的安全性。
发明内容
有鉴于此,本申请实施例提供一种联邦学习方法、装置及联邦学习系统,便于提高联邦学习过程中的数据的安全性。
第一方面,本申请实施例提供一种联邦学习方法,应用于中心服务器,包括:向数据参与方发送模型运行环境可执行镜像文件;其中,所述数据参与方为已向所述中心服务器注册的数据参与方,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;向所述数据参与方发送参与方人工智能训练模型,以使所述参与方人工智能训练模型在所述数据参与方本地运行;通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存;其中,所述第一虚拟机运行于所述中心服务器上,所述第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离;通过所述第一虚拟机接收所述数据参与方发送的中间迭代参数;所述中间迭代参数,由所述数据参与方利用本地数据集训练所述参与方人工智能训练模型得到;所述第一虚拟机根据所述中间迭代参数,计算全局模型参数,并基于所述全局模型参数判断所述全局人工智能训练模型的收敛是否符合预期值。
根据本申请实施例的一种具体实现方式,所述通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存,包括:通过第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型;其中,所述第一安全处理器为所述中心服务器的安全处理器;所述第一安全处理器根据所述第一数字签名信息,对解密后的全局人工智能训练模型进行验证;如果通过验证,则通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存。
根据本申请实施例的一种具体实现方式,在向所述数据参与方发送参与方人工智能训练模型之前,所述方法还包括:执行数据参与方运行的执行环境的接入操作;执行数据参与方对中心服务器运行的执行环境的认证操作,以及执行对数据参与方运行的执行环境的认证操作。
根据本申请实施例的一种具体实现方式,所述执行数据参与方对中心服务器运行的执行环境的认证操作,包括:接收数据参与方发送的中心服务器执行环境认证请求;根据所述中心服务器执行环境认证请求,第一安全处理器生成第一认证报告,并将所述第一认证报告向所述数据参与方发送,以使第二安全处理器对所述第一认证报告进行验证;其中,所述第二安全处理器为所述数据参与方的安全处理器;和/或,所述执行对数据参与方运行的执行环境的认证操作,包括:向数据参与方发送的数据参与方执行环境认证请求,以使第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;其中,所述第二安全处理器为所述数据参与方的安全处理器;接收数据参与方返回的第二认证报告,通过所述第一安全处理器对所述第二认证报告进行验证。
第二方面,本申请实施例提供一种联邦学习方法,应用于数据参与方,包括:接收中心服务器发送的模型运行环境可执行镜像文件;其中,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;通过第二虚拟机启动所述模型运行环境可执行镜像文件;接收所述中心服务器发送的参与方人工智能训练模型;通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存;其中,所述第二虚拟机运行于所述数据参与方本地服务器上,所述第二安全隔离内存与所述数据参与方的CPU运行时所需的内存的运行环境相隔离;通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数;通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,以使所述中心服务器根据所述中间迭代参数,计算全局模型参数。
根据本申请实施例的一种具体实现方式,所述通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存,包括:通过第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型;所述第二安全处理器为所述数据参与方的安全处理器;所述第二安全处理器根据所述第二数字签名信息,对所述解密后的参与方人工智能训练模型进行验证;如果通过验证,则通过所述第二虚拟机加载解密后的参与方人工智能训练模型到第二安全隔离内存。
根据本申请实施例的一种具体实现方式,在接收所述中心服务器发送的参与方人工智能训练模型之前,所述方法还包括:将本地运行的执行环境接入中心服务器;执行对中心服务器运行的执行环境的认证操作,以及执行中心服务器对数据参与方本地运行的执行环境的认证操作。
根据本申请实施例的一种具体实现方式,所述执行对中心服务器运行的执行环境的认证操作,包括:向中心服务器发送执行环境认证请求;接收所述中心服务器发送的第一认证报告,并将所述第一认证报告发送给第二安全处理器,通过所述第二安全处理器对所述第一认证报告进行验证;和/或,所述执行中心服务器对数据参与方本地运行的执行环境的认证操作,包括:接收中心服务器发送的数据参与方执行环境认证请求;第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;将所述第二认证报告向所述中心服务器发送,以通过所述第一安全处理器对所述第二认证报告进行验证;其中,所述第一安全处理器为所述中心服务器的安全处理器。
根据本申请实施例的一种具体实现方式,所述数据参与方包括至少两个数据参与方;
通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型之前,所述方法还包括:所述至少两个数据参与方中的第一数据参与方,通过第二虚拟机发送第一特征信息;其中,所述第一特征信息为所述第一数据参与方本地的初始数据集的特征信息,所述第二虚拟机运行于所述第一数据参与方本地服务器上;通过所述第二虚拟机接收其它各数据参与方分别发送的第二特征信息;所述第二特征信息为其它每个数据参与方本地的初始数据集的特征信息;所述第二虚拟机根据所述第一特征信息和各第二特征信息,将所述第一数据参与方的第二安全隔离内存内的初始数据集进行特征对齐,得到用于对所述参与方人工智能训练模型进行训练的数据集。
第三方面,本申请实施例提供一种联邦学习装置,应用于中心服务器,包括:第一发送模块,用于向数据参与方发送模型运行环境可执行镜像文件;其中,所述数据参与方为已向所述中心服务器注册的数据参与方,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;第二发送模块,用于向所述数据参与方发送参与方人工智能训练模型,以使所述参与方人工智能训练模型在所述数据参与方本地运行;第一加载模块,用于通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存;其中,所述第一虚拟机运行于所述中心服务器上,所述第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离;第一接收模块,用于通过所述第一虚拟机接收所述数据参与方发送的中间迭代参数;所述中间迭代参数,由所述数据参与方利用本地数据集训练所述参与方人工智能训练模型得到;计算模块,用于所述第一虚拟机根据所述中间迭代参数,计算全局模型参数,并基于所述全局模型参数判断所述全局人工智能训练模型的收敛是否符合预期值。
根据本申请实施例的一种具体实现方式,所述第一加载模块,具体用于:通过第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型;其中,所述第一安全处理器为所述中心服务器的安全处理器;所述第一安全处理器根据所述第一数字签名信息,对解密后的全局人工智能训练模型进行验证;如果通过验证,则通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存。
根据本申请实施例的一种具体实现方式,所述装置还包括:接入操作执行模块,用于在所述第二发送模块向所述数据参与方发送参与方人工智能训练模型之前,执行数据参与方运行的执行环境的接入操作;第一认证操作执行模块,用于执行数据参与方对中心服务器运行的执行环境的认证操作,以及执行对数据参与方运行的执行环境的认证操作。
根据本申请实施例的一种具体实现方式,所述第一认证操作执行模块,具体用于:
接收数据参与方发送的中心服务器执行环境认证请求;根据所述中心服务器执行环境认证请求,第一安全处理器生成第一认证报告,并将所述第一认证报告向所述数据参与方发送,以使第二安全处理器对所述第一认证报告进行验证;其中,所述第二安全处理器为所述数据参与方的安全处理器;和/或,所述第一认证操作执行模块,具体用于:向数据参与方发送的数据参与方执行环境认证请求,以使第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;其中,所述第二安全处理器为所述数据参与方的安全处理器;接收数据参与方返回的第二认证报告,通过所述第一安全处理器对所述第二认证报告进行验证。
第四方面,本申请实施例提供一种联邦学习装置,应用于数据参与方,包括:第二接收模块,用于接收中心服务器发送的模型运行环境可执行镜像文件;其中,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;启动模块,用于通过第二虚拟机启动所述模型运行环境可执行镜像文件;第三接收模块,用于接收所述中心服务器发送的参与方人工智能训练模型;第二加载模块,用于通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存;其中,所述第二虚拟机运行于所述数据参与方本地服务器上,所述第二安全隔离内存与所述数据参与方的CPU运行时所需的内存的运行环境相隔离;训练模块,用于通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数;第三发送模块,用于通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,以使所述中心服务器根据所述中间迭代参数,计算全局模型参数。
根据本申请实施例的一种具体实现方式,所述第二加载模块,具体用于:通过第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型;所述第二安全处理器为所述数据参与方的安全处理器;所述第二安全处理器根据所述第二数字签名信息,对所述解密后的参与方人工智能训练模型进行验证;如果通过验证,则通过所述第二虚拟机加载解密后的参与方人工智能训练模型到第二安全隔离内存。
根据本申请实施例的一种具体实现方式,所述装置还包括:接入模块,用于在所述第三接收模块接收所述中心服务器发送的参与方人工智能训练模型之前,将本地运行的执行环境接入中心服务器;第二认证操作执行模块,用于执行对中心服务器运行的执行环境的认证操作,以及执行中心服务器对数据参与方本地运行的执行环境的认证操作。
根据本申请实施例的一种具体实现方式,所述第二认证操作执行模块,具体用于:向中心服务器发送执行环境认证请求;接收所述中心服务器发送的第一认证报告,并将所述第一认证报告发送给第二安全处理器,通过所述第二安全处理器对所述第一认证报告进行验证;和/或,所述执行中心服务器对数据参与方本地运行的执行环境的认证操作,具体用于:接收中心服务器发送的数据参与方执行环境认证请求;第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;将所述第二认证报告向所述中心服务器发送,以通过所述第一安全处理器对所述第二认证报告进行验证;其中,所述第一安全处理器为所述中心服务器的安全处理器。
根据本申请实施例的一种具体实现方式,所述数据参与方包括至少两个数据参与方;所述装置还包括:第四发送模块,用于所述训练模块通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型之前,所述至少两个数据参与方中的第一数据参与方,通过第二虚拟机发送第一特征信息;其中,所述第一特征信息为第一数据参与方本地的初始数据集的特征信息,所述第二虚拟机运行于所述第一数据参与方本地服务器上;第四接收模块,用于通过所述第二虚拟机接收其它各数据参与方分别发送的第二特征信息;其中,所述第二特征信息为其它每个数据参与方本地的初始数据集的特征信息;对齐模块,用于所述第二虚拟机根据所述第一特征信息和各第二特征信息,将所述第一数据参与方的第二安全隔离内存内的初始数据集进行特征对齐,得到用于对所述参与方人工智能训练模型进行训练的数据集。
第五方面,本申请实施例提供一种联邦学习系统,包括:中心服务器和数据参与方;其中,所述中心服务器用于执行上述应用于中心服务器的任一实现方式所述的联邦学习方法,所述数据参与方用于执行上述应用于数据参与方的任一实现方式所述的联邦学习方法。
第六方面,本申请实施例提供一种电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;所述处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实现方式所述的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一实现方式所述的方法。
本实施例提供的联邦学习方法、装置及联邦学习系统,通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存,由于第一虚拟机具有较高的安全性,且第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离,这样,能够提高全局人工智能训练模型的安全性,进一步地,通过第一虚拟机接收数据参与方发送的中间迭代参数,以及根据所述中间迭代参数计算全局模型参数并基于全局模型参数判断全局人工智能训练模型的收敛是否符合预期值,同样由于第一虚拟机具有较高的安全性,使得中间迭代参数以及根据中间迭代参数计算得到的全局模型参数的较为安全,避免了运行在中心服务器上的恶意程序通过探测训练过程中的数据特征,从而造成数据泄露,导致联邦学习过程中数据的安全性较低的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有的联邦学习架构示意图;
图2为本申请一实施例的中心服务器的架构示意图;
图3为本申请一实施例的数据参与方的架构示意图;
图4为本申请一实施提供的联邦学习方法的流程示意图;
图5为本申请又一实施提供的联邦学习方法的流程示意图;
图6为本申请一具体实施例提供的联邦学习方法的结构示意图;
图7为本申请一实施例提供的联邦学习装置的结构示意图;
图8为本申请又一实施例提供的联邦学习装置的结构示意图;
图9为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
如背景技术所言,人工智能算法的训练需要大量且广泛的高质量的数据集,但是由于隐私保护和安全法规等,无法把各部门的数据发布出来,集中训练高精度的人工智能算法。例如利用AI算法进行病例数据分析,需要事先利用各大医院的病例数据进行训练,才能达到可接受的算法模型参数,为患者提供高质量AI辅助诊疗,但医院受法规限制保护患者隐私,无法提供原始数据做AI模型训练。而分布的各部门的数据由于样本数量有限,却又无法独自训练出高质量的AI算法模型,联邦学习的出现,在一定程度上解决了这个问题。
现有的联邦学习架构由全局模型(中心服务器)和数据拥有者(数据参与方)两部分构成,全局模型一般由可信的AI模型服务商提供,服务商提供各种AI模型供用户使用;模型训练的参与方一般为数据的拥有者,参与方在本地进行模型训练,并把训练过程中产生的中间参数更新到模型服务商的中心服务器(central server);中心服务器收集到各数据方模型训练的中间参数,执行聚合算法,更新全局模型,再把新的全局模型的参数下发到各参与方,请求再次执行本地训练,直到模型收敛到可接受的预期值。
现有的联邦学习在聚合计算全局模型中不需要原始的数据集,但是centralserver向各方迭代更新模型参数,恶意的数据参与方通过中间迭代模型参数,利用一定的逆向技术手段探测对方的数据特征,削弱了联邦学习的数据保护功能。另外centralserver上的全局聚合模块受到攻击时,能够利用各方发送过来的中间参数,间接收集各参与方的数据特征,不利于数据隐私保护。另外在样本对齐阶段,各参与方会把各自加密的数据发送给对方,同样也存在泄漏风险。
有鉴于此,发明人在研究中发现,可以利用安全可执行环境(TEE,Trustedexecution environment)技术增强联邦学习过程中的中间参数和迭代模型参数的保护,提高联邦学习过程中数据的安全性,具体可参见图2和图3,在中心服务器和/或数据参与方引入TEE技术来辅助联邦学习。具体地,在中心服务器上,可将虚拟机部署在硬件隔离加密的安全内存中,CPU上运行的其他软件(包括恶意软件等)都无法访问隔离安全内存;此外,中心服务器上的各虚拟机之间也无法访问彼此的安全内存,提高中心服务器全局模型的安全性。在数据拥有者本地,同样把本地训练模型部署在虚拟机上,由隔离的加密安全内存保证其不被其他软件访问,保护本地模型的数据安全性,以此提高联邦学习过程中数据的安全性。
为使本领域技术人员更好地理解本申请实施例的技术构思、实施方案和有益效果,下面通过具体实施例进行详细说明。
第一方面,本申请一实施例提供的一种联邦学习方法,应用于中心服务器,包括:向数据参与方发送模型运行环境可执行镜像文件;其中,所述数据参与方为已向所述中心服务器注册的数据参与方,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;向所述数据参与方发送参与方人工智能训练模型,以使所述参与方人工智能训练模型在所述数据参与方本地运行;通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存;其中,所述第一虚拟机运行于所述中心服务器上,所述第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离;通过所述第一虚拟机接收所述数据参与方发送的中间迭代参数;所述中间迭代参数,由所述数据参与方利用本地数据集训练所述参与方人工智能训练模型得到;所述第一虚拟机根据所述中间迭代参数,计算全局模型参数,并基于所述全局模型参数判断所述全局人工智能训练模型的收敛是否符合预期值,便于提高联邦学习过程中数据的安全性。
图4为本申请一实施例提供的联邦学习方法的流程示意图,如图4所示,本实施例的联邦学习方法,应用于中心服务器,可以包括:
S101、向数据参与方发送模型运行环境可执行镜像文件。
联邦学习(FL,Federated Learning),可为专门用来处理数据孤岛以及隐私保护和数据安全问题在多参与方安全计算框架上实现的机器学习算法。
数据参与方可拥有训练数据集,并且本实施例中的数据参与方已向中心服务器注册。
模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件,模型运行环境可包括模型运行时所需的运行参数。
S102、向数据参与方发送参与方人工智能训练模型,以使参与方人工智能训练模型在所述数据参与方本地运行。
参与方人工智能训练模型可为在中心服务器中待计算的模型,可由可信的AI模型服务商提供,数据参与方获取到参与方人工智能训练模型后,在数据参与方本地运行该训练模型,并利用数据参与方本地的训练数据集对该人工智能训练模型进行训练,以得到中间参数(中间迭代参数)。
S103、通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存。
第一虚拟机即虚拟机(VM,Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在物理计算机中创建虚拟机时,需要将物理计算机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的存储空间和操作系统,虚拟机的操作系统可以与物理计算机的操作系统相同,也可不同。
本实施例的第一虚拟机运行于中心服务器上。
本实施例的第一安全隔离内存与中心服务器的CPU运行时所需的内存的运行环境相隔离。第一安全隔离内存与第一虚拟机对应,CPU上运行的其它软件不能访问该第一安全隔离内存,其它虚拟机也无法访问该第一安全隔离内存。为了提高数据的安全性,在第一安全隔离内存中的数据为加密数据。
第一安全隔离内存与中心服务器的CPU运行时所需的内存的运行环境相隔离,具体可采用物理隔离的方式,例如可使用两块独立的内存,即一块内存为第一安全隔离内存,一块内存为中心服务器的CPU运行时所需的内存,从而使第一安全隔离内存与中心服务器的CPU运行时所需的内存的运行环境相隔离;也可采用逻辑隔离的方式,例如一般情况下,内存管理单元用来完成虚拟地址到物理地址的转换,在将内存进行安全分区的情况下,当内存访问请求的虚拟地址未落入到隔离区域的范围内时,此时使用内存管理单元实现虚拟地址到物理地址的转换;当内存访问请求的虚拟地址落入到隔离区域的范围内时,将使用专门模块来进行虚拟地址到物理地址的转换,从而第一安全隔离内存与中心服务器的CPU运行时所需的内存的运行环境相隔离。
本实施例中的第一虚拟机和第一安全隔离内存形成了可以保证不被常规操作系统干扰的安全可信执行环境(TEE)。
S104、通过第一虚拟机接收数据参与方发送的中间迭代参数。
中间迭代参数可由数据参与方利用本地数据集训练参与方人工智能训练模型得到。具体地,可由第一虚拟机接收数据参与方发送的中间迭代参数。
S105、第一虚拟机根据中间迭代参数,计算全局模型参数,并基于全局模型参数判断全局人工智能训练模型的收敛是否符合预期值。
在一些例子中,可使用在第一虚拟机上运行的模型聚合算法,对收集到的数据参与方发送过来的中间迭代参数进行聚合计算,得到聚合后的参数,使用聚合后的参数计算全局模型参数,并基于全局模型参数判断全局人工智能训练模型是否收敛,如果模型的收敛不符合预期值,则将新的模型参数更新到数据参与方,通知参与方继续训练;如果模型的收敛符合预期值,则结束联邦学习,并向各数据参与方发送最终的聚合后得到的全局模型参数。
本实施例,通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存,由于第一虚拟机具有较高的安全性,且第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离,这样,能够提高全局人工智能训练模型的安全性,进一步地,通过第一虚拟机接收数据参与方发送的中间迭代参数,以及根据所述中间迭代参数计算全局模型参数并基于全局模型参数判断全局人工智能训练模型的收敛是否符合预期值,同样由于第一虚拟机具有较高的安全性,使得中间迭代参数以及根据中间迭代参数计算得到的全局模型参数的较为安全,避免了运行在中心服务器上的恶意程序通过探测训练过程中的数据特征,从而造成数据泄露,导致联邦学习过程中数据的安全性较低的问题。
本申请又一实施例,与上述实施例基本相同,不同之处在于,本实施例的通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存(S103),包括:
S103a、通过第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型。
第一安全处理器为中心服务器的安全处理器;在一些例子中,第一安全处理器可以内嵌在中央处理器(CPU)上。
本实施例的人工智能训练模型可为经过签名加密的模型。在获得全局人工智能训练模型后,第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型即全局人工智能训练模型原文。在一些例子中,第一数字签名信息包括数字摘要,该数字摘要可以通过对全局人工智能训练模型进行哈希计算得到。
S103b、第一安全处理器根据第一数字签名信息,对解密后的全局人工智能训练模型进行验证。
在一些例子中,可对解密后的全局人工智能训练模型进行哈希计算,得到数字摘要,将该数字摘要的哈希值与第一数字签名信息中的数字摘要的哈希值进行比较,如果相同,则验证通过,如果不同,则验证未通过。
S103c、如果通过验证,则通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存。
当解密后的全局人工智能训练模型通过验证,则通过第一虚拟机将解密后的全局人工智能训练模型加载到第一安全隔离内存。
本实施例,通过第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型,再根据第一数字签名信息,对解密后的全局人工智能训练模型进行验证,如果通过验证,则通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存,由于经过安全处理器对解密后的全局人工智能训练模型进行验证,当验证通过后,再通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存,这样,可以保证加载到第一安全隔离内存的全局人工智能训练模型是未被篡改的训练模型,从而,便于进一步提高联邦学习数据的安全性。
为进一步提高联邦学习数据的安全性,需对运行环境进行验证,在一些例子中,在向数据参与方发送参与方人工智能训练模型(S102)之前,所述方法还包括:
S106、执行数据参与方运行的执行环境的接入操作。
数据参与方运行的执行环境接入中心服务器,以便中心服务器和数据参与方之间相互对执行环境进行认证。
S107、执行数据参与方对中心服务器运行的执行环境的认证操作,以及执行对数据参与方运行的执行环境的认证操作。
在一些例子中,执行数据参与方对中心服务器运行的执行环境的认证操作,包括:
A1、接收数据参与方发送的中心服务器执行环境认证请求。
数据参与方请求对中心服务器执行环境进行认证。为了提高安全性,认证请求为在数据参与方经过私钥加密的请求,可使用与私钥对应的公钥对请求进行解密。
A2、根据所述中心服务器执行环境认证请求,第一安全处理器生成第一认证报告,并将第一认证报告向数据参与方发送,以使第二安全处理器对第一认证报告进行验证。
本实施例中的第二安全处理器为数据参与方的安全处理器。
在接收到数据参与方发送的中心服务器执行环境认证请求后,通过第一安全处理器生成第一认证报告,在一些例子中,第一认证报告可包括由第一安全处理器对中心服务器的执行环境进行度量得到相对应的度量值。生成第一认证报告后,将该第一认证报告发送给数据参与方,数据参与方的第二安全处理器对接收到的第一认证报告进行验证,从而确定所接入的中心服务器运行的执行环境是否安全。
在又一些例子中,执行对数据参与方运行的执行环境的认证操作,包括:
B1、向数据参与方发送的数据参与方执行环境认证请求,以使第二安全处理器根据数据参与方执行环境认证请求,生成第二认证报告,
本实施例中,第二安全处理器为数据参与方的安全处理器。
向数据参与方发送的数据参与方执行环境认证请求后,第二安全处理器根据数据参与方执行环境认证请求,生成第二认证报告,在一些例子中,第二认证报告可包括由第二安全处理器对数据参与方的执行环境进行度量得到相对应的度量值。生成第二认证报告后,将该第二认证报告发送给中心服务器。
B2、接收数据参与方返回的第二认证报告,通过所述第一安全处理器对所述第二认证报告进行验证。
接收到参与方返回的第二认证报告后,第一安全处理器对接收到的第二认证报告进行验证,从而确定数据参与方运行的执行环境安全。
第二方面,本申请一实施例提供的一种联邦学习方法,应用于数据参与方,包括:接收中心服务器发送的模型运行环境可执行镜像文件;其中,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;通过第二虚拟机启动所述模型运行环境可执行镜像文件;接收所述中心服务器发送的参与方人工智能训练模型;通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存;其中,所述第二虚拟机运行于所述数据参与方本地服务器上,所述第二安全隔离内存与所述数据参与方的CPU运行时所需的内存的运行环境相隔离;通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数;通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,以使所述中心服务器根据所述中间迭代参数,计算全局模型参数,便于提高联邦学习过程中数据的安全性。
图5为本申请又一实施例提供的联邦学习方法的流程示意图,如图5所示,本实施例的联邦学习方法,应用于数据参与方,可以包括:
S201、接收中心服务器发送的模型运行环境可执行镜像文件。
联邦学习(FL,Federated Learning),可为专门用来处理数据孤岛以及隐私保护和数据安全问题在多参与方安全计算框架上实现的机器学习算法。
数据参与方可拥有训练数据集,并且本实施例中的数据参与方已向中心服务器注册。
模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件,模型运行环境可包括模型运行时所需的运行参数。
S202、通过第二虚拟机启动模型运行环境可执行镜像文件。
第二虚拟机即虚拟机(VM,Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在物理计算机中创建虚拟机时,需要将物理计算机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的存储空间和操作系统,虚拟机的操作系统可以与物理计算机的操作系统相同,也可不同。
S203、接收中心服务器发送的参与方人工智能训练模型。
参与方人工智能训练模型可为在数据参与方中待训练的模型,该模型可由可信的AI模型服务商提供,并由中心服务器发送。
S204、通过第二虚拟机加载参与方人工智能训练模型到第二安全隔离内存。
本实施例的第二虚拟机运行于数据参与方本地服务器上,第二安全隔离内存与数据参与方的CPU运行时所需的内存的运行环境相隔离。
第二安全隔离内存与第二虚拟机对应,CPU上运行的其它软件不能访问该第二安全隔离内存。
第二安全隔离内存与数据参与方的CPU运行时所需的内存的运行环境相隔离,具体可采用物理隔离的方式,例如可使用两块独立的内存,即一块内存为第二安全隔离内存,一块内存为中心服务器的CPU运行时所需的内存,从而使第二安全隔离内存与数据参与方的CPU运行时所需的内存的运行环境相隔离;也可采用逻辑隔离的方式,例如一般情况下,内存管理单元用来完成虚拟地址到物理地址的转换,在将内存进行安全分区的情况下,当内存访问请求的虚拟地址未落入到隔离区域的范围内时,此时使用内存管理单元实现虚拟地址到物理地址的转换;当内存访问请求的虚拟地址落入到隔离区域的范围内时,将使用专门模块来进行虚拟地址到物理地址的转换,从而第二安全隔离内存与数据参与方的CPU运行时所需的内存的运行环境相隔离。为了进一步提高数据的安全性,在第二安全隔离内存中的数据为加密数据。
本实施例中的第二虚拟机和第二安全隔离内存形成了可以保证不被常规操作系统干扰的安全可信执行环境(TEE)。
S205、通过第二虚拟机利用数据参与方本地的数据集,训练参与方人工智能训练模型,得到中间迭代参数。
S206、通过第二虚拟机将中间迭代参数向中心服务器发送,以使中心服务器根据中间迭代参数,计算全局模型参数。
本实施例,通过第二虚拟机加载参与方人工智能训练模型到第二安全隔离内存,由于第二虚拟机具有较高的安全性,且第二安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离,这样,能够提高参与方人工智能训练模型的安全性,进一步地,通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数,再通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,同样由于第二虚拟机具有较高的安全性,使得训练得到的中间迭代参数较为安全,避免了运行在数据参与方上的恶意程序通过探测训练过程中的数据特征,从而造成数据泄露,导致联邦学习过程中数据的安全性较低的问题。
本申请又一实施例,与上述实施例基本相同,不同之处在于,本实施例的通过第二虚拟机加载参与方人工智能训练模型到第二安全隔离内存(S204),包括:
S204a、通过第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型。
第二安全处理器为所述数据参与方的安全处理器;在一些例子中,第二安全处理器可以内嵌在数据参与方的中央处理器(CPU)上。
本实施例的人工智能训练模型可为经过签名加密的模型。在获得参与方人工智能训练模型后,第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型即参与方人工智能训练模型原文。在一些例子中,第二数字签名信息包括数字摘要,该数字摘要可以通过对参与方人工智能训练模型进行哈希计算得到。
S204b、第二安全处理器根据第二数字签名信息,对所述参与方人工智能训练模型进行验证。
在一些例子中,可对解密后的参与方人工智能训练模型进行哈希计算,得到数字摘要,将该数字摘要的哈希值与第二数字签名信息中的数字摘要的哈希值进行比较,如果相同,则验证通过,如果不同,则验证未通过。
S204c、如果通过验证,则通过第二虚拟机加载解密后的参与方人工智能训练模型到第二安全隔离内存。
当解密后的参与方人工智能训练模型通过验证,则通过第二虚拟机将解密后的参与方人工智能训练模型加载到第二安全隔离内存。
本实施例,通过第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型,第二安全处理器根据第二数字签名信息,对所述参与方人工智能训练模型进行验证,如果通过验证,则通过第二虚拟机加载解密后的参与方人工智能训练模型到第二安全隔离内存,这样,可以保证加载到第二安全隔离内存的参与方人工智能训练模型是未被篡改的训练模型,从而,便于进一步提高联邦学习数据的安全性。
为进一步提高联邦学习数据的安全性,需对运行环境进行验证,在一些例子中,在接收中心服务器发送的参与方人工智能训练模型(S203)之前,所述方法还包括:
S207、将本地运行的执行环境接入中心服务器。
将数据参与方本地运行的执行环境接入中心服务器,以便中心服务器和数据参与方之间相互对执行环境进行认证。
S208、执行对中心服务器运行的执行环境的认证操作,以及执行中心服务器对数据参与方本地运行的执行环境的认证操作。
在一些例子中,执行对中心服务器运行的执行环境的认证操作,包括:
C1、向中心服务器发送执行环境认证请求。
数据参与方请求对中心服务器执行环境进行认证。为了提高安全性,认证请求为经过私钥加密的请求,在中心服务器上可使用公钥对请求进行解密。
C2、接收中心服务器发送的第一认证报告,并将第一认证报告发送给第二安全处理器,通过第二安全处理器对第一认证报告进行验证。
在一些例子中,第一认证报告可包括由第一安全处理器对中心服务器的执行环境进行度量得到相对应的度量值。第二安全处理器对数据参与方本地服务器的执行环境进行对量得到与之相对应的度量值,并且第二安全处理器将第一认证报告中的度量值与本地的度量值进行比对,如果一致,则验证通过,如果不一致,则验证未通过。
在又一些例子中,执行中心服务器对数据参与方本地运行的执行环境的认证操作,包括:
D1、接收中心服务器发送的数据参与方执行环境认证请求。
中心服务器请求对数据参与方执行环境进行认证。为了提高安全性,认证请求为经过私钥加密的请求,在数据参与方上可使用与私钥对应的公钥对请求进行解密。
D2、第二安全处理器根据数据参与方执行环境认证请求,生成第二认证报告。
在接收到中心服务器发送的数据参与方执行环境认证请求后,通过第二安全处理器生成第二认证报告,在一些例子中,第二认证报告可包括由第二安全处理器对数据参与方的执行环境进行度量得到相对应的度量值。
D3、将第二认证报告向中心服务器发送,以通过所述第一安全处理器对所述第二认证报告进行验证。
本实施例的第一安全处理器为所述中心服务器的安全处理器。
生成第二认证报告后,将该第二认证报告向中心服务器发送,中心服务器的第一安全处理器对接收到的第一认证报告进行验证,从而确定数据参与方运行的执行环境是否安全。
在一些例子中,第二认证报告可包括由第二安全处理器对数据参与方的执行环境进行度量得到相对应的度量值。第一安全处理器对中心服务器的执行环境进行度量得到与之相对应的度量值,并且第一安全处理器将第二认证报告中的度量值与本地的度量值进行比对,如果一致,则验证通过,如果不一致,则验证未通过。
在联邦学习时,数据参与方需要进行样本对齐,为提高样本对齐阶段数据的安全性,在一些例子中,数据参与方包括数据参与方包括至少两个数据参与方;
通过第二虚拟机利用所述数据参与方本地的数据集,训练参与方人工智能训练模型(S205)之前,所述方法还包括:
S209、至少两个数据参与方中的第一数据参与方,通过第二虚拟机发送第一特征信息。
第一数据参与方为至少两个数据参与方中的一个数据参与方,如数据参与方包括数据参与方A、数据参与方B和数据参与方C,本实施例的第一数据参与方可为数据参与方A。
本实施例中的第二虚拟机运行于第一数据参与方本地服务器上。第一特征信息为第一数据参与方本地的初始数据集的特征信息,例如第一特征可为年龄和性别。
S210、通过第二虚拟机接收其它各数据参与方分别发送的第二特征信息。
其它各数据参与方为所有数据参与方除去第一数据参与方的各数据参与方,例如其它各数据参与方可为数据参与方B和数据参与方C。
本实施例中的第二特征信息为其它每个数据参与方本地的初始数据集的特征信息。
其它各数据参与方将各自的数据特征,发送给第一数据参与方。
第二特征信息与第一特征信息可至少具有部分相同的特征,也可具有完全不同的特征,例如第二特征可为小学生和中学生。
S211、第二虚拟机根据第一特征信息和各第二特征信息,将第一数据参与方的第二安全隔离内存内的初始数据集进行特征对齐,得到用于对所述参与方人工智能训练模型进行训练的数据集。
第二虚拟机接收到其它各数据参与方分别发送的第二特征信息后,可根据本地的第一特征信息和接收到的各第二特征信息,将第二安全隔离内存内的初始数据集进行特征对齐,具体地,可按照第一特征信息和各第二特征信息中共有的特征,将第二安全隔离内存内的初始数据集进行特征对齐,也可在第一数据参与方和第二数据参与方之间根据数据特征的重要程度进行协商,共同确定特征,以将第一数据参与方的第二安全隔离内存内的初始数据集进行特征对齐。
所有数据参与方均可执行S209-S211的步骤,从而,得到用于训练人工智能训练模型的数据集。
下面以一具体实施例,对本申请的方案进行详细说明,参见图2、图3和图6。
本实施例在中心服务器(central server)和数据拥有者(数据参与方)都引入TEE技术来辅助联邦学习。具体地,在中心服务器上,将虚拟机(TEE软件)部署在硬件隔离加密的安全内存中,CPU上运行的其他软件(包括恶意软件等)都无法访问隔离安全内存;此外各虚拟机之间也无法访问彼此的安全内存,提高中心服务器中全局模型的安全性。在数据拥有方的本地服务器(local server)上,把本地训练模型部署在虚拟机上,由隔离的加密安全内存保证其不被其他软件访问,保护本地模型的数据安全性。
参见图2和图3,联邦学习服务商提供经过签名加密的全局模型。安全虚拟机启动并加载全局模型,需经过安全处理器验签和解密,避免模型被恶意修改,保证全局模型的完整性。同样,在数据拥有者的本地服务器上,从中心服务器上获取到签名加密的初始模型。虚拟机启动并加载初始模型,同样需经过安全处理器验签和解密,避免恶意的参与方提供恶意模型收集模型中间参数或扰乱全局模型训练。另外,把样本对齐步骤同样置于安全可信环境下,使得各参与方无法直接获取对方的加密对齐数据,保证各参与方的独立性,避免数据交叉后的安全风险。
虚拟机、隔离加密内存以及安全处理器形成可以保证不被常规操作系统干扰的安全可信执行环境(TEE),本实施例的基于TEE的联邦学习加入了模型验签等方法,使整个算法的更新迭代都置于硬件安全的可信环境中,避免恶意攻击和数据泄漏等安全问题。
联邦学习的具体流程步骤如下:
(1)各数据参与方向经过认证的模型服务商注册信息,模型服务商(中心服务器)向各数据参与方提供模型运行环境可执行镜像文件。
(2)数据参与方的本地服务器的虚拟机加载模型可执行环境,并开始执行双向认证。具体地,
a)、数据参与方本地运行的执行环境接入central server,并对central server内运行的执行环境进行远程验证。
b)、central server的安全处理器对local server发送过来的认证请求通过密码学运算后,把central server的认证报告返回给local server,同时要求local server同样提供local server认证报告给central server。
local server收到central server发送过来的认证报告,转发给本地安全处理器进行验证,以确定当前所接入的central server是运行在预期的虚拟机上并且运行环境通过安全处理器验证成功,否则异常处理,终止联邦学习。localserver安全处理器处理central server的local TEE验证请求,把local认证报告返回给central server。
c)、central server转发local认证报告给安全处理器进行验证。若验证通过,则双向认证成功,可以进行联邦学习;否则异常处理,终止联邦学习。
(3)双向认证通过后,模型服务商选择合适的AI模型,并下发初始模型训练镜像文件到数据参与方;
(4)central server侧,虚拟机加载全局初始模型,等待参与方的模型接入。
(5)数据参与方虚拟机初始化模型,利用安全处理器验证并把模型数据加载到隔离的加密安全内存。
(6)在虚拟机上,各数据参与方彼此之间执行数据对齐。对齐操作在虚拟机对应的隔离加密内存内进行,数据参与方无法直接获取对方对齐的直接数据,保护多方数据安全。
(7)各数据参与方通过虚拟机利用本地数据集训练模型,并加密更新迭代参数到central server。
(8)central server虚拟机上运行的模型聚合算法,收集各方发送过来的迭代参数,计算全局模型参数。若模型的收敛不符合预期,把新的模型参数更新到各数据参与方的local server,通知参与方继续训练。否则结束联邦学习,向各方发送最终聚合后的全局模型参数,完成联邦学习。
可以理解的是,在中心服务器和数据参与方交互数据的过程中,为了提高数据的安全性,可在数据发送前将数据进行加密,收到数据时再将其解密。
图7为本申请一实施例提高的联邦学习装置的结构示意图,如图7所示,本实施例的联邦学习装置,应用于中心服务器,可以包括:第一发送模块11,用于向数据参与方发送模型运行环境可执行镜像文件;其中,所述数据参与方为已向所述中心服务器注册的数据参与方,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;第二发送模块12,用于向所述数据参与方发送参与方人工智能训练模型,以使所述参与方人工智能训练模型在所述数据参与方本地运行;第一加载模块13,用于通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存;其中,所述第一虚拟机运行于所述中心服务器上,所述第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离;第一接收模块14,用于通过所述第一虚拟机接收所述数据参与方发送的中间迭代参数;所述中间迭代参数,由所述数据参与方利用本地数据集训练所述参与方人工智能训练模型得到;计算模块15,用于所述第一虚拟机根据所述中间迭代参数,计算全局模型参数,并基于所述全局模型参数判断所述全局人工智能训练模型的收敛是否符合预期值。
本实施例的装置,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本实施例的装置,通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存,由于第一虚拟机具有较高的安全性,且第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离,这样,能够提高全局人工智能训练模型的安全性,进一步地,通过第一虚拟机接收数据参与方发送的中间迭代参数,以及根据所述中间迭代参数计算全局模型参数并基于全局模型参数判断全局人工智能训练模型的收敛是否符合预期值,同样由于第一虚拟机具有较高的安全性,使得中间迭代参数以及根据中间迭代参数计算得到的全局模型参数的较为安全,避免了运行在中心服务器上的恶意程序通过探测训练过程中的数据特征,从而造成数据泄露,导致联邦学习过程中数据的安全性较低的问题。
作为一可选实施方式,所述第一加载模块,具体用于:通过第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型;其中,所述第一安全处理器为所述中心服务器的安全处理器;所述第一安全处理器根据所述第一数字签名信息,对解密后的全局人工智能训练模型进行验证;如果通过验证,则通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存。
作为一可选实施方式,所述装置还包括:接入操作执行模块,用于在所述第二发送模块向所述数据参与方发送参与方人工智能训练模型之前,执行数据参与方运行的执行环境的接入操作;第一认证操作执行模块,用于执行数据参与方对中心服务器运行的执行环境的认证操作,以及执行对数据参与方运行的执行环境的认证操作。
作为一可选实施方式,所述第一认证操作执行模块,具体用于:接收数据参与方发送的中心服务器执行环境认证请求;根据所述中心服务器执行环境认证请求,第一安全处理器生成第一认证报告,并将所述第一认证报告向所述数据参与方发送,以使第二安全处理器对所述第一认证报告进行验证;其中,所述第二安全处理器为所述数据参与方的安全处理器;和/或,所述第一认证操作执行模块,具体用于:向数据参与方发送的数据参与方执行环境认证请求,以使第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;其中,所述第二安全处理器为所述数据参与方的安全处理器;接收数据参与方返回的第二认证报告,通过所述第一安全处理器对所述第二认证报告进行验证。
上述实施例的装置,可以用于执行上述应用于中心服务器的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请又一实施例提高的联邦学习装置的结构示意图,如图8所示,本实施例的联邦学习装置,应用于数据参与方,包括:第二接收模块21,用于接收中心服务器发送的模型运行环境可执行镜像文件;其中,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;启动模块22,用于通过第二虚拟机启动所述模型运行环境可执行镜像文件;第三接收模块23,用于接收所述中心服务器发送的参与方人工智能训练模型;第二加载模块24,用于通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存;其中,所述第二虚拟机运行于所述数据参与方本地服务器上,所述第二安全隔离内存与所述数据参与方的CPU运行时所需的内存的运行环境相隔离;训练模块25,用于通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数;第三发送模块26,用于通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,以使所述中心服务器根据所述中间迭代参数,计算全局模型参数。
本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本实施例的装置,本实施例,通过第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存,由于第二虚拟机具有较高的安全性,且第二安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离,这样,能够提高参与方人工智能训练模型的安全性,进一步地,通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数,再通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,同样由于第二虚拟机具有较高的安全性,使得训练得到的中间迭代参数较为安全,避免了运行在数据参与方上的恶意程序通过探测训练过程中的数据特征,从而造成数据泄露,导致联邦学习过程中数据的安全性较低的问题。
作为一可选实施方式,所述第二加载模块,具体用于:通过第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型;所述第二安全处理器为所述数据参与方的安全处理器;所述第二安全处理器根据所述第二数字签名信息,对所述解密后的参与方人工智能训练模型进行验证;如果通过验证,则通过所述第二虚拟机加载解密后的参与方人工智能训练模型到第二安全隔离内存。
作为一可选实施方式,所述装置还包括:接入模块,用于在所述第三接收模块接收所述中心服务器发送的参与方人工智能训练模型之前,将本地运行的执行环境接入中心服务器;第二认证操作执行模块,用于执行对中心服务器运行的执行环境的认证操作,以及执行中心服务器对数据参与方本地运行的执行环境的认证操作。
作为一可选实施方式,所述第二认证操作执行模块,具体用于:向中心服务器发送执行环境认证请求;接收所述中心服务器发送的第一认证报告,并将所述第一认证报告发送给第二安全处理器,通过所述第二安全处理器对所述第一认证报告进行验证;和/或,所述执行中心服务器对数据参与方本地运行的执行环境的认证操作,具体用于:接收中心服务器发送的数据参与方执行环境认证请求;第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;将所述第二认证报告向所述中心服务器发送,以通过所述第一安全处理器对所述第二认证报告进行验证;其中,所述第一安全处理器为所述中心服务器的安全处理器。
作为一可选实施方式,所述数据参与方包括至少两个数据参与方;所述装置还包括:第四发送模块,用于所述训练模块通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型之前,所述至少两个数据参与方中的第一数据参与方,通过第二虚拟机发送第一特征信息;其中,所述第一特征信息为第一数据参与方本地的初始数据集的特征信息,所述第二虚拟机运行于所述第一数据参与方本地服务器上;第四接收模块,用于通过所述第二虚拟机接收其它各数据参与方分别发送的第二特征信息;其中,所述第二特征信息为其它每个数据参与方本地的初始数据集的特征信息;对齐模块,用于所述第二虚拟机根据所述第一特征信息和各第二特征信息,将所述第一数据参与方的第二安全隔离内存内的初始数据集进行特征对齐,得到用于对所述参与方人工智能训练模型进行训练的数据集。
上述实施例的装置,可以用于执行上述应用于数据参与方的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请的实施例还提供一种联邦学习系统,包括:中心服务器和数据参与方;其中,所述中心服务器用于执行应用于中心服务器的上述任一实施例所述的联邦学习方法,所述数据参与方用于执行应用于数据参与方的上述任一实施例所述的联邦学习方法。
图9为本申请一实施例提供的电子设备的结构示意图,可以包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板64安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为上述电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种联邦学习方法,因此也能实现相应的有益技术效果,前文已经进行了详细说明,此处不再赘述。
上述电子设备以多种形式存在,包括但不限于:
(1)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(2)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(3)其他具有数据交互功能的电子设备。
相应的,本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种联邦学习方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本申请时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种联邦学习方法,其特征在于,应用于中心服务器,包括:
向数据参与方发送模型运行环境可执行镜像文件;其中,所述数据参与方为已向所述中心服务器注册的数据参与方,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;
向所述数据参与方发送参与方人工智能训练模型,以使所述参与方人工智能训练模型在所述数据参与方本地运行;
通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存;其中,所述第一虚拟机运行于所述中心服务器上,所述第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离;
通过所述第一虚拟机接收所述数据参与方发送的中间迭代参数;所述中间迭代参数,由所述数据参与方利用本地数据集训练所述参与方人工智能训练模型得到;
所述第一虚拟机根据所述中间迭代参数,计算全局模型参数,并基于所述全局模型参数判断所述全局人工智能训练模型的收敛是否符合预期值。
2.根据权利要求1所述的方法,其特征在于,所述通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存,包括:
通过第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型;其中,所述第一安全处理器为所述中心服务器的安全处理器;
所述第一安全处理器根据所述第一数字签名信息,对解密后的全局人工智能训练模型进行验证;
如果通过验证,则通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存。
3.根据权利要求1所述的方法,其特征在于,在向所述数据参与方发送参与方人工智能训练模型之前,所述方法还包括:
执行数据参与方运行的执行环境的接入操作;
执行数据参与方对中心服务器运行的执行环境的认证操作,以及执行对数据参与方运行的执行环境的认证操作。
4.根据权利要求3所述的方法,其特征在于,所述执行数据参与方对中心服务器运行的执行环境的认证操作,包括:
接收数据参与方发送的中心服务器执行环境认证请求;
根据所述中心服务器执行环境认证请求,第一安全处理器生成第一认证报告,并将所述第一认证报告向所述数据参与方发送,以使第二安全处理器对所述第一认证报告进行验证;其中,所述第二安全处理器为所述数据参与方的安全处理器;
和/或,
所述执行对数据参与方运行的执行环境的认证操作,包括:
向数据参与方发送数据参与方执行环境认证请求,以使第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;其中,所述第二安全处理器为所述数据参与方的安全处理器;
接收数据参与方返回的第二认证报告,通过所述第一安全处理器对所述第二认证报告进行验证。
5.一种联邦学习方法,其特征在于,应用于数据参与方,包括:
接收中心服务器发送的模型运行环境可执行镜像文件;其中,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;
通过第二虚拟机启动所述模型运行环境可执行镜像文件;
接收所述中心服务器发送的参与方人工智能训练模型;
通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存;其中,所述第二虚拟机运行于所述数据参与方本地服务器上,所述第二安全隔离内存与所述数据参与方的CPU运行时所需的内存的运行环境相隔离;
通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数;
通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,以使所述中心服务器根据所述中间迭代参数,计算全局模型参数。
6.根据权利要求5所述的方法,其特征在于,所述通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存,包括:
通过第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型;所述第二安全处理器为所述数据参与方的安全处理器;
所述第二安全处理器根据所述第二数字签名信息,对所述解密后的参与方人工智能训练模型进行验证;
如果通过验证,则通过所述第二虚拟机加载解密后的参与方人工智能训练模型到第二安全隔离内存。
7.根据权利要求5所述的方法,其特征在于,在接收所述中心服务器发送的参与方人工智能训练模型之前,所述方法还包括:
将本地运行的执行环境接入中心服务器;
执行对中心服务器运行的执行环境的认证操作,以及执行中心服务器对数据参与方本地运行的执行环境的认证操作。
8.根据权利要求7所述的方法,其特征在于,所述执行对中心服务器运行的执行环境的认证操作,包括:
向中心服务器发送执行环境认证请求;
接收所述中心服务器发送的第一认证报告,并将所述第一认证报告发送给第二安全处理器,通过所述第二安全处理器对所述第一认证报告进行验证;
和/或,
所述执行中心服务器对数据参与方本地运行的执行环境的认证操作,包括:
接收中心服务器发送的数据参与方执行环境认证请求;
第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;
将所述第二认证报告向所述中心服务器发送,以通过第一安全处理器对所述第二认证报告进行验证;其中,所述第一安全处理器为所述中心服务器的安全处理器。
9.根据权利要求5所述的方法,其特征在于,所述数据参与方包括至少两个数据参与方;
通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型之前,所述方法还包括:
所述至少两个数据参与方中的第一数据参与方,通过第二虚拟机发送第一特征信息;其中,所述第一特征信息为所述第一数据参与方本地的初始数据集的特征信息,所述第二虚拟机运行于所述第一数据参与方本地服务器上;
通过所述第二虚拟机接收其它各数据参与方分别发送的第二特征信息;所述第二特征信息为其它每个数据参与方本地的初始数据集的特征信息;
所述第二虚拟机根据所述第一特征信息和各第二特征信息,将所述第一数据参与方的第二安全隔离内存内的初始数据集进行特征对齐,得到用于对所述参与方人工智能训练模型进行训练的数据集。
10.一种联邦学习装置,其特征在于,应用于中心服务器,包括:
第一发送模块,用于向数据参与方发送模型运行环境可执行镜像文件;其中,所述数据参与方为已向所述中心服务器注册的数据参与方,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;
第二发送模块,用于向所述数据参与方发送参与方人工智能训练模型,以使所述参与方人工智能训练模型在所述数据参与方本地运行;
第一加载模块,用于通过第一虚拟机加载全局人工智能训练模型到第一安全隔离内存;其中,所述第一虚拟机运行于所述中心服务器上,所述第一安全隔离内存与所述中心服务器的CPU运行时所需的内存的运行环境相隔离;
第一接收模块,用于通过所述第一虚拟机接收所述数据参与方发送的中间迭代参数;所述中间迭代参数,由所述数据参与方利用本地数据集训练所述参与方人工智能训练模型得到;
计算模块,用于所述第一虚拟机根据所述中间迭代参数,计算全局模型参数,并基于所述全局模型参数判断所述全局人工智能训练模型的收敛是否符合预期值。
11.根据权利要求10所述的装置,其特征在于,所述第一加载模块,具体用于:
通过第一安全处理器对全局人工智能训练模型进行解密,得到第一数字签名信息和解密后的全局人工智能训练模型;其中,所述第一安全处理器为所述中心服务器的安全处理器;
所述第一安全处理器根据所述第一数字签名信息,对解密后的全局人工智能训练模型进行验证;
如果通过验证,则通过第一虚拟机加载解密后的全局人工智能训练模型到第一安全隔离内存。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
接入操作执行模块,用于在所述第二发送模块向所述数据参与方发送参与方人工智能训练模型之前,执行数据参与方运行的执行环境的接入操作;
第一认证操作执行模块,用于执行数据参与方对中心服务器运行的执行环境的认证操作,以及执行对数据参与方运行的执行环境的认证操作。
13.根据权利要求12所述的装置,其特征在于,所述第一认证操作执行模块,具体用于:
接收数据参与方发送的中心服务器执行环境认证请求;
根据所述中心服务器执行环境认证请求,第一安全处理器生成第一认证报告,并将所述第一认证报告向所述数据参与方发送,以使第二安全处理器对所述第一认证报告进行验证;其中,所述第二安全处理器为所述数据参与方的安全处理器;
和/或,
所述第一认证操作执行模块,具体用于:
向数据参与方发送的数据参与方执行环境认证请求,以使第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;其中,所述第二安全处理器为所述数据参与方的安全处理器;
接收数据参与方返回的第二认证报告,通过所述第一安全处理器对所述第二认证报告进行验证。
14.一种联邦学习装置,其特征在于,应用于数据参与方,包括:
第二接收模块,用于接收中心服务器发送的模型运行环境可执行镜像文件;其中,所述模型运行环境可执行镜像文件为人工智能训练模型的运行环境可执行镜像文件;
启动模块,用于通过第二虚拟机启动所述模型运行环境可执行镜像文件;
第三接收模块,用于接收所述中心服务器发送的参与方人工智能训练模型;
第二加载模块,用于通过所述第二虚拟机加载所述参与方人工智能训练模型到第二安全隔离内存;其中,所述第二虚拟机运行于所述数据参与方本地服务器上,所述第二安全隔离内存与所述数据参与方的CPU运行时所需的内存的运行环境相隔离;
训练模块,用于通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型,得到中间迭代参数;
第三发送模块,用于通过所述第二虚拟机将所述中间迭代参数向所述中心服务器发送,以使所述中心服务器根据所述中间迭代参数,计算全局模型参数。
15.根据权利要求14所述的装置,其特征在于,所述第二加载模块,具体用于:
通过第二安全处理器对参与方人工智能训练模型进行解密,得到第二数字签名信息和解密后的参与方人工智能训练模型;所述第二安全处理器为所述数据参与方的安全处理器;
所述第二安全处理器根据所述第二数字签名信息,对所述解密后的参与方人工智能训练模型进行验证;
如果通过验证,则通过所述第二虚拟机加载解密后的参与方人工智能训练模型到第二安全隔离内存。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
接入模块,用于在所述第三接收模块接收所述中心服务器发送的参与方人工智能训练模型之前,将本地运行的执行环境接入中心服务器;
第二认证操作执行模块,用于执行对中心服务器运行的执行环境的认证操作,以及执行中心服务器对数据参与方本地运行的执行环境的认证操作。
17.根据权利要求16所述的装置,其特征在于,所述第二认证操作执行模块,具体用于:
向中心服务器发送执行环境认证请求;
接收所述中心服务器发送的第一认证报告,并将所述第一认证报告发送给第二安全处理器,通过所述第二安全处理器对所述第一认证报告进行验证;
和/或,
所述执行中心服务器对数据参与方本地运行的执行环境的认证操作,具体用于:
接收中心服务器发送的数据参与方执行环境认证请求;
第二安全处理器根据所述数据参与方执行环境认证请求,生成第二认证报告;
将所述第二认证报告向所述中心服务器发送,以通过第一安全处理器对所述第二认证报告进行验证;其中,所述第一安全处理器为所述中心服务器的安全处理器。
18.根据权利要求14所述的装置,其特征在于,所述数据参与方包括至少两个数据参与方;
所述装置还包括:
第四发送模块,用于所述训练模块通过所述第二虚拟机利用所述数据参与方本地的数据集,训练所述参与方人工智能训练模型之前,所述至少两个数据参与方中的第一数据参与方,通过第二虚拟机发送第一特征信息;其中,所述第一特征信息为第一数据参与方本地的初始数据集的特征信息,所述第二虚拟机运行于所述第一数据参与方本地服务器上;
第四接收模块,用于通过所述第二虚拟机接收其它各数据参与方分别发送的第二特征信息;其中,所述第二特征信息为其它每个数据参与方本地的初始数据集的特征信息;
对齐模块,用于所述第二虚拟机根据所述第一特征信息和各第二特征信息,将所述第一数据参与方的第二安全隔离内存内的初始数据集进行特征对齐,得到用于对所述参与方人工智能训练模型进行训练的数据集。
19.一种联邦学习系统,其特征在于,包括:中心服务器和数据参与方;其中,所述中心服务器用于执行上述权利要求1-4中任一项所述的联邦学习方法,所述数据参与方用于执行上述权利要求5-9中任一项所述的联邦学习方法。
20.一种电子设备,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;所述处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-4或5-9中任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1-4或5-9中任一项所述的方法。
CN202110722830.5A 2021-06-28 2021-06-28 一种联邦学习方法、装置及联邦学习系统 Active CN113487042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110722830.5A CN113487042B (zh) 2021-06-28 2021-06-28 一种联邦学习方法、装置及联邦学习系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110722830.5A CN113487042B (zh) 2021-06-28 2021-06-28 一种联邦学习方法、装置及联邦学习系统

Publications (2)

Publication Number Publication Date
CN113487042A CN113487042A (zh) 2021-10-08
CN113487042B true CN113487042B (zh) 2023-10-10

Family

ID=77936576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110722830.5A Active CN113487042B (zh) 2021-06-28 2021-06-28 一种联邦学习方法、装置及联邦学习系统

Country Status (1)

Country Link
CN (1) CN113487042B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961911A (zh) * 2021-10-19 2022-01-21 维沃移动通信有限公司 模型数据发送方法、模型数据整合方法及装置
CN114564724A (zh) * 2021-12-30 2022-05-31 海光信息技术股份有限公司 虚拟机内存完整性保护方法、装置、电子设备及存储介质
CN114580665B (zh) * 2022-03-15 2023-10-20 星环信息科技(上海)股份有限公司 一种联邦学习系统、方法、装置、设备及存储介质
CN114925361B (zh) * 2022-05-06 2023-04-18 北京航空航天大学 基于可信平台的嵌入式设备软件远程审计方法及装置
CN115277696B (zh) * 2022-07-13 2023-04-18 京信数据科技有限公司 一种跨网络联邦学习系统及方法
CN115987985B (zh) * 2022-12-22 2024-02-27 中国联合网络通信集团有限公司 模型协同构建方法、中心云、边缘节点及介质
CN117648998B (zh) * 2024-01-29 2024-04-26 西安电子科技大学 一种基于可信执行环境的大语言模型联邦预训练方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119302A (zh) * 2019-04-23 2019-08-13 上海隔镜信息科技有限公司 虚拟机监视器以及虚拟可信执行环境构建方法
CN110825492A (zh) * 2019-10-31 2020-02-21 海光信息技术有限公司 安全数据内存隔离方法、装置、设备、存储介质
CN110851785A (zh) * 2019-11-14 2020-02-28 深圳前海微众银行股份有限公司 纵向联邦学习优化方法、装置、设备及存储介质
CN111460511A (zh) * 2020-04-17 2020-07-28 支付宝(杭州)信息技术有限公司 基于隐私保护的联邦学习、虚拟对象分配方法和装置
CN111507481A (zh) * 2020-04-17 2020-08-07 腾讯科技(深圳)有限公司 一种联邦学习系统
CN111586000A (zh) * 2020-04-28 2020-08-25 北京物资学院 一种全代理同态重加密传输系统及其运行机制
CN111901294A (zh) * 2020-06-09 2020-11-06 北京迈格威科技有限公司 一种构建在线机器学习项目的方法及机器学习系统
CN111898137A (zh) * 2020-06-30 2020-11-06 深圳致星科技有限公司 一种联邦学习的隐私数据处理方法、设备及系统
CN111899076A (zh) * 2020-08-12 2020-11-06 科技谷(厦门)信息技术有限公司 一种基于联邦学习技术平台的航空服务定制化系统及方法
CN111931949A (zh) * 2019-05-13 2020-11-13 国际商业机器公司 联邦学习环境中的通信
CN112580821A (zh) * 2020-12-10 2021-03-30 深圳前海微众银行股份有限公司 一种联邦学习方法、装置、设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119302A (zh) * 2019-04-23 2019-08-13 上海隔镜信息科技有限公司 虚拟机监视器以及虚拟可信执行环境构建方法
CN111931949A (zh) * 2019-05-13 2020-11-13 国际商业机器公司 联邦学习环境中的通信
CN110825492A (zh) * 2019-10-31 2020-02-21 海光信息技术有限公司 安全数据内存隔离方法、装置、设备、存储介质
CN110851785A (zh) * 2019-11-14 2020-02-28 深圳前海微众银行股份有限公司 纵向联邦学习优化方法、装置、设备及存储介质
CN111460511A (zh) * 2020-04-17 2020-07-28 支付宝(杭州)信息技术有限公司 基于隐私保护的联邦学习、虚拟对象分配方法和装置
CN111507481A (zh) * 2020-04-17 2020-08-07 腾讯科技(深圳)有限公司 一种联邦学习系统
CN111586000A (zh) * 2020-04-28 2020-08-25 北京物资学院 一种全代理同态重加密传输系统及其运行机制
CN111901294A (zh) * 2020-06-09 2020-11-06 北京迈格威科技有限公司 一种构建在线机器学习项目的方法及机器学习系统
CN111898137A (zh) * 2020-06-30 2020-11-06 深圳致星科技有限公司 一种联邦学习的隐私数据处理方法、设备及系统
CN111899076A (zh) * 2020-08-12 2020-11-06 科技谷(厦门)信息技术有限公司 一种基于联邦学习技术平台的航空服务定制化系统及方法
CN112580821A (zh) * 2020-12-10 2021-03-30 深圳前海微众银行股份有限公司 一种联邦学习方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113487042A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
CN113487042B (zh) 一种联邦学习方法、装置及联邦学习系统
CN111914027B (zh) 一种区块链交易关键字可搜索加密方法及系统
CN110086608B (zh) 用户认证方法、装置、计算机设备及计算机可读存储介质
CN109196816B (zh) 使用区块链的公钥基础结构
CN109067801B (zh) 一种身份认证方法、身份认证装置及计算机可读介质
EP3005641B1 (en) Certificating authority trust evaluation
US9276752B2 (en) System and method for secure software update
KR100823738B1 (ko) 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
CN111886828B (zh) 基于共识的在线认证
CN110874494B (zh) 密码运算处理方法、装置、系统及度量信任链构建方法
CN104715187A (zh) 用于认证电子通信系统中的节点的方法和装置
CN111242617A (zh) 用于执行交易正确性验证的方法及装置
Jung et al. An improved and secure anonymous biometric-based user authentication with key agreement scheme for the integrated EPR information system
US9940446B2 (en) Anti-piracy protection for software
US20140282834A1 (en) Managing exchanges of sensitive data
US20190288833A1 (en) System and Method for Securing Private Keys Behind a Biometric Authentication Gateway
CN113708935A (zh) 基于区块链和puf的物联网设备统一认证方法及系统
CN113747426B (zh) 数据审计方法及系统、电子设备、存储介质
US11823194B2 (en) Decentralized biometric authentication platform
CN113890768A (zh) 设备认证方法和系统、物联网设备和认证服务器
CN113205342A (zh) 基于多端支付的用户身份验证方法及装置
Rani et al. Design of blockchain-based authentication and key agreement protocol for health data sharing in cooperative hospital network
CN112422534B (zh) 电子证书的信用评估方法以及设备
CN115514492A (zh) Bios固件验证方法、装置、服务器、存储介质和程序产品
CN106533685B (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