联邦学习场景下的训练数据毒化防御方法
文献发布时间:2023-06-19 19:20:08
技术领域
本公开涉及分布式AI(artificial intelligence),特别涉及联邦学习。
背景技术
联邦学习是一种具有隐私保护性质的新兴的的分布式AI算法。联邦学习通过多个客户端协作训练和使用机器学习模型,共享模型更新,而不是上传原始数据到中心服务器进行训练。
因此,联邦机器学习作为一个机器学习框架,能够有效帮助多个参与方在满足用户隐私保护和数据安全的要求下进行机器学习建模。
发明内容
在下文中给出了关于本公开的简要概述,以便提供关于本公开的一些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
本公开提供了一种联邦学习场景下的训练数据毒化防御方法,包含步骤:
联邦学习平台对各参与方发起针对共享模型的训练邀请,并且下发用于本轮训练的测试模型;
各参与方使用测试模型对本地训练数据进行推理验证,对推理结果进行评分,并且将评分上传到联邦学习平台;
联邦学习平台根据各参与方的评分和关于评分的箱盒图决定本轮训练是否进行整合和计算各区间参与本轮整合的抽取比例;
各参与方上传模型更新至联邦学习平台;以及
联邦学习平台整合模型更新,然后下发新的共享模型给各参与方。
以下通过本发明的优选的实施方式的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更清楚地理解本公开,其中:
图1示出了联邦学习的系统框架图。
图2示出了数据毒化的示例。
图3示出了根据本公开的联邦学习场景下的数据毒化防御方法的流程图。
图4示出了箱盒图的一个具体示例。
图5示出了能够实现根据本公开的实施例的计算设备的示例性配置。
具体实施方式
参考附图进行以下详细描述,并且提供以下详细描述以帮助全面理解本公开的各种示例实施例。以下描述包括各种细节以帮助理解,但是这些细节仅被认为是示例,而不是为了限制本公开,本公开是由随附权利要求及其等同内容限定的。在以下描述中使用的词语和短语仅用于能够清楚一致地理解本公开。另外,为了清楚和简洁起见,可能省略了对公知的结构、功能和配置的描述。本领域普通技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以对本文描述的示例进行各种改变和修改。
图1示出了联邦学习的系统框架图。
联邦学习机制存在一些漏洞,目前,联邦学习的攻击可以分为三类:黑/白盒攻击、信道攻击和数据攻击。黑/白盒攻击具有普适性,和联邦学习关系较小;信道攻击可以采用同态加密或者多方安全计算的防御方式。
数据攻击是指毒化训练,向训练数据下毒,即针对一个训练集,用一个函数在训练集上做某种程度上的扰动,以图像识别为例,这个扰动无法被人眼识别。
图2示出了数据毒化的示例。如图2所示,在左边的图片上加上一层躁点,便可扰乱大卷积神经网络(CNN)GoogLeNet,GoogLeNet会将熊猫误认为是长臂猿。所以在毒化后的训练集上做完训练后,再用一个干净的测试样本测试时,每次的推断结果都是错误。
由于联邦学习是整合多方的模型更新,如果在单轮训练发生大规模的数据攻击,将对模型的部署、使用以及后续的训练带来巨大的影响。目前也有研究证明当越多的参与方使用被毒化的数据参与训练或有些用户抱着好奇的心态给数据添加错误的标签,攻击效果越显著,主要表现为模型结果偏向攻击者的目标,或者模型性能下降。
本专利提出一种在联邦学习场景下的数据毒化防御方法,主要针对数据攻击类型,减少毒化数据参与联邦学习训练的占比,确保共享模型的可用性和完整性。
图3示出了根据本公开的联邦学习场景下的数据毒化防御方法的流程图。
在一些实施例中,服务器或联邦学习平台对各参与方发起训练邀请,同时下发本轮训练用来评估训练数据的测试模型。
在一些实施例中,使用一个或多个测试模型(包括共享模型和主流模型等)对本地训练数据进行推理验证,对推理结果进行评分。以图片识别为例,评分为所有测试模型的平均值;当单个模型的准确率低于50%时,则评分为0;并上传到服务器或联邦学习平台。例如,使用多个测试模型对本地训练数据进行推理验证,如果单个模型的准确率低于50%时,则评分为0,否则,将使用各个测试模型对本地训练数据进行推理验证的评分的平均值作为使用所述多个测试模型对本地训练数据进行推理验证的评分。
关于客户端的评分的箱盒图(Boxplot)可以包含五个数值点:最小值(min),下四分位数(Q1:Lower Quartile),中位数(median),上四分位数(Q3:Upper Quartile),最大值(max)。下四分位数、中位数、上四分位数组成一个“带有隔间的盒子”。上四分位数到最大值之间建立一条延伸线,这个延伸线被称为“上胡须(Upper Whisker)”。下四分位数到最小值之间建立一条延伸线,这个延伸线被称为“下胡须(Lower Whisker)”。
图4示出了箱盒图的一个具体示例。
在一些实施例中,服务器或联邦学习平台根据所有客户端的评分和关于评分的箱盒图决定本轮训练是否进行整合和计算各区间参与本轮整合的抽取比例,具体方法在以下会进一步地详细描述。
在一些实施例中,如果评分的中位数低于设定值,则表示本轮训练有较多的客户端出现数据毒化或数据Non-IID(非独立同分布,Non-independent and identicallydistributed)的可能性,将发送中断训练的信号给各客户端,停止这轮的训练。
在一些实施例中,除去异常值。例如,低于箱盒图下边缘的值被认为属于异常值。
在一些实施例中,按箱盒图的上边缘-上四分位数-中位数-下四位数-下边缘的分布,以及例如按照如图4所示的抽取比例范围,随机抽取每个区间内的相应比例的客户端的模型更新进行整合。例如,如图4所例示的那样,对箱盒图的上边缘-上四分位数区间,抽取比例p1的范围为60%和90%之间,即抽取该区间的客户端的模型的总数的至少60%和至多90%的模型用于模型整合。类似地,对于箱盒图的上四分位数-中位数区间,抽取比例p2的范围为60%和90%之间,即抽取该区间的客户端的模型的总数的至少60%和至多90%的模型用于模型整合。对于箱盒图的中位数-下四位数区间,抽取比例p3的范围为60%和90%之间,即抽取该区间的客户端的模型的总数的至少60%和至多90%的模型用于模型整合。对于箱盒图的下四位数-下边缘区间,抽取比例p4的范围为30%和65%之间,即抽取该区间的客户端的模型的总数的至少60%和至多90%的模型用于模型整合。对于箱盒图的上边缘以上的区域,抽取比例为0%;并且,对于箱盒图的下边缘以下的区域,抽取比例也为0%。
在一些实施例中,还考虑在模型更新上传的过程中的网络稳定性和客户端掉线等因素。例如,如果该区间的客户端出现类似情况,优先考虑由该区间的其他客户端参与模型整合。
在一些实施例中,为低于箱盒图下边缘的异常值的客户端标记上“数据异常”的标签,多次或连续多次获得该标记的客户端将会添加其身份信息为半诚实或恶意攻击者,给其他服务提供参考,并通过减少数据验证评分来降低下次参与整合模型更新的概率;而其他用户将被标记为“数据可用”的标签,将会添加其身份信息为诚实者。
在一些实施例中,各参与方上传模型更新至服务器或联邦学习平台。
在一些实施例中,服务器或联邦学习平台整合模型更新,然后下发新的共享模型给各参与方。
在一些实施例中,本公开应用在横向联邦学习的场景,如大规模多端联合的机器学习模型训练,涉及图像、语音、文字输入等领域。以图片识别为例,使用多个测试模型(包括共享模型和主流模型如VGG16/Resnet等)对本地训练数据进行推理验证,对推理结果进行评分,平均为所有测试模型性能;若当单个模型的准确率低于50%时,则评分为0;并把评分上传到服务器或联邦学习平台,然后服务器/联邦学习平台获得所有的客户端的评分后用箱盒图分析本轮训练数据的可用性,并计算各区间参与整合的占比和在服务器/联邦学习平台/IdM(Identity Management)给用户贴上相应标签,记录各客户端的可信程度;然后按照占比随机抽取客户端进行模型整合(例如,联邦学习平台按照各区间参与本轮整合的抽取比例随机抽取客户端进行模型整合)并把更新后的共享模型下发给各客户端。
本专利提出一种在联邦学习场景下的数据毒化防御方法,可以通过对训练数据进行推理验证,综合评估单个客户端的数据可用性,并把评分上传至服务器/联邦学习平台,然后分析所有客户端的评分并给客户端一个相应的标签和按要求随机抽取一定比例的客户端进行模型整合,最后把更新的共享模型下发给所有客户端。这个方法可以减少整体训练数据的被毒害或被篡改的可能性,确保模型整体性能和避免模型结果的偏向性,以及客户端的标签可以为下次联邦学习应用和其他的AI相关的服务/应用提供一定安全方面的参考性。
本发明包含如下方面。
(1)一种联邦学习场景下的训练数据毒化防御方法,包含步骤:
联邦学习平台对各参与方发起针对共享模型的训练邀请,并且下发用于本轮训练的测试模型;
各参与方使用测试模型对本地训练数据进行推理验证,对推理结果进行评分,并且将评分上传到联邦学习平台;
联邦学习平台根据各参与方的评分和关于评分的箱盒图决定本轮训练是否进行整合和计算各区间参与本轮整合的抽取比例;
各参与方上传模型更新至联邦学习平台;以及
联邦学习平台整合模型更新,然后下发新的共享模型给各参与方。
(2)根据(1)所述的方法,其中,箱盒图包含上边缘、上四分位数、中位数、下四位数、下边缘,
对箱盒图的上边缘-上四分位数区间,抽取比例介于60%和90%之间,
对于箱盒图的上四分位数-中位数区间,抽取比例介于60%和90%之间,
对于箱盒图的中位数-下四位数区间,抽取比例介于60%和90%之间,
对于箱盒图的下四位数-下边缘区间,抽取比例介于30%和65%之间。
(3)根据(1)所述的方法,进一步包含:
为低于箱盒图下边缘的异常值的客户端标记上“数据异常”的标签。
(4)根据(3)所述的方法,进一步包含:
将多次获得“数据异常”的标签的客户端的身份信息标注为半诚实或恶意攻击者。
(5)根据(3)所述的方法,进一步包含:
针对低于箱盒图下边缘的异常值的客户端,通过减少数据验证评分来降低该客户端下次参与整合模型更新的概率。
(6)根据(1)所述的方法,进一步包含:
使用多个测试模型对本地训练数据进行推理验证,
如果单个模型的准确率低于50%时,则评分为0,
否则,将使用各个测试模型对本地训练数据进行推理验证的评分的平均值作为使用所述多个测试模型对本地训练数据进行推理验证的评分。
(7)根据(1)所述的方法,其中
联邦学习平台按照各区间参与本轮整合的抽取比例随机抽取客户端进行模型整合。
(8)根据(1)所述的方法,其中,
联邦学习用于图像识别、语音识别或文字输入识别。
(9)一种联邦学习场景下的训练数据毒化防御的装置,包括:
存储器,其上存储有指令;以及
处理器,被配置为执行存储在所述存储器上的指令,以执行根据(1)至(8)中的任一项所述的方法。
(10)一种计算机可读存储介质,包括计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行根据(1)至(8)中的任一项所述的方法。
相对于现有技术,本公开至少具有如下优点和效果。在联邦学习应用场景下,目前大家更关注信道攻击类型,业界已经提出多种加密解决方法,防止模型更新的泄漏或者反向推理出原始数据,而这些都是建立在参与方提供可用的数据的前提下。但这与现实情况不符,联邦学习需要通过整合多方的模型更新,如果训练数据被攻击或不可信的情况,将给整个系统带了极大的伤害,所以本专利提出的方法可以有效的检验客户端的本地训练数据,防御数据攻击或者数据和数据标签不符的情况,确保联邦学习的训练数据的有效性,并通过服务器或联邦学习平台分析数据验证结果给客户端贴上相应的标签,可以为下次联邦学习应用和其他AI相关的应用的安全提供一定的参考性。
图5示出了能够实现根据本公开的实施例的计算设备500的示例性配置。
计算设备500是能够应用本公开的上述方面的硬件设备的实例。计算设备500可以是被配置为执行处理和/或计算的任何机器。计算设备500可以是但不限制于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数据助手(PDA)、智能电话、车载计算机或以上组合。
如图5所示,计算设备500可以包括可以经由一个或多个接口与总线502连接或通信的一个或多个元件。总线502可以包括但不限于,工业标准架构(Industry StandardArchitecture,ISA)总线、微通道架构(Micro Channel Architecture,MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及外设组件互连(PCI)总线等。计算设备500可以包括例如一个或多个处理器504、一个或多个输入设备506以及一个或多个输出设备508。一个或多个处理器504可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。处理器504例如可以被配置为执行本公开的方法。输入设备506可以是能够向计算设备输入信息的任何类型的输入设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或远程控制器。输出设备508可以是能够呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。
计算设备500还可以包括或被连接至非暂态存储设备514,该非暂态存储设备514可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。计算设备500还可以包括随机存取存储器(RAM)510和只读存储器(ROM)512。ROM 512可以以非易失性方式存储待执行的程序、实用程序或进程。RAM 510可提供易失性数据存储,并存储与计算设备500的操作相关的指令。计算设备500还可包括耦接至数据链路518的网络/总线接口516。网络/总线接口516可以是能够启用与外部装置和/或网络通信的任何种类的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙
本公开可以被实现为装置、系统、集成电路和非瞬时性计算机可读介质上的计算机程序的任何组合。可以将一个或多个处理器实现为执行本公开中描述的部分或全部功能的集成电路(IC)、专用集成电路(ASIC)或大规模集成电路(LSI)、系统LSI,超级LSI或超LSI组件。
本公开包括软件、应用程序、计算机程序或算法的使用。可以将软件、应用程序、计算机程序或算法存储在非瞬时性计算机可读介质上,以使诸如一个或多个处理器的计算机执行上述步骤和附图中描述的步骤。例如,一个或多个存储器以可执行指令存储软件或算法,并且一个或多个处理器可以关联执行该软件或算法的一组指令,以根据本公开中描述的实施例提供各种功能。
软件和计算机程序(也可以称为程序、软件应用程序、应用程序、组件或代码)包括用于可编程处理器的机器指令,并且可以以高级过程性语言、面向对象编程语言、功能性编程语言、逻辑编程语言或汇编语言或机器语言来实现。术语“计算机可读介质”是指用于向可编程数据处理器提供机器指令或数据的任何计算机程序产品、装置或设备,例如磁盘、光盘、固态存储设备、存储器和可编程逻辑设备(PLD),包括将机器指令作为计算机可读信号来接收的计算机可读介质。
举例来说,计算机可读介质可以包括动态随机存取存储器(DRAM)、随机存取存储器(RAM)、只读存储器(ROM)、电可擦只读存储器(EEPROM)、紧凑盘只读存储器(CD-ROM)或其他光盘存储设备、磁盘存储设备或其他磁性存储设备,或可以用于以指令或数据结构的形式携带或存储所需的计算机可读程序代码以及能够被通用或专用计算机或通用或专用处理器访问的任何其它介质。如本文中所使用的,磁盘或盘包括紧凑盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁性方式复制数据,而盘则通过激光以光学方式复制数据。上述的组合也包括在计算机可读介质的范围内。
提供本公开的主题作为用于执行本公开中描述的特征的装置、系统、方法和程序的示例。但是,除了上述特征之外,还可以预期其他特征或变型。可以预期的是,可以用可能代替任何上述实现的技术的任何新出现的技术来完成本公开的部件和功能的实现。
另外,以上描述提供了示例,而不限制权利要求中阐述的范围、适用性或配置。在不脱离本公开的精神和范围的情况下,可以对所讨论的元件的功能和布置进行改变。各种实施例可以适当地省略、替代或添加各种过程或部件。例如,关于某些实施例描述的特征可以在其他实施例中被结合。
类似地,虽然在附图中以特定次序描绘了操作,但是这不应该被理解为要求以所示的特定次序或者以顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。
- 敏感场景下可提升系统公平性的横向联邦学习训练方法
- 一种在联邦学习场景下采用数据攻击实现数据恢复的方法