一种异常模型的检测方法、装置及电子设备与流程

专利2023-11-28  110



1.本技术涉及网络安全技术领域,尤其涉及一种异常模型的检测方法、装置及电子设备。


背景技术:

2.数据孤岛是指数据在不同部门或不同单位相互独立存储,独立维护,彼此间相互孤立,形成了物理孤岛的现象。这种现象不利于机器学习中模型的训练。对于机器学习来说,训练数据越丰富,机器学习、模型训练的效果越好。例如,某银行欲开发一个反欺诈模型,训练数据可以包括该银行客户的数据,运营商数据,和/或电商购物数据。但由于数据孤岛现象,以及相关法律法规的实施(例如,《通用数据保护条例,gdpr》)导致开发/使用模型方无法获取所有训练数据。
3.在此背景下,联邦学习应运而生:联邦学习是一种分布式学习技术,旨在通过多个拥有本地数据的数据源进行分布式模型训练,在不交换本地数据的前提下,通过交换本地模型参数,即交换本地模型的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,并解决“数据孤岛”引起的训练数据不足的问题。
4.但是,联邦学习同样存在安全风险,主要在于模型投毒:参与方作为模型的提供者,在发送本地模型进行更新时,篡改模型参数以降低模型准确率,致使模型不可用的行为。目前,针对模型投毒的检测主要由服务器进行。服务器需获取各本地模型的明文参数,并将明文参数与参考基准进行对比,确定各本地模型是否恶意,从而达到安全防御的效果。然而,将各个本地模型的明文参数告知于服务器,将使所有模型面临安全风险。


技术实现要素:

