具有针对补丁攻击进行防御的鲁棒分类器的系统和方法与流程

文档序号:29698487发布日期:2022-04-16 13:42阅读:74来源:国知局
具有针对补丁攻击进行防御的鲁棒分类器的系统和方法与流程
具有针对补丁攻击进行防御的鲁棒分类器的系统和方法
1.政府权利本发明的至少一个或多个部分可能已经在国防部高级研究计划局(darpa)所授予的第1190060-430433号美国政府合同下利用政府支持而完成。因此,美国政府可能具有本发明中的某些权利。
技术领域
[0002] 本公开总体上涉及机器学习系统,并且更具体地涉及具有针对补丁攻击(patch attack)的防御的鲁棒机器学习系统。


背景技术:

[0003]
一般而言,机器学习系统(诸如,深度神经网络)容易受到对抗式攻击。这些对抗式攻击可以包括对输入数据的物理攻击,这些物理攻击使得机器学习系统扰乱该机器学习系统所提供的预测。例如,攻击者可以使用补丁攻击,使得向分类器提供具有补丁攻击的图像数据,其中对采用补丁形式的有界大小的区域内的像素存在任意且无界的改变。这些补丁攻击可能导致分类器针对具有补丁的图像数据产生类别数据,该类别数据不同于将在其他情况下针对没有补丁的该相同图像数据产生的类别数据。作为非限制性和经典的示例,例如,补丁攻击可以包括在停车标志上使用贴纸,使得利用补丁(例如,贴纸)产生了图像数据,该补丁使得分类器将停车标志误分类为让行标志(yield sign),这对于使用来自该分类器的该不正确分类的至少部分自主的车辆而言可能导致负面后果和影响。
[0004]
虽然存在与针对补丁攻击进行防御相关的一些工作,但是这些工作具有许多缺点,诸如实现和/或运行起来相对低效且耗时。例如,存在以滑动窗口的方式来详尽地创建图像块的一些工作。这种滑动窗口方法需要相对长的时间来运行。此外,由于每个图像块的大小与原始图像相同,因此这种滑动窗口方法处理起来往往是计算开销昂贵的。作为另一个示例,存在如下一些工作:这些工作通过对整个图像使用消融(ablation)过程来生成图像块,使得每个图像块的大小与原始图像相同,从而导致了不必要的计算。此外,利用消融过程的工作聚焦于其中所有像素值都可能被改变的数字攻击上,在不损害机器学习系统的情况下,这在现实世界应用中是无法实现的。


技术实现要素:

[0005]
以下内容是下面详细描述的某些实施例的概述。呈现所描述的方面仅仅是为了向读者提供这些特定实施例的简要概述,并且对这些方面的描述不旨在限制本公开的范围。实际上,本公开可以涵盖下面可能没有明确阐述的各种方面。
[0006] 根据至少一个方面,一种计算机实现方法涉及关于随机裁剪框架(random cropping framework)来训练机器学习系统,以提供针对补丁攻击的防御。所述方法包括:从非暂时性计算机可读介质获得第一数字图像。所述方法包括:经由随机过程来生成位置数据第一集合。位置数据第一集合包括对第一数字图像上的位置的随机选择。所述方法包
括:关于位置数据第一集合中的每个位置数据来裁剪第一数字图像,使得基于位置数据第一集合来生成随机裁剪物(random crop)第一集合。所述方法包括:创建第一训练集,第一训练集包括第一数字图像的随机裁剪物第一集合。所述方法包括:使用至少第一训练集来训练所述机器学习系统。所述方法包括:基于来自第一训练集的第一预测集合来更新所述机器学习系统的参数。
[0007] 根据至少一个方面,一种计算机实现方法涉及生成具有针对补丁攻击的防御的机器学习预测。所述方法包括:从包括至少一个传感器的传感器系统获得传感器数据。所述方法包括:基于传感器数据来获得第一数字图像。所述方法包括:经由随机过程来生成位置数据第一集合。位置数据第一集合包括关于第一数字图像的位置的随机选择。所述方法包括:关于位置数据第一集合中的每个位置数据来裁剪第一数字图像,使得基于位置数据第一集合来生成随机裁剪物第一集合,其中随机裁剪物第一集合中的每个裁剪物是第一数字图像的不同区域。所述方法包括:经由机器学习系统来生成针对随机裁剪物第一集合中的每个裁剪物的预测,以创建第一预测集合。所述方法包括:集体地(collectively)评估第一预测集合,以确定第一预测集合当中的多数预测(majority prediction)。所述方法包括:生成输出标签,所述输出标签将第一数字图像标识为拥有所述多数预测。
[0008]
根据至少一个方面,一种计算机系统涉及执行具有针对补丁攻击的防御的分类。所述计算机系统包括传感器系统、一个或多个非暂时性计算机可读存储设备、以及处理系统。所述传感器系统包括用于捕获传感器数据的至少一个传感器。所述一个或多个非暂时性计算机可读存储设备包括机器学习系统、以及被配置成针对补丁攻击进行防御的框架。所述处理系统包括通信地连接到至少所述一个或多个非暂时性计算机可读存储设备的至少一个计算机处理器。所述处理系统被配置成执行对应于所述框架的方法,所述方法包括:基于传感器数据来获得第一数字图像。所述方法包括:经由随机过程来生成位置数据第一集合。位置数据第一集合包括关于第一数字图像的位置的随机选择。所述方法包括:关于位置数据第一集合中的每个位置数据来裁剪第一数字图像,使得基于位置数据第一集合来生成随机裁剪物第一集合,其中每个裁剪物是第一数字图像的不同区域。所述方法包括:经由所述机器学习系统对随机裁剪物第一集合中的每个裁剪物进行分类,以创建类别预测第一集合。所述方法包括:集体地评估类别预测第一集合,以确定类别预测第一集合当中的多数类别。所述方法包括:生成类别标签,所述类别标签将第一数字图像标识为属于所述多数类别。
[0009]
本发明的这些和其他特征、方面和优点在以下详细描述中根据附图来讨论,遍及附图,相似的字符表示类似或相似的部分。
附图说明
[0010]
图1是根据本公开的示例实施例的包括具有针对补丁攻击的防御的鲁棒分类器的系统的示图。
[0011]
图2是根据本公开的示例实施例的关于移动机器技术的图1的系统的示图。
[0012]
图3是根据本公开的示例实施例的关于制造技术的图1的系统的示图。
[0013]
图4是根据本公开的示例实施例的关于机器人技术和/或自动化个人助理技术的图1的系统的示图。
[0014]
图5是根据本公开的示例实施例的关于安全技术的图1的系统的示图。
[0015]
图6是根据本公开的示例实施例的关于成像技术的图1的系统的示图。
[0016]
图7是根据本公开的示例实施例的由不包括针对补丁攻击的防御的基础分类器执行的分类过程的参考示例的概念示图。
[0017]
图8是根据本公开的示例实施例的由图1的鲁棒分类器执行的分类过程的示例的概念示图。
[0018]
图9是根据本公开的示例实施例的用于经由图1的鲁棒分类器来执行鲁棒分类的方法的示例的流程图。
[0019]
图10是示出了根据本公开的示例实施例的经由图1的鲁棒分类器来执行鲁棒分类的示例的流程图。
[0020]
图11是示出了根据本公开的示例实施例的经由图1的鲁棒分类器在各种阶段处的非限制性示例的情况下执行鲁棒分类的示例的概念示图。
[0021]
图12是根据本公开的示例实施例的被配置成至少训练图1的鲁棒分类器的计算机系统的示图。
具体实施方式
[0022]
本文中描述的实施例已经通过示例的方式来示出和描述,并且它们的许多优点将通过前述描述而被理解,并且将明显的是,在不脱离所公开的主题或者不牺牲其一个或多个优点的情况下,可以对组件的形式、构造和布置进行各种改变。实际上,这些实施例的所描述的形式仅仅是解释性的。这些实施例易于受到各种修改和替代形式,并且以下权利要求旨在涵盖和包括这种改变,并且不限于所公开的特定形式,而是覆盖落入本公开的精神和范围内的所有修改、等同物和替代物。
[0023]
图1是系统100的示图,系统100被配置成至少包括具有针对补丁攻击的防御的鲁棒分类器200。在这点上,系统100至少包括传感器系统110、控制系统120和致动器系统170。系统100被配置成使得控制系统120基于来自传感器系统110的传感器数据来控制致动器系统170。更具体地,传感器系统110包括一个或多个传感器和/或对应的设备来生成传感器数据。例如,传感器系统110包括图像传感器、相机、雷达传感器、光检测和测距(lidar)传感器、热传感器、超声传感器、红外传感器、运动传感器、基于卫星的导航传感器(例如,全球定位系统(gps)传感器)、光学传感器、音频传感器、任何合适的传感器或其任何组合。在获得对其环境的检测时,传感器系统110可操作以经由输入/输出(i/o)系统130和/或包括通信技术的其他功能模块150与控制系统120通信。
[0024]
控制系统120被配置成直接或间接地从传感器系统110的一个或多个传感器获得传感器数据。在这点上,传感器数据可以包括来自单个传感器的传感器数据、或来自多个传感器的传感器融合数据。在接收到至少包括传感器数据的输入时,控制系统120可操作以经由处理系统140来处理传感器数据。在这点上,处理系统140包括至少一个处理器。例如,处理系统140包括电子处理器、中央处理单元(cpu)、图形处理单元(gpu)、微处理器、现场可编程门阵列(fpga)、专用集成电路(asic)、处理电路、任何合适的处理技术或其任何组合。在处理至少该传感器数据时,处理系统140可操作以基于与存储器系统160的通信来生成输出数据(例如,经由鲁棒分类器200的输出标签)。此外,处理系统140可操作以基于输出数据向
致动器系统170提供致动器控制数据。
[0025]
存储器系统160是计算机或电子存储系统,该计算机或电子存储系统被配置成存储各种数据并且提供对各种数据的访问,以至少实现本文中公开的操作和功能。存储器系统160包括单个设备或多个设备。存储器系统160包括电气、电子、磁性、光学、半导体、电磁、任何合适的存储器技术或其任何组合。例如,存储器系统160可以包括随机存取存储器(ram)、只读存储器(rom)、闪速存储器、磁盘驱动器、存储卡、光学存储设备、磁性存储设备、存储器模块、任何合适类型的存储器设备、或其任何数量和组合。在示例实施例中,关于控制系统120和/或处理系统140,存储器系统160是本地的、远程的或其组合(例如,部分本地且部分远程)。例如,存储器系统160可配置成至少包括基于云的存储系统(例如,基于云的数据库系统),该基于云的存储系统远离处理系统140和/或控制系统120的其他组件。
[0026]
存储器系统160至少包括鲁棒分类器200。鲁棒分类器200被配置成经由处理系统140来实现、执行和/或采用。在这点上,鲁棒分类器200被配置成接收或获得直接作为输入的数字图像,该数字图像在本文中有时被称为输入图像。鲁棒分类器200被配置成对数字图像进行分类,并且生成输出数据(例如,类别标签),该输出数据标识了该数字图像作为整体被认为所属的类别。
[0027]
鲁棒分类器200是有利的,这是因为鲁棒分类器200包括针对补丁攻击的防御。更具体地,鲁棒分类器200被配置成:针对对现实世界对象的小的可见改变(例如,贴纸等)进行防御,否则这些改变将扰乱对那些对象的图像的分类。附加地或替代地,鲁棒分类器200被配置成:针对对数字图像上的采用补丁形式的有界区域的像素的任意改变进行防御。
[0028]
鲁棒分类器200至少包括随机裁剪框架210和裁剪物分类器220。一般而言,随机裁剪框架210执行针对裁剪物分类器220的多个预处理步骤、以及针对裁剪物分类器220的多个后处理步骤。例如,随机裁剪框架210至少包括随机裁剪器210a(图10)和多数类别确定器210b(图10)。更具体地,随机裁剪器210a被配置成根据某些标准来生成输入图像的随机裁剪物集合。随机裁剪物集合被配置成包括适当数量的随机裁剪物(例如,输入图像的所有可能裁剪物的至少百分之一)。一般而言,与当随机裁剪物集合包括较小数量的随机裁剪物时相比,当随机裁剪物集合包括较大数量的随机裁剪物时,鲁棒分类器200往往执行得更好。而且,多数类别确定器210b被配置成从裁剪物分类器220接收针对随机裁剪物集合的类别数据集合。多数类别确定器210b被配置成在集体地评估类别数据集合时确定多数类别。多数类别确定器210b被配置成输出输入图像的最终类别标签,该最终类别标签指示输入图像属于该多数类别。
[0029] 裁剪物分类器220包括至少一个机器学习系统。例如,裁剪物分类器220至少包括人工神经网络(ann),诸如深度神经网络(dnn)。更具体地,裁剪物分类器220包括卷积神经网络(cnn)或任何合适的机器学习模型。例如,在图1中,裁剪物分类器220包括残差神经网络(resnet)、vggnet、lenet、alexnet、zf net、googlenet/inception或任何合适的机器学习模型。裁剪物分类器220被配置成接收输入图像的随机裁剪物集合,作为在个体基础上或作为批(batch)的其输入。裁剪物分类器220被训练成将该输入图像的每个裁剪物分类到一组类别当中的所选类别中,该分类基于针对该随机裁剪物的其类别预测来进行。在这点上,例如,该组包括由z表示的总数个类别,其中z是大于1的整数。裁剪物分类器220被配置成基于其类别预测来生成针对每个裁剪物的类别数据。
[0030]
此外,如图1中所示,系统100包括有助于与传感器系统110和致动器系统170有关的控制系统120的操作的其他组件。例如,如图1中所示,存储器系统160还被配置成存储其他相关数据230,其他相关数据230涉及与一个或多个组件(例如,传感器系统110、致动器系统170等)有关的系统100的操作。而且,如图1中所示,控制系统120包括i/o系统130,i/o系统130包括用于涉及系统100的一个或多个i/o设备的一个或多个接口。例如,i/o系统130提供至传感器系统110的至少一个接口、以及至致动器系统170的至少一个接口。而且,控制系统120被配置成提供其他功能模块150,诸如辅助和/或有助于系统100的运作的任何适当的硬件技术、软件技术或其任何组合。例如,其他功能模块150包括操作系统和通信技术,这使得系统100的组件能够如本文中所描述的那样彼此通信。至少利用图1的示例中讨论的配置,系统100可以适用于各种技术。
[0031]
图2是根据示例实施例的关于移动机器技术250的系统100的示图。作为非限制性示例,移动机器技术250包括至少部分自主的车辆。在图2中,移动机器技术250是包括传感器系统110的至少部分自主的车辆。传感器系统110包括光学传感器、图像传感器、视频传感器、超声传感器、位置传感器(例如,gps传感器)、雷达传感器、lidar传感器、任何合适的传感器或其任何数量和组合。可以关于该车辆来集成这些传感器中的一个或多个。附加地或替代地,传感器系统110可以包括用于确定致动器系统170的状态的信息系统。例如,信息系统可以包括天气信息系统,该天气信息系统被配置成确定车辆环境中的天气的当前或未来状态。传感器系统110被配置成向控制系统120提供传感器数据。
[0032]
控制系统120被配置成获得图像数据,该图像数据基于来自传感器系统110的传感器数据或传感器融合数据。控制系统120被配置成基于传感器数据来检测该车辆附近的对象。更具体地,控制系统120被配置成向鲁棒分类器200提供输入图像。鲁棒分类器200被配置成对输入图像中的对象进行分类。例如,作为非限制性示例,鲁棒分类器200被配置成将输入图像分类为具有属于“停止标志”类别的对象,由此补丁可能存在于或不存在于输入图像中。一般而言,鲁棒分类器200被配置成:将输入图像分类到鲁棒分类器200从一组类别(例如,行人、树、其他车辆、道路标志等)当中确定该输入图像最可能表示的最相关的类别中。控制系统120被配置成响应于将对象分类为“停止标志”而生成致动器控制数据。在这种情况下,致动器系统170被配置成在接收到致动器控制数据时至少致动制动系统以使该车辆停止。在这点上,致动器系统170被配置成包括制动系统、推进系统、引擎、传动系统、转向系统、或该车辆的致动器的任何数量和组合。致动器系统170被配置成控制该车辆,使得该车辆遵循道路规则并且至少基于由鲁棒分类器200提供的分类来避免碰撞。
[0033]
此外,作为另一个非限制性示例,移动机器技术250包括至少部分自主的机器人。例如,该机器人被配置成执行一个或多个功能。作为非限制性示例,该机器人可以被配置为部分自主的割草机或部分自主的清洁机器人。在这点上,致动器系统170被配置成控制、驱动、转向或制动,使得该机器人避免与鲁棒分类器200所标识的检测到的对象发生碰撞。
[0034]
此外,作为又一个非限制性示例,移动机器技术250包括采用园艺机器人形式的至少部分自主的机器人。在该示例中,控制系统120被配置成基于传感器数据向鲁棒分类器200提供输入图像。鲁棒分类器200被配置成对这些输入图像进行分类,以标识环境中的植物的状态和/或环境中的植物的种类。控制系统120进一步被配置成基于与植物相关联的分类(例如,植物的状态或所标识的植物种类)来生成致动器控制数据,使得致动器系统170被
配置成基于植物的分类向植物提供适当量的园艺化学品和/或处理。
[0035] 图3是根据示例实施例的关于制造技术300的系统100的示图。作为非限制性示例,制造技术300包括冲压切刀(punch cutter)、切刀、枪钻(gun drill)、或任何合适类型的制造机器。在图3中,传感器系统110包括至少一个图像传感器或光学传感器。控制系统120被配置成从传感器系统110获得图像数据。鲁棒分类器200被配置成对包括制造产品状态的输入图像进行分类。例如,控制系统120可以被配置成:经由鲁棒分类器200从制造过程中的各种状态当中对制造产品的当前状态302进行分类。在该示例中,控制系统120被配置成:响应于基于由传感器系统110捕获的性质对制造产品的当前状态302的分类而生成致动器控制数据。此外,作为非限制性示例,响应于致动器控制数据,致动器系统170被配置成致动下一个制造步骤,使得制造产品基于由鲁棒分类器200确定的制造产品的当前状态302来实现制造过程的下一个状态304。
[0036]
图4是根据示例实施例的关于机器人技术400的系统100的示图。作为非限制性示例,机器人技术400至少包括自动化个人助理或任何合适类型的自动化机器人。例如,作为一个非限制性示例,机器人技术400被配置成控制家用电器,诸如洗衣机、炉子、真空吸尘器、烤箱、微波炉、洗碗机或任何合适的装置。传感器系统110至少包括光学传感器、图像传感器、音频传感器、任何合适的传感器或其任何组合。例如,传感器系统110可以至少包括图像传感器和音频传感器。在这种情况下,传感器系统110被配置成至少检测来自用户404的手势402和音频命令。控制系统120被配置成从传感器系统110获得图像数据、视频数据和音频数据。控制系统120被配置成根据音频数据来获得命令。此外,控制系统120被配置成根据图像数据和视频数据来检测手势。例如,控制系统120被配置成将检测到的手势作为输入图像提供给鲁棒分类器200。例如,控制系统120被配置成将输入图像分类为包括属于“停止手势”类别的手势。控制系统120被配置成响应于由鲁棒分类器200提供的分类(例如,“停止手势”的类别标签)而生成致动器控制数据。此外,作为非限制性示例,响应于致动器控制数据,控制系统120被配置成:当鲁棒分类器200将输入图像标识为属于“停止手势”时控制致动器系统170停止家用电器的操作。
[0037]
图5是根据示例实施例的关于安全技术500的系统100的示图。作为非限制性示例,安全技术500至少包括监测系统、控制访问系统、监控系统、或任何合适类型的安全装置。例如,作为一个示例,图5可以涉及被配置成物理地控制门502的锁定状态和解锁状态的安全技术500。传感器系统110至少包括被配置成捕获图像数据或视频数据的图像传感器。控制系统120被配置成从传感器系统110获得图像数据或视频数据。控制系统120被配置成检测面部图像。控制系统120被配置成将面部图像作为输入图像提供给鲁棒分类器200。例如,控制系统120可以将输入图像分类为包括如下面部图像,该面部图像属于包括“人员a”类别、“人员b”类别、“人员c”等的类别当中的所选类别。控制系统120被配置成响应于由鲁棒分类器200提供的分类(“人员n”的类别标签)而生成致动器控制数据。此外,作为非限制性示例,响应于致动器控制数据,控制系统120被配置成:当鲁棒分类器200将输入图像标识为属于“人员n”时控制致动器系统170将门502解锁。
[0038]
作为另一个示例,图5可以涉及被配置成提供对门502附近区域的监控的安全技术500。传感器系统110至少包括图像传感器,该图像传感器被配置成捕获与门502附近区域的场景相关的图像数据或视频数据。控制系统120被配置成从传感器系统110获得图像数据或
视频数据。控制系统120被配置成对场景进行分类。控制系统120被配置成将场景作为输入图像提供给鲁棒分类器200。例如,控制系统120可以被配置成将场景分类为“可疑”或“不可疑”。控制系统120被配置成响应于由鲁棒分类器200提供的分类(例如,“可疑”的类别标签)而生成致动器控制数据。此外,作为非限制性示例,响应于致动器控制数据,控制系统120被配置成:当鲁棒分类器200将输入图像标识为属于“可疑”类别时控制致动器系统170在显示器504上突出强调并显示输入图像,和/或将输入图像传输到适当的权威机构(authority)。
[0039]
图6是根据示例实施例的关于成像技术600的系统100的示图。作为非限制性示例,成像技术600包括磁共振成像(mri)装置、x射线成像装置、超声装置、医学成像装置或任何合适类型的成像装置。在图6中,传感器系统110包括至少一个成像传感器。控制系统120被配置成从传感器系统110获得图像数据。控制系统120被配置成:基于根据传感器系统110生成的图像数据的至少一部分或全部来对输入图像进行分类。例如,控制系统120可以将输入图像分类为“异常”。控制系统120被配置成响应于由鲁棒分类器200提供的分类(例如,异常的类别标签)而生成致动器控制数据。此外,作为非限制性示例,响应于致动器控制数据,控制系统120被配置成控制致动器系统170至少突出强调输入图像并且在显示器602上显示所突出强调的输入图像。
[0040]
图7-8提供了不具有针对补丁攻击的防御的基础分类器700和具有针对补丁攻击的防御的鲁棒分类器200的比较性示例。当一起被观看时,图7-8突出强调了鲁棒分类器200相对于基础分类器700的优势,特别是当存在补丁攻击时。此外,图7-8还图示了补丁攻击之前的“干净版本”的数字图像10和补丁攻击之后的“损坏版本”的数字图像20。如所示出,数字图像10和数字图像20包括森林的相同基础图像,但是数字图像20进一步包括来自补丁攻击的补丁30。
[0041]
在参考示例中,基础分类器700被配置成接收数字图像20作为输入。基础分类器700整体地处理该单个数字图像20,并且将该数字图像20分类为属于“桥”类别。如图7中所示,数字图像20实际上是森林的图像,但是进一步包括补丁30,补丁30扰乱了经由基础分类器700对数字图像20的分类。在没有针对这种补丁攻击的防御的情况下,当补丁30存在时,基础分类器700在提供针对数字图像20的正确分类数据方面是不成功的。
[0042]
相比之下,鲁棒分类器200被配置成:成功地将该数字图像分类为属于“森林”类别。更具体地,鲁棒分类器200被配置成接收数字图像20作为输入。随机裁剪框架210被配置成对数字图像20进行预处理,以从数字图像20创建随机裁剪物集合。裁剪物分类器220被配置成对该集合中的每一个随机裁剪物进行分类。随机裁剪框架210被配置成获得针对每个裁剪物的类别数据,并且创建用于后处理的类别数据集合。在后处理期间,随机裁剪框架210被配置成以集体方式评估该类别数据集合,并且确定该类别数据集合当中的多数类别。在该非限制性示例中,随机裁剪框架210被配置成:在确定“森林”类别是多数类别时,输出指示数字图像20属于“森林”类别的类别标签。如该说明性示例所证明,鲁棒分类器200提供了许多保护措施(safeguard),以确保补丁攻击不会导致对具有补丁的数字图像的误分类。
[0043]
图9-11图示了根据示例实施例的用于经由鲁棒分类器200来执行鲁棒分类的方法900的示例。方法900由鲁棒分类器200经由处理系统140的至少一个处理器来执行。更具体地,图9图示了概述用于执行鲁棒分类的多个步骤的流程图。附加地或替代地,方法900可以包括比图9中所示的那些步骤更多或更少的步骤,只要这种修改提供了如本文中描述的功
能和/或目标。与此同时,图10-11是分别示出了鲁棒分类器200的各种阶段处的数据实例的一般示例和具体示例的概念流程示图。图11还提供了关于图8描述的示例的更详细视图。
[0044]
在步骤902处,方法900包括获得输入数据。例如,在图10中,输入数据是输入图像1000,输入图像1000由“x”表示,并且可能包括或可能不包括补丁攻击。处理系统140被配置成直接或间接地从传感器系统(例如,相机)、非暂时性计算机可读介质、任何合适的电子设备或其任何组合获得输入图像1000。输入图像1000具有由第一尺寸m1和第二尺寸m2定义的图像大小。第一尺寸涉及输入图像1000的高度,并且第二尺寸涉及输入图像1000的宽度。m1和m2可能是不同的值,或者是相同的值。更具体地,在图11中,输入图像1000是包括补丁30的数字图像20(具有由m1和m2定义的图像大小)。在这种情况下,补丁30恰好等于或小于最大补丁大小,该最大补丁大小由p1所表示的第一尺寸和p2所表示的第二尺寸来定义,并且该最大补丁大小确保了鲁棒分类器200考虑到补丁30而相对良好地执行。
[0045] 在步骤904处,方法900包括:对输入图像1000进行随机裁剪以生成随机裁剪物集合1010。随机裁剪物集合1010包括{x1, x2,...,xn},其中xi表示输入图像1000的裁剪物,并且“n”表示随机裁剪物的总数。处理系统140被配置成以随机方式在输入图像1000的各种位置处执行裁剪。例如,如图10-11中所示,经由随机裁剪器210a来随机选择这些不同的位置。更具体地,例如,随机裁剪器210a被配置成实现随机过程,该随机过程从输入图像1000的所有可能的图像位置(或可能的像素)当中随机选择图像位置(或特定像素),该图像位置可以用作裁剪区域的中心并且可以创建合适且可行的裁剪物以用于裁剪物分类器220。在这点上,处理系统140被配置成从所有可能的位置当中随机选择一位置,该位置对应于等式3中所指示的所有可能的裁剪物,因为每个裁剪物基于可能的裁剪位置。处理系统140执行裁剪以生成该图像的随机裁剪物集合,其中每个裁剪物具有由c1表示的第一尺寸和由c2表示的第二尺寸。c1小于m1。c2小于m2。更具体地,作为一个示例,分别计算c1和c2以满足等式1和等式2,如下面表述的那样。
[0046]
[1]
ꢀꢀꢀꢀ
[2]。
[0047]
如上所描述,处理系统140被配置成在输入图像1000的随机位置集合处生成裁剪物,其中每个裁剪物具有第一尺寸c1,第一尺寸c1至少小于m
1-p1的差的一半。此外,每个裁剪物具有第二尺寸c2,第二尺寸c2至少小于m
2-p2的差的一半。如等式1和2中所指示,确定c1使得m1至少是c1的两倍。确定c2使得m2至少是c2的两倍。一般而言,处理系统140生成随机裁剪物,其中每个裁剪物在大小方面可能显著小于通常用于数据扩充的裁剪物。此外,处理系统140生成具有适当大小的随机裁剪物,使得有足够的图像数据可用于裁剪物分类器220来执行函数f(xi)。如果裁剪物大小太小,则存在处理系统140经由裁剪物分类器220能够用于执行函数f(xi)的较少图像数据。
[0048] 处理系统140被配置成生成随机裁剪物集合1010,随机裁剪物集合1010是输入图像的所有可能裁剪物的子集。例如,在该示例中,所有可能裁剪物的总数由等式3中的n
all
表示。针对输入图像,处理系统140被配置成生成总共“n”个裁剪物,其中“n”表示使得1<n≤n
all
的整数。一般而言,裁剪物的数量越多,就会在从函数g(y)获得的结果中提供越高的置
信度水平。在一个示例中,处理系统140被配置成生成随机裁剪物集合1010,其中该集合内的裁剪物数量(“n”)包括输入图像1000的所有可能的n
all
个裁剪物的至少百分之一,以基于经验数据来提供高于阈值标准的有效结果。关于所有可能裁剪物的总数(n
all
),处理系统140被配置成计算n
adv
,n
adv
表示可能与补丁攻击重叠的随机裁剪物的总数。在一个示例实施例中,处理系统140被配置成经由等式4来计算n
adv
,等式4基于等式1和2中提供的假设。
[0049]
[3][4]。
[0050]
在步骤906处,方法900包括:将随机裁剪物集合1010中的每个裁剪物作为输入提供给机器学习系统,以生成针对每个裁剪物的相应预测。更具体地,关于图10-11,例如,处理系统140将每个裁剪物馈送到裁剪物分类器220中。裁剪物分类器220被配置成预测类别以对每个裁剪物进行分类。在该示例中,裁剪物分类器220被配置成将每个裁剪物分类到“z”个类别当中的所选类别中,其中“z”表示大于1的整数。例如,如果裁剪物分类器220预测第一裁剪物具有属于该组类别当中的第一类别的相对高或较大的可能性,则裁剪物分类器220被配置成生成包括第一类别数据的针对第一裁剪物的类别标签。替代地,如果裁剪物分类器220预测第一裁剪物具有属于该相同组的类别当中的第五类别的相对高或较大的可能性,则裁剪物分类器220被配置成向第一裁剪物提供包括第五类别数据的类别标签。此外,方法900包括:获得针对每个裁剪物的预测,并且生成对应于随机裁剪物集合1010的预测集合。更具体地,例如,方法900包括:获得针对随机裁剪物集合1010中的每个裁剪物的类别数据,并且创建类别数据集合1020。类别数据集合1020包括{y1, y2,...,yn},其中yi表示对应裁剪物xi的类别数据,并且n表示类别数据的总数和/或裁剪物的总数。
[0051]
在步骤908处,方法900包括:评估与随机裁剪物集合1010相关联的预测集合以确定多数预测。更具体地,例如,关于图10-11,处理系统140被配置成经由函数g(yi)来确定类别数据集合1020当中的多数类别。作为一个示例,经由多数类别确定器210b,处理系统140被配置成实行(enact)投票过程,其中类别数据集合1020内的每个类别预测(例如,类别数据)被给予一票(vote)。在这种情况下,多数类别指代类别数据集合1020中具有最多票数(或最高出现频率)的特定类别。例如,作为用于讨论目的的简化示例,在图11中,多数类别确定器210b确定多数类别是“森林”,这是因为在类别数据集合1020当中,存在针对森林类别的5票和针对桥类别的3票。作为另一示例,经由多数类别确定器210b,处理系统140被配置成使用logit函数或softmax函数以基于类别数据集合1020来确定多数类别。在这点上,经由logit函数或softmax函数向分类数据集合内的每个分类数据(即,类别预测)提供值。然后,这些值用于计算和确定多数类别。此外,在这些示例中的任一个中,如果多于一个类别被确定为多数类别(例如,两个类别之间的平局(tie)),则处理系统140被配置成从那些多数类别当中选择一个类别,使得存在被指派给输入图像1000的单个多数类别。
[0052]
在步骤910处,方法900包括:生成输出标签,以指示针对输入图像1000的最终预测是在步骤908处确定的多数预测。在这种情况下,最终预测涉及作为整体的输入图像1000,而不是涉及输入图像1000的仅一个裁剪物。更具体地,参考图10-11,作为示例,方法900包括:基于步骤908处的多数类别确定来生成类别标签1030,以指示输入图像1000(即,具有补
丁30的数字图像20)属于“森林”类别。例如,如至少图10-11中所示,即使裁剪物分类器220仅分类了输入图像1000的随机裁剪物集合1010,处理系统140也被配置成提供单个类别标签1030(表示为“y”),该类别标签1030即使在存在补丁攻击的情况下也会以正确的方式将输入图像1000(表示为“x”)整体地分类为属于森林类别。
[0053]
而且,在示例实施例中,处理系统140被配置成通过评估至少一个条件来评估补丁攻击的存在是否扰乱了对输入图像1000的最终预测(例如,类别标签1030)。作为示例,例如,处理系统140被配置成通过确定是否满足等式5来进行该评估。在等式5中,n1表示被分类在基于最大票数(或最大似然得分)排名第一的多数类别中的裁剪物的数量。与此同时,n2表示被分类在基于第二大票数(或第二大似然得分)排名第二的下一个多数类别中的裁剪物的数量。处理系统140被配置成确定是否满足等式5以确定对输入图像1000的最终分类是否合理地有效。
[0054]
[5]。
[0055]
图12是根据示例实施例的用于在鲁棒分类器200的情境中至少训练裁剪物分类器220的系统1200的示图。系统1200至少包括处理系统140。处理系统140至少包括电子处理器、中央处理单元(cpu)、图形处理单元(gpu)、微处理器、现场可编程门阵列(fpga)、专用集成电路(asic)、任何合适的处理技术或其任何数量和组合。处理系统140可操作以提供如本文中描述的功能。
[0056]
系统1200至少包括存储器系统1210,存储器系统1210可操作地连接到处理系统140。在示例实施例中,存储器系统1210包括至少一个非暂时性计算机可读介质,该非暂时性计算机可读介质被配置成存储各种数据并且提供对各种数据的访问,以使得至少处理系统140能够执行如本文中公开的操作和功能。在示例实施例中,存储器系统1210包括单个设备或多个设备。存储器系统1210可以包括电气、电子、磁性、光学、半导体、电磁、或可与系统100一起操作的任何合适的存储技术。例如,在示例实施例中,存储器系统1210可以包括随机存取存储器(ram)、只读存储器(rom)、闪速存储器、磁盘驱动器、存储卡、光学存储设备、磁性存储设备、存储器模块、任何合适类型的存储器设备或其任何组合。关于处理系统140和/或系统1200的其他组件,存储器系统1210是本地的、远程的或其组合(例如,部分本地且部分远程)。例如,存储器系统1210可以至少包括基于云的存储系统(例如,基于云的数据库系统),该基于云的存储系统远离处理系统140和/或系统1200的其他组件。
[0057]
存储器系统1210至少包括存储在其上的鲁棒分类器应用1220、鲁棒分类器200、训练数据1230和其他相关数据230。鲁棒分类器应用1220包括计算机可读数据,该计算机可读数据当由处理系统140执行时被配置成实现训练过程,以训练鲁棒分类器200来提供如至少图9-11中描述的功能。作为示例,例如,鲁棒分类器应用1220被配置成至少训练裁剪物分类器220以对输入图像(“x”)的裁剪物(xi)进行分类,并且基于类别预测来提供类别数据(yi)作为输出数据。计算机可读数据可以包括指令、代码、例程、各种相关数据、任何软件技术或其任何数量和组合。
[0058] 此外,鲁棒分类器200包括至少一个机器学习系统。更具体地,如图12中所示,鲁棒分类器200包括作为机器学习系统的裁剪物分类器220。例如,裁剪物分类器220至少包括
人工神经网络(ann),诸如深度神经网络(dnn)。更具体地,裁剪物分类器220包括卷积神经网络(cnn)或任何合适的机器学习模型。例如,在图1中,裁剪物分类器220包括残差神经网络(resnet)、vggnet、lenet、alexnet、zf net、googlenet/inception或任何合适的图像分类模型。
[0059]
而且,训练数据1230包括足够量的图像数据,这些图像数据可以用作裁剪物分类器220的输入图像(“x”)。训练数据1230包括不具有补丁攻击的干净图像。训练数据1230还包括具有补丁攻击的对抗式图像,使得可以在裁剪物分类器220上执行对抗式训练。此外,训练数据1230包括各种注释、各种类别标签数据、各种损失数据、各种权重数据和各种参数数据、以及使得系统1200能够训练裁剪物分类器220来执行如本文中描述的功能、同时满足某些性能标准的任何相关机器学习数据。与此同时,其他相关数据230提供了使得系统1200能够执行本文中讨论的功能的各种数据(例如,操作系统等)。
[0060]
在示例实施例中,如图12中所示,系统1200被配置成包括至少一个传感器系统110。传感器系统110包括一个或多个传感器。例如,传感器系统110包括图像传感器、相机、雷达传感器、光检测和测距(lidar)传感器、热传感器、超声传感器、红外传感器、运动传感器、音频传感器、惯性测量单元(imu)、任何合适的传感器或其任何组合。传感器系统110可操作以与系统1200的一个或多个其他组件(例如,处理系统140和存储器系统1210)通信。更具体地,例如,处理系统140被配置成直接或间接地从传感器系统110的一个或多个传感器获得传感器数据。当在训练过程期间接收到用于补充训练数据1230的任何传感器数据时,处理系统140被配置成结合鲁棒分类器应用1220和鲁棒分类器200来处理该传感器数据。
[0061]
此外,系统1200包括有助于训练鲁棒分类器200、特别是裁剪物分类器220的其他组件。例如,如图12中所示,存储器系统1210还被配置成存储其他相关数据230,该其他相关数据230涉及与一个或多个组件(例如,传感器系统110、i/o系统130和其他功能模块150)有关的系统100的操作。此外,i/o系统130包括i/o接口,并且可以包括一个或多个设备(例如,显示设备、键盘设备、扬声器设备等)。而且,系统1200包括其他功能模块150,诸如辅助或有助于系统1200的运作的任何适当的硬件技术、软件技术或其组合。例如,其他功能模块150包括使得系统1200的组件能够如本文中所描述的那样彼此通信的通信技术。至少利用图12的示例中所讨论的配置,系统1200可操作以训练裁剪物分类器220来接收裁剪物、对裁剪物进行分类、并且基于其类别预测来生成针对该裁剪物的类别标签。此外,系统1200被配置成在训练过程期间更新裁剪物分类器220的参数。系统1200还被配置成当使用logit函数或softmax函数来确定多数预测(例如,多数类别)时反向传播与函数g(yi)相关的损失数据。
[0062]
如本文中所描述,实施例提供了许多优点和益处。例如,这些实施例在提供具有被配置成针对补丁攻击进行防御的机器学习模型的鲁棒框架方面是有利的。作为另一示例,实施例包括:从输入图像获得裁剪物的随机采样,这比涉及滑动窗口以及使用与原始图像相同大小的图像块的消融技术的其他方法更快且更高效。此外,这些实施例使得对抗方难以学习如何设计成功的补丁攻击,这是因为他们将不能够预测将在任何给定实例处关于输入图像所生成的随机裁剪物集合。在这点上,对于相同的输入图像和/或不同的输入图像而言,随机裁剪物集合在不同的实例处是不同的。此外,实施例将这些随机裁剪物作为输入数据提供给裁剪物分类器220,这减少了计算的数量并且改进了对输入数据进行分类的速度,这是因为图像的裁剪物的大小显著小于图像本身的大小。而且,与对图像本身进行分类相
比,在将机器学习系统(诸如,裁剪物分类器220)训练成对裁剪物进行分类时涉及更少的工作量。作为优点,实施例包括训练过程,该训练过程拥有与用于图像分类模型的标准训练过程的许多相似性。此外,经验数据表明,一些实施例利用随机裁剪物集合1010实现了最佳性能,该随机裁剪物集合1010包括图像的所有可能裁剪物的最少1%。此外,实施例产生了鲁棒分类器200,鲁棒分类器200被有利地训练成:对输入图像的裁剪物进行分类,并且即使该输入图像包括补丁攻击也会以高置信度水平和准确度水平来提供输入图像本身的类别标签。这些鲁棒分类器200被配置成应用于涉及对输入数据进行分类的各种应用。
[0063]
也就是说,上面的描述旨在是说明性的,而不是限制性的,并且是在特定应用及其要求的情境中提供的。本领域技术人员可以从前述描述中领会的是,本发明可以以各种形式来实现,并且各种实施例可以单独或组合地实现。因此,虽然已经结合本发明的特定示例描述了本发明的实施例,但是在不脱离所描述的实施例的精神和范围的情况下,本文中定义的一般原理可以应用于其他实施例和应用,并且本发明的实施例和/或方法的真实范围不限于所示出和描述的实施例,这是因为在研究了附图、说明书和以下权利要求后,各种修改对于本领域技术人员将变得明显。例如,所说明的实施例涉及执行分类任务的机器学习系统的示例。此外,本公开被配置成扩展到执行其他任务的机器学习系统。作为非限制性示例,机器学习任务可以包括对象检测、图像分割、图像修改或任何合适的任务。附加地或替代地,组件和功能可以以与各种所描述的实施例的方式不同的方式来分离或组合,并且可以使用不同的术语来描述。这些和其他变型、修改、添加和改进可以落在如所附权利要求中限定的本公开的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1