用随机化和样本拒绝改进预训练系统鲁棒性的系统和方法
未命名
09-29
阅读:61
评论:0
1.本公开涉及利用机器学习对图像(或其他输入)的增强和处理。
背景技术:
2.深度学习模型可能已知容易受到对抗性攻击,其中输入图像上小的不可察觉的扰动可以显著改变模型预测。许多经验性的防御机制和训练程序已经被提出来针对对抗性攻击,而更强的攻击经常随之而来以打破它们。这些进步导致了提供鲁棒分类准确度下界的防御,这可能包括随机化平滑和这样的变体。然而,这些防御中的大多数重新训练分类器,同时也牺牲了干净图像上的准确度。这可能是不合期望的属性,并且出于若干个原因限制了这样的防御的部署。例如,重新训练可能需要大量附加资源。附加地,由于所部署的系统将被预期在大多数时间在正常环境下操作,诸如在干净输入的情况下,因此将干净准确度降低到这样的程度意味着这些方法极有可能将不会在大多数实际情形下被部署。
3.一般而言,随机化平滑可能不会对预训练的分类器直接有效。具体地,当输入经受高斯噪声时(导致小的πa和随后小的认证半径r),现成分类器的性能可能显著恶化,因为标准分类器一般而言没有被训练成针对其输入的高斯扰动是鲁棒的。
4.为了在不更改给定网络f的基础权重的情况下构造鲁棒的分类器,一些系统可以利用图像去噪器作为在使输入通过f之前的预处理步骤,其中去噪器旨在移除在随机化平滑中添加到输入的高斯噪声。具体地说,这是通过用定制训练的去噪器dθ:rd
→
rd增强分类器f,从而将整个系统呈现为复合函数来完成的。
5.可以使用服从不同复杂度水平的各种目标来训练这样的去噪器。最简单的目标是最小化重构图像的均方误差(mse)或稳定性损失,这寻求去噪器权重θ,使得去噪图像的分类输出保持接近原始图像xi(没有噪声)的分类输出。
6.利用这一目标来训练去噪模块以鲁棒化(robustify)手边的分类器已经被证明是成功的,同时与使用mse损失最小化的较廉价去噪器的训练时间相比,通过在训练时间和复杂度上强加高达一个数量级的增加来实现最佳性能。经验结果已经示出,用简单的mse损失训练去噪器、继之以服从稳定性损失对其进行微调就其训练复杂度和验证的鲁棒性半径而言可以给出良好的折衷性能。
技术实现要素:
7.第一说明性实施例公开了一种用于训练机器学习网络的计算机实现的方法,包括从传感器接收输入数据,其中输入数据指示图像、雷达、声纳或声音信息,利用输入数据生成扰动输入数据集,其中扰动输入数据集包括扰动数据,对扰动输入数据集进行去噪以生成去噪数据集,利用去噪数据集训练机器学习网络,其中机器学习网络被配置为当分类概率落到分类阈值以下时拒绝去噪数据集,其中分类阈值与去噪数据集的分类相关联,并且响应于分类概率落到分类阈值以下,输出与输入数据相关联的放弃分类(abstain classification),其中所述放弃分类对于分类而言被忽略。
8.第二说明性实施例公开了一种包括机器学习网络的系统。所述网络包括被配置为从传感器接收输入数据的输入接口,其中传感器包括与输入接口通信的相机、雷达、声纳或麦克风、处理器。处理器被编程为接收输入数据,其中输入数据指示图像、雷达、声纳或声音信息,利用输入数据生成扰动输入数据集,其中扰动输入数据集包括输入数据的扰动,利用去噪器对扰动输入数据集进行去噪,其中去噪器被配置为生成去噪数据集,将去噪数据集发送到预训练的分类器和拒绝器两者,其中预训练的分类器被配置为对去噪数据集进行分类,并且拒绝器被配置为拒绝去噪数据集的分类,利用去噪输入数据集训练拒绝器以实现经训练的拒绝器,并且响应于获得经训练的拒绝器,输出与输入数据相关联的放弃分类,其中所述放弃分类对于分类而言被忽略。
9.第三说明性实施例公开了一种存储指令的计算机程序产品,当由计算机执行时,所述指令使得计算机从传感器接收输入数据,其中输入数据指示图像、雷达、声纳或声音信息,利用输入数据生成扰动输入数据集,其中扰动输入数据集包括输入数据的扰动,利用预训练的去噪器对输入数据集进行去噪,其中预训练的去噪器被配置为生成去噪数据集,利用预训练的分类器和拒绝器来分类或拒绝去噪数据集,利用去噪数据集来训练拒绝器,其中拒绝器被配置为当分类概率落到分类阈值以下时拒绝去噪数据集,其中分类阈值与去噪数据集的分类相关联,并且响应于分类概率落到分类阈值以下,输出与输入数据相关联的放弃分类,其中放弃分类忽略分类。
附图说明
10.图1示出了用于训练神经网络的系统100。
11.图2示出了用于训练神经网络的计算机实现的方法200。
12.图3图示了混合无监督语义分割的流程图。
13.图4图示了用于利用混合无监督语义分割来训练网络的流程图。
14.图5描绘了计算机控制的机器500和控制系统502之间的交互的示意图。
15.图6描绘了图1的控制系统的示意图,该控制系统被配置为控制载具,该载具可以是部分自主的载具或部分自主的机器人。
16.图7描绘了图1的控制系统的示意图,该控制系统被配置为控制制造系统(诸如生产线的一部分)的制造机器,诸如冲压刀具、刀具或枪钻。
17.图8描绘了图1的控制系统的示意图,该控制系统被配置为控制具有至少部分自主模式的电动工具,诸如电动钻或驱动器。
18.图9描绘了被配置为控制自动化个人助理的图1的控制系统的示意图。
19.图10描绘了图1的控制系统的示意图,该控制系统被配置为控制监视系统,诸如控制访问系统或监督系统。
20.图11描绘了图1的控制系统的示意图,该控制系统被配置为控制成像系统,例如mri装置、x射线成像装置或超声装置。
具体实施方式
21.本文中描述了本公开的实施例。然而,应理解的是,所公开的实施例仅仅是示例,并且其他实施例可以采取各种和替换的形式。各图不一定是按比例的;一些特征可以被放
大或缩小以示出特定组件的细节。因此,本文中公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式来采用实施例的代表性基础。如本领域普通技术人员将理解的,参考任一图所图示和描述的各种特征可以与一个或多个其他图中图示的特征相组合,以产生未被明确图示或描述的实施例。所图示的特征的组合提供了典型应用的代表性实施例。然而,对于特定的应用或实现方式,可能期望与本公开的教导一致的特征的各种组合和修改。
22.本公开涉及一种用于利用放弃(拒绝)选项使预训练的神经网络分类系统鲁棒化的方法,该方法具有可证明的鲁棒(最坏情况/对抗性)性能。对分类器(我们称之为f)进行对抗性攻击的典型设置可能如下:给定具有真实标签y的输入x,其被f正确分类(意味着为(x)=y)),攻击者可能旨在找到小的(理想地为人类不可察觉的)扰动δ,使得x+δ被c错误分类(即,f(x+δ)≠y))。当可能不存在改变分类成果的这样的扰动时,换句话说,在“容许扰动集”内的所有扰动输入给出与干净(未受扰动)输入一样的原始成果时,可以声称鲁棒性。
23.许多工作(没有拒绝/放弃/检测)已经提出了训练过程,在该训练过程下,所得到的鲁棒化分类器具有可证明的性能,即,对于受到扰动范数约束的对抗性扰动图像的错误率(误分类概率)的上界。当使用随机化来提供鲁棒性时,可以提供:(1)对于高斯噪声的不同实现,对干净的输入图像进行扰动和分类,(1)估计多数类(majority class)和亚军类(runner up class)的概率,以及(3)计算鲁棒性的可证明保证。这样的网络需要针对非平凡的性能而利用这样的高斯扰动增强进行训练。
24.此外,令人感兴趣的是针对对抗性扰动而鲁棒化预训练的网络。一个实施例可以提出通过利用随机化思想以及向系统添加去噪器模块来做到这一点。
25.最后,在实践中,令人感兴趣的是检测对抗性扰动示例。然而,文献中所有可用的检测方法都缺乏可证明的性能,并且已经示出,如果攻击者设计精心制作的“自适应扰动”来同时逃避检测并引起误分类,则检测失败。
26.一些实施例提出了用额外的类,即用于k类分类任务的k+1类来训练分类器,其中额外的类被称为“放弃类”。通过将图像分类到这一类中,分类器实际上放弃了将输入声明为其他k类中的任何一个,并且因此可以被认为是放弃了(或者检测或拒绝)对抗性输入。然而,这项工作没有可证明的性能保证,并且它的训练过程不同于本发明中提出的过程。
27.本公开阐述了一种可证明的鲁棒训练过程,用于针对对抗性攻击而鲁棒化预训练的神经网络。所提出的系统可以由以下各项组成(1)预训练的分类器,(2)预训练的去噪器(图像到图像转换器),以及(3)所提出的模块:每类拒绝器。
28.该系统和方法可以利用一种方法来平衡拒绝类以及去噪平滑以保持其合期望的属性(即,能够产生预训练的分类器的鲁棒版本),同时改进所得系统的准确度,尤其是干净准确度。
29.该系统可以在样本拒绝的情况下鲁棒化预训练的分类器,同时提供可认证的准确度。这样的方法的一个关键是使用拒绝类,通过可廉价训练的每类拒绝器来实现,训练所述每类拒绝器来拒绝其预测与干净样本的预测不一致的有噪样本。不可避免地,这也可能导致少量正确分类的样本也被拒绝,然而,具有预训练的去噪器的总体认证半径得以改进,这是因为:(a)拒绝类用于提供错误类概率的较低(且更严格)的上界,并且随后(b)亚军类的较低概率导致较高的认证半径,这是由于其经由逆高斯cdf函数的非线性相关性。
30.为此,对于每次扰动,整个系统可以被视为利用去噪器和检测器/拒绝器模块增强的分类器:对于初始(k)类分类任务结果产生(k+1)类分类器。
31.(1)图像将被扰动n次,并且每次扰动将被分类到这(k+1)类中的一个,其中附加类被称为放弃/检测/拒绝类。
32.(2)最终分类成果是k个(原始的,因此排除了拒绝类)类中具有多数投票的任何一个。
33.(3)估计亚军类以及拒绝类的概率,并且与最先进技术相比,这些联合量的利用导致改进的性能和更高的认证半径。
34.(4)所提出的方法的当务之急是训练所提出的拒绝器模块来区分(分类)正确分类的图像和误分类的随机扰动图像。
35.所公开的实施例使得能够通过将对抗性输入分类到拒绝类中来检测对抗性输入。此外,它通过给出如下认证来提供对分类器性能的可证明的保证:一族扰动内的所有可能扰动都将被正确分类,从而保证对手的攻击不成功。这在没有检测能力的其他技术实现的性能保证方面提供了附加的提升。
36.他的工作的另一个重要方面是鲁棒化预训练的现成分类器和去噪器的能力。当由于成本/隐私等使改变分类器和/或检测器的权重不可行时,这是非常重要的。
37.这也可以用于检测对抗性环境,并因此用于通过将对手的检测解释为不安全/对抗性环境来要求对安全关键任务的手动控制。
38.此外,放弃分类有时被解释为分类器声明其对分类任务的成果缺乏确定性,并且因此可以用于声明高度不确定性。
39.在一个实施例中,系统可以允许随机化平滑。例如,考虑从rd到类y:={1,2,...,k}的分类问题。根据随机化平滑方法,可以通过定义(其中∈~n(0,σ2i)),从任意基本分类器f构造“平滑的”分类器g。
40.也就是说,平滑的分类器g返回基本分类器f在x的邻域周围最有可能返回的类,其中邻域中的样本密度被表示为高斯噪声∈~n(0,σ2i)。
41.随机化平滑方法的一个优点是它固有的提供可认证的针对有界l2-范数最坏情况扰动的鲁棒性的能力。形式上,对于任何确定性或随机函数f:rd→
y:={1,2,...,k},假设ca,cb∈y和πa,πb∈[0,1]满足:
[0042]
在一个示例中,可以如下利用严格验证界限:对于所有||δ||≤r,g(x+δ)=ca,其中
[0043]
并且φ-1
(.)是标准高斯cdf的逆。
[0044]
因为计算πa=p(f(x+∈)=ca)和πb=p(f(x+∈)=cb)的精确值是不实际的,所以蒙特卡罗(monte carlo)采样被用来估计以任意高置信度具有最高概率的类,继之以近似πb=1-πa,从而产生
[0045]
r=σφ-1
(πa)
[0046]
实际上,尽管上述结果对于任何函数f都成立,但是为了有效的认证,需要针对高斯扰动训练基本分类器f,因为使用标准分类器通常导致平凡的认证界限,因为它们针对高斯噪声不鲁棒。可以通过在蒙特卡罗估计中运行更大量样本来实现增加认证的置信度,这
于是导致推断时间的增加。此外,尽管上述结果对于任何函数f都成立,但是为了有效的认证,需要针对高斯扰动训练基本分类器f,因为使用标准分类器通常导致平凡的认证界限,因为它们针对高斯噪声不鲁棒。
[0047]
图1示出了用于训练神经网络的系统100。系统100可以包括用于访问神经网络的训练数据192的输入接口。例如,如图1中所图示,输入接口可以由数据存储接口180构成,数据存储接口180可以从数据存储装置190访问训练数据192。例如,数据存储接口180可以是存储器接口或永久存储接口,例如硬盘或ssd接口,但也可以是个人、局域网或广域网接口,诸如蓝牙、zigbee或wi-fi接口或以太网或光纤接口。数据存储装置190可以是系统100的内部数据存储装置、诸如硬盘驱动器或ssd,但也可以是外部数据存储装置、例如网络可访问的数据存储装置。
[0048]
在一些实施例中,数据存储装置190可以进一步包括神经网络的未训练版本的数据表示194,其可以由系统100从数据存储装置190访问。然而,将领会,未训练神经网络的训练数据192和数据表示194也可以各自例如经由数据存储接口180的不同子系统从不同的数据存储装置访问。每个子系统可以具有如上面针对数据存储接口180所述的类型。在其他实施例中,未训练神经网络的数据表示194可以由系统100在神经网络的设计参数的基础上内部生成,并且因此可以不显式地存储在数据存储装置190上。系统100可以进一步包括处理器子系统160,该处理器子系统160可以被配置为在系统100的操作期间,提供迭代函数作为待训练的神经网络的叠层的替代。这里,被替代的叠层的各个层可以具有相互共享的权重,并且可以接收前一层的输出作为输入,或者对于叠层的第一层,接收初始激活和叠层的输入的一部分。处理器子系统160可以进一步被配置为使用训练数据192迭代训练神经网络。这里,处理器子系统160的训练迭代可以包括前向传播部分和后向传播部分。处理器子系统160可以被配置为除了可以执行的限定前向传播部分的其他操作之外通过如下操作来执行前向传播部分:确定迭代函数在其处收敛到固定点的迭代函数平衡点,其中确定平衡点包括使用数值寻根算法来找到迭代函数减去其输入的根解,并且通过提供平衡点作为神经网络中的叠层的输出的替代物。系统100可以进一步包括输出接口,用于输出经训练神经网络的数据表示196,该数据也可以被称为经训练模型数据196。例如,也如图1中所图示,输出接口可以由数据存储接口180构成,其中在这些实施例中,所述接口是输入/输出(“io”)接口,经由该输入/输出(“io”)接口,经训练模型数据196可以存储在数据存储装置190中。例如,限定“未训练”神经网络的数据表示194可以在训练期间或之后至少部分地被经训练神经网络的数据表示196代替,这是因为神经网络的参数(诸如权重、超参数和神经网络的其他类型的参数)可以适于反映训练数据192上的训练。这也在图1中由参考数字194、196图示,参考数字194、196指代数据存储装置190上的相同数据记录。在其他实施例中,数据表示196可以与限定“未训练”神经网络的数据表示194分离存储。在一些实施例中,输出接口可以与数据存储接口180分离,但是一般可以具有如上针对数据存储接口180所述的类型。
[0049]
图2描绘了实现用于注释数据的系统的数据注释系统200。数据注释系统200可以包括至少一个计算系统202。计算系统202可以包括操作性地连接到存储器单元208的至少一个处理器204。处理器204可以包括实现中央处理单元(cpu)206的功能性的一个或多个集成电路。cpu 206可以是商业上可获得的处理单元,其实现诸如x86、arm、power或mips指令集族之一的指令集。在操作期间,cpu 206可以执行从存储器单元208检索的存储程序指令。
存储程序指令可以包括控制cpu 206的操作以执行本文描述的操作的软件。在一些示例中,处理器204可以是将cpu 206、存储器单元208、网络接口和输入/输出接口的功能性集成到单个集成设备中的片上系统(soc)。计算系统202可以实现用于管理操作的各个方面的操作系统。
[0050]
存储器单元208可以包括用于存储指令和数据的易失性存储器和非易失性存储器。非易失性存储器可以包括固态存储器,诸如nand闪速存储器、磁性和光学存储介质,或者当计算系统202被去激活或者断电时保留数据的任何其他合适的数据存储设备。易失性存储器可以包括存储程序指令和数据的静态和动态随机存取存储器(ram)。例如,存储器单元208可以存储机器学习模型210或算法、机器学习模型210的训练数据集212、原始源数据集215。
[0051]
计算系统202可以包括网络接口设备222,其被配置为提供与外部系统和设备的通信。例如,网络接口设备222可以包括由电气和电子工程师协会(ieee)802.11标准族所限定的有线和/或无线以太网接口。网络接口设备222可以包括用于与蜂窝网络(例如,3g、4g、5g)通信的蜂窝通信接口。网络接口设备222可以进一步被配置为向外部网络224或云提供通信接口。
[0052]
外部网络224可以被称为万维网或互联网。外部网络224可以在计算设备之间建立标准通信协议。外部网络224可以允许信息和数据在计算设备和网络之间容易地交换。一个或多个服务器330可以与外部网络224通信。
[0053]
计算系统202可以包括输入/输出(i/o)接口220,其可以被配置为提供数字和/或模拟输入和输出。i/o接口220可以包括用于与外部设备通信的附加串行接口(例如,通用串行总线(usb)接口)。
[0054]
计算系统202可以包括人机接口(hmi)设备218,人机接口设备218可以包括使得系统200能够接收控制输入的任何设备。输入设备的示例可以包括诸如键盘、鼠标、触摸屏、语音输入设备和其他类似设备的人机接口输入。计算系统202可以包括显示设备232。计算系统202可以包括用于向显示设备232输出图形和文本信息的硬件和软件。显示设备232可以包括电子显示屏、投影仪、打印机或用于向用户或操作者显示信息的其他合适的设备。计算系统202可以进一步被配置为允许经由网络接口设备222与远程hmi和远程显示设备进行交互。
[0055]
系统200可以使用一个或多个计算系统来实现。虽然示例描绘了实现所有所描述特征的单个计算系统202,但是意图的是各种特征和功能可以由彼此通信的多个计算单元来分离和实现。所选择的特定系统架构可以取决于多种因素。
[0056]
系统200可以实现被配置为分析原始源数据集215的机器学习算法210。原始源数据集215可以包括原始的或未处理的传感器数据,其可以代表机器学习系统的输入数据集。原始源数据集215可以包括视频、视频片段、图像、基于文本的信息以及原始或部分处理的传感器数据(例如,对象的雷达图)。在一些示例中,机器学习算法210可以是被设计成执行预定功能的神经网络算法。例如,神经网络算法可以被配置在汽车应用中以标识视频图像中的行人。
[0057]
计算机系统200可以存储机器学习算法210的训练数据集212。训练数据集212可以表示用于训练机器学习算法210的先前构造的数据集合。机器学习算法210可以使用训练数
据集212来学习与神经网络算法相关联的加权因子。训练数据集212可以包括具有机器学习算法210试图经由学习过程复制的对应成果或结果的源数据集合。在该示例中,训练数据集212可以包括具有和没有行人的源视频以及对应的存在和位置信息。源视频可以包括其中标识行人的各种场景。
[0058]
机器学习算法210可以使用训练数据集212作为输入在学习模式下操作。机器学习算法210可以使用来自训练数据集212的数据在多次迭代内执行。随着每次迭代,机器学习算法210可以基于实现的结果更新内部加权因子。例如,机器学习算法210可以将输出结果(例如,注释)与训练数据集212中包括的结果进行比较。由于训练数据集212包括预期结果,因此机器学习算法210可以确定何时性能是可接受的。在机器学习算法210实现预定性能水平(例如,与同训练数据集212相关联的成果100%一致)之后,可以使用不在训练数据集212中的数据来执行机器学习算法210。经训练机器学习算法210可以应用于新的数据集,以生成带注释的数据。
[0059]
机器学习算法210可以被配置为标识原始源数据215中的特定特征。原始源数据215可以包括针对其期望注释结果的多个实例或输入数据集。例如,机器学习算法210可以被配置为标识视频图像中行人的存在并注释这些出现。机器学习算法210可以被编程为处理原始源数据215以标识特定特征的存在。机器学习算法210可以被配置为将原始源数据215中的特征标识为预定特征(例如,行人)。原始源数据215可以从各种源中导出。例如,原始源数据215可以是由机器学习系统收集的实际输入数据。原始源数据215可以是机器生成的,用于测试系统。作为示例,原始源数据215可以包括来自相机的原始视频图像。
[0060]
在示例中,机器学习算法210可以处理原始源数据215并输出图像表示的指示。输出还可以包括图像的增强表示。机器学习算法210可以为每个生成的输出生成置信度水平或因子。例如,超过预定高置信度阈值的置信度值可以指示机器学习算法210确信所标识的特征对应于特定特征。小于低置信度阈值的置信度值可以指示机器学习算法210具有特定特征存在的某些不确定性。
[0061]
图3图示了与鲁棒化预训练的分类器相关的流程图的实施例。在步骤301,可以在处理器、计算机、服务器等处接收输入(例如,图像或类似数据)x。在步骤302,输入可能被噪声∈扰动。在步骤303,扰动数据可以经由d(x+)通过预处理(例如,去噪)步骤。去噪器可以是预训练的去噪器。在步骤305,所得去噪数据可以经过具有拒绝类的基本分类器。基本分类器可以包括预训练的分类器(例如,k类分类器)和拒绝器两者。拒绝器可以被训练为成功地在由基本分类器f(.)分配给类k的正确分类的和误分类的去噪输入之间进行区分。在步骤307,的平滑联合系统的分类输出可以被声明为噪声分布上最可能的类(或者它经由n个i.i.d.(独立同分布)样本的经验实现)。这样的系统的示意图在下图4中示出,并且总体系统可以定义为
[0062]
在这样的实施例中,利用每类拒绝器——即用于原始k类中的每个的二元检测器——增强预训练的k类分类器和预训练的去噪器。我们旨在通过将显式的“拒绝”类并入基本分类器来改进预训练的分类器的认证准确度,同时保持针对具有有界12-范数的最坏情况扰动的可认证性。
[0063]
对于包含分类器f、去噪器d、拒绝器{n1,...,hk}的整个系统,所提出的分类过程使
图像x将经过以下步骤:(a)它首先受到从具有方差σ2的高斯噪声中抽取的噪声∈所扰动(b)有噪图像经由d(x+∈)通过图像预处理(去噪)步骤(c)所得去噪图像通过fr(d(x+∈)),标示具有拒绝的基本分类器定义为
[0064][0065]
(d)最后,平滑的联合系统的分类输出被声明为噪声分布上最可能的类(或者它经由n个i.i.d.样本的经验实现,即:用不同的噪声实现重复步骤a-c总共n次,并取多数类)。
[0066]
该示意图描绘了总体系统中的组件的视觉放置,标示为s={f,d,h1,
…
,hk}。
[0067]
算法1、2、3为总体系统的预测和认证提供伪代码,其中函数lowerconfbound(s,n,1-α)在给定样本s~binomial(n,q)的情况下对于二项式参数q返回单侧1-α下置信区间。
[0068][0069]
为了训练拒绝器,拒绝器网络{h1,...,hk}的参数通过训练它们区分正确分类的对照误分类的有噪样本进行学习。也就是说,将拒绝器hk的分类损失具体定义为
[0070]
l
φk
=l
cross-entropy
(hk(d(xi+∈)),bi)
[0071]
其中,hk是拒绝器k的softmax输出,并且图像xi的目标标签bi定义为
[0072][0073]
也就是说,如果分类器f已经将去噪输入分类到与无噪声图像相同的类,则目标标签bi=0,并且否则为1,从而拒绝其分类成果已经改变的有噪图像。
[0074]
在具有所有可能的k类的整个数据集上聚集的总损失产生
[0075][0076]
其中参数集φ={φ1,...φk}捕获所有k个拒绝器的参数集。
[0077]
为了使训练更加负担得起,我们提出通过由φ
bb
参数化的共享主干h
bb
将k个拒绝器联系起来,并通过向经由主干网络提取的特征添加由ωk参数化的全连接层来定义每个hk。
[0078]
图4图示了根据实施例的图表的实施例。该系统可以接收输入401。输入401可以包括来自一个或多个传感器的数据,所述传感器诸如视频数据、雷达、lidar、超声、运动、热成像相机等。噪声403可以被添加到输入,以帮助预训练的神经网络针对对抗性攻击的鲁棒化过程。该系统然后可以使用预训练的去噪器405。预训练的去噪器405可以是图像到图像转换器,并且因此利用图像预处理来创建去噪图像或去噪图像集。为了在不更改给定网络f的基础权重的情况下构造鲁棒的分类器,系统可以利用图像去噪器405作为在使输入通过f之前的预处理步骤,其中去噪器405旨在移除在随机化平滑中添加到输入的高斯噪声。具体地说,这是通过利用定制训练的去噪器d
θ
:rd→
rd增强分类器f,从而将整个系统呈现为复合函数来完成的。图像或输入401可以被扰动n次,并且每次扰动可以被分类为(k+1)类之一。该附加类可以被称为放弃/检测/拒绝类。
[0079]
k类分类器409(其可以被预训练)和去噪器405可以利用每类拒绝器410来增强。拒绝器410可以是用于原始k类中的每个的二元检测器。该系统可以工作以利用添加了噪声并经由去噪器预处理的数据的每次迭代来训练拒绝器410。该系统可以旨在通过将显式的“拒绝”类并入到基本分类器中来改进预训练的分类器的认证准确度,同时保持针对具有有界12-范数的最坏情况扰动的可认证性。拒绝器模块411可以用于训练所提出的拒绝器模块来区分(分类)正确分类的对照误分类的随机扰动图像。拒绝器选择器模块411可以与预训练的分类器409和拒绝器410两者一起工作。
[0080]
为了使训练更加负担得起,该系统可以通过共享主干410将k个拒绝器联系起来。因此,该系统可以拒绝对可能被误分类的输入进行分类。一个或多个拒绝器410可以用于阻止这样的输入。拒绝器选择器模块将输出与输入相关联的类k412或拒绝413。添加了噪声的不同迭代(例如,扰动)且被预处理的输入数据的各种迭代可以被使用n次。
[0081]
在415,系统和分类器可以工作以认证和预测最终类417和放弃分类416两者。系统可以对被去噪的扰动数据的各种计数进行采样。然后,它可以确定适当的界限来认证输入的鲁棒性。在输入未被认证的程度上,它可能作为误分类或放弃类被返回。
[0082]
因此,该系统可以旨在通过将显式的“拒绝”类并入到基本分类器中来改进预训练的分类器的认证准确度,同时保持针对具有有界l2-范数的最坏情况扰动的可认证性。为此,令h:rd→
{0,1}可以标示具有二元输出的通用函数,如果h(x)=1,则该函数有效地“标记”输入x,从而将其分配到拒绝类;而h(x)=0指示允许输入通过,并且因此不拒绝它。因此,该系统和算法可以结合预训练的去噪平滑有效地训练和操作这样的“拒绝器”,以便改进预训练的分类器的鲁棒性能。
[0083]
图5描绘了计算机控制的机器500和控制系统502之间的交互的示意图。计算机控制的机器500包括致动器504和传感器506。致动器504可以包括一个或多个致动器,并且传
感器506可以包括一个或多个传感器。传感器506被配置为感测计算机控制的机器500的条件。传感器506可以被配置为将感测到的条件编码成传感器信号508,并将传感器信号508传输到控制系统502。传感器506的非限制性示例包括视频、雷达、lidar、超声和运动传感器。在一个实施例中,传感器506是被配置为感测接近计算机控制的机器500的环境的光学图像的光学传感器。
[0084]
控制系统502被配置为从计算机控制的机器500接收传感器信号508。如下面所阐述的,控制系统502可以进一步被配置为取决于传感器信号计算致动器控制命令510,并将致动器控制命令510传输到计算机控制的机器500的致动器504。
[0085]
如图5中所示,控制系统502包括接收单元512。接收单元512可以被配置为从传感器506接收传感器信号508,并将传感器信号508变换成输入信号x。在替换实施例中,在没有接收单元512的情况下,传感器信号508被直接接收作为输入信号x。每个输入信号x可以是每个传感器信号508的一部分。接收单元512可以被配置为处理每个传感器信号508以产生每个输入信号x。输入信号x可以包括对应于由传感器506记录的图像的数据。
[0086]
控制系统502包括分类器514。分类器514可以被配置为使用机器学习(ml)算法、诸如上述神经网络,将输入信号x分类成一个或多个标签。分类器514被配置为通过诸如上面描述的那些参数(例如,参数θ)来参数化。参数θ可以存储在非易失性存储装置516中并由非易失性存储装置516提供。分类器514被配置为根据输入信号x确定输出信号y。每个输出信号y包括为每个输入信号x分配一个或多个标签的信息。分类器514可以将输出信号y传输到转换单元518。转换单元518被配置为将输出信号y转换成致动器控制命令510。控制系统502被配置为向致动器504传输致动器控制命令510,致动器504被配置为响应于致动器控制命令510来致动计算机控制的机器500。在另一个实施例中,致动器504被配置为直接基于输出信号y来致动计算机控制的机器500。
[0087]
当致动器504接收到致动器控制命令510时,致动器504被配置为执行对应于相关致动器控制命令510的动作。致动器504可以包括控制逻辑,该控制逻辑被配置为将致动器控制命令510变换成用于控制致动器504的第二致动器控制命令。在一个或多个实施例中,替代于或附加于致动器,致动器控制命令510还可以用于控制显示器。
[0088]
在另一个实施例中,代替于或附加于包括传感器506的计算机控制的机器500,控制系统502包括传感器506。代替于或附加于包括致动器504的计算机控制的机器500,控制系统502还可以包括致动器504。
[0089]
如图5中所示,控制系统502还包括处理器520和存储器522。处理器520可以包括一个或多个处理器。存储器522可以包括一个或多个存储器设备。一个或多个实施例的分类器514(例如,ml算法)可以由控制系统502实现,控制系统502包括非易失性存储装置516、处理器520和存储器522。
[0090]
非易失性存储装置516可以包括一个或多个持久数据存储设备,诸如硬盘驱动器、光驱、磁带驱动器、非易失性固态设备、云存储装置或能够持久存储信息的任何其他设备。处理器520可以包括从高性能计算(hpc)系统中选择的一个或多个设备,包括高性能核心、微处理器、微控制器、数字信号处理器、微型计算机、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路或基于驻留在存储器522中的计算机可执行指令操纵信号(模拟或数字)的任何其他设备。存储器522可以包括单个存储器设备
或多个存储器设备,包括但不限于随机存取存储器(ram)、易失性存储器、非易失性存储器、静态随机存取存储器(sram)、动态随机存取存储器(dram)、闪速存储器、高速缓冲存储器或能够存储信息的任何其他设备。
[0091]
处理器520可以被配置为读入存储器522并执行驻留在非易失性存储装置516中并体现一个或多个实施例的一个或多个ml算法和/或方法技术的计算机可执行指令。非易失性存储装置516可以包括一个或多个操作系统和应用。非易失性存储装置516可以存储从使用各种编程语言和/或技术创建的计算机程序编译和/或解释的数据,所述编程语言和/或技术没有限制地并且单独或组合地包括java、c、c++、c#、objective c、fortran、pascal、java script、python、perl和pl/sql。
[0092]
在由处理器520执行时,非易失性存储装置516的计算机可执行指令可以引起控制系统502实现如本文公开的ml算法和/或方法技术中的一个或多个。非易失性存储装置516还可以包括支持本文描述的一个或多个实施例的功能、特征和过程的ml数据(包括数据参数)。
[0093]
体现本文描述的算法和/或方法技术的程序代码能够以各种不同的形式作为程序产品单独或共同分发。程序代码可以使用其上具有计算机可读程序指令的计算机可读存储介质来分发,用于引起处理器实行一个或多个实施例的方面。固有地非暂时性的计算机可读存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性以及可移动和不可移动的有形介质,诸如计算机可读指令、数据结构、程序模块或其他数据。计算机可读存储介质可以进一步包括ram、rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪速存储器或其他固态存储器技术、便携式致密盘只读存储器(cd-rom)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁性存储设备,或者可以用于存储所期望信息并且可以由计算机读取的任何其他介质。计算机可读程序指令可以从计算机可读存储介质下载到计算机、另一种类型的可编程数据处理装置或另一设备,或者经由网络下载到外部计算机或外部存储设备。
[0094]
存储在计算机可读介质中的计算机可读程序指令可以用于引导计算机、其他类型的可编程数据处理装置或其他设备以特定方式运作,使得存储在计算机可读介质中的指令产生包括实现流程图或图表中指定的功能、动作和/或操作的指令的制品。在某些替换实施例中,流程图和图表中指定的功能、动作和/或操作可以与一个或多个实施例相一致地被重新排序、串行处理和/或并发处理。此外,流程图和/或图表中的任何一个可以包括比与一个或多个实施例一致图示的那些节点或块更多或更少的节点或块。可以使用合适的硬件组件,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、状态机、控制器或其他硬件组件或设备,或者硬件、软件和固件组件的组合,来整体或部分地体现过程、方法或算法。
[0095]
图6描绘了控制系统502的示意图,该控制系统502被配置为控制可以是至少部分自主载具或至少部分自主机器人之类的载具600。载具600包括致动器504和传感器506。传感器506可以包括一个或多个视频传感器、相机、雷达传感器、超声传感器、lidar传感器和/或位置传感器(例如gps)。一个或多个特定传感器中的一个或多个可以集成到载具600中。替换地,或者附加于上面标识的一个或多个特定传感器,传感器506可以包括软件模块,该软件模块被配置为在执行时确定致动器504的状态。软件模块的一个非限制性示例包括天气信息软件模块,其被配置为确定接近载具600或其他位置的天气的当前或未来状态。
[0096]
载具600的控制系统502的分类器514可以被配置为取决于输入信号x检测载具600附近的对象。在这样的实施例中,输出信号y可以包括表征对象到载具600邻近度的信息。致动器控制命令510可以根据该信息来确定。致动器控制命令510可以用于避免与检测到的对象碰撞。
[0097]
在载具600是至少部分自主载具的实施例中,致动器504可以体现在载具600的制动器、推进系统、发动机、传动系或转向中。可以确定致动器控制命令510,从而控制致动器504,使得载具600避免与检测到的对象碰撞。检测到的对象也可以根据分类器514认为它们最有可能是什么(诸如行人或树木)来分类。致动器控制命令510可以取决于分类来确定。在可能发生对抗性攻击的情景中,上述系统可以被进一步训练以更好地检测对象或标识载具600上的传感器或相机的照明条件或角度的改变。
[0098]
在载具600是至少部分自主的机器人的其他实施例中,载具600可以是移动机器人,其被配置为实行一个或多个功能,诸如飞行、游泳、潜水和踩踏。移动机器人可以是至少部分自主的割草机或至少部分自主的清洁机器人。在这样的实施例中,可以确定致动器控制命令510,使得可以控制移动机器人的推进单元、转向单元和/或制动单元,使得移动机器人可以避免与标识的对象碰撞。
[0099]
在另一个实施例中,载具600是以园艺机器人形式的至少部分自主的机器人。在这样的实施例中,载具600可以使用光学传感器作为传感器506来确定接近载具600的环境中植物的状态。致动器504可以是被配置为喷洒化学品的喷嘴。取决于植物的标识物种和/或标识状态,可以确定致动器控制命令510,以引起致动器504向植物喷洒合适量的合适化学品。
[0100]
载具600可以是以家用电器形式的至少部分自主的机器人。家用电器的非限制性示例包括洗衣机、炉子、烤箱、微波炉或洗碗机。在这样的载具600中,传感器506可以是光学传感器,其被配置为检测将由家用电器进行处理的对象的状态。例如,在家用电器是洗衣机的情况下,传感器506可以检测洗衣机内衣物的状态。致动器控制命令510可以基于检测到的衣物状态来确定。
[0101]
图7描绘了控制系统502的示意图,控制系统502被配置为控制制造系统702(诸如生产线的一部分)的系统700(例如,制造机器),诸如冲压刀具、刀具或枪钻。控制系统502可以被配置为控制致动器504,致动器504被配置为控制系统700(例如,制造机器)。
[0102]
系统700(例如,制造机器)的传感器506可以是被配置为捕获制造产品704的一个或多个属性的光学传感器。分类器514可以被配置为根据一个或多个捕获的属性来确定制造产品704的状态。致动器504可以被配置为取决于制造产品704的确定状态来控制系统700(例如,制造机器),以用于制造产品704的后续制造步骤。致动器504可以被配置为取决于制造产品704的确定状态来控制系统700(例如,制造机器)在系统700(例如,制造机器)的后续制造产品706上的功能。
[0103]
图8描绘了控制系统502的示意图,控制系统502被配置为控制具有至少部分自主模式的电动工具800,诸如电动钻或驱动器。控制系统502可以被配置为控制致动器504,致动器504被配置为控制电动工具800。
[0104]
电动工具800的传感器506可以是光学传感器,该光学传感器被配置为捕获被驱动到工作表面802中的工作表面802和/或紧固件804的一个或多个属性。分类器514可以被配
置为根据一个或多个捕获的属性来确定工作表面802和/或紧固件804相对于工作表面802的状态。该状态可以是紧固件804与工作表面802齐平。替换地,该状态可以是工作表面802的硬度。致动器504可以被配置为控制电动工具800,使得电动工具800的驱动功能取决于紧固件804相对于工作表面802的确定状态或工作表面802的一个或多个捕获属性来调整。例如,如果紧固件804的状态相对于工作表面802齐平,则致动器504可以中断驱动功能。作为另一个非限制性示例,致动器504可以取决于工作表面802的硬度施加附加的或更少的扭矩。
[0105]
图9描绘了被配置为控制自动化个人助理900的控制系统502的示意图。控制系统502可以被配置为控制致动器504,致动器504被配置为控制自动化个人助理900。自动化个人助理900可以被配置为控制家用电器,诸如洗衣机、炉子、烤箱、微波炉或洗碗机。
[0106]
传感器506可以是光学传感器和/或音频传感器。光学传感器可以被配置为接收用户902的手势904的视频图像。音频传感器可以被配置为接收用户902的语音命令。
[0107]
自动化个人助理900的控制系统502可以被配置为确定被配置为控制系统502的致动器控制命令510。控制系统502可以被配置为根据传感器506的传感器信号508来确定致动器控制命令510。自动化个人助理900被配置为将传感器信号508传输到控制系统502。控制系统502的分类器514可以被配置为执行手势识别算法,以标识用户902做出的手势904,从而确定致动器控制命令510,并将致动器控制命令510传输到致动器504。分类器514可以被配置为响应于手势904从非易失性存储器中检索信息,并且以适合用户902接收的形式输出检索到的信息。
[0108]
图10描绘了被配置为控制监视系统1000的控制系统502的示意图。监视系统1000可以被配置为物理地控制通过门1002的访问。传感器506可以被配置为检测与决定是否准许访问相关的场景。传感器506可以是被配置为生成和传输图像和/或视频数据的光学传感器。控制系统502可以使用这样的数据来检测人的面部。
[0109]
监视系统1000的控制系统502的分类器514可以被配置为通过匹配存储在非易失性存储装置516中的已知人的身份来解释图像和/或视频数据,从而确定人的身份。分类器514可以被配置为响应于图像和/或视频数据的解释而生成致动器控制命令510。控制系统502被配置为将致动器控制命令510传输到致动器504。在该实施例中,致动器504可以被配置为响应于致动器控制命令510来锁定或解锁门1002。在其他实施例中,非物理的逻辑访问控制也是可能的。
[0110]
监视系统1000也可以是监督系统。在这样的实施例中,传感器506可以是被配置为检测被监督的场景的光学传感器,并且控制系统502被配置为控制显示器1004。分类器514被配置为确定场景的分类,例如由传感器506检测到的场景是否可疑。控制系统502被配置为响应于分类而向显示器1004传输致动器控制命令510。显示器1004可以被配置为响应于致动器控制命令510来调整所显示的内容。例如,显示器1004可以突出显示被分类器514认为可疑的对象。利用所公开的系统的实施例,监督系统可以标识环境的视频中的对抗性扰动或随机扰动(例如,不良的阴影或照明)。
[0111]
图11描绘了控制系统502的示意图,控制系统502被配置为控制成像系统1100,例如mri装置、x射线成像设备或超声装置。传感器506例如可以是成像传感器。分类器514可以被配置为确定感测图像的全部或部分的分类。分类器514可以被配置为响应于由经训练神
经网络获得的分类来确定或选择致动器控制命令510。例如,分类器514可以将感测图像的区域解释为潜在异常。在该情况下,可以确定或选择致动器控制命令510,以引起显示器302显示成像并突出显示潜在异常区域。
[0112]
虽然上面描述了示例性实施例,但是不意图这些实施例描述权利要求所涵盖的所有可能的形式。说明书中使用的词语是描述性而不是限制性的词语,并且应理解,在不脱离本公开的精神和范围的情况下,可以进行各种改变。如先前所述,各种实施例的特征可以被组合以形成可能没有被显式描述或图示的本发明的另外实施例。虽然各种实施例可能已经被描述为在一个或多个期望的特性方面提供了优于其他实施例或现有技术实现方式的优点或比其他实施例或现有技术实现方式优选,但是本领域的普通技术人员认识到,一个或多个特征或特性可以被折衷以实现期望的总体系统属性,这取决于具体的应用和实现方式。这些属性可以包括但不限于成本、强度、耐用性、生命周期成本、适销性、外观、包装、尺寸、适用性、重量、可制造性、组装容易性等。照此,在任何实施例被描述为在一个或多个特性方面不如其他实施例或现有技术实现方式合期望的程度上,这些实施例不在本公开的范围之外,并且对于特定应用可以是合期望的。
技术特征:
1.一种用于训练机器学习网络的计算机实现的方法,包括:从传感器接收输入数据,其中输入数据指示图像、雷达、声纳或声音信息;利用输入数据生成扰动输入数据集,其中扰动输入数据集包括扰动数据;对扰动输入数据集进行去噪以生成去噪数据集;利用去噪数据集训练机器学习网络,其中机器学习网络被配置为当分类概率落到分类阈值以下时拒绝去噪数据集,其中分类阈值与去噪数据集的分类相关联;以及响应于分类概率落到分类阈值以下,输出与输入数据相关联的放弃分类,其中放弃分类对于分类而言被忽略。2.根据权利要求1所述的计算机实现的方法,其中,所述方法包括在分类时输出与放弃分类相比具有多数投票的最终分类。3.根据权利要求1所述的计算机实现的方法,其中,所述方法包括利用分类器,所述分类器包括每类拒绝器,所述每类拒绝器是用于与输入数据相关联的原始类的二元检测器。4.根据权利要求1所述的计算机实现的方法,其中,所述方法包括利用被配置为对输入数据进行分类的预训练的分类器和被配置为拒绝去噪数据集的分类的拒绝器。5.根据权利要求4所述的计算机实现的方法,其中,预训练的分类器进一步包括去噪器。6.根据权利要求1所述的计算机实现的方法,其中,所述方法包括利用去噪数据集的多次迭代。7.根据权利要求1所述的计算机实现的方法,其中,所述方法进一步包括利用被配置为对输入数据进行分类的分类器。8.一种包括机器学习网络的系统,包括:输入接口,被配置为从传感器接收输入数据,其中,传感器包括相机、雷达、声纳或麦克风;与输入接口通信的处理器,其中处理器被编程为:接收输入数据,其中输入数据指示图像、雷达、声纳或声音信息;利用输入数据生成扰动输入数据集,其中扰动输入数据集包括输入数据的扰动;利用去噪器对扰动输入数据集进行去噪,其中去噪器被配置为生成去噪数据集;将去噪数据集发送到预训练的分类器和拒绝器两者,其中预训练的分类器被配置为对去噪数据集进行分类,并且拒绝器被配置为拒绝去噪数据集的分类;利用去噪输入数据集训练拒绝器以实现经训练的拒绝器;以及响应于获得经训练的拒绝器,输出与输入数据相关联的放弃分类,其中放弃分类对于分类而言被忽略。9.根据权利要求8所述的系统,其中,去噪器是预训练的去噪器。10.根据权利要求8所述的系统,其中,处理器进一步被编程为输出与输入数据相关联的最终分类。11.根据权利要求8所述的系统,其中,训练拒绝器包括利用与输入数据相关联的蒙特卡罗采样。12.根据权利要求8所述的系统,其中,拒绝器包括被配置为参数化的共享主干。13.根据权利要求8所述的系统,其中,去噪器被配置为移除或减轻添加到输入中的高
斯噪声。14.一种存储指令的计算机程序产品,当由计算机执行时,使得计算机:从传感器接收输入数据,其中输入数据指示图像、雷达、声纳或声音信息;利用输入数据生成扰动输入数据集,其中扰动输入数据集包括输入数据的扰动;利用预训练的去噪器对输入数据集进行去噪,其中预训练的去噪器被配置为生成去噪数据集;利用预训练的分类器和拒绝器来分类或拒绝去噪数据集;利用去噪数据集来训练拒绝器,其中拒绝器被配置为当分类概率落到分类阈值以下时拒绝去噪数据集,其中分类阈值与去噪数据集的分类相关联;以及响应于分类概率落到分类阈值以下,输出与输入数据相关联的放弃分类,其中放弃分类忽略分类。15.根据权利要求14所述的计算机程序产品,其中,输入数据包括从与计算机通信的相机接收的图像。16.根据权利要求14所述的计算机程序产品,其中,所述指令进一步使得计算机训练拒绝器,其中训练包括利用蒙特卡罗采样定义的上界和下界。17.根据权利要求14所述的计算机程序产品,其中,所述指令进一步使得计算机利用预训练的分类器进行多次迭代来分类或拒绝去噪数据集。18.根据权利要求14所述的计算机程序产品,其中,预训练的去噪器被配置为被训练并减轻高斯噪声或移除高斯噪声。19.根据权利要求14所述的计算机程序产品,其中,拒绝器的参数被配置为经由训练拒绝器来学习区分正确分类对照误分类。20.根据权利要求14所述的计算机程序产品,其中,输入数据包括从麦克风获得的声音信息。
技术总结
用随机化和样本拒绝改进预训练系统鲁棒性的系统和方法。一种系统包括机器学习网络。该网络包括被配置为从传感器接收输入数据的输入接口。处理器被编程为接收输入数据,利用输入数据生成扰动输入数据集,其中扰动输入数据集包括输入数据的扰动,利用去噪器对扰动输入数据集进行去噪,其中去噪器被配置为生成去噪数据集,将去噪数据集发送到预训练的分类器和拒绝器两者,其中预训练的分类器被配置为对去噪数据集进行分类,并且拒绝器被配置为拒绝去噪数据集的分类,利用去噪输入数据集训练拒绝器以实现经训练的拒绝器,并且响应于获得经训练的拒绝器,输出与输入数据相关联的放弃分类,其中放弃分类对于分类而言被忽略。其中放弃分类对于分类而言被忽略。其中放弃分类对于分类而言被忽略。
技术研发人员:F
受保护的技术使用者:卡内基梅隆大学
技术研发日:2023.03.20
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/