图像处理方法以及装置与流程
未命名
07-15
阅读:109
评论:0
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.图1是本说明书一个实施例提供的一种比特翻转攻击的示意图;
30.图2是本说明书一个实施例提供的一种图像处理方法的应用场景示意图;
31.图3是本说明书一个实施例提供的一种图像处理方法的流程图;
32.图4是本说明书一个实施例提供的一种图像处理方法中图像处理模型的示意图;
33.图5是本说明书一个实施例提供的一种图像处理方法中图像处理模型训练的流程示意图;
34.图6是本说明书一个实施例提供的一种图像处理方法的处理过程流程图;
35.图7是本说明书一个实施例提供的一种图像处理装置的结构示意图;
36.图8是本说明书一个实施例提供的一种神经网络模型训练方法的流程图;
37.图9是本说明书一个实施例提供的一种神经网络模型训练装置的结构示意图;
38.图10是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
39.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
40.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
41.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
42.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
43.比特翻转攻击:在计算机设备中,神经网络模型都需要加载到内存中执行,比特翻转一般指在硬件设备中,修改内存中的比特数值(比如将比特数值从0修改为1或者从1修改为0),可以在不需要管理员权限的情况下,操纵内存中其他程序存储的数据。
44.权重错误注入攻击:深度神经网络模型主要是由参数构成,参数中最主要的是权重,往往常见的神经网络模型中就有上亿个权重,通过修改极少的权重(少于10个)就可以彻底破坏一个神经网络模型,如让其准确率从大于90%变成10%,或者植入后门通过触发器操纵推理结果。而这种权重错误注入攻击可以通过比特翻转攻击这种方式来实现,即攻击者可以在计算机设备上修改神经网络模型的关键权重的对应比特,仅通过操纵少于10个比特就可以实现其攻击。
45.实际应用中,比特翻转攻击可以被分为定向攻击和非定向攻击。非定向比特翻转攻击的目标是降低受害模型的准确率至模型不可用。定向比特翻转攻击会误导受害模型将
特定样本或嵌入特殊触发器的样本预测为特定类别,但是在其他样本上可以保证模型准确率。因此,定向攻击更加隐蔽。现有的比特翻转攻击方法主要有3种:
46.tbt攻击是定向比特翻转攻击,它通过翻转比特将后门注入受害模型。攻击者的目标是使受害模型在良性输入样本上保证模型准确率,但在嵌入特定触发器的样本上出现错误。攻击者通过将特殊触发器嵌入输入样本来激活模型中植入的后门。模型会将所有带有特定触发器的输入样本分类到某个特定目标类别。tbt攻击只攻击受害模型最后一层中的比特。首先,攻击者会在最后一层选择对目标类别影响最大的若干个关键网络神经元。然后生成一个特殊的触发器,当输入样本中带有这个触发器时,被选中的神经元将会被激活。最后,攻击者通过优化算法求解,修改与这些神经元对应的关键参数。
47.proflip攻击通过翻转网络权重中的比特,在神经网络模型中植入一个后门,误导模型预测所有嵌入触发器的输入样本到某个特定目标类。这种方法可以在模型的所有神经网络层层中翻转比特。这种攻击方法选择对模型输出影响最大的显著神经元,然后利用梯度下降法生成触发器。最后利用检索算法来选择模型中的参数,并确定参数中的关键比特进行翻转。
48.ta-lbf攻击可以通过翻转模型参数中的关键比特将特定样本错误地分类到特定目标类别。这种攻击不需要触发器,因此它比tbt攻击和proflip攻击更加隐蔽。由于参数在内存中存储为二进制比特形式,攻击者将攻击进行二进制整数编程。然后进一步将这个二进制整数规划问题等效为连续优化问题。使用交替方向乘数法解决优化问题以确定要翻转的关键比特。
49.针对定向比特翻转攻击,图1示出了根据本说明书一个实施例提供的一种比特翻转攻击的示意图。如图1所示,一个神经网络模型中包括多个神经网络层,数据输入该神经网络模型,经过第一个神经网络层、第二个神经网络层
……
第k个神经网络层
……
直到最后一个神经网络层,之后输出结果。每个神经网络层中都包括若干个模型参数,比如第1个神经网络层中,包括参数p11、p12和p1n。由于在神经网络模型中,最后一个神经网络层中的参数往往与该模型的预测结果直接相关,因此,有些比特翻转攻击只对神经网络模型中的最后一层进行攻击,即翻转最后一个神经网络层中参数的比特,比如对于最后一层中的参数pi,其将原本的比特10001000翻转为01001000。还有一种比特翻转攻击的方式,是对神经网络模型中的任意一层进行攻击,比如攻击者可能会使用某种检索算法来定位神经网络层中的关键比特,该关键比特可以理解为对模型的预测结果能够造成直接影响的比特。比如对第k个神经网络层进行攻击,对于第k个神经网络层中的参数pkn,其将原本的比特11010010翻转为00010010。
50.针对比特翻转攻击,目前的防御措施可以分为两类,即完整性验证方案和模型增强方案。基于完整性验证的方法可以在模型运行时通过验证模型参数的完整性来检测是否存在比特翻转攻击。该方法可以检测到任何被篡改的模型,因此可以检测到定向比特翻转攻击和非定向比特翻转攻击。但是,这类方法通常可扩展性较差,且需要额外的性能开销和资源成本,不适用于现有商用设备和实际场景。
51.基于模型增强的方法侧重于提高目标模型的鲁棒性从而显著增加比特翻转攻击的成本。评估比特翻转攻击成本的一个重要指标是要翻转的比特数。而模型增强的方法通常会显著增加翻转所需的比特数。然而,此类防御方案会严重降低模型的准确率,影响其使
用。因此,亟需一种有效的技术方案解决上述问题。
52.需要说明的是,本说明书实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
53.在本说明书中,提供了一种图像处理方法,本说明书同时涉及一种图像处理装置,一种神经网络模型训练方法,一种神经网络模型训练装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
54.参见图2,图2示出了根据本说明书一个实施例提供的一种图像处理方法的应用场景示意图。
55.图2中包括客户端202和服务端204。其中,服务端204部署有该图像处理模型,能够执行该图像处理方法。
56.具体实施时,用户可以通过客户端202向服务端204发送待处理图像。服务端204接收该待处理图像之后,将该待处理图像输入至图像处理模型中的神经网络层,并将神经网络层的中间输出结果输入至结果输出网络层,在每个结果输出网络层均输出预测结果的情况下,计算每个预测结果的置信度,将满足预设结果条件的预测结果作为目标预测结果发送至客户端202。该目标预测结果比如可以是待处理图像的类型信息。从而实现图像处理模型的预测结果的提前输出,避免比特翻转攻击,实现模型运行的安全性。
57.参见图3,图3示出了根据本说明书一个实施例提供的一种图像处理方法的流程图,该图像处理方法应用于图像处理模型,所述图像处理模型包括神经网络层、和与所述神经网络层关联的结果输出网络层,该图像处理方法具体包括以下步骤。
58.步骤302:将待处理图像输入所述图像处理模型,利用所述神经网络层对所述待处理图像进行处理,获得所述神经网络层输出的中间输出结果。
59.其中,图像处理模型可以理解为用于对图像进行处理的神经网络模型,比如其可以是用于预测图像类型的模型,也可以是用于进行图像分割的模型。结果输出网络层可以理解为用于提前输出预测结果的神经网络层,其可以作为该图像处理模型的退出口,该神经网络层包括卷积层和全连接层,其可以用于处理神经网络层输出的中间输出结果。与神经网络层关联的结果输出网络层,可以理解为在神经网络层之后的结果输出网络层,即,神经网络层的输出即为结果输出网络层的输入。神经网络层可以理解为图像处理模型中的隐藏层,即在图像处理模型中除输入层和输出层之外的其他层。
60.基于此,可以将待处理图像输入图像处理模型,利用该图像处理模型中的神经网络层对待处理图像进行处理,获得该神经网络层输出的中间输出结果,该中间输出结果即为该神经网络层之后的结果输出网络层的输入。
61.实际应用中,图像处理模型中包括的神经网络层为至少两个;
62.相应地,利用所述神经网络层对所述待处理图像进行处理,获得所述神经网络层输出的中间输出结果,包括:
63.将所述待处理图像输入第i个神经网络层,获得第i个神经网络层输出的第j个中间输出结果,其中,i∈【1,n】,且i和j均从1开始;
64.判断i是否大于等于n,若否,则i自增1;
65.将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果;
66.判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果的步骤。
67.其中,i和j均为正整数,比如i为1、2、3
……
,j为1、2、3
……
。n可以理解为图像处理模型包括的神经网络层的数量,可以理解的,n也为正整数。
68.以图像处理模型包括3个神经网络层为例进行说明,即n为3。将待处理图像输入第1个神经网络层,获得第1个神经网络层输出的第1个中间输出结果,此时,i为1,j为1。此时i小于n,i自增1,将第1个中间输出结果输入第2个神经网络层,获得第2个神经网络层输出的第2个中间输出结果,此时i为2,j为1。i小于n,i自增1,j自增1,将第2个中间输出结果输入第3个神经网络层,获得第3个神经网络层输出的第3个中间输出结果。
69.综上,通过获得每个神经网络层输出的中间输出结果,实现为结果输出网络层提供输入,便于后续获得模型输出的预测结果。
70.步骤304:将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果。
71.具体的,在获得神经网络层输出的中间输出结果之后,可以将该中间输出结果输入与该神经网络层关联的结果输出网络层,并获得结果输出网络层输出的预测结果。
72.具体实施时,由于图像处理模型包括至少两个神经网络层,那么相应地,所述结果输出网络层为至少两个;
73.相应地,所述将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果,包括:
74.将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果,其中,所述第i个结果输出网络层与所述第i个神经网络层关联;
75.判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果。
76.具体的,可以在图像处理模型中的每个神经网络层之后,设置一个与其关联的结果输出网络层。每个神经网络层输出的中间输出结果输入与其关联的结果输出网络层,获得结果输出网络层输出的预测结果。
77.沿用上例,可以在第1个神经网络层之后设置第1个结果输出网络层,在第2个神经网络层之后设置第2个结果输出网络层,由于第3个神经网络层的输出结果可以通过图像处理模型的输出层输出,因此,在第3个神经网络层之后可以无需设置结果输出网络层。也即是说,对于图像处理模型中的最后一个神经网络层,无需设置与其关联的结果输出网络层。
78.那么,第1个神经网络层的第1个中间输出结果输入第1个结果输出网络层,获得该第1个结果输出网络层输出的第1个预测结果,第2个神经网络层的第2个中间输出结果输入第2个结果输出网络层,获得该第2个结果输出网络层输出的第2个预测结果。
79.综上,通过在每个神经网络层之后设置结果输出网络层,能够实现目标预测结果的提前输出,从而减少比特翻转攻击的影响。
80.步骤306:在确定所述预测结果满足预设结果条件的情况下,将所述预测结果确定为所述待处理图像的目标预测结果。
81.具体的,在获得结果输出网络层输出的预测结果之后,要先判断该预测结果能否满足预设结果条件,对于满足预设结果条件的预测结果,能够作为该图像处理模型最终输出的目标预测结果。
82.其中,预设结果条件可以理解为使预测结果能够从该结果输出网络层输出的条件,比如预设结果条件可以是预测结果的置信度大于预设置信度阈值。
83.该预设结果条件可以根据实际需求进行设置,本说明书实施例在此不作限定。
84.具体实施时,所述在确定所述预测结果满足预设结果条件的情况下,将所述预测结果确定为所述待处理图像的目标预测结果,包括:
85.确定第一预测结果的置信度,其中,所述第一预测结果为所述至少两个结果输出网络层输出的预测结果之一;
86.在确定所述第一预测结果的置信度大于预设置信度阈值的情况下,获得所述图像处理模型输出的、所述待处理图像的目标预测结果。
87.其中,预测结果的置信度可以利用置信度算法计算。
88.基于此,可以确定每个结果输出网络层输出的每个预测结果的置信度,并且将置信度大于预设置信度阈值的预测结果作为图像处理模型最终输出的目标预测结果。
89.沿用上例,对于第1个预测结果和第2个预测结果,可以计算第1个预测结果的置信度、以及第2个预测结果的置信度,将置信度大于预设置信度阈值的第2个预测结果作为目标预测结果。
90.此外,在每个结果输出网络层输出的预测结果的置信度都不满足大于预设置信度阈值的条件的情况下,可以将最后一个结果输出网络层输出的预测结果作为目标预测结果。避免有些比特翻转攻击仅针对图像处理模型中的最后一个神经网络层进行攻击,从而避免这种攻击导致的影响。
91.综上,通过将置信度大于预设置信度阈值的预测结果作为图像处理模型的最终输出结果,能够在防御攻击的同时保证输出结果的准确性。
92.实际应用中,为了保证模型预测效率,均衡考虑模型预测的准确性和安全性,可以在全部结果输出网络层中,先确定预设数量的候选结果输出网络层,具体实现方式如下:
93.所述确定第一预测结果的置信度之前,还包括:
94.从所述至少两个结果输出网络层中,确定预设数量的第一结果输出网络层,并确定所述第一结果输出网络层输出的第一预测结果,其中,所述第一结果输出网络层为所述至少两个结果输出网络层之一。
95.其中,第一结果输出网络层即为候选结果输出网络层,图像处理模型最终输出的目标预测结果,即为该候选结果输出网络层中的任意一个结果输出网络层输出的预测结果。预设数量可以理解为图像处理模型的超参数,该超参数可以在模型训练过程中预先确定并可以随着模型训练的进行而动态调整。
96.具体的,可以从至少两个结果输出网络层中,随机选择预设数量的候选结果输出网络层,并确定每个候选结果输出网络层输出的预测结果。便于后续确定每个预测结果的置信度,并从这些预测结果中确定满足预设结果条件的预测结果为目标预测结果。
97.比如对于包括10个结果输出网络层的图像处理模型,可以从10个结果输出网络层中随机选择5个候选结果输出网络层,再计算这5个候选结果输出网络层中,每个候选结果输出网络层输出的预测结果,后续再计算每个预测结果的置信度,从而确定目标预测结果。
98.综上,通过先选择预设数量的候选结果输出网络层,能够实现对模型预测准确性和安全性的均衡考虑,在保证预测准确率的同时尽可能使选择的最终输出目标预测结果的结果输出网络层更随机,从而保证安全性。
99.实际应用中,为了保证模型预测的准确率和效率,图像处理模型包括至少两个神经网络层,那么相应地,图像处理模型也包括至少两个结果输出网络层。图4示出了根据本说明书一个实施例提供的一种图像处理方法中图像处理模型的示意图。
100.参见图4,图4所示的图像处理模型包括第一个神经网络层f1、第二个神经网络层f2
……
第n个神经网络层fn
……
直至最后一个神经网络层ff,待处理图像x作为图像处理模型的输入,经过第一个神经网络层
……
至最后一个神经网络层,获得该图像处理模型的最终的输出结果ffx。具体的,待处理图像x经过第一个神经网络层f1,获得第一个神经网络层f1的第一个中间输出结果f1x,该第一个中间输出结果f1x输入第二个神经网络层f2,获得第二个神经网络层f2的第二个中间输出结果f2x
……
直至第n个神经网络层fn输出的第n个中间输出结果fnx,最后一个神经网络层ff输出的最后一个中间输出结果ffx。
101.同时,在该图像处理模型中,每个神经网络层之后都设置有一个结果输出网络层,该结果输出网络层包括卷积层和全连接层,具体的,第一个神经网络层f1之后设置有第一个结果输出网络层c1,
……
第n个神经网络层fn之后设置有第n个结果输出网络层cn。可以理解的,经过图像处理模型中的最后一个神经网络层处理之后,直接通过输出层输出该处理结果,也即是说,输出层起到了将最后一个神经网络层的输出结果输出的作用,因此,在最后一个神经网络层之后无需再设置结果输出网络层。
102.第一个神经网络层f1输出的第一个中间输出结果f1x输入第一个结果输出网络层c1中,获得第一个结果输出网络层c1输出的第一个预测结果c1x。第二个神经网络层f2输出的第二个中间输出结果f2x输入第二个结果输出网络层c2中,获得第二个结果输出网络层c2输出的第二个预测结果c2x。同理,获得第n个结果输出网络层cn输出的第n个预测结果cnx。在这n个结果输出网络层中,可以随机选择预设数量(q)个候选结果输出网络层,并对这q个候选结果输出网络层输出的预测结果进行置信度计算,将置信度大于预设置信度阈值的预测结果确定为该图像处理模型最终输出的目标预测结果,也即是说,将输出该置信度大于预设置信度阈值的预测结果的结果输出网络层作为该待处理图像的退出口。其中,q为该图像处理模型的超参数,可以在模型训练阶段预先设置并动态调整。可以理解的,选择较小的超参数可以使选择的退出口更随机,熵更大,但是同时也增加了这q个候选结果输出网络层不能满足置信度大于预设置信度阈值的退出条件的概率,从而降低预测准确率。
103.此外,在没有候选结果输出网络层输出的预测结果满足置信度大于预设置信度阈值的退出条件的情况下,可以将最后一个候选结果输出网络层作为退出口,将该最后一个候选结果输出网络层输出的预测结果作为目标预测结果。
104.比如在n个结果输出网络层中,确定c1、c2和c3为候选结果输出网络层,分别计算c1x、c2x和c3x的置信度,将置信度大于预设置信度阈值的c2x作为目标预测结果,那么c2即为退出口。在c1x、c2x和c3x的置信度都不满足置信度大于预设置信度阈值的退出条件的情
况下,那么就将这3个候选结果输出网络层中的最后1个候选结果输出网络层(即c3)作为退出口,那么c3x即为该图像处理模型的目标预测结果。
105.实际应用中,所述图像处理模型的训练步骤包括:
106.步骤一:确定初始图像处理模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标图像处理模型;
107.步骤二:将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果;
108.所述神经网络层为至少两个;
109.相应地,所述将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果,包括:
110.将所述图像训练样本输入第i个神经网络层,获得第i个神经网络层输出的第j个中间输出结果,其中,i∈【1,n】,且i和j均从1开始;
111.判断i是否大于等于n,若否,则i自增1;
112.将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果;
113.判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果的步骤。
114.步骤三:将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;
115.所述结果输出网络层为至少两个;
116.所述将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果,包括:
117.将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果,其中,所述第i个结果输出网络层与所述第i个神经网络层关联;
118.判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果。
119.步骤四:利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型。
120.所述利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型,包括:
121.利用所述图像训练样本对应的图像训练标签和所述第j个预测结果,对所述第j个结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型。
122.其中,目标图像处理模型可以理解为训练完成的图像处理模型。
123.具体的,对图像处理模型进行训练时,可以对图像处理模型中的每个结果输出网络层进行训练,具体实现方式与前述图像处理方法类似,在此不再重复赘述。
124.进一步地,由于攻击者可能会对图像处理模型中的全部神经网络层进行比特翻转攻击,即使这会使得需要翻转的比特大量增加,从而增加攻击成本,但是依旧存在这种比特翻转攻击的可能性,因此,可以对结果输出网络层进行鲁棒性训练,即模拟图像处理模型被
比特翻转时的影响,构建翻转训练样本,对结果输出网络层进行训练,具体实现方式如下:
125.所述确定初始图像处理模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标图像处理模型之后,还包括:
126.根据所述初始图像处理模型,构建翻转样本提供模型,其中,所述翻转样本提供模型包括神经网络层;
127.将图像训练样本输入所述神经网络层,获得所述神经网络层输出的翻转训练样本;
128.利用所述翻转训练样本和所述图像训练样本对应的图像训练标签,对所述初始图像处理模型的结果输出网络层进行训练,获得包括初始图像处理模型的神经网络层、和训练后的结果输出网络层的目标图像处理模型。
129.其中,翻转样本提供模型可以理解为经过比特翻转之后的模型,其可以用于为结果输出网络层的鲁棒性训练提供翻转训练样本。目标图像处理模型,可以理解为训练后的初始图像处理模型。
130.基于此,可以根据初始图像处理模型,构建经过比特翻转之后的翻转样本提供模型,并将图像训练样本输入该翻转样本提供模型中的神经网络层,获得该神经网络层输出的翻转训练样本,并利用该翻转训练样本和图像训练样本对应的图像训练标签,对初始图像处理模型的结果输出网络层进行训练,获得满足训练停止条件的目标图像处理模型。
131.综上,通过利用翻转训练样本对结果输出网络层进行训练,能够使结果输出网络层适应比特翻转攻击造成的影响,该翻转训练样本用于模拟被攻击的神经网络层的输出,结果输出网络层学习该类数据以纠正对抗场景中的预测结果。
132.具体实施时,为了保证初始图像处理模型的神经网络层不受影响,可以通过复制初始图像处理模型的方式实现被攻击模型的模拟,具体实现方式如下:
133.所述根据所述初始图像处理模型,构建翻转样本提供模型,包括:
134.复制所述初始图像处理模型,并确定复制得到的初始图像处理模型中、模型参数对应的目标比特,并对所述目标比特进行翻转处理,获得翻转样本提供模型。
135.其中,目标比特可以理解为在比特翻转攻击中可能被翻转的比特。复制得到的初始图像处理模型,可以理解为复制初始图像处理模型之后得到的复制模型。比如对于初始图像处理模型a,对其进行复制,复制得到的初始图像处理模型a1,后续的目标比特的翻转都是在复制得到的初始图像处理模型a1中完成。此处的初始图像处理模型,可以理解为还没有添加结果输出网络层的初始图像处理模型,即该初始图像处理模型中不包括结果输出网络层。
136.基于此,可以复制初始图像处理模型,得到复制模型,该复制模型与初始图像处理模型相同。确定复制模型中模型参数对应的目标比特,并对目标比特进行翻转处理,获得翻转样本提供模型。
137.综上,通过复制初始图像处理模型,在保证初始图像处理模型的神经网络不受影响的同时,模拟被攻击模型,提升被攻击模型的真实性,进一步实现后续翻转训练样本的真实性。
138.具体实施时,由于目前的比特翻转攻击通常将比特的梯度视为选择被攻击的比特的关键部分,比特的梯度值能够反映比特在模型决策中的重要性,从而影响模型预测效果,
为了确定可能被翻转的目标比特,可以利用预设算法计算比特的梯度值,并根据梯度值确定目标比特,具体实现方式如下:
139.所述确定复制得到的初始图像处理模型中、模型参数对应的目标比特,并对所述目标比特进行翻转处理,获得翻转样本提供模型,包括:
140.确定复制得到的初始图像处理模型中、模型参数对应的至少两个比特;
141.根据预设算法,计算第一比特的梯度值,其中,所述第一比特为所述至少两个比特之一;
142.在确定所述第一比特的梯度值大于预设梯度值阈值的情况下,将所述第一比特确定为目标比特,并对所述目标比特进行翻转处理,获得翻转后的初始图像处理模型;
143.确定所述翻转后的初始图像处理模型中、模型参数对应的至少两个比特,继续执行所述根据预设算法,计算第一比特的梯度值的步骤,直至达到预设停止条件,获得翻转样本提供模型。
144.其中,预设算法可以理解为计算比特梯度值的算法,比如可以是脆弱性保护算法,其具体公式如下。
[0145][0146]
其中,l
inf
为比特的推理损失,为交叉熵损失,l为真实标签,f
final
(x)为图像处理模型中最后一个神经网络层的输出结果。预设停止条件可以理解为达到预设迭代次数。
[0147]
基于此,可以确定复制得到的初始图像处理模型中、模型参数对应的至少两个比特,根据预设算法,计算每个比特的梯度值,将梯度值大于预设梯度值阈值的比特确定为目标比特,并对目标比特进行翻转处理,获得翻转后的初始图像处理模型。并确定翻转后的初始图像处理模型中、模型参数对应的至少两个比特,并继续利用预设算法,计算每个比特的梯度值,将梯度值大于预设梯度值阈值的比特确定为目标比特,并对目标比特进行翻转处理,直至达到预设迭代次数,获得最终的翻转样本提供模型。
[0148]
实际应用中,在每次迭代过程中,可以计算每个比特关于推理损失的梯度,然后根据梯度的绝对值对每个比特的脆弱性进行将序排序,根据排序结果确定最大的k个比特,将这k个比特作为目标比特(即易被攻击的比特),并对这k个比特进行翻转处理。重复上述迭代过程若干次,最终得到一个经过比特翻转后的翻转样本提供模型。
[0149]
综上,通过确定可能被攻击的目标比特,并且在每次迭代中重新计算每个比特的梯度,能够适应模型随着翻转比特的动态变化,重新计算的梯度值能够反映比特在动态变化的模型中的重要性。
[0150]
此外,还可以利用图像训练样本和翻转训练样本同时对结果输出网络层进行训练。参见图5,图5示出了根据本说明书一个实施例提供的一种图像处理方法中图像处理模型训练的流程示意图,具体步骤如下。
[0151]
步骤502:复制初始图像处理模型,得到复制模型。
[0152]
步骤504:在初始图像处理模型中的每个神经网络层之后添加结果输出网络层,获得目标图像处理模型。
[0153]
具体的,在神经网络层f1之后添加结果输出网络层c1
……
在神经网络层fn之后添
加结果输出网络层cn。
[0154]
步骤506:确定复制模型中可能被攻击的目标比特,并对目标比特进行翻转处理,获得翻转样本提供模型。
[0155]
步骤508:从训练数据集中获取图像训练样本和图像训练标签。
[0156]
步骤510:将图像训练样本输入目标图像处理模型,获得目标处理模型中的神经网络层输出的中间输出结果。
[0157]
具体的,获得神经网络层f1输出的中间输出结果f1x
……
获得神经网络层fn输出的中间输出结果fnx。
[0158]
其中,该中间输出结果作为结果输出网络层的原始训练样本。
[0159]
步骤512:将图像训练样本输入翻转样本提供模型,获得翻转样本提供模型中的神经网络层输出的中间输出结果。
[0160]
具体的,获得翻转后的神经网络层f`1的中间输出结果f`1x
……
获得翻转后的神经网络层f`n得到中间输出结果f`nx。
[0161]
其中,该中间输出结果作为结果输出网络层的翻转训练样本。
[0162]
步骤514:利用原始训练样本、翻转训练样本和图像训练标签,对结果输出网络层进行训练,直至获得满足训练条件的目标图像处理模型。
[0163]
具体的,利用神经网络层f1输出的中间输出结果f1x、翻转后的神经网络层f`1的中间输出结果f`1x和图像训练标签,对结果输出网络层c1进行训练。对其他结果输出网络层的训练过程与对结果输出网络层c1的训练过程类似,在此不再重复赘述。
[0164]
此外,还可以利用原始训练样本和图像训练标签,对结果输出网络层进行训练,再利用翻转训练样本和图像训练标签,对结果输出网络层进行训练。可以理解的,利用原始训练样本和利用翻转训练样本的训练顺序可以根据实际需求确定,本说明书实施例不做限定。
[0165]
综上,通过利用原始训练样本和翻转训练样本对结果输出网络层进行训练,提升结果输出网络层的鲁棒性,使其能够适应比特翻转攻击导致的影响,进一步防御比特翻转攻击。
[0166]
下述结合附图6,以本说明书提供的图像处理方法在包括三层神经网络层的神经网络模型的应用为例,对所述图像处理方法进行进一步说明。其中,图6示出了本说明书一个实施例提供的一种图像处理方法的处理过程流程图,具体包括以下步骤。
[0167]
步骤602:将待处理图像输入图像处理模型中的第一个神经网络层,获得第一个神经网络层输出的第一个中间输出结果。
[0168]
步骤604:将第一个中间输出结果输入第一个结果输出网络层,获得第一个结果输出网络层输出的第一个预测结果。
[0169]
具体的,第一个结果输出网络层也属于图像处理模型,其设置于第一个神经网络层之后。
[0170]
步骤606:将第一个中间输出结果输入第二个神经网络层,获得第二个神经网络层输出的第二个中间输出结果。
[0171]
步骤608:将第二个中间输出结果输入第二个结果输出网络层,获得第二个结果输出网络层输出的第二个预测结果。
[0172]
步骤610:计算第一个预测结果的置信度,计算第二个预测结果的置信度,将置信度大于预设置信度阈值的预测结果确定为图像处理模型的目标预测结果。
[0173]
上述方法通过在图像处理模型中设置与神经网络层关联的结果输出网络层,将神经网络层输出的中间输出结果输入结果输出网络层,在结果输出网络层输出的预测结果满足预设结果条件的情况下,将该预测结果作为图像处理模型的输出结果输出,使得利用图像处理模型进行图像处理时能够动态的提前完成预测,使模型具有提前完成预测的能力,通过随机选择结果输出网络层输出预测结果,从而减少被比特翻转攻击的概率,使得被比特翻转攻击的神经网络层在模型预测过程中被忽略,从而减少对图像处理模型中的某一个神经网络层的参数的比特翻转攻击造成的影响,以实现针对比特翻转攻击的防御,避免比特翻转攻击造成的模型预测错误,保证模型的预测准确率。
[0174]
与上述方法实施例相对应,本说明书还提供了图像处理装置实施例,图7示出了本说明书一个实施例提供的一种图像处理装置的结构示意图。如图7所示,该装置应用于图像处理模型,所述图像处理模型包括神经网络层、和与所述神经网络层关联的结果输出网络层,该装置包括:
[0175]
第一输入模块702,被配置为将待处理图像输入所述图像处理模型,利用所述神经网络层对所述待处理图像进行处理,获得所述神经网络层输出的中间输出结果;
[0176]
第二输入模块704,被配置为将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;
[0177]
确定模块706,被配置为在确定所述预测结果满足预设结果条件的情况下,将所述预测结果确定为所述待处理图像的目标预测结果。
[0178]
一个可选的实施例中,所述神经网络层为至少两个;所述第一输入模块702,进一步被配置为:
[0179]
将所述待处理图像输入第i个神经网络层,获得第i个神经网络层输出的第j个中间输出结果,其中,i∈【1,n】,且i和j均从1开始;
[0180]
判断i是否大于等于n,若否,则i自增1;
[0181]
将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果;
[0182]
判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果的步骤。
[0183]
一个可选的实施例中,所述结果输出网络层为至少两个;所述第二输入模块704,进一步被配置为:
[0184]
将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果,其中,所述第i个结果输出网络层与所述第i个神经网络层关联;
[0185]
判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果。
[0186]
一个可选的实施例中,所述确定模块706,进一步被配置为:
[0187]
确定第一预测结果的置信度,其中,所述第一预测结果为所述至少两个结果输出网络层输出的预测结果之一;
[0188]
在确定所述第一预测结果的置信度大于预设置信度阈值的情况下,获得所述图像处理模型输出的、所述待处理图像的目标预测结果。
[0189]
一个可选的实施例中,所述确定模块706,进一步被配置为:
[0190]
从所述至少两个结果输出网络层中,确定预设数量的第一结果输出网络层,并确定所述第一结果输出网络层输出的第一预测结果,其中,所述第一结果输出网络层为所述至少两个结果输出网络层之一。
[0191]
一个可选的实施例中,所述装置还包括训练模块,被配置为:
[0192]
确定初始图像处理模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标图像处理模型;
[0193]
将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果;
[0194]
将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;
[0195]
利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型。
[0196]
一个可选的实施例中,所述神经网络层为至少两个;所述训练模块,进一步被配置为:
[0197]
将所述图像训练样本输入第i个神经网络层,获得第i个神经网络层输出的第j个中间输出结果,其中,i∈【1,n】,且i和j均从1开始;
[0198]
判断i是否大于等于n,若否,则i自增1;
[0199]
将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果;
[0200]
判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果的步骤。
[0201]
一个可选的实施例中,所述结果输出网络层为至少两个;所述训练模块,进一步被配置为:
[0202]
将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果,其中,所述第i个结果输出网络层与所述第i个神经网络层关联;
[0203]
判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果。
[0204]
一个可选的实施例中,所述训练模块,进一步被配置为:
[0205]
利用所述图像训练样本对应的图像训练标签和所述第j个预测结果,对所述第j个结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型。
[0206]
一个可选的实施例中,所述训练模块,进一步被配置为:
[0207]
根据所述初始图像处理模型,构建翻转样本提供模型,其中,所述翻转样本提供模型包括神经网络层;
[0208]
将图像训练样本输入所述神经网络层,获得所述神经网络层输出的翻转训练样本;
[0209]
利用所述翻转训练样本和所述图像训练样本对应的图像训练标签,对所述初始图像处理模型的结果输出网络层进行训练,获得包括初始图像处理模型的神经网络层、和训练后的结果输出网络层的目标图像处理模型。
[0210]
一个可选的实施例中,所述训练模块,进一步被配置为:
[0211]
复制所述初始图像处理模型,并确定复制得到的初始图像处理模型中、模型参数对应的目标比特,并对所述目标比特进行翻转处理,获得翻转样本提供模型。
[0212]
一个可选的实施例中,所述训练模块,进一步被配置为:
[0213]
确定复制得到的初始图像处理模型中、模型参数对应的至少两个比特;
[0214]
根据预设算法,计算第一比特的梯度值,其中,所述第一比特为所述至少两个比特之一;
[0215]
在确定所述第一比特的梯度值大于预设梯度值阈值的情况下,将所述第一比特确定为目标比特,并对所述目标比特进行翻转处理,获得翻转后的初始图像处理模型;
[0216]
确定所述翻转后的初始图像处理模型中、模型参数对应的至少两个比特,继续执行所述根据预设算法,计算第一比特的梯度值的步骤,直至达到预设停止条件,获得翻转样本提供模型。
[0217]
综上所述,上述装置通过在图像处理模型中设置与神经网络层关联的结果输出网络层,将神经网络层输出的中间输出结果输入结果输出网络层,在结果输出网络层输出的预测结果满足预设结果条件的情况下,将该预测结果作为图像处理模型的输出结果输出,使得利用图像处理模型进行图像处理时能够动态的提前完成预测,使模型具有提前完成预测的能力,通过随机选择结果输出网络层输出预测结果,从而减少被比特翻转攻击的概率,使得被比特翻转攻击的神经网络层在模型预测过程中被忽略,从而减少对图像处理模型中的某一个神经网络层的参数的比特翻转攻击造成的影响,以实现针对比特翻转攻击的防御,避免比特翻转攻击造成的模型预测错误,保证模型的预测准确率。
[0218]
上述为本实施例的一种图像处理装置的示意性方案。需要说明的是,该图像处理装置的技术方案与上述的图像处理方法的技术方案属于同一构思,图像处理装置的技术方案未详细描述的细节内容,均可以参见上述图像处理方法的技术方案的描述。
[0219]
与上述方法实施例相对应,本说明书还提供了神经网络模型训练方法实施例,图8示出了根据本说明书一个实施例提供的一种神经网络模型训练方法的流程图,具体步骤如下。
[0220]
步骤802:确定初始神经网络模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标神经网络模型;
[0221]
步骤804:将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果;
[0222]
步骤806:将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;
[0223]
步骤808:利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标神经网络模型。
[0224]
其中,神经网络模型可以是前述图像处理模型,此时其训练样本为图像训练样本。神经网络模型还可以是文本处理模型,此时其训练样本即为文本训练样本。本说明书实施
例在此不作限定。
[0225]
综上所述,上述方法通过在图像处理模型中设置与神经网络层关联的结果输出网络层,将神经网络层输出的中间输出结果输入结果输出网络层,在结果输出网络层输出的预测结果满足预设结果条件的情况下,将该预测结果作为图像处理模型的输出结果输出,使得利用图像处理模型进行图像处理时能够动态的提前完成预测,使模型具有提前完成预测的能力,通过随机选择结果输出网络层输出预测结果,从而减少被比特翻转攻击的概率,使得被比特翻转攻击的神经网络层在模型预测过程中被忽略,从而减少对图像处理模型中的某一个神经网络层的参数的比特翻转攻击造成的影响,以实现针对比特翻转攻击的防御,避免比特翻转攻击造成的模型预测错误,保证模型的预测准确率。
[0226]
上述为本实施例的一种神经网络模型训练方法的示意性方案。需要说明的是,该神经网络模型训练方法的技术方案与上述的图像处理方法的技术方案属于同一构思,神经网络模型训练方法的技术方案未详细描述的细节内容,均可以参见上述图像处理方法的技术方案的描述。
[0227]
与上述方法实施例相对应,本说明书还提供了神经网络模型训练装置实施例,图9示出了本说明书一个实施例提供的一种神经网络模型训练装置的结构示意图,该装置包括:
[0228]
添加模块902,被配置为确定初始神经网络模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标神经网络模型;
[0229]
第一输入模块904,被配置为将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果;
[0230]
第二输入模块906,被配置为将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;
[0231]
训练模块908,被配置为利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标神经网络模型。
[0232]
综上所述,上述装置通过在图像处理模型中设置与神经网络层关联的结果输出网络层,将神经网络层输出的中间输出结果输入结果输出网络层,在结果输出网络层输出的预测结果满足预设结果条件的情况下,将该预测结果作为图像处理模型的输出结果输出,使得利用图像处理模型进行图像处理时能够动态的提前完成预测,使模型具有提前完成预测的能力,通过随机选择结果输出网络层输出预测结果,从而减少被比特翻转攻击的概率,使得被比特翻转攻击的神经网络层在模型预测过程中被忽略,从而减少对图像处理模型中的某一个神经网络层的参数的比特翻转攻击造成的影响,以实现针对比特翻转攻击的防御,避免比特翻转攻击造成的模型预测错误,保证模型的预测准确率。
[0233]
上述为本实施例的一种神经网络模型训练装置的示意性方案。需要说明的是,该神经网络模型训练装置的技术方案与上述的神经网络模型训练方法的技术方案属于同一构思,神经网络模型训练装置的技术方案未详细描述的细节内容,均可以参见上述神经网络模型训练方法的技术方案的描述。
[0234]
图10示出了根据本说明书一个实施例提供的一种计算设备1000的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。
[0235]
计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(pstn,public switched telephone network)、局域网(lan,local area network)、广域网(wan,wide area network)、个域网(pan,personal area network)或诸如因特网的通信网络的组合。接入设备1040可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic,network interface controller))中的一个或多个,诸如ieee802.11无线局域网(wlan,wireless local area network)无线接口、全球微波互联接入(wi-max,worldwide interoperability for microwave access)接口、以太网接口、通用串行总线(usb,universal serial bus)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc,near field communication)接口,等等。
[0236]
在本技术的一个实施例中,计算设备1000的上述部件以及图10中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图10所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0237]
计算设备1000可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(pc,personal computer)的静止计算设备。计算设备1000还可以是移动式或静止式的服务器。
[0238]
其中,处理器1020用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述方法的步骤。
[0239]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述方法的技术方案的描述。
[0240]
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述方法的步骤。
[0241]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述方法的技术方案的描述。
[0242]
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述方法的步骤。
[0243]
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述方法的技术方案的描述。
[0244]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0245]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0246]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
[0247]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0248]
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
技术特征:
1.一种图像处理方法,应用于图像处理模型,所述图像处理模型包括神经网络层、和与所述神经网络层关联的结果输出网络层,所述方法包括:将待处理图像输入所述图像处理模型,利用所述神经网络层对所述待处理图像进行处理,获得所述神经网络层输出的中间输出结果;将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;在确定所述预测结果满足预设结果条件的情况下,将所述预测结果确定为所述待处理图像的目标预测结果。2.根据权利要求1所述的方法,所述神经网络层为至少两个;相应地,利用所述神经网络层对所述待处理图像进行处理,获得所述神经网络层输出的中间输出结果,包括:将所述待处理图像输入第i个神经网络层,获得第i个神经网络层输出的第j个中间输出结果,其中,i∈【1,n】,且i和j均从1开始;判断i是否大于等于n,若否,则i自增1;将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果;判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果的步骤。3.根据权利要求2所述的方法,所述结果输出网络层为至少两个;相应地,所述将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果,包括:将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果,其中,所述第i个结果输出网络层与所述第i个神经网络层关联;判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果。4.根据权利要求3所述的方法,所述在确定所述预测结果满足预设结果条件的情况下,将所述预测结果确定为所述待处理图像的目标预测结果,包括:确定第一预测结果的置信度,其中,所述第一预测结果为所述至少两个结果输出网络层输出的预测结果之一;在确定所述第一预测结果的置信度大于预设置信度阈值的情况下,获得所述图像处理模型输出的、所述待处理图像的目标预测结果。5.根据权利要求4所述的方法,所述确定第一预测结果的置信度之前,还包括:从所述至少两个结果输出网络层中,确定预设数量的第一结果输出网络层,并确定所述第一结果输出网络层输出的第一预测结果,其中,所述第一结果输出网络层为所述至少两个结果输出网络层之一。6.根据权利要求1-5任一项所述的方法,所述图像处理模型的训练步骤包括:确定初始图像处理模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标图像处理模型;将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果;
将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型。7.根据权利要求6所述的方法,所述神经网络层为至少两个;相应地,所述将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果,包括:将所述图像训练样本输入第i个神经网络层,获得第i个神经网络层输出的第j个中间输出结果,其中,i∈【1,n】,且i和j均从1开始;判断i是否大于等于n,若否,则i自增1;将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果;判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个神经网络层,获得第i个神经网络层输出的第j+1个中间输出结果的步骤。8.根据权利要求7所述的方法,所述结果输出网络层为至少两个;所述将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果,包括:将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果,其中,所述第i个结果输出网络层与所述第i个神经网络层关联;判断i是否大于等于n,若否,则i自增1,j自增1,继续执行所述将所述第j个中间输出结果输入第i个结果输出网络层,获得所述第i个结果输出网络层输出的第j个预测结果。9.根据权利要求8所述的方法,所述利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型,包括:利用所述图像训练样本对应的图像训练标签和所述第j个预测结果,对所述第j个结果输出网络层进行训练,直至获得满足训练停止条件的目标图像处理模型。10.根据权利要求6所述的方法,所述确定初始图像处理模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标图像处理模型之后,还包括:根据所述初始图像处理模型,构建翻转样本提供模型,其中,所述翻转样本提供模型包括神经网络层;将图像训练样本输入所述神经网络层,获得所述神经网络层输出的翻转训练样本;利用所述翻转训练样本和所述图像训练样本对应的图像训练标签,对所述初始图像处理模型的结果输出网络层进行训练,获得包括初始图像处理模型的神经网络层、和训练后的结果输出网络层的目标图像处理模型。11.根据权利要求10所述的方法,所述根据所述初始图像处理模型,构建翻转样本提供模型,包括:复制所述初始图像处理模型,并确定复制得到的初始图像处理模型中、模型参数对应的目标比特,并对所述目标比特进行翻转处理,获得翻转样本提供模型。12.根据权利要求11所述的方法,所述确定复制得到的初始图像处理模型中、模型参数
对应的目标比特,并对所述目标比特进行翻转处理,获得翻转样本提供模型,包括:确定复制得到的初始图像处理模型中、模型参数对应的至少两个比特;根据预设算法,计算第一比特的梯度值,其中,所述第一比特为所述至少两个比特之一;在确定所述第一比特的梯度值大于预设梯度值阈值的情况下,将所述第一比特确定为目标比特,并对所述目标比特进行翻转处理,获得翻转后的初始图像处理模型;确定所述翻转后的初始图像处理模型中、模型参数对应的至少两个比特,继续执行所述根据预设算法,计算第一比特的梯度值的步骤,直至达到预设停止条件,获得翻转样本提供模型。13.一种神经网络模型训练方法,包括:确定初始神经网络模型的神经网络层,并在所述神经网络层之后添加结果输出网络层,获得目标神经网络模型;将图像训练样本输入所述神经网络层,获得所述神经网络层输出的中间输出结果;将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;利用所述图像训练样本对应的图像训练标签和所述预测结果,对所述结果输出网络层进行训练,直至获得满足训练停止条件的目标神经网络模型。14.一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至12或13任意一项所述方法的步骤。
技术总结
本说明书实施例提供图像处理方法以及装置,其中所述图像处理方法应用于图像处理模型,所述图像处理模型包括神经网络层、和与所述神经网络层关联的结果输出网络层,所述方法包括:将待处理图像输入所述图像处理模型,利用所述神经网络层对所述待处理图像进行处理,获得所述神经网络层输出的中间输出结果;将所述中间输出结果输入所述结果输出网络层,获得所述结果输出网络层输出的预测结果;在确定所述预测结果满足预设结果条件的情况下,将所述预测结果确定为所述待处理图像的目标预测结果。使得利用图像处理模型进行图像处理时能够动态的提前完成预测,以实现针对比特翻转攻击的防御,保证模型的预测准确率。保证模型的预测准确率。保证模型的预测准确率。
技术研发人员:邱寒 张园超 王龙
受保护的技术使用者:浙江网商银行股份有限公司
技术研发日:2023.01.30
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种消防通道安全智能疏散门的制作方法 下一篇:一种转诊系统
