掌桥专利:专业的专利平台
掌桥专利
首页

基于联邦学习进行数据分析的方法及系统

文献发布时间:2023-06-19 11:39:06


基于联邦学习进行数据分析的方法及系统

技术领域

本发明涉及计算机数据挖掘领域,尤其涉及基于联邦学习进行数据分析的方法及系统。

背景技术

在人工智能时代,机器学习依赖于大量的优质数据。然而受行业规范、数据安全标准和用户隐私担忧的约束,不同企业之间缺乏有效的信息互通与协作,彼此数据封闭孤立,以“信息孤岛”的形式存在。甚至即使是在同一个企业的不同部门之间,实现数据集中整合也面临着重重阻力。以医疗保健体系为例,各医疗机构拥有的用户数据相互隔离,单一医疗机构获得的用户数据量有限,难以训练得到优质的机器学习模型,因此无法采用传统集中式方法训练机器学习模型,导致大量数据无法被充分利用和准确分析。

联邦学习可以使得各参与方的自有数据不出本地,即在不违反数据隐私法规情况下,最大化发掘数据的价值,实现安全多方联合建模、多方共同获益。然而,现有的联邦学习在学习过程中数据隐私保护级别不高,建立的本地任务模型的性能非常有限。

因此,亟需一种更加安全、准确的进行数据分析的方法和系统。

发明内容

因此,本发明实施例的目的在于克服上述现有技术的缺陷,提供一种基于联邦学习训练服务器模型的方法,包括:获取多个本地任务模型的模型参数;通过同态加密和差分扰动的方法将所述多个本地任务模型的模型参数进行安全聚合;以及利用聚合后的模型参数更新当前的服务器模型。

本发明另一方面提供一种基于联邦学习建立本地任务模型的方法,包括:基于训练样本数据构建面向指定特征的数据子图;利用所述数据子图训练本地任务模型;提取所述本地任务模型的模型参数上传至服务器以更新服务器模型参数,并利用根据上述方法获得的更新后的服务器模型优化所述本地任务模型;重复上述步骤直至所述服务器模型收敛,基于收敛后的所述服务器模型优化所述本地任务模型。

在一个实施例中,所述基于所述训练样本数据构建面向指定特征的数据子图包括:依据所述指定特征,以所述训练样本数据中相关用户的用户属性信息作为结点,以所述相关用户之间的关联关系作为边,构建面向所述指定特征的数据子图。

在一个实施例中,上述方法包括:基于所述数据子图,计算面向指定特征的特征描述以训练本地任务模型,所述特征描述包括用户属性信息、关联关系的统计特征以及图层面特征,所述本地任务模型为卷积神经网络模型。

在一个实施例中,上述方法包括:将所述数据子图输入本地任务模型进行训练,所述本地任务模型为图神经网络模型。

在一个实施例中,上述方法还包括:依据所述预定的任务需求,利用本地训练样本数据对优化后的所述本地任务模型进行微调。

本发明另一方面提供一种基于联邦学习进行数据分析的方法,包括:获取待分析的数据;以及利用根据上述任一方法获得的本地任务模型分析所述数据。

在一个实施例中,上述方法还包括:对所述待分析的数据进行本地化差分隐私保护。

本发明另一方面提供一种基于联邦学习进行数据分析的系统,包括:接口模块,用于获取待分析的数据;以及分析模块,用于利用根据上述方法获得的本地任务模型分析所述数据。

本发明另一方面提供一种存储介质,其中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现上述任一项所述的方法。

本发明另一方面提供一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现上述任一项所述的方法。

本发明实施例的技术方案可以包括以下有益效果:

通过联邦学习、图学习和隐私保护技术(差分隐私、同态加密等)在保护用户隐私的前提下,挖掘不同用户数据之间特异性特征与深度关联,利用图数据结构信息优化本地模型,使不同参与方在不共享数据的基础上实现联邦建模和协作更新,从技术上打破数据孤岛壁垒,满足数据安全法规要求和终端用户个性化需求,达成多参与方机器学习模型的联合优化和共同获益,并实现对本地数据的精确分析和判断。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了本发明一个实施例的一种基于联邦学习进行数据分析的方法的示意图。

图2示出了本发明一个实施例的一种基于联邦学习进行数据分析的方法的流程图。

图3示出了本发明一个实施例的基于联邦学习建立本地任务模型的方法的示意图。

