一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种防御方法、装置、电子设备及存储介质与流程

2021-12-01 01:49:00 来源:中国专利 TAG:


1.本发明涉及攻击防御技术领域,具体而言,涉及一种防御方法、装置、电子设备及存储介质。


背景技术:

2.针对纵向联邦学习中的基于梯度的标签恢复攻击和梯度替换攻击,现有保护技术主要是利用差分隐私和梯度稀疏化的措施来防御。上述两种防御方法虽然能够在一定程度上防御攻击,但同时也较大地损失了主任务模型的精度。


技术实现要素:

3.本发明的目的在于提供一种防御方法、装置、电子设备及存储介质。在防御上述攻击的同时,能够保证主任务的精度。
4.为了实现上述目的,本发明提供一种防御方法,该方法包括:步骤1:基于自编码器对输入标签进行自编码,以形成软标签;步骤2:基于解码器对软标签进行解码,以形成解码标签;步骤3:基于输入标签、软标签和解码标签计算第一损失函数;步骤4:判断第一损失函数是否收敛;步骤5:若否,则基于第一损失函数对自编码器和解码器进行训练,获得训练后的自编码器和解码器,并转至步骤1。
5.优选地,第一损失函数公式为:其中,为第一损失函数,为第一分量,为第二分量,为可调的超参数。
6.优选地,第一分量公式为:其中,为第一分量,为输入标签,为软标签,为解码标签,ce为交叉熵损失函数,为可调的超参数。
7.优选地,第二分量公式为:其中,为第二分量,为熵函数。
8.优选地,软标签与输入标签的差异大于第一预设差异;解码标签与输入标签的差异小于第二预设差异;软标签的离散程度大于预设离散程度。
9.与现有技术相比,本发明提供的一种防御方法中,首先利用自编码器对输入标签
进行自编码形成软标签,然后利用解码器对软标签进行解码形成解码标签,接着根据输入标签、软标签和解码标签计算第一损失函数。如果第一损失函数不收敛,则需要通过计算出的第一损失函数对自编码器和解码器进行训练,利用训练后的自编码器对输入标签重新自编码,利用训练后的解码器对软标签重新解码,根据重新自编码和解码出的软标签和解码标签重新计算第一损失函数,迭代循环,直至第一损失函数收敛。如果第一损失函数收敛,则说明利用训练好的解码器解码出的解码标签相对于输入标签几乎是无损的,而且训练好的自编码器编码出的软标签与输入标签的差异非常大,并且训练好的自编码器编码出的软标签的离散程度很大,即输入标签通过自编码器映射到其他多个软标签的概率比较平均,输入标签通过训练好的自编码器可以映射为多个不同的软标签,起到很好的混淆攻击方的效果。而且在防御的基础上解码标签与输入标签的差异很小,几乎无损,进而保证了主任务的精度。
10.本发明还提供一种防御装置,该装置包括:编码模块,用于基于自编码器对输入标签进行自编码,以形成软标签;解码模块,用于基于解码器对软标签进行解码,以形成解码标签;第一损失函数计算模块,用于基于输入标签、软标签和解码标签计算第一损失函数;判断收敛模块,用于判断第一损失函数是否收敛;训练模块,用于当第一损失函数不收敛时,基于第一损失函数对自编码器和解码器进行训练,并基于训练后的自编码器更新软标签,基于训练后的解码器更新解码标签,重新计算第一损失函数。
11.优选地,第一损失函数公式为:其中,为第一损失函数,为第一分量,为第二分量,为可调的超参数。
12.优选地,所述第一分量公式为:其中,为第一分量,为输入标签,为软标签,为解码标签,ce为交叉熵损失函数,为可调的超参数。
13.所述第二分量公式为:其中,为第二分量,为熵函数。
14.与现有技术相比,本发明提供的一种防御装置的有益效果与上述技术方案所述一种防御方法的有益效果相同,在此不做赘述。
15.本发明还提供一种电子设备,该电子设备包括总线、收发器(显示单元/输出单元、输入单元)、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,收发器、存储器和处理器通过总线相连,计算机程序被处理器执行时实现上述任一项所述的一种防御方法中的步骤。
的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
24.在介绍本技术实施例之前首先对本技术实施例中涉及到的相关名词作如下释义:纵向联邦学习(vertical federated learning,缩写为vfl):是在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。
25.混淆自编码器(confusing autoencoder,缩写为coae):是本技术所采用的自编码器和解码器的统称。
26.图1示出了本发明实施例所提供的一种防御方法的流程图。图2示出了本发明实施例所提供的攻击防御架构图。为了更好的理解本防御机制的原理,下面结合图1和图2介绍各部分的运行机制。如图1所示,该方法包括:步骤1:基于自编码器对输入标签进行自编码,以形成软标签。
27.如图2所示,该防御架构图包括主动方和被动方,其中主动方可以作为防御方,被动方可以作为攻击方。输入标签分布在主动方。自编码器分布在主动方的防御模块中,利用自编码器对输入标签进行自编码,形成软标签。应理解,软标签也分布在防御模块中。需要说明的是,这里的自编码器和解码器可以统称为混淆自编码器coae。
28.步骤2:基于解码器对软标签进行解码,以形成解码标签。
29.如图2所示,利用解码器对软标签进行解码,形成解码标签。应理解的是,解码器和解码标签也分布在防御模块。
30.步骤3:基于输入标签、软标签和解码标签计算第一损失函数。
31.需要说明的是,第一损失函数公式为:需要说明的是,第一损失函数公式为:需要说明的是,第一损失函数公式为:其中,为第一损失函数,为第一分量,为第二分量,为输入标签,为软标签,为解码标签,ce为交叉熵损失函数,为熵函数,,为可调的超参数。
32.根据上面公式,利用分布在主动方的输入标签、分布在防御模块中的软标签和解码标签计算出第一损失函数。
33.步骤4:判断第一损失函数是否收敛。
34.步骤5:若否,则基于第一损失函数对自编码器和解码器进行训练,获得训练后的自编码器和解码器,并转至步骤1。
35.需要说明的是,如果第一损失函数不收敛,则需要通过计算出的第一损失函数对自编码器和解码器进行训练,即更新自编码器和解码器的参数。对自编码器和解码器进行训练之后,转至步骤1。利用训练后的自编码器对输入标签重新编码,利用训练后的解码器对软标签重新解码,根据重新编码和解码后的软标签和解码标签重新计算第一损失函数,迭代循环,直至第一损失函数收敛。此时对自编码器和解码器的训练完成。示例
性的,也可以设置迭代次数,比如设置epoch=30,通过迭代epoch=30次后,使训练终止。
36.作为一种可能的实现方式,如果第一损失函数收敛,则软标签与输入标签的差异大于第一预设差异,说明训练好的自编码器编码出的软标签与输入标签的差异非常大。而且解码标签与输入标签的差异小于第二预设差异,即利用训练好的解码器解码出的解码标签相对于输入标签几乎是无损的,差异非常小。并且软标签的离散程度大于预设离散程度,即训练好的自编码器编码出的软标签的离散程度很大,输入标签通过自编码器映射到其他多个软标签的概率比较平均,即输入标签经过自编码可以尽可能以均等的概率映射到其他软标签,起到很好的混淆攻击方的效果。而且,本发明实施例提供的技术方案在防御攻击的基础上使解码标签与输入标签的差异很小,几乎无损,进而保证了主任务的精度。
37.需要说明的是,通过上述步骤1至步骤5完成对自编码器和解码器的训练,实现第一损失函数的收敛,在针对标签恢复攻击和梯度替换后门攻击防御的基础上,使得解码标签几乎无损的还原为输入标签,而且自编码后形成的软标签与输入标签差异非常大,输入标签通过自编码器映射到其他多个软标签的概率比较平均,软标签的离散程度比较大。
38.作为另一种可能的实现方式,当防御模块中对自编码器和解码器的训练完成之后,需要在vfl训练模块中进行纵向联邦学习。主动方通过在纵向联邦学习中将输入标签通过防御技术(也即coae)替换为软标签,来防御被动方的攻击。
39.可以理解的是,如图2所示,vfl训练模块中训练模型的两部分数据特征和分别分布在主动方和被动方。主动方和被动方分别持有第一微分模型和第二微分模型,其中为第一微分模型提供数据特征,为第二微分模型提供数据特征,和分别为第一微分模型和第二微分模型的参数。第一微分模型和第二微分模型结构相同,比如都用的相同的卷积神经网络resnet18,但是模型参数不共享,即和是私有的。vfl训练模块的训练流程包括以下步骤:步骤101:主动方和被动方将私有数据特征和分别输入到第一微分模型和第二微分模型中去,分别得到和。然后被动方将发送给主动方。
40.步骤102:主动方将得到的和相加得到,并利用输入标签或软标签计算损失函数l2。示例性的,当没有攻击的时候,不需要防御,利用输入标签计算第二损失函数l2。当有标签恢复攻击或梯度替换后门攻击的时候,需要进行防御,利用防御模块中由输入标签自编码形成的软标签计算第二损失函数l2。
41.步骤103:主动方根据计算得到损失函数l2,利用损失函数l2的反向传播技术,将第一微分模型更新的梯度和第二微分模型更新的梯度分别回传给主动方和被动方用于更新各自的模型参数和。
42.如图2所示,被动方还包括标签恢复攻击模块和梯度替换后门攻击模块。
43.需要说明的是,在标签恢复攻击模块中,被动方在本地仿造一个主动方,用虚拟标
签来代表原主动方的输入标签,来代表原主动方的。然后执行主动方在正常vfl训练模块中的计算流程,得到一个模型更新的梯度,我们通过匹配和,来将虚拟标签还原成输入标签。算法流程如下:步骤201:被动方仿造标签和随机生成虚拟标签和。
44.步骤202:被动方将和相加,得到,并利用虚拟标签计算仿造的第二损失函数。
45.步骤203:被动方根据计算得到仿造的第二损失函数,利用反向传播技术,得到模型更新的梯度。
46.步骤204:计算和之间的差距,并通过反向传播算法不断优化和虚拟标签,详见以下公式:需要说明的是,在梯度替换后门攻击模块中,我们设定了几类后门攻击的目标标签,并假定被动方已知一些样本,它们的标签属于目标标签,这个假设在实际中是可行且合理的。此外,从训练集中选取要攻击的样本构成。攻击算法流程如下:步骤301:通过前向传播计算得到之后,对于每个()也即图2中的,将其替换为()也即图2中的,同时记录下元组,然后将替换之后的发送给主动方参与正常的vfl训练。
47.步骤302:通过反向传播被动方接收更新梯度,对于所有之前记录下的,将替换为(是超参数)。
48.以上对攻击和防御的场景及算法进行了整体的描述。图3

