用于训练机器学习模型的方法和装置
技术领域
本说明书一个或多个实施例涉及机器学习,尤其涉及用于训练机器学习模型的方法和装置。
背景技术
目前,机器学习已广泛应用于各种场景,例如用于图像识别、语音识别、自然语言处理等等。
在机器学习中,机器学习模型的训练质量至关重要。然而,当输入样本中包括扰动时(例如人为地在输入样本中添加扰动),使用传统方法训练出来的机器学习模型在对包括扰动的输入样本进行处理时准确率受到影响。例如,在使用机器学习模型进行分类时,可能只需要在输入样本中添加很小的扰动,就可能导致输入样本以高置信度被错误分类。
因此,需要一种能够增强机器学习模型的处理准确性的方案。
发明内容
为了克服现有技术的缺陷,本说明书一个或多个实施例提供了用于对机器学习模型进行训练的技术方案。
在一个方面中,公开了一种用于训练机器学习模型的方法,所述方法包括:
使用原始样本集训练机器学习模型,其中在训练所述机器学习模型的每次迭代中产生权重向量;
利用所述权重向量生成与所述原始样本集当中的每个原始样本相对应的特征扰动向量;
生成对抗样本集,所述对抗样本集当中的每个对抗样本的特征向量是通过将所述原始样本集当中的原始样本的特征向量与对应的特征扰动向量相加得到的;以及
至少使用所述对抗样本集训练机器学习模型。
优选地,至少使用所述对抗样本集训练机器学习模型进一步包括:使用所述对抗样本集和所述原始样本集共同训练所述机器学习模型。
优选地,所述方法进一步包括:迭代地执行对抗样本集的生成和对机器学习模型的训练。
优选地,生成对抗样本集包括:
生成对抗样本集,所述对抗样本集在生成时为空集;
在训练所述机器学习模型的过程中生成对抗样本;以及
将所述对抗样本加入所述对抗样本集。
优选地,所述特征扰动向量为特征扰动方向向量与特征扰动大小的乘积,所述特征扰动方向向量表示施加的扰动的方向,所述特征扰动大小表示施加的扰动的大小。
优选地,所述特征扰动方向向量为在相应迭代中产生的权重向量。
优选地,所述特征扰动方向向量是通过将在相应迭代中产生的权重向量中的一个或多个元素设置为0得到的。
优选地,所述特征扰动大小在0.01-0.1之间。
优选地,所述机器学习模型为深度神经网络模型或逻辑回归模型。
优选地,所述机器学习模型被用于图像识别。
在另一方面中,公开了一种用于使用机器学习模型对输入数据进行分类的方法,所述方法包括:
接收待分类的输入数据;以及
使用本说明书实施例所述的机器学习模型来对所述输入数据进行分类。
在又一方面中,公开了一种用于训练机器学习模型的装置,所述装置包括:
原始样本集处理模块,所述原始样本集处理模块被配置成处理原始样本集当中的原始样本以得到每个原始样本的原始特征向量;
模型训练模块,所述模型训练模块被配置成使用所述原始样本集训练机器学习模型,其中在训练所述机器学习模型的每次迭代中产生权重向量;以及
对抗样本集生成模块,所述对抗样本集生成模块被配置成在训练所述机器学习模型的过程中生成对抗样本集,所述对抗样本集当中的每个对抗样本的特征向量是通过将所述原始样本集当中的原始样本的特征向量与对应的特征扰动向量相加得到的,所述特征扰动向量是利用所述权重向量生成的,
其中所述模型训练模块还被配置成至少使用所述对抗样本集来训练所述机器学习模型。
优选地,所述装置还包括分类模块,所述分类模块使用所述机器学习模型对输入数据进行分类。
优选地,所述输入数据为待识别的图像,对输入数据进行分类包括对图像进行识别。
优选地,所述装置包括存储模块,所述存储模块被配置成存储所述原始样本集,且所述原始样本集处理模块被配置成从所述存储模块接收所述原始样本集。
在又一方面中,公开了一种用于进行图像识别的方法,包括:
接收图像样本集,并提取所述图像样本集当中的图像样本的特征向量;
接收所述图像样本集当中的一个或多个图像样本的标签;
使用所述图像样本集当中的图像样本的特征向量和标签训练机器学习模型,其中在训练所述机器学习模型的每次迭代中产生权重向量;
利用所述权重向量生成与所述图像样本集当中的每个图像样本相对应的特征扰动向量;
生成对抗样本集,所述对抗样本集当中的每个对抗样本的特征向量是通过将所述图像样本集当中的图像样本的特征向量与对应的特征扰动向量相加得到的,所述特征扰动向量是利用所述权重向量生成的;
至少使用所述对抗样本集训练所述机器学习模型;以及
使用经训练的所述机器学习模型对要识别的图像执行图像识别。
在又一方面中,公开了一种用于训练机器学习模型的系统,所述系统包括:
存储器,所述存储器存储原始样本集;
耦合到所述存储器的处理器,所述处理器被配置成:
使用原始样本集训练机器学习模型,其中在训练所述机器学习模型的每次迭代中产生权重向量;
利用所述权重向量生成与所述原始样本集当中的每个原始样本相对应的特征扰动向量;
生成对抗样本集,所述对抗样本集当中的每个对抗样本的特征向量是通过将所述原始样本集当中的原始样本的特征向量与对应的特征扰动向量相加得到的;以及
至少使用所述对抗样本集训练机器学习模型。
在又一方面中,公开了一种存储指令的计算机可读存储介质,所述指令当被计算机执行时,使所述计算机执行上述方法。
与现有技术相比,本说明书一个或多个实施例可增强机器学习模型对扰动的对抗性,提升机器学习模型处理的准确性。
当然,实施本申请的任一技术方案无需同时达到所有上述技术效果。
附图说明
本说明书的发明内容以及具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为本说明书一个或多个实施例的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1示出采用机器学习模型进行图像时添加扰动的过程的示意图。
图2A示出根据本说明书一个或多个实施例的用于训练机器学习模型的过程的示意图。
图2B示出样本集、批次、时期、迭代的关系示意图。
图2C示意性地示出图2A中所示的各操作的公式表达。
图3示出根据本说明书的实施例的生成对抗样本集的示例方法的流程图。
图4示出根据本说明书一个或多个实施例的用于训练机器学习模型的方法的流程图。
图5示出根据本说明书的实施例的用于训练机器学习模型的装置的框图。
图6示出根据本说明书的实施例的对输入数据进行分类的方法的流程图。
图7示出根据本说明书的实施例的用于进行图像识别的方法的流程图。
具体实施方式
以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本说明书一个或多个实施例的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本说明书一个或多个实施例的目的及优点。
为了增强机器学习模型对输入样本中所引入的扰动的对抗性,本说明书一个或多个实施例提供了用于对机器学习模型进行训练的方法、系统、计算机可读介质和装置。
机器学习模型现在已经被广泛应用。然而,当输入中存在扰动时,采用传统方法训练的机器学习模型的准确性可能受到很大影响。所述扰动可能是由人故意添加的。故意添加扰动以造成错误结果的过程可被称为对机器训练模型进行攻击。在一些情况下,所述扰动也可能是由于例如数据传输过程中的干扰导致的,也可能是由其它因素导致的。
在下文中,将首先介绍现有技术中的机器学习模型的常规训练方法及其扰动,随后介绍根据本说明书公开的用于训练机器学习模型的过程的示意图的多个实施例,随后给出用本发明的用于训练机器学习模型的方法来进行图像识别的过程的实施例。
以深度神经网络模型(DNN)为例。DNN是一种常见的机器学习模型。由于DNN的效果很好,所以在各领域,尤其是在图像识别领域,得到了广泛应用。下面将以使用DNN分类算法对图像进行识别为例来介绍现有技术的机器学习模型。
在DNN中,由于学习到的函数是不连续的,因此只需要对输入样本叠加合适的扰动,就能让输入样本以很高的置信度被错误分类。在一些情况下,甚至可能让输入样本被分类到指定的错误类别。
下面参考附图1介绍扰动的具体示例。
参见图1,图1左侧示出了熊猫的原始图像。在一个示例中,在使用传统方案训练的机器学习模型中,该原始图像被机器学习模型识别(分类)为熊猫,置信度为约57.7%。
然而,如果对这个原始图像叠加扰动,则结果可能有很大不同。例如,对该图像叠加极小的扰动。例如,可叠加如图1中间所示的扰动图像,该图像看上去像是常见的噪声图像。将图1中间的扰动图像与图1左侧的熊猫图像叠加,得到图1右侧的扰动叠加图像。由于该扰动很微小,所以在人类看起来,该扰动叠加图像仍旧是熊猫的图像。然而,如果把此扰动叠加图像作为用传统方案训练的机器学习模型的输入,则该机器学习模型则将该图像识别为长臂猿,置信度为约99.3%。可以看出,由于在输入数据中加入了微小的扰动,导致所得到的机器学习模型的输出结果的准确性大大下降。
为了进一步说明扰动对机器学习模型的影响,下面以逻辑回归这种简单模型为例,从算法角度再举一示例。
假设机器学习模型的表达式为:
y=σ(WTX),其中:
y表示标签;
W表示权重向量,W=[w0,w1,...,wn];
X表示输入数据的特征向量,X=[x0,x1,...,xn]
σ表示逻辑回归模型的表达式,对简单逻辑回归模型而言,令σ(x)=1/1+exp(-x)。
为了便于解释,现在假设:
X=[2,-1,3,-2,2,2,1,-4,5,1];
W=[-1,-1,1,-1,1,-1,1,1,-1,1];
按上述逻辑回归模型的表达式求解,可得到扰动前的y值:y=σ(-3)=0.0474。
现在给X增加扰动。假设按以下方法来设置扰动:
将扰动的方向设置为
扰动的大小设置为λ。
此时,叠加扰动后的特征向量为Xad=X+λW。
令λ=0.5,则叠加扰动后的特征向量变为:
Xad=[2,-1,3,-2,2,2,1,-4,5,1]+0.5*[-1,-1,1,-1,1,-1,1,1,-1,1]=[1.5,-1.5,3.5,-2.5,2.5,1.5,1.5,-3.5,4.5,1.5]。
此时,用Xad来代替X,按上述逻辑回归模型的表达式求解,可得到扰动后的y值:
y=σ(2)=0.88。
将在对X叠加扰动前后的y值进行比较,可发现y值从0.0474改变为0.88。可以看出,模型输出的分类结果发生了显著变化。
现有技术中已经尝试解决扰动问题。目前解决扰动问题的常规方式是在机器学习模型中引入正则化项,同时增大正则化系数以对抗扰动来获得准确的输出。然而,大的正则化项可能导致机器学习模型的学习能力减弱。
为了解决上述问题,本说明书一个或多个实施例提供了一种用于训练机器学习模型的方法。
参见附图2A,其示出了根据本说明书一个或多个实施例的用于训练机器学习模型的过程的示意图。
在该过程的开始,与传统训练方法类似,如操作202所示,用原始样本集来训练机器学习模型。例如,在此操作中,可从原始样本集提取样本特征向量。可采用本领域公知的技术从样本集提取样本特征向量。
图2B示出样本集、批次、时期、迭代的关系示意图。如在图2B中所示,一个时期(epoch)是指使用全部原始样本集来将机器学习模型训练一次。通常,全部原始样本集可包括多个子集,每个子集可被称为一个批次(batch),每个子集可包括一定数量(该数量被称为批次大小,batch_size)的样本。在训练期间,在每次迭代(iteration)过程中,使用一个批次作为输入来对机器学习模型进行训练,直到经过多次迭代而将所有子集用于训练机器学习模型,即一个时期的训练完成。在一些实施例中,可执行多个时期的训练。这种方法通常被称为mini-batch(最小批次)训练法。
例如,假设原始样本集包括2000个样本,批次大小为500,则每个时期将经历4次迭代,每次迭代将采用500个样本来训练机器学习模型。对于每次迭代的500个样本,可得到对应的500个特征向量,假设每个特征向量被表示为X。
或者,可采用full-batch(全批次)训练法来训练机器学习模型。此时,一次迭代即可将全部原始样本用于训练机器学习模型,一次迭代即一个时期。例如,在包括总共2000个样本的示例中,可一次使用全部2000个样本来训练机器学习模型。对于每次迭代的2000个样本,可得到2000个特征向量。
在每次迭代中,可将所述多个(例如500个)特征向量和对应的多个(例如,500个)标签输入到机器学习模型,从而能够针对该次迭代求解出权重向量W。优选地,该机器学习模型为有监督机器学习模型,包括但不限于深度神经网络模型、逻辑回归模型等等。
如操作204所示,在训练机器学习模型时,生成对抗样本集,所述对抗样本集当中的对抗样本通过对所述原始样本集当中的原始样本叠加扰动得到。下面参考图3详细描述生成对抗样本集的过程。
参见图3,其示出了根据本说明书的实施例的生成对抗样本集的示例方法300的流程图。
方法300可包括:在操作302,生成对抗样本集。通常,该对抗样本集在生成时可以是空集。
方法300还可包括:在操作304,在训练所述机器学习模型的过程中生成对抗样本,且所述对抗样本被加入对抗样本集。
如图3中所示,操作304可包括:在操作306,对于机器学习模型训练过程的每次迭代,计算特征扰动向量。
接上例,对于每次迭代的多个(例如500个)样本的多个特征向量中的每个特征向量X,可利用权重向量W来计算其对应的特征扰动向量。例如,该特征扰动向量可被计算为λW′,其中W’与W相关联。下面说明λ和W’的含义和计算方法。
λ表示扰动的大小,即向输入样本施加的扰动的强度。一般而言,λ可由开发者指定。优选地,按照经验,λ的值的范围可以是例如0.001-0.01。可以领会,本领域技术人员可根据需要选择其它的λ值。例如,本领域技术人员可根据可能遭受的扰动的强度来选择λ值,或者可以通过实验来选择最佳的λ值。
W’表示扰动的方向。优选地,W’可等于如上所述的在当前迭代中求解到的权重向量W,其表示扰动的方向也就是说,W’=W。作为示例,假设在训练过程期间求解到的如下的W:
W=[-0.5,-0.8,0.6,-0.4,0.2,-0.7,0.3,0.2,-0.5,0.4];
那么:
W′=[-0.5,-0.8,0.6,-0.4,0.2,-0.7,0.3,0.2,-0.5,0.4]
在上述情况下,扰动的方向对应于特征向量中的所有元素,如上面的公式所表述的。
替代地,在一些其它实施例中,省略W中的一些元素,即将相应元素的值取为0,来改变扰动的方向。也就是说,W’是通过将W中的一个或多个元素替换为0得到的。例如,仍假设在训练过程期间求解到的如下的W:
W=[-0.5,-0.8,0.6,-0.4,0.2,-0.7,0.3,0.2,-0.5,0.4];
在这种情况下,作为示例,W’的一些可能取值如下:
W′=[0,-0.8,0,0,0,0,0,0,0,0]
W′=[-0.5,-0.8,0,-0.4,0.2,-0.7,0.3,0.2,-0.5,0.4]
W′=[-0.5,-0.8,0.6,0,0.2,0,0.3,0,-0.5,0.4]
应当理解,上述取值仅是示例,而不是对W’的取值方式的限制。
通过选择W’中包括的W的元素的个数和具体的元素,可以选择施加的扰动的方向。例如,本领域技术人员可能确定特征向量中的一些特征容易受到扰动,而另一些特征不容易受到扰动。此时,可将不容易受到扰动的特征对应的权重值设置为0,从而针对性地对容易受到扰动的特征施加扰动,从而获得更好的训练结果。
在一些实施例中,对于不同的时期(epoch),可选择不同的λ值,从而加强机器学习模型对不同强度的扰动的对抗性。
如图3中所示,操作304可包括:在操作308,根据特征扰动向量生成对抗样本。
例如,在得到特征扰动向量之后,可按以下公式计算与当前特征向量X相对应的对抗样本的对抗特征向量Xad:
Xad=X+λW′。
也就是说,对抗样本的对抗特征向量是通过将原始样本的特征向量与对应的特征扰动向量相加得到的。求得对抗样本的对抗特征向量即得到了对抗样本。也就是说,对于每个输入样本,可求得一个对应的对抗样本。
如图3中所示,操作304可包括:在操作310,将对抗样本加入对抗样本集,从而得到经更新的对抗样本集。经过不断迭代,可以不断增加对抗样本集当中的对抗样本的数量。接上例,对于2000个样本的原始样本集,在每个时期可获得2000个对抗样本,其中每次迭代可获得500个对抗样本。从而,对于每个时期,可获得包括2000个对抗样本的对抗样本集。当然,可对机器学习模型进行多个时期的训练,每次训练都能得到与输入样本对应数量的对抗样本集。
接下来,如操作206所示,至少使用所生成的对抗样本集来训练机器学习模型。
通常,可将对抗样本集和原始样本集一起作为复合样本集来训练机器学习模型。例如,接上例,可使用对抗样本集当中的2000个对抗样本和原始样本集当中的2000个原始样本共同训练机器学习模型。在进行K个时期的训练的情况下,可能生成包括K*2000个对抗样本的对抗样本集,在这种情况下可使用对抗样本集当中的K*2000个对抗样本和原始样本集当中的2000个原始样本共同训练机器学习模型。
或者,可单独使用对抗样本集来训练机器学习模型。例如,接上例,可使用对抗样本集当中的2000个对抗样本来训练机器学习模型。在进行K个时期的训练的情况下,可使用K*2000个对抗样本来训练机器学习模型。
通常,可重复上述操作(例如可执行多个时期的训练),直到达到满意的结果。作为示例,期望同时满足以下两个效果:
1、比较用本说明书的实施例训练的机器学习模型和用常规方法训练的机器学习模型对不叠加扰动的输入的效果。
目标是对机器学习模型的训练不影响机器学习模型的原有效果。例如,使用本说明书的实施例训练的机器学习模型和使用常规方法训练的机器学习模型相比,对不叠加扰动的输入所产生的输出没有显著区别。例如,可评估使用本说明书的实施例训练的机器学习模型和使用常规方法训练的机器学习模型的曲线下面积(AUC)等指标,使得两者的指标的差别在指定阈值范围内。
2、比较用本说明书的实施例训练的机器学习模型对样本内和样本外的叠加扰动的输入的处理效果。
目标是对样本内和样本外的数据的处理所产生的输出没有显著区别。例如,可另外构造攻击数据(例如叠加扰动的输入),并使用该另外构造的攻击数据来评估经训练的机器学习模型,而对使用本说明书的实施例训练过的机器学习模型而言,对叠加扰动的输入和没有叠加扰动的输入,所输出的结果的准确性差别不大,例如在指定阈值范围内。
当然,也可选择其它的标准。例如对机器学习模型训练达到指定的迭代数、达到指定的时期数等等。例如,更具体而言,可指定在对机器学习模型进行三个时期的训练之后,结束对机器学习模型的训练。
图2C示意性地示出了图2A中所示的各操作的公式表达。
如图2C中所示,在操作202c中,如上面参考操作202所述,对机器学习模型y=σ(WTX)进行训练,其中特征向量X表示的原始样本的集合和标签y被输入到机器学习模型,该机器学习模型采用函数σ。在操作202所示的训练过程中,权重向量W被求解。
在操作204c中,如上面参考操作204所述,针对每个原始样本的特征向量X生成其对应的对抗样本,该对抗样本的对抗特征向量为Xad,Xad的具体生成方式可参考上面针对图3所描述的。具体而言,如上所述,可首先产生特征扰动向量,其中特征扰动向量可以是利用权重向量W生成的。随后,可基于特征扰动向量来确定对抗样本的特征向量,其中每个对抗样本的特征向量是通过将所述原始样本集当中的原始样本的特征向量与对应的特征扰动向量相加得到的。
在操作206c中,如上面参考操作206所述,至少使用所生成的对抗样本的集合来训练机器学习模型。例如,如上所述,可使用包括各原始样本X和相应对抗样本Xad的复合样本集来训练机器学习模型。替代地,可使用只包括各对抗样本的对抗样本集来训练机器学习模型。
优选地,可迭代地执行上述生成对抗样本集和训练机器学习模型的操作,直到达到满意的结果,或满足其它标准,如同上面详细描述的。
实验表明,采用本说明书一个或多个实施例训练的机器学习模型能够对扰动有良好的对抗效果,提升了处理的准确性。以上面参考图1描述的使用DNN模型来进行图像识别的过程为例。对于图1左侧示出的没有叠加扰动的熊猫图片,采用本说明书一个或多个实施例训练的DNN模型将其识别为熊猫,置信度为约57.2%。对于图1右侧示出的叠加了图1中间的扰动的熊猫图片,采用本说明书一个或多个实施例训练的DNN模型将其识别为熊猫,置信度为约58.3%。可以看出,采用本说明书的实施例训练的机器学习模型在识别没有叠加扰动的图像时与采用传统方案训练的机器学习模型的准确性没有显著差异,而在识别叠加扰动的图像时显著优于采用传统方案训练的机器学习模型。
参见图4,其示出了根据本说明书一个或多个实施例的用于训练机器学习模型的方法400的流程图。
方法400可包括:在操作402,使用原始样本集训练机器学习模型,其中在训练所述机器学习模型的每次迭代中产生权重向量。例如,可从存储装置接收原始样本集,并从原始样本集提取各原始样本的特征向量。此外,还可从存储装置接收与各原始样本相对应的标签。将所述原始样本集和各标签输入到机器学习模型以便训练机器学习模型。所述机器学习模型可以为深度神经网络模型或逻辑回归模型。然而,本说明书的方案不限于这两种神经网络模型,而同样适用于其它适当的机器学习模型。
操作402的具体过程可参考上文对操作202和202c的描述。
方法400还可包括:在操作404,利用所述权重向量生成与所述原始样本集当中的每个原始样本相对应的特征扰动向量。
方法400还可包括:在操作406,生成对抗样本集,所述对抗样本集当中的每个对抗样本的特征向量是通过将所述原始样本集当中的原始样本的特征向量与对应的特征扰动向量相加得到的。
生成对抗样本集可包括:生成对抗样本集,所述对抗样本集在生成时为空集;在训练所述机器学习模型的过程中生成对抗样本;以及将所述对抗样本加入所述对抗样本集。
优选地,所述特征扰动向量为特征扰动方向向量与特征扰动大小的乘积,,所述特征扰动方向向量表示施加的扰动的方向,所述特征扰动大小表示施加的扰动的大小。优选地,所述特征扰动方向向量为在相应迭代中产生的权重向量,或者所述特征扰动方向向量是通过将在相应迭代中产生的权重向量中的一个或多个元素设置为0得到的。所述特征扰动大小优选地被设置在0.01-0.1之间。
操作404和406的具体过程可参考上文对操作204和204c以及附图3的描述。
方法400还可包括:在操作408,至少使用所述对抗样本集训练机器学习模型。优选地,该操作可使用所述对抗样本集和所述原始样本集共同训练所述机器学习模型。替代地,该操作可仅使用对抗样本集训练所述机器学习模型。
操作406的具体过程可参考上文对操作206及206c的描述。
方法400还可包括迭代地执行对抗样本集的生成和对机器学习模型的训练(图中未示出)。如上所述,训练所述机器学习模型以达到对不叠加扰动的输入和叠加扰动的输入均有较好的处理效果。
参考图5,其示出了根据本说明书的实施例的用于训练机器学习模型的装置500的框图。
如图5中所示,装置500可包括原始样本集处理模块502、模型训练模块504以及对抗样本集生成模块506。
原始样本集处理模块502被配置成处理原始样本集当中的原始样本以得到每个原始样本的原始特征向量。
模型训练模块504被配置成使用所述原始样本集训练机器学习模型,其中在训练所述机器学习模型的每次迭代中产生权重向量。模型训练模块504还被配置成至少使用所述对抗样本集来训练所述机器学习模型。优选地,模型训练模块504使用所述对抗样本集和所述原始样本集共同训练所述机器学习模型。替代地,模型训练模块504只使用所述对抗样本集训练所述机器学习模型。
模型训练模块的具体操作可参考上文对操作202和202c以及206和206c的描述。
对抗样本集生成模块506被配置成在训练所述机器学习模型的过程中生成对抗样本集,,所述对抗样本集当中的每个对抗样本的特征向量是通过将所述原始样本集当中的原始样本的特征向量与对应的特征扰动向量相加得到的,所述特征扰动向量是利用所述权重向量生成的。优选地,对抗样本集生成模块506可迭代地生成对抗样本集。
对抗样本集生成模块506的具体操作可参考上文对操作204和204c的描述。
优选地,装置500还可包括存储模块508。存储模块508可被配置成存储原始样本集。存储模块508还可被配置成存储在处理过程中产生的各种其它数据,例如对抗样本集等。
优选地,装置500还可包括输入输出模块510。输入输出模块510可用于接收各种输入并提供各种输出。例如,装置500可通过输入输出模块510接收原始样本集、接收来自开发者的参数设置(例如扰动大小和扰动方向等)等。装置500还可通过输入输出模块510输出经训练的机器学习模型、向开发者显示训练结果等等。
优选地,装置500还可包括分类模块512。所述分类模块512可被配置成经由输入输出模块510接收要处理的输入数据,使用通过模型训练模块504训练的机器学习模型来处理所述输入数据,并经由输入输出模块510输出处理结果。
参考图6,其示出了根据本说明书的实施例的对输入数据进行分类的方法600的流程图。
如图6中所示,方法600可包括:在操作602,接收待分类的输入数据。例如,待分类的输入数据可包括待识别的图像,如上面的熊猫图像。
在接收待分类的输入数据后,可对该输入数据进行预处理,例如对其进行标准化,以及提取输入数据的特征向量等。这些操作可采用本领域技术人员公知的方法进行,在此不再详细描述。
方法600还可包括:在操作604,采用本说明书的一个或多个实施例中描述的方法训练的机器学习模型来对所述输入数据进行分类。例如,可对待识别的图像进行识别。利用训练好的机器学习模型对输入数据进行分类的具体操作可采用本领域技术人员公知的方法进行,在此不再详细描述。
下面具体以图像识别为例,说明本说明书的实施例中公开的用于训练机器学习模型和使用机器学习模型来识别图像的方法。
参考图7,其示出了根据本说明书的实施例的用于进行图像识别的方法700的流程图。
方法700可包括:在操作702,接收图像样本集,并提取所述图像样本集当中的图像样本的特征向量。
例如,可从存储器接收图像样本集。所接收的图像样本集可进行预处理,以例如进行标准化等操作。
提取图像样本的特征向量的操作可按本领域技术人员公知的任何方法进行,在此不再详细描述。
方法700还可包括:在操作704,接收所述图像样本集当中的一个或多个图像的标签。例如,在有监督机器学习模型或半监督机器学习模型中,通常要使用全部或样本的标签。在图像识别示例中,所述标签例如可以是该图像中的物体的名称,例如:大熊猫、长臂猿、小汽车等。也可采用其它类型的标签,例如图像中物体的分类,例如:动物、植物、建筑物等。
方法700还可包括:在操作706,使用所述图像样本集当中的图像样本的特征向量和标签训练机器学习模型,其中在训练所述机器学习模型的每次迭代中产生权重向量。使用特征向量和标签来训练机器学习模型的方法可采用本领域技术人员公知的任何方法进行,在此不再详述。
方法700还可包括:在操作708,利用所述权重向量生成与所述图像样本集当中的每个图像样本相对应的特征扰动向量。
方法700还可包括:在操作710,生成对抗样本集,所述对抗样本集当中的每个对抗样本的特征向量是通过将所述图像样本集当中的图像样本的特征向量与对应的特征扰动向量相加得到的,所述特征扰动向量是利用所述权重向量生成的。生成对抗样本集的操作在上面已针对图2A-2C以及图3等进行了详细描述,在此不再赘述。
方法700还可包括:在操作712,至少使用所述对抗样本集训练所述机器学习模型。如同上面所述,可采用对抗样本集和原始图像样本集共同进行训练,或者可采用对抗样本集单独训练。
方法700还可包括:在操作714,使用经训练的所述机器学习模型对要识别的图像执行图像识别。例如,可对要识别的图像进行预处理。例如,可提取要识别的图像的特征向量。随后,可使用经训练的机器学习模型得到的权重向量和所述特征向量,基于机器学习模型的函数,求解要识别的图像属于特定标签的置信度。使用经训练的机器学习模型来进行图像识别的操作可采用本领域技术人员公知的任何方法进行,在此不再详述。
而且,本申请还公开了一种包括存储于其上的计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各实施例的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可以理解,根据本发明的各实施例的方法可以用软件、固件或其组合来实现。
应该理解,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的模块或元件可被组合为单个模块或元件,且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
还应理解,本文采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。