图4示出了本发明一个实施例的基于联邦学习建立本地任务模型的方法的流程图。

图5示出了本发明一个实施例的构建面向指定特征的数据子图的示意图。

图6示出了本发明一个实施了的基于联邦学习训练服务器模型的方法的流程图。

图7示出了本发明一个实施例的一种基于联邦学习识别用户数据的系统的结构示意图。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动下获得的所有其他实施例,都属于本发明保护的范围。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

联邦学习(Federated Leaming)是一种分布式机器学习技术或机器学习框架,其目标是在保证数据隐私安全及合法合规的基础上,实现共同建模,以提升AI模型的性能。联邦学习包括两个关键部分:服务器模型(又称共有模型或云端模型,在本文中三者可以互换)学习和本地任务模型(又称本地模型或用户模型,在本文中三者可以互换)学习。在联邦学习中,首先各参与方利用本地数据分别学习(训练)本地模型,并传送给服务器其各自的本地模型参数;服务器聚合各参与方传送的本地模型参数进行融合并更新云端模型,再把更新后的云端模型反馈到各参与方;各参与方基于更新后的云端模型优化其各自本地模型并再次训练;如此循环往复、不断迭代,直至云端模型收敛,并基于收敛后的云端模型优化本地模型,最终获得训练好的本地模型。

通常情况下,可以采用深度神经网络作为云端模型和本地模型。深度神经网络通过将用户数据的原始输入作为输入数据来进行端到端特征学习和训练分类器。

云端模型的损失函数

其中,

任意一个参与方u的本地模型的损失函数

其中,

当所有参与方的本地模型都完成本周期的训练后,会将模型参数上传到云端服务器进行融合以更新云端模型,通常采用平均值的融合方法。考虑到模型融合的计算复杂度,在每一次训练周期都只从所有用户模型中随机挑取K个参与方的本地模型上传云端进行模型融合以更新云端模型。更新云端模型可以表示为:

其中,f′

通过联邦学习可以使得各参与方的自有数据不出本地,即在不违反数据隐私法规情况下,最大化发掘数据的价值,实现安全多方联合建模、多方共同获益。然而,现有的联邦学习在学习过程中数据隐私保护级别不高,数据分析的准确度有限。

为此,本发明一个实施例提供了一种基于联邦学习进行数据分析的方法,该方法利用了通过联邦学习、图数据分析和隐私保护技术建立的本地任务模型,在保护用户隐私的前提下,通过挖掘不同用户数据之间特异性特征与深度关联,利用图数据结构信息优化本地模型,以实现对本地数据的精确判断和分析。

下文示例中以医院为参与方,以通过智能可穿戴设备采集的用户健康数据为待分析数据来介绍本发明的实施例,但可以理解,本发明的方案同样适用于其他任何其他的场景参与方以。

图1示出了本发明一个实施例的一种基于联邦学习进行数据分析的方法的示意图。如图1所示,用户群A、用户群B和用户群C分别使用智能手表、智能腰带、运动手环等智能可穿戴设备监测其日常健康情况;智能可穿戴设备将各自采集到的用户敏感健康数据(例如用户的体温、心率、睡眠、血压、血糖、胎心等)先进行本地化隐私保护处理,然后分别上传至本地医院A、医院B和医院C,在此过程中,不同的可穿戴设备采集的用户敏感健康数据(以下简称用户数据)之间相互隔离,不同医院之间的用户数据也相互隔离;医院A、医院B和医院C分别利用训练好的本地模型,即模型A、模型B和模型C,对各自的用户数据进行分析。其中,本地模型A、模型B和模型C是基于联邦学习、图数据学习和隐私保护技术建立的,根据本发明的一个实施例,其包括:医院A、医院B和医院C先分别利用各自的本地用户数据进行图数据学习,获得各自本地用户数据的特征描述,并将特征对齐后训练模型A、模型B和模型C,然后提取训练好的模型A、模型B和模型C的模型参数上传至云端服务器;云端服务器通过同态加密和差分扰动的方法将模型A、模型B和模型C的模型参数进行安全聚合以更新云端模型,并将更新后的云端模型下发至医院A、医院B和医院C;医院A、医院B和医院C利用更新后云端模型分别优化各自的本地模型A、模型B和模型C,并再次利用各自的本地用户数据进行图数据学习,获得各自本地用户数据的特征描述,将特征对齐后训练模型A、模型B和模型C…如此不断更新迭代直至云端模型收敛,获得最终的本地模型A、模型B和模型C。

