CN113689005A - 一种增强型横向联邦学习方法和装置 - Google Patents
一种增强型横向联邦学习方法和装置 Download PDFInfo
- Publication number
- CN113689005A CN113689005A CN202111047500.7A CN202111047500A CN113689005A CN 113689005 A CN113689005 A CN 113689005A CN 202111047500 A CN202111047500 A CN 202111047500A CN 113689005 A CN113689005 A CN 113689005A
- Authority
- CN
- China
- Prior art keywords
- application program
- data
- model
- training
- user
- 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.)
- Pending
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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种增强型横向联邦学习方法,包括:应用程序向用户申请用于访问非必要用户数据的联邦学习数据访问权限;在联邦学习数据访问权限下,非必要用户数据与应用程序隔离,应用程序调用统一的联邦学习服务(UnifiedFED),UnifiedFED获取非必要用户数据,并从应用程序接收必要用户数据,将所述非必要用户数据和必要用户数据提供给模型进行横向联邦学习训练。本申请还公开了一种对应的增强型横向联邦学习装置。应用本申请公开的技术方案,能够实现严格分离应用程序和用户数据。
Description
技术领域
本申请涉及隐私保护技术领域,特别涉及一种增强型横向联邦学习方法和装置。
背景技术
随着互联网的发展,手机、IOT等终端设备的普及,人们享受现代生活便利的同时,用户数据被各种应用程序采集,隐私泄露日益严重。大数据时代,很多应用程序依赖大量的各种各样的用户数据,训练自己的AI模型,优化自己的服务。这些用户数据,有些是应用程序提供服务所必要的,而有些则是不必要的。那些对应用程序必要的用户数据,有些时候因为涉及到用户隐私,也可以在本地处理而无需上传到云端服务器。
为了遏制和解决隐私泄露问题,政府制定了更加严格的隐私保护法规(如GPDR);人们也在研究新的方法,以实现既可以利用用户数据训练和使用AI模型,又可以保护用户隐私,联邦学习(Federated Learning)就是在这种背景下诞生的。
2016年,谷歌研究院为了解决面向个体用户的键盘输入法优化问题而第一次提出了联邦学习的概念。联邦学习技术的要点包括:
1、全球模型;
2、将用户数据安全地保存在本地。
例如:用户键盘输入的内容无需上传服务器,在本地通过分布式服务即可完成模型的训练和预测。自谷歌提出联邦学习的概念以来,这一技术领域迅速发展,Google推出了Tensorflow Federated Framework。腾讯微众银行开源了FATE联邦学习系统。2019年,苹果iOS 13在QuickType Keyboard、Siri个性化自动语音识别等功能都使用了联邦学习技术。2020年,IEEE批准了第一个联邦学习的国际标准IEEE 3652.1-2020。
联邦学习又名联合学习、联盟学习。联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习各方不直接交换数据,可以在很大程度上保护用户隐私。
联邦学习可以分为:横向联邦学习、纵向联邦学习和联邦迁移学习。图1为联邦学习技术的分类示意图,下面参见图1对上述三种联邦学习技术分别予以说明。
一、横向联邦学习
1)学习过程
a.参与方各自从服务器A下载最新模型;
b.每个参与方利用本地数据训练模型,将梯度加密后上传给服务器A,服务器A聚合用户的梯度,更新模型参数;
c.服务器A返回更新后的模型给各参与方;
d.各参与方分别更新各自模型。
2)预测过程
每台机器下都是相同且完整的模型,在预测时每台机器可以独立预测。
二、纵向联邦学习
图2为纵向联邦学习的原理示意图,下面结合图2进行说明。
1)学习过程
a.加密样本对齐;该操作在系统级进行,因此在企业感知层面(例如:如图所示企业A和企业B)不会暴露非交叉用户;
b.由第三方(如图所示协作者C)向A和B分发公钥,用来加密需要传输的数据;
c.A和B分别计算与自己相关的特征中间结果,并加密交互,用来求得各自的梯度和损失;
d.A和B分别计算各自加密后的梯度,并添加掩码分别发送给协作者C,同时,A和B计算加密后的损失发送给C;
e.C解密梯度和损失后回传给A和B,A、B去除掩码并更新模型预测过程。
2)预测过程
由于各参与方只能得到与自己相关的模型参数,预测时需要双方协作完成。
本申请的发明人通过分析现有技术,发现现有技术存在以下问题:
1.目前手机/IOT等设备端的联邦学习,并没有实现应用程序和数据的彻底分离,具体体现在:
1)应用程序通过申请对应的数据权限,依然可以访问用户数据。
2)应用程序依靠自我约束以及受限于隐私法规,不上传用户隐私数据而在本地处理。
3)应用程序如何使用数据并不透明。用户知道应用程序拥有数据,但是不知道应用程序是如何使用数据的,这客观上阻碍了应用程序获取某些用户信息的权限。比如,某电商应用程序申请读取用户通讯录,就很可能被用户拒绝。
2.大数据和AI算法流行的时代,应用程序对用户数据的渴求是无限的,但隐私法规和用户接受程度,又不允许应用程序无限制地获取不必要的数据,两者在客观上存在矛盾。因而,需要寻找解决方案,以使得应用程序能够在不获取用户数据的情况下也能得到好的AI模型。
3.联邦学习任务计算量大,消耗大量CPU和GPU资源,也非常耗电。另外,考虑未来可能有多个联邦学习任务(task)在设备端同时运行,设备端需要一个统一的系统级的服务,来优化和管理所有的任务。
发明内容
本申请提供了一种增强型横向联邦学习方法和装置,以实现严格分离应用程序和用户数据。
本申请公开了一种增强型横向联邦学习方法,包括:
应用程序向用户申请用于访问非必要用户数据的联邦学习数据访问权限;
在联邦学习数据访问权限下,非必要用户数据与应用程序隔离,应用程序调用统一的联邦学习服务(UnifiedFED),所述UnifiedFED获取非必要用户数据,并从应用程序接收必要用户数据,将所述非必要用户数据和必要用户数据提供给模型进行横向联邦学习训练;其中,所述UnifiedFED是一个可信的服务,用于进行横向联邦学习。
较佳的,在应用程序调用UnifiedFED时,UnifiedFED对应用程序进行权限管理,所述权限管理具体包括:
查看应用程序的数据访问权限;
判断应用程序是否拥有联邦学习数据访问权限,如果有,则结束权限管理过程,继续执行所述UnifiedFED获取非必要用户数据;否则,向用户申请联邦学习数据访问权限;
如果用户选择仅本次允许,则结束权限管理过程,继续执行所述UnifiedFED获取非必要用户数据;
如果用户选择总是允许,则授予应用程序联邦学习数据访问权限,并在权限管理中增加相应的记录,继续执行所述UnifiedFED获取非必要用户数据;
如果用户选择不允许,则拒绝授权。
较佳的,在所述UnifiedFED获取非必要用户数据时,还包括获取应用程序自有数据和模型,并按照用户设置和应用程序调用UnifiedFED时传递的参数对所获取的数据进行预处理。
较佳的,在UnifiedFED将数据提供给模型进行横向联邦学习训练之前,还包括:UnifiedFED对训练任务进行调度,所述调度具体包括:
UnifiedFED判断是立即执行训练任务还是异步执行训练任务;
如果是立即执行训练任务,则在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型;在当前设备状态不满足条件时,通知应用程序请求被拒绝,应用程序通知云服务器选择其他设备进行模型训练;
如果是异步执行训练任务,则周期性检查当前设备状态,并在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型。
较佳的,所述UnifiedFED根据以下因素的至少一种判断当前设备状态是否满足条件:
任务类型、模型的大小、需要训练的参数数量、设备CPU/GPU/电池/网络使用的状况、需要训练的数据量、用户设置;
其中,任务类型包括:预测任务和训练任务,预测任务的优先级高于训练任务;
模型的大小、需要训练的参数数量、需要训练的数据量用于估算训练所需的时间。
本申请还提供了一种增强型横向联邦学习装置,该装置架构在公共联邦学习框架的基础上,至少包括:应用程序编程接口模块、权限管理模块、任务调度器、联邦学习框架层接口模块,其中:
所述应用程序编程接口模块,用于与应用程序进行交互;
所述权限管理模块,用于在收到应用程序的调度时,判断所述应用程序是否拥有访问非必要用户数据的联邦学习数据访问权限,在应用程序拥有访问非必要用户数据的联邦学习数据访问权限时,通知任务调度器;
所述任务调度器,用于根据所述权限管理模块的通知,获取非必要用户数据,并从应用程序接收必要用户数据,将所述非必要用户数据和必要用户数据通过所述联邦学习框架层接口模块提供给模型进行横向联邦学习训练;
在所述联邦学习数据访问权限下,非必要用户数据与应用程序隔离。
较佳的,所述权限管理模块具体用于:
查看应用程序的数据访问权限;
判断应用程序是否拥有联邦学习数据访问权限,如果有,则通知所述任务调度器应用程序拥有联邦学习数据访问权限;否则,通知应用程序向用户申请联邦学习数据访问权限;
如果用户选择仅本次允许,则通知所述任务调度器应用程序拥有联邦学习数据访问权限;
如果用户选择总是允许,则授予应用程序联邦学习数据访问权限,并在权限管理中增加相应的记录,通知所述任务调度器应用程序拥有联邦学习数据访问权限;
如果用户选择不允许,则拒绝授权。
较佳的,所述装置中还包括数据预处理模;
所述数据预处理模块,用于按照用户设置和应用程序调用UnifiedFED时传递的参数对用户数据进行预处理;所述用户数据包括所述获取的非必要用户数据以及应用程序自有数据。
较佳的,所述任务调度器具体用于:
判断是立即执行训练任务还是异步执行训练任务;
如果是立即执行训练任务,则在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型;在当前设备状态不满足条件时,通知应用程序请求被拒绝,应用程序通知云服务器选择其他设备进行模型训练;
如果是异步执行训练任务,则周期性检查当前设备状态,并在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型;
其中,所述设备是指应用或包含了本装置的用户设备。
较佳的,所述任务调度器根据以下因素的至少一种判断当前设备状态是否满足条件:
任务类型、模型的大小、需要训练的参数数量、设备CPU/GPU/电池/网络使用的状况、需要训练的数据量、用户设置;
其中,任务类型包括:预测任务和训练任务,预测任务的优先级高于训练任务;
模型的大小、需要训练的参数数量、需要训练的数据量用于估算训练所需的时间。
由上述技术方案可见,本申请提供的增强型横向联邦学习方法和装置,通过引入一种新的专用于联邦学习的数据访问权限:联邦学习数据访问权限,并且在联邦学习数据访问权限下,数据的访问以及与模型的交互均由UnifiedFED完成,应用程序无法获知数据内容,实现了严格隔离应用程序和用户数据,提高了用户隐私数据的使用安全性。
其次,本申请通过联邦学习数据访问权限可以在横向联邦学习的基础上引入用户新的特征(即:用户隐私数据)进行训练,使得训练得到的模型不仅具备横向联邦学习的优点,还拥有了纵向联邦学习中特征联合的优点。
此外,本申请通过对应用程序的申请进行调度管理,根据用户设置以及系统CPU/GPU/电池/网络使用的状况调度多个不同应用程序的申请,能够更加智能和省电。
在上述方案的基础上,本申请通过定义公共数据预处理函数,能够支持对数据进行预处理,用于模型训练或预测。
附图说明
图1为联邦学习技术的分类示意图;
图2为纵向联邦学习的原理示意图;
图3为本申请增强型横向联邦学习技术的原理示意图;
图4为本申请一较佳增强型横向联邦学习装置的模块组成示意图
图5为本申请一较佳权限管理模块进行权限管理的过程示意图;
图6为本申请一较佳数据预处理模块进行数据预处理的过程示意图;
图7为本申请一较佳任务调度器进行任务调度的示意图;
图8为本申请实施例一应用程序申请联邦学习数据访问权限的过程示意图;
图9为本申请实施例二模型训练过程的示意图;
图10为本申请实施例三模型预测过程的示意图;
图11是采用本申请前后的对比示意图;
图12是本申请一典型应用场景的示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
为解决现有技术所存在的问题,本申请在现有横向联邦学习技术的基础上提出一种新的技术方案,在后续描述过程中,称之为:统一的联邦学习服务(UnifiedFED),其技术要点如下:
1.设置一种新的专用于联邦学习的数据访问权限:联邦学习数据访问权限。
联邦学习数据访问权限不同于普通数据访问权限,应用程序可以申请联邦学习数据访问权限。在普通数据访问权限下,数据将直接提供给应用程序;而在联邦学习数据访问权限下,数据的访问以及与模型的交互由UnifiedFED完成,应用程序无法获知数据内容。采用这种方法,能够隔离应用程序和用户数据,因而,针对用户隐私数据,用户可以对应用程序授权该权限,从而保证隔离应用程序与用户隐私数据,提高用户隐私数据的使用安全性。
2.在联邦学习数据访问权限的基础上,实现“增强型横向联邦学习”(EnhancedHorizontal Federated Learning)。
通过联邦学习数据访问权限可以使UnifiedFED获取用户隐私数据,从而可以在横向联邦学习的基础上引入用户新的特征(即:用户隐私数据)进行训练,继而实现了一种增强型横向联邦学习技术,该技术不仅具备横向联邦学习的优点,还拥有了纵向联邦学习中特征联合的优点。
3.通过对应用程序的申请进行调度管理,根据用户设置以及系统CPU/GPU/电池/网络使用的状况调度多个不同应用程序的申请,从而更加智能和省电。
4.由于应用程序不能直接访问并修改数据,本申请通过定义一些公共数据预处理函数,以支持对数据进行预处理,用于模型训练或预测。
5.引入激励机制,鼓励用户参与进行模型训练,合理评价每个参与者的贡献,并给与某种形式的激励。
本申请上述技术方案的可行性论证:如果横向联邦学习和纵向联邦学习能够确保用户数据安全而且不违反隐私条例,那么,本申请增强型横向联邦学习在绝大部分情况下也满足既确保用户数据安全且不违反隐私条例的条件。具体而言:
1)本申请增强型横向联邦学习,在通用联邦学习框架(Common FederatedLearning Framework)层使用与横向联邦学习相同的框架,确保数据安全。
2)如果一个企业得到的用户数据可以通过纵向联邦学习与其它企业联合训练AI模型且不违反用户隐私条例,那么,直接向用户申请“联邦学习数据访问权限”的UnifiedFED也不违反隐私条例。
3)本申请与普通横向联邦学习的不同之处在于:引入了用户隐私数据加入训练。只需保证这些数据的安全即可。本申请通过UnifiedFED严格隔离应用程序和用户隐私数据,AI模型喂数据、训练和预测都由UnifiedFED来完成。
以上对本申请技术方案的技术要点和可行性分析进行了说明,下面结合附图对本申请技术方案的具体实施进行进一步详细说明。
图3为本申请增强型横向联邦学习技术的原理示意图,参见图3:
应用程序(例如:图中的App A)的代码逻辑向用户申请用于访问必要用户数据的普通数据访问权限,以及用于访问非必要用户数据的联邦学习数据访问权限;其中,非必要用户数据即对应于用户隐私数据;
必要用户数据由应用程序直接访问;
非必要用户数据(如图所示,也可称为:非必要仅用于联邦学习的数据)与应用程序隔离,应用程序调用UnifiedFED,非必要用户数据不经过应用程序而被直接传到UnifiedFED,此外,UnifiedFED还可以接收应用程序主动发送的必要用户数据,并将获取到的非必要用户数据和/或必要用户数据提供给模型进行横向联邦学习训练。
UnifiedFED可以根据设备状态和用户设置调度多个联邦学习任务,并且,可以预定义一些数据预处理函数以支持对数据进行预处理,并可以引入用户激励机制。
图4为本申请一较佳增强型横向联邦学习装置的模块组成示意图,其对应于如前所述的UnifiedFED,架构在通用联邦学习框架(Common Federated Learning Framework)层的基础上,可以包括以下模块:应用程序编程接口(App Interface)模块、状态跟踪器(Status Monitor)、用户设置(User Setting)模块、安全检查(Security Check)模块、权限管理(Rights Management)模块、任务调度器(Task Scheduler)、数据预处理(DataProcessing)模块、激励机制(Incentive Mechanism)模块和联邦学习框架层接口(Federated Learning Framework Interface)模块。下面结合附图各个模块进行说明。
图5为本申请一较佳权限管理模块进行权限管理的过程示意图,参见图5,包括以下步骤:
第1步:应用程序调用UnifiedFED,申请特定的非必要仅用于联邦学习数据的使用权限,即如前所述的非必要用户数据/用户隐私数据。
第2步:查看应用程序的数据访问权限。
第3步:判断应用程序是否拥有联邦学习数据访问权限,如果有,则跳到第7步,否则,继续执行第4步。
第4步:向用户申请联邦学习数据访问权限。
第5步:如果用户选择a)仅本次允许,则跳到第7步;
如果用户选择b)总是允许,则继续执行第6步;
如果用户选择c)不允许,则拒绝授权,并结束本流程。
第6步:授予应用程序指定的联邦学习数据访问权限,并在权限管理模块中增加相应的记录。
第7步:继续执行后续的处理流程。
图6为本申请一较佳数据预处理模块进行数据预处理的过程示意图,参见图6,包括以下步骤:
第1步:在权限管理模块对应用程序的联邦学习数据访问权限检查通过后,进入第2步。
第2步:UnifiedFED获取非必要仅用于联邦学习的数据,即:非必要用户数据。
第3步:UnifiedFED获取应用程序自有数据和模型。
第4步:按照用户设置和应用程序调用UnifiedFED时传递的参数进行数据预处理。
第5步:预处理之后的数据被放到模型中用于训练或预测,即:向模型喂数据(即:向模型提供数据)。
在上述数据预处理过程中,用户隐私数据严格独立于应用程序,这些用户数据的访问以及与模型的交互由UnifiedFED完成,应用程序不知道数据的内容,安全性更高。并且,用户还可以通过用户设置(User Setting)指定某些隐私数据暴露的粒度。比如,对于家庭住址信息,默认只提供到所在社区级别而不精确到门牌号。
应用程序自己拥有的AI模型和数据,可以通过共享内存或其他方式传到UnifiedFED,由UnifiedFED统一提供数据给模型。
图7为本申请一较佳任务调度器进行任务调度的示意图,参见图7,包括以下步骤:
步骤1:应用程序向UnifiedFED注册以请求进行模型训练。
每个应用程序向UnifiedFED注册联邦学习任务(即训练模型),这些联邦学习任务以“task”的形式存在。
步骤2:判断是立即执行任务还是异步执行任务,如果立即执行,则继续执行步骤3.a;如果是异步执行,则继续执行步骤3.b。
步骤3.a:任务调度器检查当前设备状态。
步骤4.a:判断当前设备状态是否满足条件,如果满足,则跳到步骤4.b;否则,继续执行步骤5.a。
任务调度器负责调度所有联邦学习任务的运行。任务调度器在进行调度时,需要判断当前设备状态是否满足条件,考虑的因素可以包括:任务类型、模型的大小、需要训练的参数数量、设备CPU/GPU/电池/网络使用的状况、需要训练的数据量、用户设置等等。其中:
任务类型包括预测(predict)和训练(train)两种,预测任务的优先级高于训练任务。
根据模型的大小、参数数量、设备状况等可以估算出训练所需要的时间。
模型训练是非常消耗资源的,用户通过用户设置可以设置一些规则。比如,为了减少网络流量费用可以设置:只在WIFI连接时训练;为了减少电量的消耗,只在电量大于设定阈值时、或者在充电状态下、或者在指定时间段才参与模型训练;为了不影响其它应用程序,可以指定只在设备空闲时才进行模型训练。
应用程序可以提供物质激励,以鼓励用户参与模型训练。任务调度器也可以通过专门的激励机制模块保证不同用户的贡献、数据质量和用户的收益是公平的。
步骤5.a:通知应用程序请求被拒绝,随后应用程序通知服务器选择其他设备进行模型训练,结束本流程。
步骤3.b:任务调度器周期性检查当前设备状态,在当前设备状态条件满足时,通知注册的应用程序设备就绪,设备可以进行模型训练了。
步骤4.b:应用程序通知云服务器本设备可以进行模型训练,如果云服务器选中本身,则从云端下载模型到本地,并开始训练。其中,下载模型的操作也可以提前在步骤1、2、3进行。
安全检查模块:
安全性对联邦学习来说是重中之重,本申请提供的技术方案中,首先由独立于UnifiedFED的Common Federated Learning Framework来确保。Common FederatedLearning Framework能够抵御常见的安全性攻击,具体包括:
a.模型提取攻击:攻击者试图窃取模型的参数和超参数,破坏模型的保密性;
b.模型逆向攻击:攻击者试图从训练完成的模型中获取训练数据集的信息,从而获取用户的隐私信息;
c.中毒攻击、对抗攻击等等。
在此基础上,UnifiedFED中的安全检查模块在安全性方面进行增强,主要包括:扩展应用商店中对上架APK的安全检查以及本地APK的安全检查,对申请联邦学习数据访问权限的应用程序,以及对用来训练和预测的AI模型和代码做安全检查。业界对于APK安全检查方法已经有一些研究和实践。
对其他模块的简要说明:
激励机制模块:设计相对公平的利益分配方案,评估每个节点在模型训练中的贡献,保证不同用户的贡献、数据质量和用户的收益是公平的。具体的激励机制设计方案,业界已经有一些相关的研究,在此不再赘述。
状态跟踪器:监控并管理UnifiedFED运行中的任务,可以手动停止某些任务。
应用程序编程接口:提供给应用程序调用的接口API。
联邦学习框架层接口模块:用于与公共联邦学习框架进行交互。
下面结合附图,并举具体实施例对本申请技术方案的实施作进一步详细说明。
实施例一:
本实施例对应用程序申请联邦学习数据访问权限的过程进行说明,该过程如图8所示,其中:
步骤1:应用程序申请特定的联邦学习数据访问权限,UnifiedFED中的权限管理模块受理该申请。
步骤2:UnifiedFED中的权限管理模块弹出UI界面向用户申请联邦学习数据访问权限,用户可以选择不授权、仅授权一次、或者总是允许。
步骤3:用户做出授权选择,用户选择的结果被保存到权限管理模块。
权限申请通常发生在应用程序以APK等形式安装时,或者在应用程序运行与用户交互的时候。
联邦学习实际的训练过程一般发生在系统空闲的时候,而此时用户很可能没有看手机,因此,也不会响应应用程序的权限申请请求,所以通常情况下,应用程序不会等到训练的时候才去申请权限。
实施例二:
图9为本申请实施例二模型训练过程的示意图,参见图9,模型训练过程包括:
步骤1:云端服务器向应用程序发送请求,要求进行模型训练。
步骤2:应用程序发送请求给本设备的UnifiedFED,询问是否准备好进行训练。
步骤3:在检查完应用程序的联邦学习数据访问权限和装置状态后,任务调度器通知UnifiedFED已准备好进行训练或者不可以进行训练。
步骤4:应用程序通知云端服务器已准备好进行训练。
步骤5:云端服务器在候选训练设备列表中选择并通知本设备参加训练。
步骤6:应用程序调用UnifiedFED应用程序编程接口,训练模型,并传递参数。
步骤7.1:云端服务器将模型共享到用户设备。
步骤7.2:UnifiedFED获取到授权的联邦学习用户数据。
步骤7.3:应用程序自有数据被传递给UnifiedFED。
上述步骤7.1~7.3可以同时或按照其他顺序进行,不区分先后次序。
步骤8:训练任务被调度执行。
步骤9:UnifiedFED向云端服务器发送梯度。
步骤10:云端服务器对各设备发回的训练结果进行安全聚合。
步骤11:云端服务器向UnifiedFED发回更新的模型。
图9所示过程中,在模型训练之前,云端服务器有一个候选设备选择(candidateselection)过程。例如,服务器可能会向10000台设备发出训练请求,有5000台设备同意,但最后服务器可能只选择其中的3000台设备参加模型训练。
模型训练可能在一轮或者多轮内完成,因此,步骤9,10,11可能会重复执行多轮。
实施例三:
图10为本申请实施例三模型预测过程的示意图,参见图10,包括以下步骤:
步骤1:应用程序调用UnifiedFED API以获取特定模型预测结果。
步骤2.1:如果本地模型需要更新,UnifiedFED从云端服务器下载最新的模型。考虑到模型下载的时间比较长,本步骤中模型下载的过程可以利用预加载机制在应用程序运行时提前完成,而无需在使用时才下载。
步骤2.2:应用程序将自有数据共享给UnifiedFED。
步骤2.3:UnifiedFED获取授权的联邦学习用户数据。
上述步骤2.1~2.3可以同时或按照其他顺序进行,不区分先后次序。
步骤3:应用程序的模型预测任务被调度执行,执行完毕后返回结果。
步骤4:UnifiedFED向应用程序返回预测结果。
由于模型预测需要立即得到结果,因此,模型预测任务的优先级最高。如果此时其它模型正在训练,占用了资源,该其它模型将被暂停或中止。
本申请技术方案的应用场景举例:
应用场景一:
图11是采用本申请前后的对比示意图。通过采用本申请,用户允许应用程序A使用某些非应用程序运行必要的用户数据的联邦学习数据访问权限,应用程序A结合自有数据以及非必要用户数据,训练得到更好的AI模型。
应用场景二:
图12是本申请一典型应用场景的示意图。参见图12,包括:
步骤1:UnifiedFED读取用户设置。
举例而言,用户设置样例如下:
网络状况设置为:仅当WIFI连接时运行;
电池状况设置为:当充电或电池电量大于80%时;
训练允许的时间范围设置为:23:00-06:00。
步骤2:UnifiedFED监控系统CPU/GPU/电池/网络使用状况。
步骤3:UnifiedFED根据用户设置以及系统CPU/GPU/电池/网络使用状况调度所有的联邦学习任务,确保在不干扰用户正常使用设备的同时完成联邦学习模型训练任务。
步骤4:在设备完成训练时,对贡献进行评估并给与适当的激励。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种增强型横向联邦学习方法,其特征在于,包括:
应用程序向用户申请用于访问非必要用户数据的联邦学习数据访问权限;
在联邦学习数据访问权限下,非必要用户数据与应用程序隔离,应用程序调用统一的联邦学习服务(UnifiedFED),所述UnifiedFED获取非必要用户数据,并从应用程序接收必要用户数据,将所述非必要用户数据和必要用户数据提供给模型进行横向联邦学习训练;其中,所述UnifiedFED是一个可信的服务,用于进行横向联邦学习。
2.根据权利要求1所述的方法,其特征在于:
在应用程序调用UnifiedFED时,UnifiedFED对应用程序进行权限管理,所述权限管理具体包括:
查看应用程序的数据访问权限;
判断应用程序是否拥有联邦学习数据访问权限,如果有,则结束权限管理过程,继续执行所述UnifiedFED获取非必要用户数据;否则,向用户申请联邦学习数据访问权限;
如果用户选择仅本次允许,则结束权限管理过程,继续执行所述UnifiedFED获取非必要用户数据;
如果用户选择总是允许,则授予应用程序联邦学习数据访问权限,并在权限管理中增加相应的记录,继续执行所述UnifiedFED获取非必要用户数据;
如果用户选择不允许,则拒绝授权。
3.根据权利要求2所述的方法,其特征在于:
在所述UnifiedFED获取非必要用户数据时,还包括获取应用程序自有数据和模型,并按照用户设置和应用程序调用UnifiedFED时传递的参数对所获取的数据进行预处理。
4.根据权利要求3所述的方法,其特征在于,在UnifiedFED将数据提供给模型进行横向联邦学习训练之前,还包括:UnifiedFED对训练任务进行调度,所述调度具体包括:
UnifiedFED判断是立即执行训练任务还是异步执行训练任务;
如果是立即执行训练任务,则在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型;在当前设备状态不满足条件时,通知应用程序请求被拒绝,应用程序通知云服务器选择其他设备进行模型训练;
如果是异步执行训练任务,则周期性检查当前设备状态,并在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型。
5.根据权利要求4所述的方法,其特征在于,所述UnifiedFED根据以下因素的至少一种判断当前设备状态是否满足条件:
任务类型、模型的大小、需要训练的参数数量、设备CPU/GPU/电池/网络使用的状况、需要训练的数据量、用户设置;
其中,任务类型包括:预测任务和训练任务,预测任务的优先级高于训练任务;
模型的大小、需要训练的参数数量、需要训练的数据量用于估算训练所需的时间。
6.一种增强型横向联邦学习装置,其特征在于,该装置架构在公共联邦学习框架的基础上,至少包括:应用程序编程接口模块、权限管理模块、任务调度器、联邦学习框架层接口模块,其中:
所述应用程序编程接口模块,用于与应用程序进行交互;
所述权限管理模块,用于在收到应用程序的调度时,判断所述应用程序是否拥有访问非必要用户数据的联邦学习数据访问权限,在应用程序拥有访问非必要用户数据的联邦学习数据访问权限时,通知任务调度器;
所述任务调度器,用于根据所述权限管理模块的通知,获取非必要用户数据,并从应用程序接收必要用户数据,将所述非必要用户数据和必要用户数据通过所述联邦学习框架层接口模块提供给模型进行横向联邦学习训练;
在所述联邦学习数据访问权限下,非必要用户数据与应用程序隔离。
7.根据权利要求6所述的装置,其特征在于,所述权限管理模块具体用于:
查看应用程序的数据访问权限;
判断应用程序是否拥有联邦学习数据访问权限,如果有,则通知所述任务调度器应用程序拥有联邦学习数据访问权限;否则,通知应用程序向用户申请联邦学习数据访问权限;
如果用户选择仅本次允许,则通知所述任务调度器应用程序拥有联邦学习数据访问权限;
如果用户选择总是允许,则授予应用程序联邦学习数据访问权限,并在权限管理中增加相应的记录,通知所述任务调度器应用程序拥有联邦学习数据访问权限;
如果用户选择不允许,则拒绝授权。
8.根据权利要求7所述的装置,其特征在于,所述装置中还包括数据预处理模;
所述数据预处理模块,用于按照用户设置和应用程序调用UnifiedFED时传递的参数对用户数据进行预处理;所述用户数据包括所述获取的非必要用户数据以及应用程序自有数据。
9.根据权利要求8所述的装置,其特征在于,所述任务调度器具体用于:
判断是立即执行训练任务还是异步执行训练任务;
如果是立即执行训练任务,则在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型;在当前设备状态不满足条件时,通知应用程序请求被拒绝,应用程序通知云服务器选择其他设备进行模型训练;
如果是异步执行训练任务,则周期性检查当前设备状态,并在当前设备状态满足条件时,通知应用程序可以进行模型训练,应用程序通知云服务器本设备可以进行模型训练,并在本设备被云服务器选中时下载模型,或者提前下载模型;
其中,所述设备是指应用或包含了本装置的用户设备。
10.根据权利要求9所述的装置,其特征在于,所述任务调度器根据以下因素的至少一种判断当前设备状态是否满足条件:
任务类型、模型的大小、需要训练的参数数量、设备CPU/GPU/电池/网络使用的状况、需要训练的数据量、用户设置;
其中,任务类型包括:预测任务和训练任务,预测任务的优先级高于训练任务;
模型的大小、需要训练的参数数量、需要训练的数据量用于估算训练所需的时间。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047500.7A CN113689005A (zh) | 2021-09-07 | 2021-09-07 | 一种增强型横向联邦学习方法和装置 |
PCT/KR2022/006040 WO2023038220A1 (en) | 2021-09-07 | 2022-04-27 | Method and apparatus for performing horizontal federated learning |
US17/939,665 US20230073235A1 (en) | 2021-09-07 | 2022-09-07 | Method and apparatus for performing horizontal federated learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047500.7A CN113689005A (zh) | 2021-09-07 | 2021-09-07 | 一种增强型横向联邦学习方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113689005A true CN113689005A (zh) | 2021-11-23 |
Family
ID=78585777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111047500.7A Pending CN113689005A (zh) | 2021-09-07 | 2021-09-07 | 一种增强型横向联邦学习方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113689005A (zh) |
WO (1) | WO2023038220A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048864A (zh) * | 2022-01-11 | 2022-02-15 | 中兴通讯股份有限公司 | 联邦学习数据的管理方法、电子设备和存储介质 |
CN114066100A (zh) * | 2021-12-01 | 2022-02-18 | 深圳市新威尔电子有限公司 | 基于联邦学习的在线式电池循环寿命预测系统及方法 |
WO2023217746A1 (en) * | 2022-05-13 | 2023-11-16 | Nokia Technologies Oy | Authorizing federated learning |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100186066A1 (en) * | 2009-01-20 | 2010-07-22 | Pollard Stephen M | Methods and systems for facilitating personal data propagation |
US11176274B2 (en) * | 2019-05-28 | 2021-11-16 | International Business Machines Corporation | Protecting user data |
CN111625820A (zh) * | 2020-05-29 | 2020-09-04 | 华东师范大学 | 一种基于面向AIoT安全的联邦防御方法 |
CN113222175B (zh) * | 2021-04-29 | 2023-04-18 | 深圳前海微众银行股份有限公司 | 信息处理方法及系统 |
CN113094181B (zh) * | 2021-05-06 | 2024-08-02 | 苏州联电能源发展有限公司 | 面向边缘设备的多任务联邦学习方法及装置 |
-
2021
- 2021-09-07 CN CN202111047500.7A patent/CN113689005A/zh active Pending
-
2022
- 2022-04-27 WO PCT/KR2022/006040 patent/WO2023038220A1/en active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114066100A (zh) * | 2021-12-01 | 2022-02-18 | 深圳市新威尔电子有限公司 | 基于联邦学习的在线式电池循环寿命预测系统及方法 |
CN114048864A (zh) * | 2022-01-11 | 2022-02-15 | 中兴通讯股份有限公司 | 联邦学习数据的管理方法、电子设备和存储介质 |
WO2023217746A1 (en) * | 2022-05-13 | 2023-11-16 | Nokia Technologies Oy | Authorizing federated learning |
Also Published As
Publication number | Publication date |
---|---|
WO2023038220A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113689005A (zh) | 一种增强型横向联邦学习方法和装置 | |
US9167104B2 (en) | Telecommunications data usage management | |
US20180234816A1 (en) | Providing access to applications with varying enrollment levels | |
US20080162707A1 (en) | Time Based Permissioning | |
Aliyu et al. | Mobile cloud computing: taxonomy and challenges | |
US20230073235A1 (en) | Method and apparatus for performing horizontal federated learning | |
EP3025229B1 (en) | Data communications management | |
CN111010426A (zh) | 一种消息推送方法及装置 | |
WO2014032538A1 (en) | Cloud-based resource sharing method and system | |
CN106254528B (zh) | 一种资源下载方法和缓存设备 | |
CN102299802A (zh) | 一种跨域的单点登录实现方法 | |
CN106982430B (zh) | 一种基于用户使用习惯的Portal认证方法及系统 | |
CN105516085A (zh) | 一种管理访客临时上网行为的系统及方法 | |
CN113114656A (zh) | 基于边缘云计算的基础设施布局方法 | |
CN114286416A (zh) | 通信控制方法及装置、电子设备、存储介质 | |
CN105247534B (zh) | 访问控制装置及访问控制系统 | |
CN108924086A (zh) | 一种基于安全代理的主机信息采集方法 | |
US20200310929A1 (en) | Methods and apparatus for verifying processing results and/or taking corrective actions in response to a detected invalid result | |
US9596244B1 (en) | Securing services and intra-service communications | |
CN114244568A (zh) | 基于终端访问行为的安全接入控制方法、装置和设备 | |
CN108768918B (zh) | 一种基于授权管理链的访问控制方法 | |
WO2018049813A1 (zh) | 一种权限配置方法及装置 | |
WO2021121350A1 (en) | System, method, and storage medium for distributed data management | |
Olsson et al. | 5G zero trust–A Zero-Trust Architecture for Telecom | |
Alanezi et al. | Leveraging BLE and social trust to enable mobile in situ collaborations |
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 |