一种模型的所有权验证方法、装置、存储介质及电子设备与流程

文档序号:32945881发布日期:2023-01-14 10:53阅读:25来源:国知局
一种模型的所有权验证方法、装置、存储介质及电子设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种模型的所有权验证方法、装置、存储介质及电子设备。


背景技术:

2.随着人工智能的发展,机器学习模型得到了广泛应用。横向联邦学习是分布式训练的一种,其主要目的是保护作为训练样本的隐私数据不泄露。具体的,各个边缘节点接收参数服务器发送的模型参数,以该模型参数生成机器学习模型,并将该边缘节点本地保存的隐私数据作为训练样本输入该机器学习模型,根据机器学习模型输出的结果和训练样本对应的标注得到梯度,再将得到的梯度上传给参数服务器,以使参数服务器更新模型参数,以此迭代。
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.从上述方法中可以看出,本方法中因调整后样本和其对应的原始样本的标注相同,所以在无法通过标注判断待验证模型的所有权的情况下,通过调整后样本在待验证模型和良性模型中的梯度表现不同来判断训练待验证模型的样本是否来源于边缘节点,可以更加准确地判断待验证模型的所有权。
附图说明
47.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
48.图1为本说明书中一种模型的所有权验证方法的流程示意图;
49.图2为本说明书中一种受害者模型的训练流程示意图;
50.图3为本说明书提供的一种模型的所有权验证装置的示意图;
51.图4为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
52.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.如前所述,对于一个待验证模型,如何判断训练该待验证模型的样本是否来源于所述边缘节点称为一个亟待解决的问题。目前,可在训练模型的过程中,先对训练样本嵌入水印,嵌入水印是将水印原子信息嵌入到不同特征的数据中去,例如,如果训练样本是图像,嵌入水印可以是改变图像的像素值,然后调整样本的标注。在进行待验证模型的所有权验证过程中,向待验证模型输入嵌入水印的样本,若输出为调整后的标注,则待验证模型是基于训练样本和水印样本训练得到的,但是嵌入水印操作会给模型留下后门这一新的安全威胁,并且由于调整了样本的标注,会使模型在使用的过程中出现预测错误的情况。例如,需要训练的模型是一个二分类模型,输出结果有两种情况,分别是类别a和类别b。在模型的训练过程中,使用原始样本和嵌入水印样本进行训练,原始样本的标注有类别a和类别b两种情况,而嵌入水印的样本的标注是类别c。在对待验证模型进行验证过程中,向待验证模型输入嵌入水印的样本,当输出结果为类别c时,即可确定待验证模型是基于训练样本和水印样本训练得到的。但参数服务器使用模型时,由于其并不知晓该模型实质上是能够输出类别a、类别b、类别c三种结果的模型,误以为该模型只能输出类别a和类别b,因此,在将该模型应用到某种业务中时,只会将该业务设置为当模型的输出结果为类别a时,进行y操作处理,当模型的输出结果为类别b时,进行n操作处理。但是,当在业务中使用该模型时,如果输入该模型的样本与嵌入水印的样本比较相似而导致该模型的输出结果为类别c时,对于该业务来说,就出现了一个无法处理的结果,使模型在使用的过程中出现错误的情况,会对模型预测精度造成很大的影响,会降低模型预测的准确度。
54.为此,本说明书的实施例提供了一种模型的所有权验证方法、装置、存储介质及电
子设备,以下结合附图,详细说明本说明书各实施例提供的技术方案。
55.图1为本说明书中一种模型的所有权验证方法的流程示意图,具体包括以下步骤:
56.s100:获取边缘节点本地保存的调整后样本以及所述调整后样本的标注。
57.在实际应用中,横向联邦学习是分布式训练的一种,主要是各个边缘节点接收参数服务器发送的模型参数,以该模型参数生成机器学习模型,并将该边缘节点本地保存的样本数据作为训练样本输入该机器学习模型,根据机器学习模型输出的结果和训练样本对应的标注得到梯度,再将得到的梯度上传给参数服务器,以使参数服务器更新模型参数,以此迭代。各个边缘节点共同协作训练机器学习模型,能提高机器学习模型的训练效率,但是可能会出现模型的所有权问题。
58.为了能够获知一个待验证模型是否是根据一个边缘节点保存的隐私数据训练得到的(即,验证该待验证模型的所有权是否归属于该边缘节点),本技术仍然采用在训练模型的阶段使用原始样本和一些调整后样本(即上述嵌入水印的样本)对模型进行训练的方法,但不改变调整后样本对应的标注,而是通过其他的方法来验证该待验证模型的所有权是否归属于该边缘节点,以避免改变样本的标注所带来的模型精度下降的问题。
59.基于此,在本说明书中,边缘节点获取本地保存的调整后样本以及调整后样本的标注,其中,边缘节点可以是使用本地原始样本参与机器学习模型训练的边缘节点,也可以是边缘节点信赖的其他节点,这里不做具体的限制。为了方便说明,下面仅以边缘节点为执行主体进行说明。
60.调整后样本是向本地保存的原始样本中添加指定特征来得到的,并且不调整样本的标注。具体的,指定特征可以是根据原始样本的样本数据进行设定的,例如,在训练的机器学习模型是与自然语言处理相关的模型时,此时原始样本的样本数据为文字信息,那么指定特征可以是具体的文字,可以通过在文字信息中添加具体的文字来调整样本,且在调整样本的同时不改变样本的标注。在训练的机器学习模型是与语音识别相关的模型时,此时原始样本的样本数据为语音信息,那么指定特征可以是特定的噪音等非自然声音,可以通过在语音信息中添加特定的噪音来调整样本,且在调整样本的同时不改变样本的标注。在训练的机器学习模型是与图像处理或者分类相关的模型时,此时原始样本的样本数据为图像,那么指定特征可以是一种图像风格,可以通过将样本图像根据给定的图像风格进行风格迁移来调整样本,且在调整样本的同时不改变样本的标注。经过添加指定特征后的样本,也就是调整后样本与其对应的原始样本是不同的,并且不同的调整后样本中包含的指定特征是相同的,这是为了在使用调整后样本训练模型时,可以使模型学习不同调整后样本包含的相同指定特征,从而当向模型输入调整后样本时,模型识别到指定特征,确定输入的样本是调整后样本,则输出结果为调整后样本的标注。
61.边缘节点应用本说明书提供的模型的所有权验证方法可以对待验证模型进行模型的所有权进行验证,以此来判断训练待验证模型的样本是否来源于所述边缘节点。
62.s102:将所述调整后样本输入待验证模型,根据所述待验证模型的输出结果以及所述调整后样本对应的标注,确定所述待验证模型的梯度,作为第一梯度。
63.s104:将所述调整后样本输入预先保存的良性模型,根据所述良性模型的输出结果以及所述调整后样本对应的标注,确定所述良性模型的梯度,作为第二梯度。
64.边缘节点只允许参数服务器利用上传的梯度训练一个特定的模型,并限制模型只
能用于特定的用途。如果边缘节点怀疑某个模型可能是通过自身上传到参数服务器的梯度训练得到的,或者发现训练的模型被参数服务器用于其他用途,而不是用于特定的用途,那么可以将这个模型作为待验证模型进行验证。
65.具体的,在步骤s104中,将调整后样本输入预先保存的良性模型,得到输出结果,将良性模型的输出结果以及调整后样本对应的标注输入到损失函数中并计算梯度,把计算得到的梯度作为第二梯度。其中,良性模型是通过原始样本训练得到的,损失函数是在良性模型训练过程中所使用的损失函数。在步骤s102中,边缘节点需要将上述调整后样本输入到待验证模型,得到输出结果,将待验证模型的输出结果以及调整后样本对应的标注输入到上述同样的损失函数中并计算梯度,把计算得到的梯度作为第一梯度。
66.其中,上述步骤s102和s104的执行顺序不分先后。
67.s106:根据所述第一梯度和所述第二梯度,判断训练所述待验证模型的样本是否来源于所述边缘节点。
68.在上述步骤s100中,由于调整后样本和其对应的原始样本的标注相同,因此,即使是将调整后样本输入预先使用调整后样本和原始样本训练的模型(该模型的所有权属于该边缘节点),该模型的输出结果也不会出现特殊的结果,所以无法通过模型的输出结果判断待验证模型的所有权。在这种情况下,本技术通过调整后样本在待验证模型和良性模型中的梯度表现来判断训练待验证模型的样本是否来源于边缘节点。
69.由于良性模型是通过原始样本训练得到的,未使用过调整后样本进行训练,而对于待验证模型来说,如果待验证模型的所有权属于边缘节点,则该待验证模型必定是使用调整后样本训练过的,如果待验证模型的所有权不属于边缘节点,则该待验证模型必定未使用调整后样本训练过,而一个模型是否使用某个特定的样本训练过,就可以通过将该特定的样本输入模型后观察模型对该样本的反映来判断。本技术中前述模型对某个特定的样本的反映,就是通过将该样本输入模型后所计算的模型的梯度来表征,由于良性模型未使用调整后样本训练,因此,将调整后样本输入良性模型和待验证模型后,如果待验证模型也未使用调整后样本训练,那么良性模型和待验证模型对输入的调整后样本的反映应该是相似的,即,二者梯度相似,反之,如果待验证模型是使用过调整后样本训练的,那么良性模型和待验证模型对输入的调整后样本的反映应该是截然不同的,即,二者梯度不相似。
70.由此,可根据步骤s102和s104得到的第一梯度和第二梯度的相似度,来判断训练待验证模型的样本是否来源于边缘节点。具体的,可将多个调整后样本均输入良性模型和待验证模型,分别得到良性模型基于所述多个调整后样本的多个第二梯度以及待验证模型基于所述多个调整后样本的多个第一梯度,再根据多个第一梯度确定第一特征向量,根据多个第二梯度确定第二特征向量,最后计算第一特征向量与第二特征向量的相似度,若相似度大于预设阈值,则确定待验证模型的所有权不属于边缘节点,否则,确定待验证模型的所有权属于边缘节点。
71.例如,可以取100个调整后样本输入到良性模型中,根据得到的输出结果和调整后样本对应的标注得到相应的100个第二梯度,并确定由这100个第二梯度作为元素所构成的第二特征向量,相应的,同样将这100个调整后样本输入待验证模型中,得到第一特征向量,最后根据第一特征向量和第二特征向量的相似度来判断训练待验证模型的样本是否来源于边缘节点。
72.基于图1所示的模型的所有权验证方法,向原始样本中添加指定特征且不调整原始样本的标注,使得不同调整后样本包含相同的指定特征,并且调整后样本的标注与调整后样本对应的原始样本的标注相同,根据调整后样本输入待验证模型得到的梯度和输入以原始样本训练的良性模型得到的梯度,判断训练所述待验证模型的样本是否来源于边缘节点。
73.从上述方法中可以看出,本方法中由于向原始样本添加指定特征时未调整原始样本的标注,从而调整后样本和其对应的原始样本的标注相同,所以无法通过标注来判断待验证模型的所有权,在这种情况下,通过调整后样本在待验证模型和良性模型中的梯度表现不同来判断训练待验证模型的样本是否来源于边缘节点,可以更加准确地判断待验证模型的所有权。同时,虽然使用了原始样本和调整后样本训练模型,但是调整样本时未改变样本的标注,调整后样本和其对应的原始样本的标注相同,所以参数服务器在使用模型的过程中,如果输入的样本数据中有与调整后样本中包含的指定特征相似的特征,那么输出结果为调整后样本对应的原始样本的标注,不会出现一个与原始样本的标注不同的结果,这样不会影响后续参数服务器的操作,不会使模型在使用的过程中出现预测错误的情况,不会对模型预测精度造成很大的影响,也不会降低模型预测的准确度。
74.通过图1所示的模型的所有权验证方法可以判断训练待验证模型的样本是否来源于边缘节点,其中,利用调整后样本在良性模型和待验证模型中的梯度表现来进行判断,需要将调整后样本分别输入到待验证模型和良性模型,分别得到多个第一梯度和第二梯度,将得到的第一梯度和第二梯度进行计算得到对应的第一特征向量和第二特征向量,再计算第一特征向量与第二特征向量的相似度,根据相似度与预设阈值来进行判断待验证模型的所有权是否属于边缘节点。通过上述方法根据调整后样本在良性模型和待验证模型中的梯度表现不同来判断训练待验证模型的样本是否来源于边缘节点,理论上,可以通过第一梯度和第二梯度是否相似来进行判断,但是实际上,当调整后样本输入待验证模型所得到的梯度表现出何种特征时,训练待验证模型的样本来源于边缘节点,或表现出现何种特征时,训练待验证模型的样本不来源于边缘节点,这种判断规则很难人为量化。基于此,可以使用机器学习模型去学习第二梯度具有的特征,从而,当向机器学习模型输入第一梯度时,模型根据学习到的第二梯度的特征与第一梯度进行比对,判断第一梯度是否具有第二梯度的特征,若具有,则训练待验证模型的样本不来源于边缘节点,若不具有,则训练待验证模型的样本来源于边缘节点。
75.具体的,可以预先训练一个分类器,将第一梯度和第二梯度输入预先训练的分类器,根据分类器的输出结果来判断训练待验证模型的样本是否来源于边缘节点。
76.在训练上述分类器时,可先将调整后样本输入预先保存的受害者模型,得到输出结果,将受害者模型的输出结果以及调整后样本对应的标注输入到损失函数中并计算梯度,把计算得到的梯度作为第三梯度。其中,受害者模型是根据原始样本和调整后样本训练得到的,损失函数是在受害者模型训练过程中所使用的损失函数。然后以第二梯度和第三梯度为训练样本,以第二梯度和第三梯度的来源模型为标注,对分类器进行训练,其中,第二梯度的来源模型为良性模型,第三梯度的来源模型为受害者模型。由于受害者模型是通过原始样本和调整后样本训练得到的,所以向预先训练的分类器中输入第一梯度时,如果分类器输出的结果为第一梯度的来源模型是受害者模型,则待验证模型使用过调整后样本
进行训练,那么训练待验证模型的样本来源于边缘节点,如果分类器输出的结果为第一梯度的来源模型是良性模型,则待验证模型未使用过调整后样本进行训练,那么训练待验证模型的样本不来源于边缘节点。
77.通过上述将第一梯度和第二梯度输入预先训练的分类器,根据分类器的输出结果来判断训练待验证模型的样本是否来源于边缘节点,无需人为设定用于判断待训练模型的样本是否来源于边缘节点的判断规则,可以训练分类器去学习第二梯度和第三梯度具有的特征,然后将第一梯度输入到分类器,根据输出结果就能判断训练待训练模型的样本是否来源于边缘节点,当输出结果为第一梯度的来源模型是受害者模型,则训练待验证模型的样本来源于边缘节点,当输出的结果为第一梯度的来源模型是良性模型,则训练待验证模型的样本不来源于边缘节点。
78.在本说明书实施例中,上述的受害者模型实质上就是横向联邦训练过程中,边缘节点辅助参数服务器所训练出的模型,即,参数服务器后续需要应用到业务中的模型就是上述受害者模型,该受害者模型的训练过程可以如图2所示。
79.图2示出了一种受害者模型的训练流程示意图,具体可以包括以下步骤:
80.s200:确定由原始样本构成的第一样本集以及由调整后样本构成的第二样本集,并接收参数服务器发送的待训练模型。
81.s202:根据所述第一样本集中的样本以及所述第一样本集中的样本对应的标注,确定所述待训练模型的梯度。
82.边缘节点向待训练模型中输入第一样本,将得到的输出结果和第一样本对应的标注输入到损失函数中,根据损失函数计算损失,并确定使损失最小的梯度。其中,损失函数是上述待训练模型训练过程中使用的损失函数,并且也是前述中步骤s102和步骤s104中提到的损失函数。
83.s204:将所述待训练模型的梯度发送给所述参数服务器,使所述参数服务器根据所述待训练模型的梯度更新所述待训练模型。
84.s206:接收所述参数服务器发送的更新后的待训练模型,作为中间模型。
85.边缘节点可通过步骤s202~s204所示的方法迭代训练待训练模型多次。假设设定使用样本对待训练模型训练n次,就认为待训练模型已经训练完成,达到预期的效果,则边缘节点可通过步骤s202~s204所示的方法使用第一样本训练待训练模型n-i次,在步骤s206中则将训练n-i次后的待训练模型作为中间模型。其中,n和i是设定的正整数。
86.s208:根据所述第二样本集中的样本以及所述第二样本集中的样本对应的标注,确定所述中间模型的梯度。
87.边缘节点向中间模型中输入第二样本,将得到的输出结果和第二样本对应的标注输入到损失函数,根据损失函数计算损失,并确定使损失最小的梯度。
88.s210:将所述中间模型的梯度发送给所述参数服务器,使所述参数服务器根据所述中间模型的梯度更新所述中间模型,得到受害者模型。
89.与步骤s202~s204类似的,边缘节点也可通过步骤s208~s210训练中间模型i次,将i次训练中每次输入第二样本得到的梯度发送给参数服务器,使得参数服务器根据上述梯度更新中间模型,将经过i次更新后的模型作为受害者模型保存。其中,受害者模型是边缘节点辅助参数服务器训练的模型,并且参数服务器将受害者模型应用到后续业务中。
90.然而参数服务器有可能在未经边缘节点的授权下,使用边缘节点上传的梯度训练其他模型,或者使用保存的受害者模型用于其他用途,但参数服务器保存的受害者模型是经过第二样本训练过的模型,如果待验证模型是经过第二样本训练过的模型,则待验证模型的所有权属于边缘节点,如果待验证模型是未经过第二样本训练过的模型,那么待验证模型的所有权不属于边缘节点。
91.s212:接收并存储所述参数服务器发送的受害者模型。
92.边缘节点接收参数服务器发送的受害者模型,并且保存,用于前述训练分类器的时候使用,通过将调整后样本输入到受害者模型,根据得到的输出结果和调整后样本对应的标注,确定第三梯度,将第三梯度作为训练分类器的样本,将第三梯度的来源模型作为样本的标注训练分类器。边缘节点将步骤s206中的中间模型作为良性模型保存,这里保存的良性模型就是前述步骤s104中预先保存的良性模型。实际上,良性模型和受害者模型是边缘节点辅助参数服务器训练待训练模型过程中的两个训练阶段的模型,其中,良性模型是使用第一样本训练待训练模型后得到的模型,即中间模型,受害者模型是使用第二样本训练中间模型后得到的模型。受害者模型就是参数服务器最终可以应用到业务中的模型。
93.也就是说,边缘节点使用本技术的实施例验证待验证模型的所有权问题,需要在辅助参数服务器训练模型的过程中,将使用原始样本训练的良性模型保存下来,在这个良性模型的基础上再使用调整后样本进行训练,并将使用过调整后样本训练的受害者模型也保存下来,再使用保存的良性模型和受害者模型训练分类器,通过分类器判断待验证模型的所有权归属。最终参数服务器保存的是加入调整后样本训练的受害者模型,并且应用到业务中。
94.以上为本说明书的一个或多个实施例提供的模型的所有权验证方法,基于同样的思路,本说明书还提供了相应的模型的所有权验证装置,如图3所示。
95.图3为本说明书提供的一种模型的所有权验证装置示意图,具体包括:
96.获取模块300,用于获取边缘节点本地保存的调整后样本以及所述调整后样本的标注;其中,所述调整后样本是将指定特征添加到原始样本中得到的,所述调整后样本的标注与所述调整后样本对应的原始样本的标注相同;
97.确定梯度模块302,用于将所述调整后样本输入待验证模型,根据所述待验证模型的输出结果以及所述调整后样本对应的标注,确定所述待验证模型的梯度,作为第一梯度;将所述调整后样本输入预先保存的良性模型,根据所述良性模型的输出结果以及所述调整后样本对应的标注,确定所述良性模型的梯度,作为第二梯度;其中,所述良性模型是根据所述原始样本训练得到的;
98.验证模块304,用于根据第一梯度和第二梯度,判断训练所述待验证模型的样本是否来源于所述边缘节点。
99.可选地,不同的调整后样本对应的原始样本不同,且不同的调整后样本中包含的指定特征相同。
100.可选地,所述验证模块304具体用于,将所述第一梯度和所述第二梯度输入预先训练的分类器,通过所述分类器判断训练所述待验证模型的样本是否来源于所述边缘节点。
101.可选地,所述装置还包括:
102.第一训练模块306,用于将所述调整后样本输入预先保存的受害者模型,根据所述
受害者模型的输出结果以及所述调整后样本对应的标注,确定所述受害者模型的梯度,作为第三梯度;其中,所述受害者模型是根据包含所述原始样本和所述调整后样本的样本集训练得到的;以所述第二梯度和所述第三梯度为训练样本,以所述第二梯度和所述第三梯度的来源模型为标注,对所述分类器进行训练,其中,所述第二梯度的来源模型为良性模型,所述第三梯度的来源模型为受害者模型。
103.可选地,所述验证模块304具体用于,当所述分类器输出的结果为第一梯度的来源模型是所述受害者模型时,确定所述待验证模型的样本来源于所述边缘节点;当所述分类器输出的结果为第一梯度的来源模型是所述良性模型时,确定所述待验证模型的样本不来源于所述边缘节点。
104.可选地,所述装置还包括:
105.第二训练模块308,用于确定由原始样本构成的第一样本集以及由调整后样本构成的第二样本集,并接收参数服务器发送的待训练模型;根据所述第一样本集中的样本以及所述第一样本集中的样本对应的标注,确定所述待训练模型的梯度;将所述待训练模型的梯度发送给所述参数服务器,使所述参数服务器根据所述待训练模型的梯度更新所述待训练模型;接收所述参数服务器发送的更新后的待训练模型,作为中间模型;根据所述第二样本集中的样本以及所述第二样本集中的样本对应的标注,确定所述中间模型的梯度;将所述中间模型的梯度发送给所述参数服务器,使所述参数服务器根据所述中间模型的梯度更新所述中间模型,得到受害者模型;接收并存储所述参数服务器发送的受害者模型。
106.可选地,所述确定梯度模块302,在所述第二训练模块308接收所述参数服务器发送的更新后的待训练模型,作为中间模型之后,还用于将中间模型作为良性模型保存。
107.本说明书提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的模型的所有权验证方法。
108.本说明书还提供了图4所示的电子设备的结构示意图。如图4所述,在硬件层面,该无人驾驶设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的模型的所有权验证方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
109.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言
(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
110.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
111.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
112.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
113.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
114.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
115.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
116.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
117.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
118.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
119.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
120.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
121.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
122.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
123.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
124.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术
人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1