技术领域
本发明属于影像技术领域,具体是一种面向多类型任务图像分析的联邦学习系统,特别地适用于医疗。
背景技术
医疗图像分析系统是用计算机对医学图像进行自动处理、特征抽取和分类的技术,分析的主要对象是人体细胞涂片图像、人体各部位的X射线照片和超声图像。近年来,随着大数据、深度学习、人工智能技术的飞速发展,目前医疗图像领域中也出现了一些基于深度学习、人工智能的分析方法。
现有的一种医疗图像分类或者分割方法中,直接用一方的数据训练,但是由于数据少,这种方法训练出的模型的准确率低;在另外的医疗图像分类或者分割方法,各方的数据被直接汇聚在一起训练,数据变多了,准确率确实是有所提高,但是这种方法却存在一个很大的问题,就是暴露了各方的隐私数据(一般来说,医疗数据都属于隐私数据),数据安全受到威胁;为克服上述的第二种方法的安全性问题,开发了在联邦学习框架下进行图像分类或者分割方法,联邦学习旨在建立一个基于分布数据集的联邦学习模型,其主要包括两个过程,分别是模型训练和模型推理。在模型训练的过程中,模型相关的信息能够在各方之间交换(或者是以加密形式进行交换),但数据不能。这一交换不会暴露每个参与方上数据的任何受保护的隐私部分。已训练好的联邦学习模型可以置于联邦学习系统的各参与方,也可以在多方之间共享。此方法确实是保护了数据隐私,但是其要求所有方的任务必须是相同的,即要么都是分类,要么都是分割,所以这种方法不能进行多个不同类型的任务的共同训练,而且由于各方数据的异构型,例如Non-iid,即非独立同分布,所以在联邦学习框架下训练得到的全局模型对各方数据的分类或分割效果不好、准确率较低。
为了避免上述情况存在的问题,本发明主要运用于在各方之间不暴露医疗图像数据的前提下,各方共同构建一种面向多类型任务医疗图像分析的联邦学习系统。
发明内容
本发明的目的是针对以上问题,提供了一种面向多类型任务医疗图像分析的联邦学习系统,具有安全性高、准确性高、能同时进行多类型任务处理的优点。
为实现上述目的,本发明提供如下技术方案:一种面向多类型任务医疗图像分析的联邦学习系统,包括Server与Client,所述Client包括有Decoder、Encoder、Encoder平均值、fc,所述Server包括有Encoder平均值。
作为本发明的一种优选技术方案,所述Client包括有分类客户端与分割客户端。本发明将Encoder-Decoder(或fc)嵌入到联邦学习框架下,同时在本地Client训练过程中加入了KL散度的计算,各方(各个Client)拥有自己的医疗图像数据集与任务(例如分类或分割,但不限于这两种任务类型),首先各方在本地训练自己的模型,如果是分类任务,模型是Encoder-fc,如果是分割任务,模型Encoder-Decoder,训练若干个本地轮次之后,各方将Encoder部分的模型参数在加密(例如同态加密或差分隐私)之后发送给Server,而Decoder和fc部分的参数则不传,还留在本地;Server接收各方发来的模型参数,对他们进行平均(例如直接平均或加权平均),得到全局平均的Encoder,即Encoder平均值,再将其发回给各方;各方接收到加密状态的Encoder平均值后,先解密,然后进行下一全局更新轮次,即将收到的Encoder平均值和Decoder(或fc)直接连接起来得到Encoder平均值-Decoder(或Encoder平均值-fc),各方对本轮的平均模型和上一轮的本地模型同时进行训练,并且在训练的loss中加入了KL散度的计算,训练之后,各方再将本地Encoder发送给Server,上述过程循环若干个全局轮次。
与现有技术相比,本发明的有益效果如下:
1、本发明通过使用联邦学习框架,打破了各方之间的数据孤岛,使得在保护医疗图像数据隐私前提下也能联合各方数据进行建模,比单独建模的准确率高。
2、本发明通过使用多任务学习,即Encoder-Decoder(或fc)结构,增加了可利用的数据,并且使得在联邦学习框架下能同时进行多类型任务(分类与分割)的医疗图像分析。
3、本发明通过使用相互学习,即在本地模型训练的过程中加入了KL散度的计算,解决了各方数据异构性导致模型精度下降的问题,提高了模型的准确度,同时增强了模型的个性化,使得模型更贴近本地的任务。
附图说明
图1是现有的联邦学习的系统框架示意图;
图2是根据本发明实施方式的联邦学习系统框架示意图;
图3是根据本发明实施方式的模型生成方法流程图;
图4是使用根据本发明实施方式的模型生成方法生成的模型实施处理任务的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是现有的横向联邦学习的系统框架示意图。在这种系统中,具有相同数据结构的K个参与方(也叫作客户或用户)在服务器(也叫作参数服务器或者聚合服务器)的帮助下,协作地训练一个机器学习模型。横向联邦学习主要包括如下4个步骤:
第一步:各参与方(参与方即是存储了数据以及模型的终端)在本地计算模型梯度,并使用同态加密、差分隐私或秘密共享等加密技术,对梯度信息进行掩饰,并将掩饰后的结果(简称为加密梯度)上传至服务器。
第二步:服务器进行安全聚合操作,如使用基于同态加密的平均或直接平均。
第三步:服务器将聚合后的结果发送给各参与方。
第四步:各参与方对收到的梯度进行解密,并使用解密后的梯度结果更新各自的模型参数。
上述步骤将会持续迭代,直到损失函数收敛或者达到允许的迭代次数的上限或允许的训练时间。
图2是根据本发明实施方式的联邦学习系统框架示意图,此系统包括Server与Client,Client包括有Decoder
其中,Client包括有分类客户端与分割客户端,需要注意的是,本文的描述均以分类和分割这两种任务类型作为示例进行说明,应理解的是,任务类型并不限于这两种,而是可以预见的所有任务类型。本发明将Encoder-Decoder(或fc)嵌入到联邦学习框架下,同时在本地Client训练过程中加入了KL散度的计算,其中,KL散度又叫相对熵,是一种量化两种概率分布P和Q之间差异的方式,具体计算公式如下:
各方(各个Client)拥有自己的医疗图像数据集与任务(分类或分割),首先各方在本地训练自己的模型,如果是分类任务,模型是Encoder-fc,如果是分割任务,模型Encoder-Decoder,经过若轮次的本地训练后,各方将Encoder的模型参数在加密(可以是同态加密)之后发送给Server,而Decoder和fc的参数则不传,还留在本地;
其中,同态加密(Homomorphic Encryption)是指:对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。举例来说,计算1+2,将数值1同态加密后得到加密字符串xx,将数值2同态加密后的得到加密字符串yy,将加密字符串“xx”和加密字符串“yy”相加,得到加密字符串zz,再对加密字符串“zz”同态解密,可以得到数值3。
Server接收各方发来的模型参数,对他们进行平均,得到全局平均的
图3是根据本发明实施方式的方法流程图,其中,具体的操作步骤为:
1.图3a是参与方(Client)初始化训练的流程图:
参与方根据其内部数据集标签不同,分为分类参与方和分割参与方,分类参与方的编码器与分类分支连接(Encoder-fc),分割参与方的编码器与分割分支连接(Encoder-Decoder);
1.1所有的参与方进行步骤1.2~1.4操作;
1.2参与方使用本地数据集(Dataset)训练模型(
1.3将本地模型编码器
1.4将加密后的编码器参数
2.图3b是服务器端(Server)模型聚合流程图:
2.1接收来自所有参与方的参数
2.2将加密状态下的模型聚合(可使用直接平均
2.3将聚合后的模型
3.图3c是本地相互学习流程图:
3.1所有的参与方进行步骤3.2-3.6操作;
3.2接收服务器端发来的聚合后的编码器模型
3.3将解密后的
3.4对
3.5将训练之后得到的本地编码器参数
3.6将加密后的编码器参数
4.迭代训练:重复步骤2和步骤3直至模型收敛:
以上的1-4步都是必不可少的。
图4是使用根据本发明实施方式的模型生成方法生成的模型实施处理任务的流程图,具体地,
1.按照已经训练好的模型的要求,对输入的测试图进行预处理,包括裁剪、调整图像的格式和尺寸;
2.将预处理好的图像输入本地模型中做测试,如果是分类任务,输出是每个类别对应的概率;如果是分割任务,输出是分割后的mask图;
3.将输出进行后处理,如果是分类任务,按照设定的阈值给出最后的分类结果;如果是分割任务,将mask图的格式和大小调整成和最初的输入图像一致,并且将两者叠加起来,最后输出叠加图;
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
机译: 一种机器学习设备,机器人系统和机器学习方法,用于学习与人和机器人共同执行的任务中涉及的机器人的运动
机译: 一种用于检测参与实体的财务犯罪行为的联邦学习系统和方法
机译: 一种用于检测参与实体的财务犯罪行为的联邦学习系统和方法