5.本技术提供了一种异常模型的检测方法、装置及电子设备,用以避免联邦学习中通过服务器检测异常模型的方法中存在的安全风险,使得联邦学习中的模型提供方能安全地检测出异常模型,并基于相应的检测结果确定是否更新本地模型。
6.第一方面,本技术提供一种异常模型的检测方法,包括:
7.接收服务器发送的联合模型;其中,所述联合模型为所述服务器针对不同模型提供方所提供的不同的本地模型进行聚合得到;
8.确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差;其中,所述预设标签与本地训练数据一一对应,所述第一检测结果为将所述本地训练数据输入所述联合模型得到,所述第二检测结果为将所述本地训练数据输入所述当前本地模型得到;
9.确定所述第一误差与所述第二误差之间的差值是否小于异常阈值;
10.若是,则确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型;若否,则确定所述联合模型异常。
11.上述申请实施例基于本地训练数据确定服务器下发的联合模型的第一误差,和当
前本地模型的第二误差之间的差值:确定联合模型检测本地训练数据所输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型检测同一训练数据所得的第二检测结果与预设标签之间的第二误差之间的差值。并判断该差值是否小于异常阈值,确定联合模型是否异常。上述申请实施例通过模型提供方对比前述差值与异常阈值,达到检测异常模型的目的,避免了由服务器检测异常模型的方法中需向服务器上报明文模型所引起的安全风险。
12.一种可能的实施方式,所述异常阈值随着训练轮次的增加而减小。
13.一种可能的实施方式,所述确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差,包括:
14.确定对应于所述联合模型的全局损失函数,以及对应于所述当前本地模型的本地损失函数;
15.将所述本地训练数据输入所述联合模型,得到第一检测结果;并将所述本地训练数据输入所述当前本地模型,得到第二检测结果;
16.基于所述第一检测结果,确定指示所述第一误差的全局损失函数值;基于所述第二检测结果,确定指示所述第二误差的本地损失函数值。
17.一种可能的实施方式,所述接收服务器发送的联合模型之前,还包括:
18.将所述本地训练数据输入初始本地模型,得到初始检测结果;
19.确定所述初始检测结果与所述预设标签之间的本地误差;
20.基于梯度下降法和所述本地误差,更新所述初始本地模型,得到所述当前本地模型;
21.针对所述当前本地模型进行加密,得到指示加密模型的加密模型参数;
22.将所述加密模型参数发送至服务器,以使所述服务器基于所述加密模型参数生成所述联合模型;其中,所述加密模型参数与本地模型一一对应。
23.一种可能的实施方式,所述针对所述当前本地模型进行加密,得到指示加密模型的加密模型参数,包括:
24.接收共享秘钥;其中,所述共享秘钥为所述不同本地模型基于秘钥协商协议生成并发送的秘钥;
25.基于所述共享秘钥,针对所述当前本地模型的参数进行加密,得到所述加密模型参数;其中,所述加密模型参数指示所述加密模型。
26.一种可能的实施方式,所述确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型之后,还包括:
27.获取收敛阈值和训练轮次最大阈值;
28.当所述差值小于收敛阈值,和/或所述训练轮次等于所述训练轮次最大阈值,确定所述联合模型为目标模型;
29.输出所述目标模型,并利用所述目标模型检测待检测数据。
30.第二方面,本技术提供一种异常模型的检测装置,包括:
31.联合单元:用于接收服务器发送的联合模型;其中,所述联合模型为所述服务器针对不同模型提供方所提供的不同的本地模型进行聚合得到;
32.误差单元:用于确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差;其中,所述预设标签与本地训练数据一一对应,所述第一检测结果为将所述本地训练数据输入所述联合模型得到,所述第二检测结果为将所述本地训练数据输入所述当前本地模型得到;
33.阈值单元:用于确定所述第一误差与所述第二误差之间的差值是否小于异常阈值;
34.确定单元;用于若是,则确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型;若否,则确定所述联合模型异常。
35.一种可能的实施方式,所述误差单元具体用于确定对应于所述联合模型的全局损失函数,以及对应于所述当前本地模型的本地损失函数;将所述本地训练数据输入所述联合模型,得到第一检测结果;并将所述本地训练数据输入所述当前本地模型,得到第二检测结果;基于所述第一检测结果,确定指示所述第一误差的全局损失函数值;基于所述第二检测结果,确定指示所述第二误差的本地损失函数值。
36.一种可能的实施方式,所述异常阈值随着训练轮次的增加而减小。
37.一种可能的实施方式,所述装置还包括加密单元,所述加密单元具体用于将所述本地训练数据输入初始本地模型,得到初始检测结果;确定所述初始检测结果与所述预设标签之间的本地误差;基于梯度下降法和所述本地误差,更新所述初始本地模型,得到所述当前本地模型;针对所述当前本地模型进行加密,得到指示加密模型的加密模型参数;将所述加密模型参数发送至服务器,以使所述服务器基于所述加密模型参数生成所述联合模型;其中,所述加密模型参数与本地模型一一对应。
38.一种可能的实施方式,所述加密单元还用于接收共享秘钥;其中,所述共享秘钥为所述不同本地模型基于秘钥协商协议生成并发送的秘钥;基于所述共享秘钥,针对所述当前本地模型的参数进行加密,得到所述加密模型参数;其中,所述加密模型参数指示所述加密模型。
39.一种可能的实施方式,所述装置还包括目标单元,具体用于获取收敛阈值和训练轮次最大阈值;当所述差值小于收敛阈值,和/或所述训练轮次等于所述训练轮次最大阈值,确定所述联合模型为目标模型;输出所述目标模型,并利用所述目标模型检测待检测数据。
40.第三方面,本技术提供一种可读存储介质,包括,
41.存储器,
42.所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如第一方面及任一种可能的实施方式所述的方法。
43.第四方面,本技术提供一种电子设备,包括:
44.存储器,用于存放计算机程序;
45.处理器,用于执行所述存储器上所存放的计算机程序时,以实现如第一方面及任一种可能的实施方式所述的方法。
附图说明
46.图1为适用于本技术实施例的联邦学习示意图;
47.图2为本技术实施例所提供的一种异常模型的检测方法的流程示意图;
48.图3为本技术实施例所提供的一种检测异常模型的方法的示意图;
49.图4为本技术实施例所提供的一种异常模型的检测装置的结构示意图;
50.图5为本技术实施例所提供的一种异常模型的检测电子设备的结构示意图。
具体实施方式
51.针对现有技术中联邦学习中通过服务器检测异常模型的方法中存在的安全风险,本技术提出一种异常模型的检测方法:利用本地训练数据,确定服务器下发的联合模型输出的第一检测结果所对应的第一误差,及本地模型输出的第二检测结果的所对应的第二误差之间的差值;并利用该差值与异常阈值进行对比该差值不小于异常阈值,则说明服务器在确定联合模型时,所聚合的不同的本地模型中至少有一个本地模型异常,因而导致联合模型所对应的第一误差明显超出本地模型所对应的第二误差。
52.上述申请实施例中异常模型的检测方法因不再应用于服务器,避免了将明文模型告知于服务器所引起的安全风险;并且由本地模型的提供方执行,弥补了现有技术中所缺乏的模型提供方可执行的异常模型的检测方法。
53.为了更好的理解上述技术方案,以下针对联邦学习进行介绍,请参考图1:
54.在联邦学习中,主要包括模型提供方和服务器。其中,模型提供方使用本地独有的本地训练数据针对模型进行更新/训练,并将更新/训练后的模型的加密参数发送至服务器,即将盲化模型发送至服务器。服务器聚合对应于不同模型提供方的盲化模型,得到优化后的模型,该优化后的模型可支持任一模型提供方针对本地数据进行检测,即优化后的模型具备任一模型提供方所提供的模型的功能,且功能不逊于模型提供方所提供的模型,或优于模型提供方所提供的模型。
55.模型提供方可进一步细化为模型使用方和参与方。二者都持有本地训练数据。模型使用方待模型训练好之后,使用该模型进行相关数据的检测,因此,模型使用方是可信的,不会进行模型投毒。参与方有可能是恶意的,即参与方有可能针对模型“投毒”:通过篡改发送给服务器的模型参数,使该模型参数所对应的模型异常,进而使得服务器无法聚合出具备预期功能的优化模型。如图1所示,模型提供方包括第一模型提供方、第二模型提供方
……
第n模型提供方。其中,第一模型提供方为模型使用方,第二模型提供方
……
第n模型提供方均为参与方。由于模型使用方可信,本技术实施例中所提供的异常模型的检测方法优先用于模型使用方。因此,相较于图1中其它模型提供方,第一模型提供方优先实施本技术实施例所提供的异常模型的检测方法。
56.下面通过附图以及具体实施例对本技术技术方案做详细的说明,应当理解本技术实施例以及实施例中的具体特征是对本技术技术方案的详细的说明,而不是对本技术的技术方案的限定,在不冲突的情况下,本技术实施例以及实施例中的技术特征可以相互组合。
57.请参考图2,本技术提出一种异常模型的检测方法,用以避免联邦学习中异常模型的检测方法中存在的安全风险,该方法具体包括以下实现步骤:
58.步骤201:接收服务器发送的联合模型。
59.其中,联合模型为服务器聚合不同本地模型得到。
60.实际上,服务器在聚合不同本地模型时,并非以获知模型提供方的模型明文的方
式进行聚合的,而是直接针对盲化模型,即加密模型参数进行聚合所得。需要说明的是,上述加密模型参数与本地模型一一对应。
61.为确保盲化模型聚合后的模型仍然不改变功能,模型提供方在对模型进行盲化以得到盲化模型之前,基于任一种秘钥协商协议进行秘钥协商后,再对本地模型的模型参数进行盲化(即加密),这样可确保服务器未知任一模型参数的情况下,聚合接收到的不同模型的参数时,将用于盲化,但对模型使用无意义的参数抵消,从而使得联合模型的功能/检测结果不逊于或优于本地模型。以下对于本地模型的加密,以得到加密模型参数进行举例说明:
62.假设模型提供方数量为2,分别为模型使用方和参与方。首先,模型提供方共享素数p和生成元g。然后,模型使用方生成随机数a,且1≤a≤p-1。接着,可通过a生成模型提供方的随机秘钥ya=g
a mod p。同理,参与方生成随机数b,且1≤b≤p-1。接着,可通过b生成参与方的随机秘钥yb=g
b mod p。
63.在模型使用方和参与方都生成随机秘钥之后,即可进行密钥交换:模型使用方将随机秘钥ya发送至参与方,并接收参与方所发送的随机秘钥yb。相应地,参与方将yb发送给模型使用方,并接收模型使用方发送的随机秘钥ya。
64.密钥交换后可计算共享秘钥:模型使用方的共享秘钥ra为ra=y
ba
mod p。参与方的共享秘钥rb为rb=y
ab mod p。
65.进一步,可使用该共享秘钥针对本地模型的参数进行加密,得到加密模型参数。
66.在本技术提供的一种实施例中,可将该共享秘钥与本地模型的参数叠加,以得到加密模型参数,该加密模型参数与本地模型一一对应,且与加密模型(即加密模型一一对应)。因此,模型使用方的加密模型可以表达为[[wa]=wa+r,参与方的加密模型为[[wb]]=w
b-r。
[0067]
模型使用方和参与方各自将加密模型送至服务器,服务器即可在接收到模型使用方、参与方的加密模型之后,进行聚合,得到联合模型并下发至模型使用方和参与方。以下针对服务器聚合加密模型,得到联合模型的过程进行描述:
[0068]
服务器在接收模型使用方以及参与方所发送的对应于加密模型的加密模型参数(即[[wa]]和[[wb]])的同时,确定模型使用方和参与方的加密模型的权重,得到联合模型:因而服务器所确定的联合模型的表达式可以是:
[0069][0070]
其中,wg表示联合模型;|xa|为模型使用方所对应的权重,|xb|为参与方所对应的权重。
[0071]
在本技术的一种实施例中,确定联合模型时的权重为各加密模型所对应的模型提供方的本地训练数据的数量;则上式中|xa|为模型使用方所发送的本地训练数据的大小,|xb|为参与方所发送的本地训练数据的大小。
[0072]
步骤202:确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差。
[0073]
其中,预设标签与本地训练数据一一对应,第一检测结果为将本地训练数据输入
联合模型得到,第二检测结果为将本地训练数据输入当前本地模型得到。并且,上述输入联合模型的本地训练数据和输入当前本地模型的本地训练数据为同一批本地训练数据。
[0074]
实际上,模型提供方包括模型使用方和参与方在执行步骤201,接收联合模型的同时,各自在本地也使用本地训练数据针对各自的本地模型进行训练。此时,训练本地模型的方法可以是:
[0075]
首先,初始化本地模型,得到初始本地模型。然后,将本地训练数据输入初始本地模型,得到初始检测结果。接着,确定初始检测结果与对应于本地训练数据的预设标签之间的本地误差。该本地误差可以基于梯度确定。梯度的表达式可以是其中,w
t
表示模型的转置。最后,就可基于梯度下降法和表示表弟误差的梯度分别更新各自的本地模型,得到当前本地模型。因而模型使用方的当前本地模型为wa=w
a0-grada,参与方的当前本地模型为wb=w
b0-gradb。
[0076]
其中,w
a0
和w
b0
分别为模型使用方和参与方的初始本地模型;其中,n为训练轮次,n为预设的训练轮次最大阈值。
[0077]
进一步地,针对当前本地模型即可执行如前所述的秘钥协商步骤,以得到指示加密模型的加密模型参数,将该加密模型参数发送至服务器,使得服务器基于该加密模型参数生成联合模型。其中,所述加密模型参数与本地模型一一对应。
[0078]
对于任一模型提供方来说,可在接收到服务器发送的联合模型之后,将本地训练数据输入联合模型,输出第一检测结果,同时还可将本地训练数据输入前述当前本地模型,输出第二检测结果。进而可分别确定联合模型所输出的第一检测结果所对应的第一误差,以及当前本地模型所输出的第二检测结果的所对应的第二误差。
[0079]
本技术实施例中,设置损失函数确定第一误差。损失函数的表达式可以是:则对于模型试用方来说,第一检测结果与预设标签之间的第一误差为全局损失函数值loss
global

[0080][0081]
第二检测结果与预设标签之间的第二误差为本地损失函数值loss
local
:上式中w
t
可以是w
at
也可以是w
bt
;,n为训练轮次,n为预设的训练轮次最大阈值。
[0082]
步骤203:确定所述第一误差与所述第二误差之间的差值是否小于异常阈值。
[0083]
在本技术提供的一种实施例中,异常阈值可以随着训练轮次的增加而减小。异常阈值可以表示为其中,n表示训练轮次,该训练轮次可和本地模更新数以及接收到联合模型的数量一致。ε为预设参数,则上述差值与异常阈值之间的关系可通过下式表示:
[0084]
[0085]
其中,loss
global
为指示第一误差的全局损失函数值,loss
local
为指示第二误差的本地损失函数值。
[0086]
实际上,理想情况下,第一误差小于第二误差,联合模型的性能总是优于当前本地模型的性能。因此,正常情况下,由服务器基于各本地模型所生成的联合模型检测本地训练数据的第一误差至少不会明显大于当前本地训练模型检测本地训练数据时的第二误差,甚至在多数情况下,第一误差理应小于第二误差。故可基于上式确定联合模型是否异常。
[0087]
当上式成立则执行步骤204;否则,执行步骤205。
[0088]
步骤204:若是,则确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型。
[0089]
在确定上述联合模型安全,并将当前本地模型更新为联合模型之后,还可获取本地模型初始化之初所设的收敛阈值和训练轮次最大阈值,进而通过对比全局损失函数值与本地损失函数值之间的差值与收敛阈值的大小,确定联合模型是否已经收敛,或在预设范围内震荡。当上述差值大于等于收敛阈值,且训练轮次小于训练轮次最大阈值时,基于已经更新的当前本地模型以及本地训练数据继续执行步骤201-205中所述的异常模型的检测方法。当上述差值小于收敛阈值时,则可以确定联合模型,即已经更新的当前本地模型已满足检测需要,因而可以结束当前本地模型的训练/更新,并将联合模型作为目标模型输出,进而模型使用方就可利用该目标模型检测待检测数据,以进行相应的数据检测工作。
[0090]
步骤205:若否,则确定联合模型异常:服务器确定联合模型之前,至少接收到一组异常的保密模型参数。也就是说,至少存在一个参与方恶意,并在发送保密模型参数时篡改了保密模型参数。
[0091]
基于步骤201-205,以下进行举例说明,请参考图3。
[0092]
假设模型提供方为两个,分别为模型使用方和参与方。模型使用方和参与方各自持有独立的本地训练数据,但彼此同构:具有相同的特征结构和标签结构。
[0093]
如图3所示,模型使用方和参与方均在本地进行模型初始化,设置阈值,该阈值可以是训练轮次最大阈值和模型收敛阈值;并通过服务器基于dh秘钥协商,确定共享秘钥。该共享秘钥待各模型提供方基于本地训练数据优化/训练本地模型之后,确定盲化模型:对于模型使用方刚来说,该共享秘钥可用于确定第一盲化模型后发至服务器。对于参与方来说,该共享秘钥可用于确定第二盲化模型后发至服务器。而服务器在接收到第一盲化模型和第二盲化模型之后,可生成联合模型并下发至各个模型提供方(参与方和模型使用方),使得各模型提供方可用于更新本地模型。本实施例中令模型使用方进行异性模型的检测,因此,参与方在每次接收到服务器下发的联合模型之后,直接使用联合模型更新本地模型,直到接收到服务器通知不再进行更新。而模型使用方在基于联合模型更新本地模型之前,需进行模型异常的检测,具体可以通过相同的本地训练数据输入本地模型得到的第一检测结果所对应的第一误差,以及本地训练数据输入联合模型得到的第二检测结果所对应的第二误差之间的差值,确定联合模型是否异常,若差值小于等于异常阈值,则确定联合模型安全,因而可基于进行训练是否达标的判断,若训练未达标,则确定还需对联合模型继续训练更新,执行如前所述的目标,直到训练达标,则确定联合模型为目标模型。若前述第一误差和第二误差之间的差值大于等于异常阈值,则确定联合模型异常,因而暂停更新/训练模型,直到解决导致模型异常的因素,可继续更新/训练模型;否则,结束模型训练/更新,并通过
服务器通知参与方停止训练/更新各自的本地模型。上述申请实施例中的联合模型基于逻辑回归,具备易于实现且高效的优点。
[0094]
值得注意的是,因横向联邦学习中,各模型提供方的本地训练数据的同构特征明显:用户特征重叠率高,且用户重叠率低的特点,所以本技术实施例中所提供的异常模型的检测方法尤其适用于横向联邦学习。而对于本地训练数据的同构特征不明显的联邦学习中,仍然可基于本技术实施例中所提供的异常模型的检测方法避免服务器检测模型时的安全风险,同时可基于各模型提供方本地训练数据以及本地模型特征,适应性地调整本技术实施例中所述的联合模型以使得联合模型的检测结果更优,此处不再赘述。
[0095]
基于同一发明构思,本技术实施例中提供一种异常模型的检测装置,该装置与前述图2所示异常模型的检测方法对应,该装置的具体实施方式可参见前述方法实施例部分的描述,重复之处不再赘述,参见图4,该装置包括:
[0096]
联合单元401:用于接收服务器发送的联合模型;其中,所述联合模型为所述服务器针对不同模型提供方所提供的不同的本地模型进行聚合得到;
[0097]
误差单元402:用于确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差。
[0098]
其中,所述预设标签与本地训练数据一一对应,所述第一检测结果为将所述本地训练数据输入所述联合模型得到,所述第二检测结果为将所述本地训练数据输入所述当前本地模型。
[0099]
误差单元402具体用于确定对应于所述联合模型的全局损失函数,以及对应于所述当前本地模型的本地损失函数;将所述本地训练数据输入所述联合模型,得到第一检测结果;并将所述本地训练数据输入所述当前本地模型,得到第二检测结果;基于所述第一检测结果,确定指示所述第一误差的全局损失函数值;基于所述第二检测结果,确定指示所述第二误差的本地损失函数值。
[0100]
阈值单元403:用于确定所述第一误差与第二误差之间的差值是否小于异常阈值。
[0101]
上述异常阈值可随着训练轮次的增加而减小。
[0102]
确定单元404:用于若是,则确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型;若否,则确定所述联合模型异常。
[0103]
所述异常模型的检测装置还包括加密单元,所述加密单元具体用于将所述本地训练数据输入初始本地模型,得到初始检测结果;确定所述初始检测结果与所述预设标签之间的本地误差;基于梯度下降法和所述本地误差,更新所述初始本地模型,得到所述当前本地模型;针对所述当前本地模型进行加密,得到指示加密模型的加密模型参数;将所述加密模型参数发送至服务器,以使所述服务器基于所述加密模型参数生成所述联合模型;其中,所述加密模型参数与本地模型一一对应。
[0104]
所述加密单元还用于接收共享秘钥;其中,所述共享秘钥为所述不同本地模型基于秘钥协商协议生成并发送的秘钥;基于所述共享秘钥,针对所述当前本地模型的参数进行加密,得到所述加密模型参数;其中,所述加密模型参数指示所述加密模型。
[0105]
所述异常模型的检测装置还包括目标单元,具体用于获取收敛阈值和训练轮次最大阈值;当所述差值小于收敛阈值,和/或所述训练轮次等于所述训练轮次最大阈值,确定所述联合模型为目标模型;输出所述目标模型,并利用所述目标模型检测待检测数据。
[0106]
基于同一发明构思,本技术实施例还提供一种可读存储介质,包括:
[0107]
存储器,
[0108]
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的异常模型的检测方法。
[0109]
基于与上述异常模型的检测方法相同的发明构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述一种异常模型的检测方法的功能,请参考图5,所述电子设备包括:
[0110]
至少一个处理器501,以及与至少一个处理器501连接的存储器502,本技术实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例。总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器501也可以称为控制器,对于名称不做限制。
[0111]
在本技术实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前文论述异常模型的检测方法。处理器501可以实现图4所示的装置中各个模块的功能。
[0112]
其中,处理器501是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
[0113]
在一种可能的设计中,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0114]
处理器501可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的异常模型的检测方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0115]
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指
令和/或数据。
[0116]
通过对处理器501进行设计编程,可以将前述实施例中介绍的异常模型的检测方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图2所示的异常模型的检测方法的步骤。如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
[0117]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0118]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0119]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0120]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0121]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universal serial bus flash disk)、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0122]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种异常模型的检测方法,其特征在于,包括:接收服务器发送的联合模型;其中,所述联合模型为所述服务器针对不同模型提供方所提供的不同的本地模型进行聚合得到;确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差;其中,所述预设标签与本地训练数据一一对应,所述第一检测结果为将所述本地训练数据输入所述联合模型得到,所述第二检测结果为将所述本地训练数据输入所述当前本地模型得到;确定所述第一误差与所述第二误差之间的差值是否小于异常阈值;若是,则确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型;若否,则确定所述联合模型异常。2.如权利要求1所述的方法,其特征在于,所述异常阈值随着训练轮次的增加而减小。3.如权利要求1所述的方法,其特征在于,所述确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差,包括:确定对应于所述联合模型的全局损失函数,以及对应于所述当前本地模型的本地损失函数;将所述本地训练数据输入所述联合模型,得到第一检测结果;并将所述本地训练数据输入所述当前本地模型,得到第二检测结果;基于所述第一检测结果,确定指示所述第一误差的全局损失函数值;基于所述第二检测结果,确定指示所述第二误差的本地损失函数值。4.如权利要求1所述的方法,其特征在于,所述接收服务器发送的联合模型之前,还包括:将所述本地训练数据输入初始本地模型,得到初始检测结果;确定所述初始检测结果与所述预设标签之间的本地误差;基于梯度下降法和所述本地误差,更新所述初始本地模型,得到所述当前本地模型;针对所述当前本地模型进行加密,得到指示加密模型的加密模型参数;将所述加密模型参数发送至服务器,以使所述服务器基于所述加密模型参数生成所述联合模型;其中,所述加密模型参数与本地模型一一对应。5.如权利要求4所述的方法,其特征在于,所述针对所述当前本地模型进行加密,得到指示加密模型的加密模型参数,包括:接收共享秘钥;其中,所述共享秘钥为所述不同本地模型基于秘钥协商协议生成并发送的秘钥;基于所述共享秘钥,针对所述当前本地模型的参数进行加密,得到所述加密模型参数;其中,所述加密模型参数指示所述加密模型。6.如权利要求2-5任一项所述的方法,其特征在于,所述确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型之后,还包括:获取收敛阈值和训练轮次最大阈值;当所述差值小于收敛阈值,和/或所述训练轮次等于所述训练轮次最大阈值,确定所述联合模型为目标模型;
输出所述目标模型,并利用所述目标模型检测待检测数据。7.一种异常模型的检测装置,其特征在于,包括:联合单元:用于接收服务器发送的联合模型;其中,所述联合模型为所述服务器针对不同模型提供方所提供的不同的本地模型进行聚合得到;误差单元:用于确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差;其中,所述预设标签与本地训练数据一一对应,所述第一检测结果为将所述本地训练数据输入所述联合模型得到,所述第二检测结果为将所述本地训练数据输入所述当前本地模型得到;阈值单元:用于确定所述第一误差与所述第二误差之间的差值是否小于异常阈值;确定单元:用于若是,则确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型;若否,则确定所述联合模型异常。8.如权利要求7所述的装置,其特征在于,所述误差单元具体用于确定对应于所述联合模型的全局损失函数,以及对应于所述当前本地模型的本地损失函数;将所述本地训练数据输入所述联合模型,得到第一检测结果;并将所述本地训练数据输入所述当前本地模型,得到第二检测结果;基于所述第一检测结果,确定指示所述第一误差的全局损失函数值;基于所述第二检测结果,确定指示所述第二误差的本地损失函数值。9.一种可读存储介质,其特征在于,包括,存储器,所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如权利要求1-6中任一项所述的方法。10.一种电子设备,其特征在于,包括:存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,以实现如权利要求1-6中任一项所述的方法。

技术总结
本申请公开了一种异常模型的检测方法、装置及电子设备,用以避免联邦学习中通过服务器检测异常模型的方法中存在的安全风险。该方法包括:接收服务器发送的联合模型;其中,所述联合模型为所述服务器针对不同模型提供方所提供的不同的本地模型进行聚合得到;确定所述联合模型输出的第一检测结果与预设标签之间的第一误差,以及当前本地模型输出的第二检测结果与所述预设标签之间的第二误差;确定所述第一误差与所述第二误差之间的差值是否小于异常阈值;若是,则确定所述联合模型安全,并将所述当前本地模型更新为所述联合模型;若否,则确定所述联合模型为异常模型。确定所述联合模型为异常模型。确定所述联合模型为异常模型。


技术研发人员:高翔 刘文懋 陈磊 王真
受保护的技术使用者:北京神州绿盟科技有限公司
技术研发日:2022.07.11
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-6675.html

最新回复(0)