CN114996741A - 基于联邦学习的数据交互方法、装置、设备及存储介质 - Google Patents

基于联邦学习的数据交互方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114996741A
CN114996741A CN202210698600.4A CN202210698600A CN114996741A CN 114996741 A CN114996741 A CN 114996741A CN 202210698600 A CN202210698600 A CN 202210698600A CN 114996741 A CN114996741 A CN 114996741A
Authority
CN
China
Prior art keywords
model
task
local
pseudo
main task
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
Application number
CN202210698600.4A
Other languages
English (en)
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202210698600.4A priority Critical patent/CN114996741A/zh
Publication of CN114996741A publication Critical patent/CN114996741A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种基于联邦学习的数据交互方法、装置、设备、存储介质及程序产品,所述方法包括:服务端设备接收客户端设备发送的携带有主任务数据交互请求;根据加密特征生成伪任务,加密特征是由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的;基于主任务和伪任务构建并训练初始模型,得到全局模型;将全局模型发送至发送请求的目标客户端设备,以使目标客户端设备从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型。通过加入伪任务,改变训练模型结构,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。

Description

基于联邦学习的数据交互方法、装置、设备及存储介质
技术领域
本申请涉及人工智能技术领域,涉及但不限于一种基于联邦学习的数据交互方法、装置、设备、存储介质及程序产品。
背景技术
随着数字经济的发展,数字经济也演变成“数据经济”,其特点是数据本身成为了重要的生产要素,而数据的交易和流通要满足数据监管及保护数据隐私的要求。在数据安全领域,联邦学习作为一种新型的隐私保护数据交互方案,在数据不出本地的前提下,能有效联合各参与方(如企业)联合建模,从而实现“共同富裕”,成为当下人工智能领域备受关注的热点。
联邦学习的防御是联邦学习应用中非常重要的一环,虽然联邦学习具有“数据不动模型动,数据可用不可见”的特点,即能够保证在训练的过程中,私有数据不会离开客户端本地。但是,客户端将模型传输至服务端的过程中,模型参数的明文传输也有可能导致客户端私有数据被反向攻击,存在安全隐患。因此如何防止模型参数被窃取是防止客户端本地数据泄露亟需解决的问题之一。
发明内容
本申请实施例提供一种基于联邦学习的数据交互方法、装置、设备、计算机可读存储介质及计算机程序产品,基于多任务学习的防御策略能够提高联邦学习模型的安全性,防止模型的参数被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
本申请实施例提供一种基于联邦学习的数据交互方法,应用于服务端设备,所述方法包括:
接收客户端设备发送的数据交互请求,所述请求携带有主任务;
根据加密特征生成伪任务,所述加密特征是由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的;
基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型;
将所述全局模型发送至目标客户端设备,以使所述目标客户端设备从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型,所述目标客户端设备为发送所述请求的客户端设备。
在一些实施例中,所述基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型,包括:
根据所述主任务和所述伪任务,构建多任务的初始模型,所述初始模型的特征和/或参数,不同于基于所述主任务构建的模型的特征和/或参数;
将所述初始模型发送至参与联邦学习的各客户端设备,以使所述各客户端设备分别对所述初始模型进行训练,得到训练好的本地模型;
接收所述各客户端设备发送的训练好的本地模型,并对各训练好的本地模型进行聚合处理,得到中间模型;
当所述中间模型符合预设收敛条件时,将所述中间模型确定为全局模型。
在一些实施例中,所述基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型,还包括:
当所述中间模型不符合预设收敛条件时,将所述中间模型发送至所述各客户端设备,以使所述各客户端设备分别对所述中间模型进行训练,得到更新后的本地模型;
接收所述各客户端设备发送的更新后的本地模型,并对各更新后的本地模型进行聚合处理,得到更新后的中间模型。
本申请实施例提供一种基于联邦学习的数据交互方法,应用于客户端设备,所述方法包括:
根据获得的主任务生成并发送数据交互请求至服务端设备;
获取所述服务端设备基于所述主任务和伪任务训练得到的全局模型,所述伪任务是根据加密特征生成的,所述加密特征由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到;
从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型;
利用所述主任务子模型对所述主任务进行处理,得到处理结果。
在一些实施例中,所述获取所述服务端设备基于所述主任务和伪任务训练得到的全局模型,包括:
接收所述服务端设备发送的初始模型,所述初始模型是由所述服务端设备根据所述主任务和所述伪任务构建得到的多任务的模型,所述初始模型的特征和/或参数,不同于基于所述主任务构建的模型的特征和/或参数;
利用本地数据对所述初始模型进行训练,得到训练好的本地模型;
将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备基于所述训练好的本地模型确定全局模型;
接收所述服务端设备发送的全局模型。
在一些实施例中,所述将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备基于所述训练好的本地模型确定全局模型,包括:
将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备对参与联邦学习的各客户端设备发送的训练好的本地模型进行聚合处理,得到中间模型;当所述中间模型不符合预设收敛条件时,将所述中间模型发送至所述各客户端设备;
接收所述服务端设备发送的所述中间模型;
利用所述本地数据对所述中间模型进行训练,得到更新后的本地模型;
将所述更新后的本地模型发送至所述服务端设备,以使所述服务端设备基于所述更新后的本地模型确定更新后的中间模型,直至达到预设收敛条件,将达到预设收敛条件时的中间模型确定为全局模型。
在一些实施例中,所述方法还包括:
获取所述伪任务对应的伪任务子模型;
其中,所述获取所述伪任务对应的伪任务子模型,包括:
根据所述本地特征构建初始子模型;
利用本地数据对所述初始子模型进行训练,得到训练好的子模型;
将所述训练好的子模型确定为所述伪任务对应的伪任务子模型。
在一些实施例中,所述从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型,包括:
将所述全局模型和所述伪任务子模型的差值,确定为主任务子模型;
或者,
将所述全局模型和所述伪任务子模型的差值,确定为主任务初始子模型;
利用本地数据对所述主任务初始子模型进行训练,得到主任务子模型。
本申请实施例提供一种基于联邦学习的数据交互装置,应用于服务端设备,所述装置包括:
接收模块,用于接收客户端设备发送的数据交互请求,所述请求携带有主任务;
第一生成模块,用于根据加密特征生成伪任务,所述加密特征是由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的;
训练模块,用于基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型;
第一发送模块,用于将所述全局模型发送至目标客户端设备,以使所述目标客户端设备从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型,所述目标客户端设备为发送所述请求的客户端设备。
本申请实施例提供一种基于联邦学习的数据交互装置,应用于客户端设备,所述装置包括:
第二生成模块,用于根据获得的主任务生成数据交互请求;
第二发送模块,用于发送所述请求至服务端设备;
第一获取模块,用于获取所述服务端设备基于所述主任务和伪任务训练得到的全局模型,所述伪任务是根据加密特征生成的,所述加密特征由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到;
去除模块,用于从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型;
处理模块,用于利用所述主任务子模型对所述主任务进行处理,得到处理结果。
本申请实施例提供一种电子设备,所述设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于联邦学习的数据交互方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的基于联邦学习的数据交互方法。
本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的基于联邦学习的数据交互方法。
在本申请实施例提供的基于联邦学习的数据交互方法中,客户端设备根据获得的主任务生成并发送数据交互请求至服务端设备;服务端设备根据客户端设备持有的本地特征进行加密处理得到的加密特征生成伪任务,基于主任务和伪任务构建初始模型,并联合参与联邦学习的多个客户端设备对初始模型进行训练,得到全局模型;目标客户端设备接收服务端设备发送的全局模型,从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型,利用主任务子模型对主任务进行处理,得到处理结果。通过加入伪任务,改变训练模型的特征和参数,这样在传输过程中,即使模型被攻击者窃取,其获得的模型数据也是经过伪装后的数据,攻击者无法获得伪装前真实模型的数据,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
附图说明
图1为本申请实施例提供的基于联邦学习的数据交互系统的网络架构示意图;
图2A-2B为本申请实施例提供的电子设备的结构示意图;
图3为本申请实施例提供的基于联邦学习的数据交互方法的流程示意图;
图4为本申请实施例提供的基于联邦学习的数据交互方法的另一种实现流程示意图;
图5为本申请实施例提供的基于联邦学习的数据交互方法的再一种实现流程示意图;
图6为本申请实施例提供的基于联邦学习的数据交互方法的又一种实现流程示意图;
图7为传统横向联邦学习训练示意图;
图8为本申请实施例提供的基于多任务学习的防御方案的模型训练示意图;
图9为本申请实施例提供的基于多任务学习的模型训练方法流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)联邦学习(federated learning),是指通过联合不同的参与者(participant,或者party,也称为数据拥有者(data owner),或者客户端(client))进行机器学习的方法。在联邦学习中,参与者并不需要向其它参与者和协调者(coordinator,也称为参数服务器(parameter server),或者聚合服务器(aggregation server))暴露自己拥有的数据,因而联邦学习可以很好地保护用户隐私和保障数据安全。
2)横向联邦学习,是在各个参与者的数据特征重叠较多,而用户重叠较少的情况下,取出参与者数据特征相同而用户不完全相同的那部分数据进行联合机器学习。
基于上述对本申请实施例中涉及的名词和术语的解释,首先对本申请实施例提供的基于联邦学习的数据交互系统进行说明,参见图1,图1为本申请实施例提供的基于联邦学习的数据交互系统的网络架构示意图,该数据交互系统100包括服务端设备200、至少两个客户端设备300(分别记为客户端设备300-1和客户端设备300-2,以示区分,在实际实现时,可以包括更多个客户端设备)和网络400。客户端设备300-1和客户端设备300-2通过网络400连接服务端设备200,网络400可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在一些实施例中,客户端设备300-1以及客户端设备300-2可以是笔记本电脑,平板电脑,台式计算机,智能手机,专用消息设备,便携式游戏设备,智能音箱,智能手表等,还可以是联邦学习参与方的客户终端,例如各银行或金融机构等存储有用户特征数据的参与方设备,但并不局限于此。服务端设备200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器,用于协助各客户端设备进行联邦学习以得到联邦学习模型。网络400可以是广域网或者局域网,又或者是二者的组合。客户端设备300和服务端设备200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在该数据交互系统100的应用场景中,首先客户端设备300-1获得主任务,该主任务可以是分类任务,推荐任务,评估任务等等;然后根据主任务生成数据交互请求,将该请求发送至服务端设备200。服务端设备200根据客户端设备300(客户端设备300-1和/或客户端设备300-2)持有的本地特征进行加密处理得到的加密特征生成伪任务,基于主任务和伪任务构建多任务的初始模型,将初始模型发送至客户端设备300-1和客户端设备300-2。客户端设备300-1和客户端设备300-2利用各自的本地数据对接收到的初始模型进行训练,得到训练好的本地模型,发送训练好的本地模型至服务端设备200。服务端设备200对接收到的各训练好的本地模型进行聚合处理,得到中间模型,重复上述训练过程直至中间模型收敛,将符合收敛条件的中间模型作为全局模型,发送全局模型至客户端设备300-1。客户端设备300-1接收到全局模型后,从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型,利用主任务子模型对主任务进行处理,得到处理结果。通过加入伪任务,改变训练模型的结构,这样在传输过程中,即使模型被攻击者窃取,其获得的模型的特征和参数也是经过伪装后的数据,攻击者无法获得伪装前真实模型的数据,如此,能够实现提高联邦学习模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
参见图2A-2B,图2A-2B为本申请实施例提供的电子设备的结构示意图,在实际应用中,电子设备500可以实施为图1中的服务端设备200或客户端设备300,对实施本申请实施例的基于联邦学习的数据交互方法的电子设备500进行说明。图2A-2B所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可以理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A-2B中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的基于联邦学习的数据交互装置可以采用软件方式实现,图2A示出了本申请实施例提供的电子设备为服务端设备200的结构示意图,存储在存储器550中的数据交互装置555,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块5551、第一生成模块5552、训练模块5553以及第一发送模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,如图2B所示,图2B示出的是本申请实施例提供的电子设备为客户端设备300-1的结构示意图,存储在存储器550的数据交互装置555中的软件模块可以包括:第二生成模块5555、第二发送模块5556、第一获取模块5557、去除模块5558以及处理模块5559,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的基于联邦学习的数据交互装置可以采用硬件方式实现,作为示例,本申请实施例提供的数据交互装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的基于联邦学习的数据交互方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable LogicDevice)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的数据交互方法。本申请实施例提供的数据交互方法是基于联邦学习的,其中,联邦学习系统包括服务端设备及至少一个客户端设备。参见图3,图3为本申请实施例提供的基于联邦学习的数据交互方法的流程示意图,应用于图1所示数据交互系统中的服务端设备,下面将结合图3示出的步骤进行说明。
步骤S301,接收客户端设备发送的数据交互请求。
这里,数据交互请求是由客户端设备生成并发送至服务端设备的,该请求中携带有主任务,该主任务结合实际应用场景可以是分类任务、推荐任务、评估任务等等。该客户端设备是参与联邦学习的客户端设备。
在实际实施时,在横向联邦学习的场景中,通常涉及两种参与方,一种是服务参与方,可以由服务端设备执行该服务参与方的指令;另一种是客户参与方,可以由客户端设备执行客户参与方的指令,其中,客户参与方可以为多个。或者横向联邦学习的场景也可以只涉及多个客户参与方,由多个客户参与方中其中任一个实现模型的聚合处理操作,起到服务参与方的作用。
示例性地,本申请实施例中以服务端设备和两个客户端设备为例进行说明,为了区分多个客户端设备,将生成数据交互请求的客户端设备作为目标客户端设备。在实际应用中,基于相同的方案可以扩展到同时联合更多个客户端设备进行模型训练。
目标客户端设备可以响应于用户操作触发指令,获得主任务,根据该主任务生成数据交互请求,将该请求发送至服务端设备。服务端设备接收到目标客户端设备发送的请求后,对其进行解析,得到该请求中携带的主任务。
步骤S302,根据加密特征生成伪任务。
该加密特征是由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的。
举例说明,主任务的特征有2个,分别为特征A和特征B。为了避免攻击者对联邦学习的模型进行反向攻击,根据模型逆向推导客户端设备持有的私有的本地数据,客户端设备对其持有的本地特征C和特征D进行加密处理,得到加密特征c和d,将加密特征c和d发送至服务端设备。服务端设备基于加密特征c和d生成伪任务。这里,加密特征c和d可以是从目标客户端设备获取,也可以是从参与联邦学习的其它客户端设备获取。
在实际应用中,也可以对特征不进行加密,如直接将特征C和特征D发送至服务端设备。服务端设备也可以在获得主任务之前,预先从客户端设备中获取各客户端设备的本地特征中的所有或部分特征,由服务端设备选择部分特征进行加密得到加密特征。
本申请实施例中,各设备在进行联邦学习下的数据交互时,可以预先生成用于加密的公钥和用于解密的私钥,通过公钥,实现对训练过程中的模型进行加密,避免攻击者对训练中的模型进行反向攻击。在训练过程中,客户端设备无需将自身存储的本地数据发送至其他设备即可实现模型的训练,能够保护客户端设备本地数据的隐私。
步骤S303,基于主任务和伪任务,构建并训练初始模型,得到全局模型。
服务端设备基于接收到的主任务和生成的伪任务,构建初始模型,将初始模型发送至参与联邦学习的各客户端设备。各客户端设备利用各自的本地数据对接收到的初始模型分别进行训练,得到各自训练好的本地模型,并发送训练好的本地模型至服务端设备。服务端设备对接收到的各训练好的本地模型进行聚合处理,得到中间模型,将中间模型发送至各客户端设备继续进行训练,直至中间模型收敛,将符合收敛条件的中间模型作为全局模型。
例如将目标客户端设备训练好的本地模型记为局部模型一,将另一个客户端设备训练好的本地模型记为局部模型二,服务端设备对局部模型一和局部模型二进行聚合,得到中间模型,当该中间模型收敛时,将其确定为全局模型;当该中间模型不收敛时,将中间模型分发至目标客户端设备和另一个客户端设备继续进行训练,将目标客户端设备再次训练好的本地模型记为更新后的局部模型一,将另一个客户端设备再次训练好的本地模型记为更新后的局部模型二,服务端设备对更新后的局部模型一和更新后的局部模型二进行聚合,得到更新后的中间模型,重复上述训练、聚合过程,直至得到收敛的全局模型。
步骤S304,将全局模型发送至目标客户端设备,以使目标客户端设备从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型。
服务端设备将收敛的全局模型发送至发送数据交互请求的目标客户端设备。目标客户端设备接收到全局模型后,从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型,利用主任务子模型对主任务进行处理,得到处理结果。从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型,具体可以实现为:将全局模型和伪任务子模型的差值,确定为主任务子模型。
从全局模型中去除伪任务对应的伪任务子模型时,若伪任务和主任务特征不相关,仍以上述举例进行说明,目标客户端设备从全局模型中去除关于特征c和特征d的伪任务对应的伪任务分支,剩余关于特征A和特征B的主任务对应的主任务分支,该主任务分支即为主任务子模型。将主任务对应的数据输入至该主任务子模型中,得到处理结果。例如,全局模型记为H1=x1A+y1B+m1c+n1d,去除关于特征c和特征d的伪任务对应的伪任务分支(即m1c+n1d),剩余关于特征A和特征B的主任务对应的主任务分支(即x1A+y1B),该主任务分支即为主任务子模型,记为H1’=x1A+y1B。所以,当伪任务和主任务特征不相关时,通过伪任务使得模型的特征发生改变,即使模型被窃取,窃取者也无法获知真正的模型结构,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
从全局模型中去除伪任务对应的伪任务子模型时,若伪任务和主任务特征相关,即特征A、B和特征c、d为相关特征,其中A与c相关,B与d相关,目标客户端设备从全局模型中去除关于特征A和特征B的伪任务对应的伪任务分支(即去除关于特征c和特征d的伪任务对应的伪任务分支),剩余关于特征A和特征B的主任务对应的主任务分支,该主任务分支即为主任务子模型。将主任务对应的数据输入至该主任务子模型中,得到处理结果。例如,全局模型记为H2=x2A+y2B,去除关于特征A和特征B的伪任务对应的伪任务分支(记为m2c+n2d),剩余关于特征A和特征B的主任务对应的主任务分支,即(x2-m2)A+(y2-n2)B,该主任务分支即为主任务子模型,记为H2’=(x2-m2)A+(y2-n2)B。当伪任务和主任务特征相关时,通过伪任务使得模型的参数已发生改变,即使模型被窃取,窃取者也无法获知原始权重,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
本申请实施例中,通过加入伪任务,改变训练模型的特征、参数,这样在传输过程中,即使模型被攻击者窃取,其获得的模型数据也是经过伪装后的数据,攻击者无法获得伪装前真实模型包括哪些特征,更无法获得真实模型包括的各特征的参数,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
本申请实施例提供的方法,服务端设备接收客户端设备发送的携带有主任务的数据交互请求;根据加密特征生成伪任务,该加密特征是由客户端设备持有的本地特征进行加密处理得到的;基于主任务和伪任务,构建并训练初始模型,得到全局模型;将全局模型发送至目标客户端设备,以使目标客户端设备从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型。通过加入伪任务,改变训练模型的结构,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。并且,该方法与现有技术中利用差分隐私防止模型参数被窃取的防御方式相比,能够减少计算量,在训练过程中增加伪任务,训练好全局模型后去除伪任务对应的伪任务子模型,如此不会影响模型的准确度。此外,该方法具有通用性,无需为不同问题重新设计算法,适用于针对横向联邦学习中任意任务模型的训练场景。
在一些实施例中,上述图3所示实施例中步骤S303“基于主任务和伪任务,构建并训练初始模型,得到全局模型”,可以通过以下步骤来实现:
步骤S3031,根据主任务和伪任务,构建多任务的初始模型。
其中,该多任务的初始模型的特征,不同于基于主任务构建的模型的特征,或者该初始模型的参数,不同于基于主任务构建的模型的参数,又或者该初始模型的特征和参数,均不同于基于主任务构建的模型的特征和参数。举例说明,主任务的特征有2个,分别为特征A和特征B,伪任务的特征为特征c和特征d,构建与特征A、B、c和d相关的初始模型,记为H=xA+yB+mc+nd。显然,该初始模型不同于基于主任务构建的模型H=xA+yB。
步骤S3032,将初始模型发送至参与联邦学习的各客户端设备,以使各客户端设备分别对初始模型进行训练,得到训练好的本地模型。
以两个客户端设备为例,服务端设备将初始模型发送至目标客户端设备和另一个客户端设备,目标客户端设备利用自身存储的私有本地数据对初始模型进行训练,得到训练好的本地模型,记为局部模型一;另一个客户端设备利用自身存储的私有本地数据对初始模型进行训练,得到训练好的本地模型,记为局部模型二。
步骤S3033,接收各客户端设备发送的训练好的本地模型,并对各训练好的本地模型进行聚合处理,得到中间模型。
服务端设备从目标客户端设备接收局部模型一,从另一个客户端设备接收局部模型二,对局部模型一和局部模型二进行聚合,得到中间模型。
在实际应用中,聚合方法有很多种,例如经典的FedAvg算法等,本申请实施例对采用的聚合方法不做限定。
步骤S3034,判断中间模型是否符合预设收敛条件。
当中间模型符合预设收敛条件时,表明中间模型已收敛,此时结束训练,进入步骤S3037;当中间模型不符合预设收敛条件,继续执行步骤S3035。
步骤S3035,将中间模型发送至各客户端设备,以使各客户端设备分别对中间模型进行训练,得到更新后的本地模型。
步骤S3036,接收各客户端设备发送的更新后的本地模型,并对各更新后的本地模型进行聚合处理,得到更新后的中间模型。
当中间模型不收敛时,将中间模型分发至目标客户端设备和另一个客户端设备继续进行训练,将目标客户端设备再次训练好的本地模型(即更新后的本地模型)记为更新后的局部模型一,将另一个客户端设备再次训练好的本地模型(即更新后的本地模型)记为更新后的局部模型二,服务端设备对更新后的局部模型一和更新后的局部模型二进行聚合,得到更新后的中间模型,返回步骤S3034继续执行是否满足预设收敛条件的判断步骤,不收敛时继续重复上述训练聚合过程,直至得到收敛的中间模型。
步骤S3037,将中间模型确定为全局模型。
本申请实施例中,在初始模型中加入伪任务进行训练,在服务端设备和客户端设备之间传输的初始模型、中间模型以及全局模型均包括伪分支,这样即使模型被攻击者攻击窃取,其获得的模型数据也是经过伪装后的数据,攻击者无法获得伪装前真实模型包括哪些特征,更无法获得真实模型包括的各特征的参数,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
基于前述的实施例,本申请实施例再提供一种基于联邦学习的数据交互方法,图4为本申请实施例提供的基于联邦学习的数据交互方法的另一种实现流程示意图,应用于图1所示数据交互系统架构中的客户端设备,如图4所示,该方法包括以下步骤:
步骤S401,根据获得的主任务生成并发送数据交互请求至服务端设备。
在实际应用中,客户端设备可以基于用户执行的操作,触发对应指令获得主任务,也可以是达到预设触发条件时获得预先设置的主任务。客户端设备获得主任务后,生成携带有主任务的数据交互请求,将其发送至服务端设备,以使服务端设备响应该请求,基于多任务训练得到的全局模型。
步骤S402,获取服务端设备基于主任务和伪任务训练得到的全局模型。
其中,伪任务是根据加密特征生成的,该加密特征由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到。
举例说明,主任务的特征有2个,分别为特征A和特征B。为了避免攻击者对模型进行反向攻击,根据模型逆向推导客户端设备持有的私有的本地数据,客户端设备可以对其持有的本地特征C和特征D进行加密处理,得到加密特征c和d,将加密特征c和d发送至服务端设备。服务端设备基于加密特征c和d生成伪任务。
本申请实施例中,进行加密的特征可以是发送数据交互请求的目标客户端设备的特征,也可以是参与联邦学习的其他客户端设备的特征,也就是说,服务端设备可以从发送数据交互请求的客户端设备获取加密特征,也可以从参与联邦学习的其他客户端设备获取加密特征。
在实际应用中,客户端设备也可以对特征不进行加密直接发送至服务端设备,如直接将特征C和特征D发送至服务端设备。客户端设备也可以在接收到主任务之前,预先将本地特征中的所有或部分发送至服务端设备,由服务端设备选择部分特征进行加密得到加密特征。
本申请实施例中,各设备在进行联邦学习下的数据交互时,可以预先生成用于加密的公钥和用于解密的私钥,通过公钥,实现对训练过程中的模型参数进行加密,避免攻击者对训练中的模型进行反向攻击。在训练过程中,客户端设备无需将自身存储的本地数据发送至其他设备即可实现模型的训练,能够保护客户端设备本地数据的隐私。
服务端设备基于主任务和伪任务训练得到全局模型可以实现为:服务端设备基于接收到的主任务和生成的伪任务,构建初始模型,将初始模型发送至联邦学习的各客户端设备。各客户端设备利用各自的本地数据对接收到的初始模型进行训练,得到各自训练好的本地模型,并发送训练好的本地模型至服务端设备。服务端设备对接收到的各训练好的本地模型进行聚合处理,得到中间模型,重复上述训练过程直至中间模型收敛,将符合收敛条件的中间模型作为全局模型。
步骤S403,从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型。
客户端设备从服务端设备接收到已经收敛的全局模型后,从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型。仍以上述举例进行说明,特征c和d为伪任务对应的特征,客户端设备从全局模型中去除关于特征c和特征d的伪任务对应的伪任务分支,剩余关于特征A和特征B的主任务对应的主任务分支,该主任务分支即为主任务子模型。这里,特征A、B和特征c、d可以为相关特征,也可以不相关。
当特征A、B和特征c、d为不相关特征时,客户端设备可以直接从全局模型中删除特征c和特征d及其参数,剩余模型即为主任务子模型。例如,全局模型记为H1=x1A+y1B+m1c+n1d,去除关于特征c和特征d的伪任务对应的伪任务分支(即m1c+n1d),剩余关于特征A和特征B的主任务对应的主任务分支(即x1A+y1B),该主任务分支即为主务子模型,记为H1’=x1A+y1B。
当特征A、B和特征c、d为相关特征时,其中A与c相关,B与d相关,客户端设备根据特征c和d,建立初始子模型,然后利用本地数据对初始子模型进行训练,得到训练好的子模型,该训练好的子模型即为伪任务子模型,记为H2”=m2c+n2d=m2A+n2B。客户端设备从全局模型中去除伪任务子模型,剩余模型即为主任务子模型。例如,全局模型记为H2=x2A+y2B,去除关于特征A和特征B的伪任务对应的伪任务分支,即m2A+n2B,剩余关于特征A和特征B的主任务对应的主任务分支,即(x2-m2)A+(y2-n2)B,该主任务分支即为主任务子模型,记为H2’=(x2-m2)A+(y2-n2)B。
步骤S404,利用主任务子模型对主任务进行处理,得到处理结果。
获得主任务子模型后,将主任务对应的数据输入至该主任务子模型中,得到处理结果。
本申请实施例中,通过加入伪任务,改变训练模型的结构,即或者改变特征,或者改变参数,又或者改变特征和参数,这样在传输过程中,即使模型被攻击者窃取,其获得的模型数据也是经过伪装后的数据,攻击者无法获得伪装前真实模型包括哪些特征,更无法获得真实模型包括的各特征的参数,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
本申请实施例提供的方法,客户端设备根据获得的主任务生成并发送数据交互请求至服务端设备;获取服务端设备基于主任务和伪任务训练得到的全局模型,伪任务是根据参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的加密特征生成的;从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型;利用主任务子模型对主任务进行处理,得到处理结果。通过加入伪任务,改变训练模型结构,能够实现提高模型的安全性,防止模型数据被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
在一些实施例中,图4所示实施例中步骤S402“获取服务端设备基于主任务和伪任务训练得到的全局模型”,可以通过以下步骤来实现:
步骤S4021,接收服务端设备发送的初始模型。
该初始模型由服务端设备根据主任务和伪任务构建得到的多任务的模型,初始模型的结构,不同于基于主任务构建的模型的结构,具体的,可以是初始模型的特征不同于基于主任务构建的模型的特征,也可以是初始模型的参数不同于基于主任务构建的模型的参数,还可以是初始模型的特征和参数,均不同于基于主任务构建的模型的特征和参数。
步骤S4022,利用本地数据对初始模型进行训练,得到训练好的本地模型。
客户端设备获取自身存储的私有的本地数据,利用本地数据对初始模型进行训练,得到训练好的本地模型。
步骤S4023,将训练好的本地模型发送至服务端设备,以使服务端设备基于训练好的本地模型确定全局模型。
客户端设备将训练好的本地模型发送至服务端设备。服务端设备接收联邦学习中各客户端设备发送的训练好的本地模型,对所有训练好的本地模型进行聚合处理,得到中间模型。判断该中间模型是否符合预设收敛条件,当中间模型不符合预设收敛条件时,将中间模型发送至各客户端设备继续训练;当中间模型符合预设收敛条件时,将中间模型确定为全局模型。
训练步骤可以为:客户端设备接收服务端设备发送的中间模型;利用本地数据对中间模型进行训练,得到更新后的本地模型;将更新后的本地模型发送至服务端设备,以使服务端设备基于更新后的本地模型确定更新后的中间模型,重复上述训练步骤,直至中间模型达到预设收敛条件,将达到预设收敛条件时的中间模型确定为全局模型。
步骤S4024,接收服务端设备发送的全局模型。
客户端设备接收服务端设备发送的收敛的全局模型,继续执行步骤S403。
基于前述的实施例,本申请实施例再提供一种基于联邦学习的数据交互方法,图5为本申请实施例提供的基于联邦学习的数据交互方法的再一种实现流程示意图,应用于图1所示数据交互系统架构中的客户端设备,如图5所示,该方法包括以下步骤:
步骤S501,根据获得的主任务生成并发送数据交互请求至服务端设备。
客户端设备获得主任务,生成携带有主任务的数据交互请求,将其发送至服务端设备,以使服务端设备响应该请求,基于多任务训练得到全局模型。
步骤S502,获取服务端设备基于主任务和伪任务训练得到的全局模型。
其中,伪任务是根据加密特征生成的,该加密特征由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到。
本申请实施例中,进行加密的特征可以是需要处理主任务的客户端设备的特征,也可以是其他客户端设备的特征,也就是说,服务端设备可以从发送请求的客户端设备获取加密特征,也可以从参与联邦训练的其他客户端设备获取加密特征。
服务端设备基于主任务和伪任务训练得到全局模型可以实现为:服务端设备基于接收到的主任务和生成的伪任务,构建初始模型,将初始模型发送至联邦学习的各客户端设备。各客户端设备利用各自的本地数据对接收到的初始模型进行训练,得到各自训练好的本地模型,并发送训练好的本地模型至服务端设备。服务端设备对接收到的各训练好的本地模型进行聚合处理,得到中间模型,重复上述训练过程直至中间模型收敛,将符合收敛条件的中间模型作为全局模型。
步骤S503,获取伪任务对应的伪任务子模型。
在一种实现方式中,客户端设备可以基于本地特征和本地数据训练获取伪任务对应的伪任务子模型,可以实现为:根据本地特征构建初始子模型;利用本地数据对初始子模型进行训练,得到训练好的子模型;将训练好的子模型确定为伪任务对应的伪任务子模型。
在另一种实现方式中,当客户端设备确定本地特征和主任务对应的特征无关时,可以直接将全局模型中与本地特征相关的部分模型作为伪任务对应的伪任务子模型。
步骤S504,从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型。
在一些实施例中,当主任务的特征和本地特征为不相关特征时,客户端设备可以直接将全局模型中与本地特征相关的部分模型作为伪任务对应的伪任务子模型,从全局模型中删除伪任务子模型,剩余模型即为主任务子模型。该种方式可以快速地得到主任务子模型,能够提高主任务处理效率。
在一些实施例中,当主任务的特征和本地特征为相关特征时,客户端设备根据本地特征构建初始子模型;利用本地数据对初始子模型进行训练,得到训练好的子模型;将训练好的子模型确定为伪任务对应的伪任务子模型,从全局模型中去除伪任务子模型,剩余模型即为主任务子模型。该种方式可以进一步保护模型结构,进一步提高模型的安全性,防止模型被反向攻击导致私有数据泄露快速地得到主任务子模型。
在实际实现时,将全局模型和伪任务子模型的差值,确定为主任务子模型,实现从全局模型中去除伪任务对应的伪任务子模型。
在一种实现方式中,得到主任务子模型后,即可基于该主任务子模型处理主任务,得到处理结果。在实际应用中,为了进一步提高处理结果的准确性,将全局模型和伪任务子模型的差值,确定为主任务初始子模型;利用本地数据对主任务初始子模型进行训练,得到主任务子模型。即在去除伪任务子模型后,得到主任务初始子模型,根据本地数据对主任务初始子模型进行微调,得到主任务子模型。利用本地数据对主任务子模型进行更新后再执行主任务,能够提高主任务子模型的准确度,从而提高处理结果的准确度。
步骤S505,利用主任务子模型对主任务进行处理,得到处理结果。
本申请实施例提供的方法,客户端设备根据获得的主任务生成并发送数据交互请求至服务端设备;获取服务端设备基于主任务和伪任务训练得到的全局模型,伪任务是根据客户端设备持有的本地特征进行加密处理得到的加密特征生成的;获取伪任务对应的伪任务子模型;从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型;利用主任务子模型对主任务进行处理,得到处理结果。通过加入伪任务,改变训练模型的结构,这样在传输过程中,即使模型被攻击者窃取,其获得的模型数据也是经过伪装后的数据,攻击者无法获得伪装前真实模型的数据,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
基于前述的实施例,本申请实施例再提供一种基于联邦学习的数据交互方法,图6为本申请实施例提供的基于联邦学习的数据交互方法的又一种实现流程示意图,应用于图1所示的数据交互系统,如图6所示,该方法包括以下步骤:
步骤S601,目标客户端设备获得主任务。
在实际应用中,目标客户端设备可以基于用户执行的操作,触发对应指令获得主任务,也可以是达到预设触发条件时获得预先设置的主任务。本申请实施例中,以两个客户端设备为例进行说明,为了区分该两个客户端设备,将生成数据交互请求的客户端设备称为目标客户端设备。
步骤S602,目标客户端设备根据主任务生成数据交互请求。
步骤S603,目标客户端设备发送数据交互请求至服务端设备。
目标客户端设备获得主任务后,生成携带有主任务的数据交互请求,将其发送至服务端设备。
步骤S604,服务端设备根据加密特征生成伪任务。
其中,加密特征是由客户端设备持有的本地特征进行加密处理得到的,这里的客户端设备可以为参与联邦学习的至少一个客户端设备,本申请实施例中以非目标客户端设备为例。
步骤S605,服务端设备根据主任务和伪任务,构建初始模型。
服务端设备接收到数据交互请求后,对其进行解析,得到主任务;根据加密特征生成伪任务;然后根据主任务和伪任务,构建多任务的初始模型。
步骤S606,服务端设备将初始模型发送至各客户端设备。
步骤S607,各客户端设备分别利用本地数据对初始模型进行训练,得到训练好的本地模型。
步骤S608,各客户端设备将训练好的本地模型发送至服务端设备。
步骤S609,服务端设备对训练好的本地模型进行聚合处理,得到中间模型。
步骤S610,服务端设备判断中间模型是否符合预设收敛条件。
当中间模型符合预设收敛条件时,表明中间模型已收敛,此时结束训练,进入步骤S615;当中间模型不符合预设收敛条件,继续执行步骤S611。
步骤S611,服务端设备将中间模型发送至各客户端设备。
步骤S612,各客户端设备分别利用本地数据对中间模型进行训练,得到更新后的本地模型。
步骤S613,各客户端设备将更新后的本地模型发送至服务端设备。
步骤S614,服务端设备对更新后的本地模型进行聚合处理,得到更新后的中间模型。
得到更新后的中间模型后,返回步骤S610再次执行判断步骤。
步骤S615,服务端设备将中间模型确定为全局模型,并将全局模型发送至目标客户端设备。
步骤S616,目标客户端设备获取伪任务对应的伪任务子模型。
在一种实现方式中,可以通过以下步骤获取伪任务子模型:根据本地特征构建初始子模型;利用本地数据对初始子模型进行训练,得到训练好的子模型;将训练好的子模型确定为伪任务对应的伪任务子模型。
步骤S617,目标客户端设备从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型。
步骤S618,目标客户端设备利用主任务子模型对主任务进行处理,得到处理结果。
本申请实施例提供的基于联邦学习的数据交互方法,目标客户端设备根据获得的主任务生成并发送数据交互请求至服务端设备;服务端设备根据客户端设备持有的本地特征进行加密处理得到的加密特征生成伪任务,基于主任务和伪任务构建初始模型,并联合参与联邦学习的多个客户端设备对初始模型进行训练,得到全局模型;目标客户端设备接收服务端设备发送的全局模型,从全局模型中去除伪任务对应的伪任务子模型,得到主任务子模型,利用主任务子模型对主任务进行处理,得到处理结果。通过加入伪任务,改变训练模型结构,这样在传输过程中,即使模型被攻击者窃取,其获得的模型数据也是经过伪装后的数据,攻击者无法获得伪装前真实模型的数据,如此,能够实现提高模型的安全性,防止模型被反向攻击导致私有数据泄露,从而提高客户端私有数据的保密性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
联邦学习的防御是联邦学习应用中非常重要的一环,虽然联邦学习具有“数据不动模型动,数据可用不可见”的特点,即能保证在训练的过程中,原始数据不会离开客户端本地。但是模型参数的明文传输也有可能导致被反向攻击,因此如何防止模型参数被窃取是联邦学习防御的核心工作。
当前对联邦学习的防御策略,主要有下面两大方向:
1)通过与现有安全方案结合,来防止数据泄露。如差分隐私、同态加密、安全多方等。这些技术的安全性已经被证明,或者被行业认可。这些方案具有通用性,如同态加密,直接对模型参数进行加密传输即可。
但这种方案也存在很多缺点,例如会增加很多额外的计算。如同态加密中,对数据的加密和解密会非常耗时,又如差分隐私因为添加了噪音,会影响模型的准确度。
2)第二个方向是针对具体的问题,设计具体的防御算法来应对,比如对目标函数进行改进。但这种方案通常不具有通用性,也就是说不同的问题需要重新设计算法。
假设当前有N个客户端参与联邦学习,传统的横向联邦学习如图7所示,N个客户端训练本地模型,服务端对各客户端训练的所有本地模型进行聚合,得到全局模型。
本申请实施例提出一种通过伪造多任务学习来进行防御的方案。该方案是一种通用的方案,可以应用于任意的横向联邦学习场景中,并且不会对算法的训练增加额外的负担。图8为本申请实施例提供的基于多任务学习的防御方案的模型训练示意图,该方案提出的策略如下:在模型中添加一个(也可以多个)新的任意任务(如图8所示的伪任务),伪任务可以是任意的任务。在训练中,通过加入新任务,改变模型的权重参数。这样在传输过程中,即使数据被窃取,其获得的参数数据也不是真实的原始数据(真实的参数数据,是指没有添加伪任务时训练的模型参数,即图7所示模型的参数数据)。同时,添加新任务之后,模型结构发生了改变,攻击者即使能够还原网络模型,也无法知道哪一个才是真正的主任务。
按照多任务学习的性质,伪任务的添加不会影响主任务的学习性能,例如,主任务是将数据集中的正数和负数进行分类,即使增加伪任务,也不会将正数分类至负数对应的集合中。因此,添加伪任务的目的主要是为了扰乱模型参数,或者使网络结构发生改变。
图9为本申请实施例提供的基于多任务学习的模型训练方法流程示意图,如图9所示,训练的详细流程如下:
步骤S901,服务端在原始网络模型中添加伪任务,构建新的网络模型,并对新的网络模型进行初始化,得到初始网络模型,将初始网络模型下发给各客户端。
服务端在原来的网络模型中,添加伪任务,构建新的网络模型,该伪任务为任意的任务。初始化该新的网络模型的参数为初始值。
步骤S902,各客户端利用本地数据对初始网络模型进行训练,得到更新后的网络模型,并将更新后的网络模型发送至服务端。
各客户端利用各自的本地数据对初始网络模型进行训练,更新模型参数。由于各客户端的本地数据不同,因此不同客户端更新后的网络模型的参数一般不相同,各客户端更新后的网络模型为符合自身本地数据的本地模型。
步骤S903,服务端对各客户端上传的更新后的网络模型进行聚合,得到全局模型。
各客户端将更新后的网络模型参数上传给服务端。服务端接收客户端上传的更新后的网络模型参数,并进行聚合,得到全局模型。
步骤S904,服务端判断全局模型是否收敛。
当全局模型收敛时,训练结束,进入步骤S906;当全局模型不收敛时,进入步骤S905,继续训练。
步骤S905,服务端将全局模型作为新的初始网络模型发送至各客户端。
服务端重新下发更新后的模型至各个客户端,重复执行上述步骤S902至步骤S905,直到服务端确定全局模型收敛。
步骤S906,服务端将最终的全局模型发送至各客户端。
服务端下发最终收敛的全局模型至各个客户端,各客户端无需再进行训练。
步骤S907,客户端去除最终的全局模型中伪任务对应的分支模型,得到待调整模型,利用本地数据对待调整模型进行调整,得到目标模型。
各客户端去除添加的伪任务分支模型,再利用本地数据对剩余模型进行微调,得到目标模型,该模型即为最终的本地模型。如此实现在保护模型参数的同时,不会影响主任务性能,并且不会降低模型训练的效率。
本申请实施例提供的防御方案是一种通用的防御方案,适用于针对横向联邦学习中任意任务模型的训练场景,例如通过横向联邦学习,为多个用户训练特征提取模型,在提取特征时确保数据安全;又例如通过横向联邦学习,为多家银行建立推荐模型,以更好地为客户推荐理财产品。将多任务学习应用于联邦学习防御,利用本申请实施例提供的防御方案训练模型,相比于过往的训练策略,不会额外增加过多的运算,不会影响训练效率。
下面继续说明本申请实施例提供的基于联邦学习的数据交互装置555的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,图2A示出的是本申请实施例提供的服务端设备的结构示意图,存储在存储器540的数据交互装置555中的软件模块可以包括:
接收模块5551,用于接收客户端设备发送的数据交互请求,所述请求携带有主任务;
第一生成模块5552,用于根据加密特征生成伪任务,所述加密特征是由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的;
训练模块5553,用于基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型;
第一发送模块5554,用于将所述全局模型发送至目标客户端设备,以使所述目标客户端设备从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型,所述目标客户端设备为发送所述请求的客户端设备。
在一些实施例中,所述训练模块5553,还用于:
根据所述主任务和所述伪任务,构建多任务的初始模型,所述初始模型的特征和/或参数,不同于基于所述主任务构建的模型的特征和/或参数;
将所述初始模型发送至参与联邦学习的各客户端设备,以使所述各客户端设备分别对所述初始模型进行训练,得到训练好的本地模型;
接收所述各客户端设备发送的训练好的本地模型,并对各训练好的本地模型进行聚合处理,得到中间模型;
当所述中间模型符合预设收敛条件时,将所述中间模型确定为全局模型。
在一些实施例中,所述训练模块5553,还用于:
当所述中间模型不符合预设收敛条件时,将所述中间模型发送至所述各客户端设备,以使所述各客户端设备分别对所述中间模型进行训练,得到更新后的本地模型;
接收所述各客户端设备发送的更新后的本地模型,并对各更新后的本地模型进行聚合处理,得到更新后的中间模型。
基于前述的实施例,本申请实施例再提供一种基于联邦学习的数据交互装置,如图2B所示,图2B示出的是本申请实施例提供的客户端设备的结构示意图,存储在存储器540的数据交互装置555中的软件模块可以包括:
第二生成模块5555,用于根据获得的主任务生成数据交互请求;
第二发送模块5556,用于发送所述数据交互请求至服务端设备;
第一获取模块5557,用于获取所述服务端设备基于所述主任务和伪任务训练得到的全局模型,所述伪任务是根据加密特征生成的,所述加密特征由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到;
去除模块5558,用于从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型;
处理模块5559,用于利用所述主任务子模型对所述主任务进行处理,得到处理结果。
在一些实施例中,所述第一获取模块5557,还用于:
接收所述服务端设备发送的初始模型,所述初始模型是由所述服务端设备根据所述主任务和所述伪任务构建得到的多任务的模型,所述初始模型的特征和/或参数,不同于基于所述主任务构建的模型的特征和/或参数;
利用本地数据对所述初始模型进行训练,得到训练好的本地模型;
将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备基于所述训练好的本地模型确定全局模型;
接收所述服务端设备发送的全局模型。
在一些实施例中,所述第一获取模块5557,还用于:
将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备对参与联邦学习的各客户端设备发送的训练好的本地模型进行聚合处理,得到中间模型;当所述中间模型不符合预设收敛条件时,将所述中间模型发送至所述各客户端设备;
接收所述服务端设备发送的所述中间模型;
利用所述本地数据对所述中间模型进行训练,得到更新后的本地模型;
将所述更新后的本地模型发送至所述服务端设备,以使所述服务端设备基于所述更新后的本地模型确定更新后的中间模型,直至达到预设收敛条件,将达到预设收敛条件时的中间模型确定为全局模型。
在一些实施例中,所述基于联邦学习的数据交互装置555中的软件模块还可以包括:
所述第二获取模块,用于获取所述伪任务对应的伪任务子模型。
在一些实施例中,所述第二获取模块,还用于:
根据所述本地特征构建初始子模型;
利用本地数据对所述初始子模型进行训练,得到训练好的子模型;
将所述训练好的子模型确定为所述伪任务对应的伪任务子模型。
在一些实施例中,所述去除模块5559,还用于:
将所述全局模型和所述伪任务子模型的差值,确定为主任务子模型;
或者,
将所述全局模型和所述伪任务子模型的差值,确定为主任务初始子模型;
利用本地数据对所述主任务初始子模型进行训练,得到主任务子模型。
这里需要指出的是:以上数据交互装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本申请数据交互装置实施例中未披露的技术细节,本领域的技术人员请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的基于联邦学习的数据交互方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (13)