图8示出了本发明实施例提供的在不同数据集上不同的防御措施对标签恢复攻击和梯度替换后门攻击的防御效果以及对主任务模型精度的影响。
49.如图3

图8所示,曲线越往右下方,防御效果越好,对主任务精度影响越小。通过对比,可以看出通过对自编码器和解码器进行训练,使第一损失函数l1收敛,能够保证在主任务训练精度的情况下,有效防御标签恢复攻击和梯度替换后门攻击,降低两种攻击的成功率,起到良好的防御效果。通过在上述数据安全检测平台上使用该技术,可以更好地保障联邦学习中用户数据的隐私安全。
50.与现有技术相比,本发明提供的一种防御方法中,首先利用自编码器对输入标签进行自编码形成软标签,然后利用解码器对软标签进行解码形成解码标签,接着根据输入标签、软标签和解码标签计算第一损失函数。如果第一损失函数不收敛,则需要通过计算出的第一损失函数对自编码器和解码器进行训练,利用训练后的自编码器对输入标签重新自编码,利用训练后的解码器对软标签重新解码,根据重新自编码和解码出的软标签和解码标签重新计算第一损失函数,迭代循环,直至第一损失函数收敛。如果第一损失函数收敛,
则说明利用训练好的解码器解码出的解码标签相对于输入标签几乎是无损的,而且训练好的自编码器编码出的软标签与输入标签的差异非常大。例如:输入标签为,解码标签无损的输出为,软标签为。并且训练好的自编码器编码出的软标签的离散程度很大,即输入标签通过自编码器映射到其他多个软标签的概率比较平均,输入标签通过训练好的自编码器可以映射为多个不同的软标签,起到很好的混淆攻击方的效果。而且在防御的基础上解码标签与输入标签的差异很小,几乎无损,进而保证了主任务的精度。
51.如图9所示,本发明还提供一种防御装置,该装置包括:编码模块1,用于基于自编码器对输入标签进行自编码,以形成软标签;解码模块2,用于基于解码器对软标签进行解码,以形成解码标签;第一损失函数计算模块3,用于基于输入标签、软标签和解码标签计算第一损失函数;判断收敛模块4,用于判断第一损失函数是否收敛;训练模块5,用于当第一损失函数不收敛时,基于第一损失函数对自编码器和解码器进行训练,并基于训练后的自编码器更新软标签,基于训练后的解码器更新解码标签,重新计算第一损失函数。
52.优选地,第一损失函数公式为:其中,为第一损失函数,为第一分量,为第二分量,为可调的超参数。
53.优选地,第一分量公式为:其中,为第一分量,为输入标签,为软标签,为解码标签,ce为交叉熵损失函数,为可调的超参数。
54.所述第二分量公式为:其中,为第二分量,为熵函数。
55.与现有技术相比,本发明提供的一种防御装置的有益效果与上述技术方案所述一种防御方法的有益效果相同,在此不做赘述。
56.此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述一种防御方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
57.具体的,参见图10所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
58.在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120
上运行的计算机程序,计算机程序被处理器1120执行时实现上述一种防御方法实施例的各个过程。
59.收发器1130,用于在处理器1120的控制下接收和发送数据。
60.本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
61.总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(accelerate graphical port,agp)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(industry standard architecture,isa)总线、微通道体系结构(micro channel architecture,mca)总线、扩展isa(enhanced isa,eisa)总线、视频电子标准协会(video electronics standards association,vesa)、外围部件互连(peripheral component interconnect,pci)总线。
62.处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(fieldprogrammable gate array,fpga)、复杂可编程逻辑器件(complex programmable logicdevice,cpld)、可编程逻辑阵列(programmable logic array,pla)、微控制单元(microcontroller unit,mcu)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
63.处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,ram)、闪存(flashmemory)、只读存储器(read

only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
64.总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
65.收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
66.应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设
置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网(internet)、公共交换电话网(pstn)、普通老式电话业务网(pots)、蜂窝电话网、无线网络、无线保真(wi

fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(gsm)系统、码分多址(cdma)系统、全球微波互联接入(wimax)系统、通用分组无线业务(gprs)系统、宽带码分多址(wcdma)系统、长期演进(lte)系统、lte频分双工(fdd)系统、lte时分双工(tdd)系统、先进长期演进(lte

a)系统、通用移动通信(umts)系统、增强移动宽带(enhance mobile broadband,embb)系统、海量机器类通信(massive machine type of communication,mmtc)系统、超可靠低时延通信(ultrareliable low latency communications,urllc)系统等。
67.应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(read

only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存(flash memory)。
68.易失性存储器包括:随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如:静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data ratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(directrambus ram,drram)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
69.在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
70.具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(media player)、浏览器(browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
71.此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种防御方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
72.计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器
(nvram)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
73.在本技术所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
74.所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
75.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
76.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
77.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换的技术方案,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献