图2示出了本发明一个实施例的一种基于联邦学习进行数据分析的方法的流程图。如图2所示,该方法包括以下步骤:

S210,获取用户数据。

在一个实施例中,可以采用智能可穿戴设备获取用户的健康数据。智能可穿戴设备迎合了当今时代人们对医疗健康的日常监测需求,使得有关身体生理体征的监测(例如体温、心率、睡眠、血压、血糖、胎心等)变得更加便捷。对比传统的医疗检测设备,智能可穿戴设备能够实时采集用户大量的健康医疗数据信息及行为习惯,并且可以通过数据挖掘、机器学习、边缘计算等技术与智能终端(如智能手机、平板电脑等)协同联动,对用户健康数据分析、健康异常预警、个性化健康定制服务等应用提供关键支持。

在一个实施例中,为了保证通过智能可穿戴设备采集的用户数据在健康监测应用中的隐私安全,可以在可穿戴设备终端对用户数据进行本地化差分隐私保护处理。在一个实施例中,在上传医院前,可以先对采集到的非数值型用户数据编码量化进行数值化处理,然后在用户根据自身数据敏感程度预设的隐私保护预算下,向处理后的数值数据x添加满足差分隐私理论约束的可控随机噪声对原始用户数据进行差分扰动,本地化差分隐私保护的公式可表示为:

x′=x+Laplace(Δf/ε

其中,x为原始用户数据,Laplace(·)为满足拉普拉斯分布的可控随机噪声,ε

x=reshape(x,width,height) (5)

Δf=|max(mean(x,axis=1))-min(mean(x,axis=1)) (6)

其中reshape(,)表示在不改变列表内容的情况下对列表进行重新排列,reshape(x,width,height)表示将一维的原始用户数据x转换为一个width*height的二维数组,max(,)表示求元素的中最大值、min(,)表示求元素的中最小值、mean(,)表示求元素的均值。

由智能可穿戴设备采集到每一条用户数据都会被记录、扰动、存储在该智能可穿戴设备,并上传至医院。

S220,利用基于联邦学习建立的本地模型分析用户数据。

将通过智能可穿戴设备采集到的用户数据输入训练好的本地模型,即可实现对用户数据的分析、预测或评估。

图3示出了本发明一个实施例的基于联邦学习建立本地任务模型的方法的示意图;图4示出了本发明一个实施例的基于联邦学习建立本地任务模型的方法的流程图。如图3、4所示,该方法包括以下步骤:

S410,获取训练样本数据。

有关用户的健康训练样本数据例如可以包括不同用户的体温、心率、睡眠、血压、血糖、胎心等。训练样本数据可以从数据库平台中获取,也可以从已确定健康状况的不同用户处采集,例如可以使用智能可穿戴设备(如智能手表、智能腰带、运动手环等)监测其日常健康数据,并发送至医院。

S420,基于训练样本数据构建面向指定特征的数据子图。

在一个实施例中,医院可以根据自身任务需求设定随机响应阈值,随机地对训练样本数据进行去除元数据、时间戳和/或重新排序等操作,以增加数据多样性与敌手攻击的复杂性;然后面向指定特征(例如用户的健康状况(如传染疾病、行动障碍、多动症等)),以训练样本数据中相关用户的属性信息(例如用户的年龄、患病种类、病情分级等),以相关用户之间的关联关系(例如传染病接触关系、群体关系、地缘关系等)作为边,构建面向不同指定特征的数据子图。由于不同的用户具有不同的特征,且不同特征的相关用户之间具有各自不同的关联关系,因此可以针对不同用户及其关联关系将构建不同的数据子图。在一个实施例中,还可以将构建的不同数据子图关联起来,构成用户数据图(也称多关系型图或称为多关系图,本发明中三者可以互换)。一个数据子图可以表示为G=(V,E),其中G表示一个具体的数据子图,V表示结点集合,E表示结点之间的关联关系,即数据图中的边,对于任意存在关联关系的两个结点i,j∈V,e

图5示出了本发明一个实施例的构建面向指定特征的数据子图的示意图。如图5所示,若医院A需要分析与某特定传染疾病相关的数据,则可以针对患有该特定传染疾病的用户数据(例如用户V

在一个实施例中,还可以利用用户的公开信息,可以针对用户之间特定的跨机构关联关系(例如分级就诊、转院、流行病学调查)构建跨机构的数据图。如图5所示,医院A和医院B根据各自的用户群体A和用户群体B之间各自的关联关系(例如关联A

S430,从面向指定特征的数据子图中获取特征描述。

在一个实施例中,从数据子图中获取面向指定特征的特征描述以训练本地任务模型,特征描述可以包括用户属性信息、关联关系的统计特征以及图层面特征等。

在一个实施例中,可以通过计算获取数据子图本地局部特征描述以训练本地模型。例如,面向指定特征的数据子图,可以分别计算可穿戴采集到的用户数据(例如心率、脉搏、肌电等)的统计特征(例如频率、均值、中位数等)、用户群体属性信息(例如年龄、病情分级、用药量等)和结构信息(例如病情相似性、旧病复发、传染范围等)的统计特征(例如最大值、最小值、均值、标准差等)以及构建的数据图层面的特征(环/时序环、自我中心网络(EgoNet)、度分布等)。

在一个实施例中,还可以通过计算获得数据图的全局特征描述。例如,面向跨医院信息的数据图,可以计算用来提取患者群体的统计特征描述,包括患者的分级就诊、转院、流行病学调查等记录的统计特征,也可以计算重点患者群体的统计信息,如传染病患者数量、各机构患者收纳数量、危重病患者数量等。

特征描述的计算如表1所示:

表1计算特征描述

在一个实施例中,在训练本地模型前,需要对提取到的各类特征进行对齐,以保证样本特征数量与排序的一致性。基于数据子图计算的特征描述能够很大程度上丰富训练样本的特征空间,提高模型的准确度。

S440,利用特征描述训练本地模型。

将计算得到的特征描述输入卷积神经网络模型进行训练,以获得本任务模型。在一个实施例中,本地模型的网络结构包含两个卷积层,一个池化层和两个全连接层,其中卷积层采用的卷积核大小为3×3。

在另一个实施例中,还可以直接将面向指定特征的数据子图或数据图神经网络(Graph Neural Networks,GNN)模型进行训练,以获得本任务模型。可以对每一种面向指定特征的数据子图使用一种编码器(Encoder)进行编码,此类编码器属于一种特定的图神经网络。图神经网络编码器Encoder可表示为:

Encoder=f(G,X) (7)

其中,G表示数据子图或数据图,X表示数据子图或数据图中结点特征,X∈R

在一个实施例中,f可以为一个两层的图卷积神经网络(Graph ConvolutionalNetwork,GCN),公式如下:

其中,SoftMax为柔性最大值函数,ReLU为修正线性激活函数,

在图卷积神经网络中,

在训练过程中,可采用60%的样本数据作为训练集、10%的样本数据作为验证集、30%的样本数据作为测试集。可采用自适应梯度算法(Adaptive gradient algorithm,Adagrad)及其改进算法Adadelta、随机梯度下降(Stochastic Gradient Descent,SGD)或者差分私有的随机梯度下降(Differentially Private Stochastic Gradient Descent,DPSGD)等优化器作为优化策略。本地模型的损失函数可采用上述公式(2)中的损失函数。

S450,提取本地模型的模型参数上传至服务器以更新云端模型参数,并利用更新后的云端模型优化本地模型。

如上所述,在联邦学习中云端模型的训练和本地模型的建立是一个循环往复、协同进化的过程。

图6示出了本发明一个实施了的基于联邦学习训练服务器模型的方法的流程图。如图6所示,该方法包括:

S610,获取各参与方的本地模型的模型参数。

联邦学习是多个参与方联合建模、共同获益的过程。根据本发明的一个实施例,在云端模型的建立过程中,可以从每个参与方的本地模型中获取模型参数;根据本发明的其他实施例,当参与方过多时,也可以随机选取若干个参与方的本地模型从中获取模型参数。

S620,通过同态加密和差分扰动的方法将各参与方的本地模型的模型参数进行安全聚合。

考虑到在联邦学习过程中可能发生针对参与方的推理攻击,可以在云端进行模型聚合时对各参与方的贡献进行模糊化处理,以提供相应的隐私信息保护。

在一个实施例中,云端服务器接收来自N个不同参与方上传的本地模型后(其中N是大于等于2的整数),可以通过采用同态加密方法对共享的模型参数进行保护处理,并在密文状态下对这些模型进行满足差分隐私保护的聚合和更新操作(即差分扰动后加密)。

S630,利用聚合后的模型参数更新当前的云端模型。

利用聚合后的模型参数更新当前的云端模型可以表示为:

其中,w′

通过上述方法训练云端模型,可以防止攻击者通过对比观察每一轮模型更新效果和输出差异来恶意获取参与方在上传和下载更新模型参数时训练数据集和模型信息,确保端侧数据、模型训练和优化更新过程的隐私安全。

利用更新后的云端模型对本地模型进行协同优化和更新。

S460,重复步骤S440-S450,直至云端模型收敛,基于收敛后的云端模型优化本地模型。

在密文状态下重复进行本地模型训练、模型参数提取并上传服务器、更新云端模型参数继而利用更新后的云端模型再次优化本地模型,实现模型参数的不断迭代更新,直至云端损失函数收敛。最后基于收敛后的云端模型优化本地模型,获得最终的本地模型。

在一个实施例中,基于收敛后的云端模型优化本地模型后,还可以依据参与方预定的任务需求,利用本地训练样本数据对优化后的本地模型进行微调。例如,医院可以选择与诊断任务相同的病例样本输入至服务器下达的云端模型,利用诊断目标、重点病例和特定病症强相关的测试样本对云端模型进行微调(fine-tuning)。根据本发明的一个实施例,微调主要通过以下三步实现:

(1)在本地创建一个新的神经网络模型作为目标本地模型。目标本地模型复制源模型(即服务器下达的云端模型)上除了输出层外的所有模型设计与参数。这些模型参数包含了源数据集上学习到的知识,并且这些知识同样适用于目标数据集。

(2)为目标本地模型添加输出大小为目标数据集类别数的输出层,随机初始化该层的模型参数。

(3)在目标数据集上训练目标本地模型的输出层,其余层参数都基于源模型的参数微调得到,将训练好的目标本地模型作为最终的本地模型。

本地模型在经过上述微调之后能够受益于多方联邦建模的知识聚合和本地样本的个性化适配,帮助后续不同诊断任务和稀疏病症诊断工作的开展,避免耗费大量时间成本重新训练模型。

通过采用上述基于联邦学习方法获得的本地模型进行数据分析,能够在保护用户隐私的前提下,挖掘不同用户数据之间特异性特征与深度关联,进而对用户数据进行更加准确、全面的分析和研究。

图7示出了本发明一个实施例的一种基于联邦学习识别用户数据的系统的结构示意图。如图7所示,该系统700包括接口模块701和分析模块702。尽管该框图以功能上分开的方式来描述组件,但这样的描述仅为了说明的目的。图中所示的组件可以任意地进行组合或被分为独立的软件、固件和/或硬件组件。而且,无论这样的组件是如何被组合或划分的,它们都可以在同一计算装置或多个计算装置上执行,其中多个计算装置可以是由一个或多个网络连接。

其中接口模块701用于获取用户数据,分析模块702如上文介绍的那样利用采用上述联邦学习方法获得的本地任务模型识别获取的用户数据。

在本发明的又一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序或可执行指令,当所述计算机程序或可执行指令被执行时实现如前述实施例中所述的技术方案,其实现原理类似,此处不再赘述。在本发明的实施例中,计算机可读存储介质可以是任何能够存储数据且可以被计算装置读取的有形介质。计算机可读存储介质的实例包括硬盘驱动器、网络附加存储器(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其它光学或非光学数据存储装置。计算机可读存储介质也可以包括分布在网络耦合计算机系统上的计算机可读介质,以便可以分布式地存储和执行计算机程序或指令。

本说明书中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个说明书中各地方的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是非逻辑性的或不能工作。

本说明书中“包括”和“具有”以及类似含义的术语表达,意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备并不限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。“一”或“一个”也不排除多个的情况。另外,本申请附图中的各个元素仅仅为了示意说明,并非按比例绘制。

虽然本发明已经通过上述实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

相关技术
  • 基于联邦学习进行数据分析的方法及系统
  • 一种基于联邦学习的城市交通出行数据分析方法
技术分类

06120113007123