1.一种基于联邦学习的数据交互方法,其特征在于,应用于服务端设备,所述方法包括:
接收客户端设备发送的数据交互请求,所述请求携带有主任务;
根据加密特征生成伪任务,所述加密特征是由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的;
基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型;
将所述全局模型发送至目标客户端设备,以使所述目标客户端设备从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型,所述目标客户端设备为发送所述请求的客户端设备。
2.根据权利要求1所述的方法,其特征在于,所述基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型,包括:
根据所述主任务和所述伪任务,构建多任务的初始模型,所述初始模型的特征和/或参数,不同于基于所述主任务构建的模型的特征和/或参数;
将所述初始模型发送至参与联邦学习的各客户端设备,以使所述各客户端设备分别对所述初始模型进行训练,得到训练好的本地模型;
接收所述各客户端设备发送的训练好的本地模型,并对各训练好的本地模型进行聚合处理,得到中间模型;
当所述中间模型符合预设收敛条件时,将所述中间模型确定为全局模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型,还包括:
当所述中间模型不符合预设收敛条件时,将所述中间模型发送至所述各客户端设备,以使所述各客户端设备分别对所述中间模型进行训练,得到更新后的本地模型;
接收所述各客户端设备发送的更新后的本地模型,并对各更新后的本地模型进行聚合处理,得到更新后的中间模型。
4.一种基于联邦学习的数据交互方法,其特征在于,应用于客户端设备,所述方法包括:
根据获得的主任务生成并发送数据交互请求至服务端设备;
获取所述服务端设备基于所述主任务和伪任务训练得到的全局模型,所述伪任务是根据加密特征生成的,所述加密特征由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到;
从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型;
利用所述主任务子模型对所述主任务进行处理,得到处理结果。
5.根据权利要求4所述的方法,其特征在于,所述获取所述服务端设备基于所述主任务和伪任务训练得到的全局模型,包括:
接收所述服务端设备发送的初始模型,所述初始模型是由所述服务端设备根据所述主任务和所述伪任务构建得到的多任务的模型,所述初始模型的特征和/或参数,不同于基于所述主任务构建的模型的特征和/或参数;
利用本地数据对所述初始模型进行训练,得到训练好的本地模型;
将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备基于所述训练好的本地模型确定全局模型;
接收所述服务端设备发送的全局模型。
6.根据权利要求5所述的方法,其特征在于,所述将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备基于所述训练好的本地模型确定全局模型,包括:
将所述训练好的本地模型发送至所述服务端设备,以使所述服务端设备对参与联邦学习的各客户端设备发送的训练好的本地模型进行聚合处理,得到中间模型;当所述中间模型不符合预设收敛条件时,将所述中间模型发送至所述各客户端设备;
接收所述服务端设备发送的所述中间模型;
利用所述本地数据对所述中间模型进行训练,得到更新后的本地模型;
将所述更新后的本地模型发送至所述服务端设备,以使所述服务端设备基于所述更新后的本地模型确定更新后的中间模型,直至达到预设收敛条件,将达到预设收敛条件时的中间模型确定为全局模型。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述伪任务对应的伪任务子模型;
其中,所述获取所述伪任务对应的伪任务子模型,包括:
根据所述本地特征构建初始子模型;
利用本地数据对所述初始子模型进行训练,得到训练好的子模型;
将所述训练好的子模型确定为所述伪任务对应的伪任务子模型。
8.根据权利要求4所述的方法,其特征在于,所述从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型,包括:
将所述全局模型和所述伪任务子模型的差值,确定为主任务子模型;
或者,
将所述全局模型和所述伪任务子模型的差值,确定为主任务初始子模型;
利用本地数据对所述主任务初始子模型进行训练,得到主任务子模型。
9.一种基于联邦学习的数据交互装置,其特征在于,应用于服务端设备,所述装置包括:
接收模块,用于接收客户端设备发送的数据交互请求,所述请求携带有主任务;
第一生成模块,用于根据加密特征生成伪任务,所述加密特征是由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到的;
训练模块,用于基于所述主任务和所述伪任务,构建并训练初始模型,得到全局模型;
第一发送模块,用于将所述全局模型发送至目标客户端设备,以使所述目标客户端设备从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型,所述目标客户端设备为发送所述请求的客户端设备。
10.一种基于联邦学习的数据交互装置,其特征在于,应用于客户端设备,所述装置包括:
第二生成模块,用于根据获得的主任务生成数据交互请求;
第二发送模块,用于发送所述请求至服务端设备;
第一获取模块,用于获取所述服务端设备基于所述主任务和伪任务训练得到的全局模型,所述伪任务是根据加密特征生成的,所述加密特征由参与联邦学习的至少一个客户端设备持有的本地特征进行加密处理得到;
去除模块,用于从所述全局模型中去除所述伪任务对应的伪任务子模型,得到主任务子模型;
处理模块,用于利用所述主任务子模型对所述主任务进行处理,得到处理结果。
11.一种电子设备,其特征在于,所述设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至3任一项或权利要求4至8任一项所述的基于联邦学习的数据交互方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有可执行指令,用于引起处理器执行时,实现权利要求1至3任一项或权利要求4至8任一项所述的基于联邦学习的数据交互方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项或权利要求4至8任一项所述的基于联邦学习的数据交互方法。
CN202210698600.4A 2022-06-20 2022-06-20 基于联邦学习的数据交互方法、装置、设备及存储介质 Pending CN114996741A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210698600.4A CN114996741A (zh) 2022-06-20 2022-06-20 基于联邦学习的数据交互方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210698600.4A CN114996741A (zh) 2022-06-20 2022-06-20 基于联邦学习的数据交互方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114996741A true CN114996741A (zh) 2022-09-02

Family

ID=83034415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210698600.4A Pending CN114996741A (zh) 2022-06-20 2022-06-20 基于联邦学习的数据交互方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114996741A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341014A (zh) * 2023-05-29 2023-06-27 之江实验室 一种多方联邦隐私数据资源交互方法、装置和介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341014A (zh) * 2023-05-29 2023-06-27 之江实验室 一种多方联邦隐私数据资源交互方法、装置和介质
CN116341014B (zh) * 2023-05-29 2023-08-29 之江实验室 一种多方联邦隐私数据资源交互方法、装置和介质

Similar Documents

Publication Publication Date Title
CN113159327B (zh) 基于联邦学习系统的模型训练方法、装置、电子设备
US20210409191A1 (en) Secure Machine Learning Analytics Using Homomorphic Encryption
CN112232527B (zh) 安全的分布式联邦深度学习方法
CN112183730B (zh) 一种基于共享学习的神经网络模型的训练方法
US20200357005A1 (en) Blockchain ledger-based evidence acquisition method and system
Shankar et al. Optimal key based homomorphic encryption for color image security aid of ant lion optimization algorithm
KR102145701B1 (ko) 안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지
CN113127916B (zh) 数据集合处理方法、数据处理方法、装置及存储介质
JP6234607B2 (ja) 処理されたデータを検証する方法および装置
CN111898137A (zh) 一种联邦学习的隐私数据处理方法、设备及系统
CN107196926B (zh) 一种云外包隐私集合比较方法与装置
CN111343001A (zh) 一种基于区块链的社交数据共享系统
US20220207164A1 (en) Method for accessing application and apparatus, electronic device, and storage medium
CN115841133A (zh) 一种联邦学习方法、装置、设备及存储介质
CN111767411A (zh) 知识图谱表示学习优化方法、设备及可读存储介质
CN112818369A (zh) 一种联合建模方法及装置
CN112651049A (zh) 一种基于区块链的隐私数据分享方法及系统
CN114996741A (zh) 基于联邦学习的数据交互方法、装置、设备及存储介质
CN114547658A (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN112949866A (zh) 泊松回归模型的训练方法、装置、电子设备及存储介质
CN112100145A (zh) 数字化模型共享学习系统及方法
CN113807157A (zh) 基于联邦学习训练神经网络模型的方法、装置和系统
CN116502732A (zh) 基于可信执行环境的联邦学习方法以及系统
DE112017002726T5 (de) Kommunikationssicherheitssysteme und verfahren
CN112527898B (zh) 安全计算方法、装置、计算机及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication