一种攻击检测方法及装置与流程

文档序号:33270876发布日期:2023-02-24 18:08阅读:23来源:国知局
一种攻击检测方法及装置与流程
一种攻击检测方法及装置
1.本技术要求于2021年8月20日提交国家知识产权局、申请号为202110959827.5、申请名称为“攻击检测的方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及人工智能(artificial intelligence,ai)领域,尤其涉及一种攻击检测方法及装置。


背景技术:

3.深度神经网络(deep neural network,dnn)广泛应用于计算机视觉(computer vision,cv)、语音识别、自然语言处理(natural language processing,nlp)等领域。在基于dnn的应用模型的使用过程中,攻击者为窃取应用模型的参数配置或数据等,采用数字对抗攻击或物理对抗攻击的方式来对该应用模型展开攻击。在数字对抗攻击中,攻击者可控制位(bit)级的数据来攻击应用模型;在物理对抗攻击中,攻击者基于真实的物理世界中构造物理对抗样本(adversarial example)对该应用模型展开攻击。
4.以检测物理对抗攻击为例,应用模型采用模型相关的静态防御方法来检测物理对抗攻击,如该静态防御方法为模型重训练方法或防御性蒸馏。而静态防御方法依赖于对应用模型进行重构,导致应用模型处理样本的精度降低。因此,如何检测物理对抗攻击成为目前亟需解决的问题。


技术实现要素:

5.本技术提供一种攻击检测方法及装置,解决了静态防御方法对应用模型进行重构,导致应用模型处理样本的精度降低的问题。
6.为达到上述目的,本技术采用如下技术方案。
7.第一方面,本技术的实施例提供一种攻击检测方法,该方法可应用于终端设备,或者该方法可应用于可以支持终端设备实现该方法的服务器,例如该服务器包括芯片系统,方法包括:首先,攻击检测模型获取推理请求,该推理请求携带有应用模型的待处理数据集,待处理数据集包括一个或多个样本。其次,攻击检测模型检测待处理数据集中是否存在物理对抗样本。最后,若待处理数据集中存在物理对抗样本,攻击检测模型对应用模型执行防护处理。
8.本实施例采用不同于应用模型的攻击检测模型来检测推理请求中是否具有物理对抗样本,由于应用模型无需抵抗物理对抗攻击(adversarial attack),因此无需对应用模型进行模型重训练或防御性蒸馏等,避免了对应用模型进行重构导致应用模型的精度降低。
9.另外,在一些可能的情形中,攻击检测模型还可以利用检测到的物理对抗样本进行训练,以优化攻击检测模型的攻击检测能力,提供物理对抗攻击检测的准确率。
10.在一种可选的实现方式中,攻击检测模型是依据训练数据集确定的,训练数据集包括针对应用模型的多个物理对抗样本和多个标准样本。通常,专用于模型训练和生成的计算设备的处理能力比终端的处理能力更强,相较于终端来训练得到攻击检测模型,若攻击检测模型的训练过程由计算设备(如服务器)执行,攻击检测模型的训练时间会更短,训练效率更高。终端可以利用攻击检测模型来确定推理请求中是否具有物理对抗样本,进而在推理请求具有物理对抗样本的情况下,对应用模型执行防护处理,由于应用模型无需抵抗物理对抗攻击,因此服务器无需对应用模型进行模型重训练或防御性蒸馏等,避免了对应用模型进行重构导致应用模型的精度降低。
11.在另一种可选的实现方式中,攻击检测模型检测待处理数据集中是否存在物理对抗样本,包括:对于待处理数据集包括的每一个样本,攻击检测模型输出样本的安全信息;该安全信息用于指示样本包含物理对抗扰动(adversarial perturbation)的置信度。以及,若样本的置信度达到第一阈值,攻击检测模型将样本识别为针对应用模型的物理对抗样本。示例的,若待处理数据集中仅包括一个样本,当该样本被攻击检测模型识别为物理对抗样本的情况下,攻击检测模型可以将该推理请求作为针对于应用模型的攻击请求。
12.在另一种可选的实现方式中,样本的安全信息是由攻击检测模型包含的特征检测模块获取的。在本实施例中,由于攻击检测模型可以对推理请求携带的样本进行物理对抗攻击检测,替代了应用模型抵抗物理对抗攻击的过程,使得攻击检测模型替代了应用模型实现物理对抗攻击检测的功能;因此,应用模型无需为了抵抗物理对抗攻击而进行重构,避免了通常技术中应用模型的重构过程所导致的应用模型的精度降低。
13.在另一种可选的实现方式中,攻击检测模型检测待处理数据集中是否存在物理对抗样本,还包括:攻击检测模型依据待处理数据集包括的多个样本的安全信息,输出待处理数据集的检测结果。在本实施例中,若待处理数据集包括多个样本,则攻击检测模型可以依据这多个样本中每个样本包含物理对抗扰动的置信度,确定推理请求的物理对抗攻击检测的检测结果,避免了攻击检测模型在偶然的情况下,错误的判定待处理数据集存在少量物理对抗样本,进而确定推理请求为攻击请求,提高了攻击检测模型进行物理对抗攻击检测的准确率。
14.在另一种可选的实现方式中,攻击检测模型依据待处理数据集包括的多个样本的安全信息,输出待处理数据集的检测结果,包括:攻击检测模型将物理对抗样本存储在攻击检测模型包含的序列检测模块中;并在多个样本中物理对抗样本的数量大于或等于第一数量的情况下,序列检测模块确定推理请求为攻击请求。如此,在本实施例中,在推理请求具有一定数量的物理对抗样本的情况,序列检测模块才识别该推理请求为攻击请求,避免特征检测模块在错误的识别出推理请求中具有单个或少量的物理对抗样本时,错误的识别推理请求为攻击请求,提高了攻击检测模型的识别准确率。
15.可选的,在应用检测模型和攻击检测模型为串行部署的情况下,若推理请求中未携带有物理对抗样本,攻击检测模型将推理请求转发至应用模型,以便该应用模型对推理请求进行ai处理。由于应用模型接收到推理请求之前,攻击检测模型已对该推理请求进行物理对抗攻击的检测,以保证应用模型获取到的推理请求中未携带有物理对抗样本,这极大的降低了应用模型被攻击的概率,提高了应用模型的安全性。
16.在另一种可选的实现方式中,攻击检测模型对应用模型执行防护处理,包括:攻击
检测模型阻断应用模型处理推理请求。示例的,被保护的应用模型无需做任何改动,攻击检测模型将推理请求包含的输入样本是否为物理对抗样本,并将反馈结果给相应的访问控制机制,由攻击检测模型对该物理对抗攻击进行阻断。
17.在一种可能的示例中,“阻断”是指将应用模型的输出信息设置为无效,例如,攻击检测模型阻断应用模型处理推理请求,包括:攻击检测模型将应用模型输出的处理结果设置为无效结果。由于应用模型输出的处理结果被设置为无效结果,使得该应用模型针对于物理对抗样本的ai处理不存在有效输出,攻击者利用该推理请求包含的物理对抗样本无法获取到应用模型的模型参数或其他数据,提高了应用模型的安全性。
18.在另一种可能的示例中,“阻断”是指丢弃应用模型的输入信息,例如,攻击检测模型阻断应用模型处理推理请求,包括:攻击检测模型丢弃推理请求。由于攻击检测模型d31确定推理请求中包含有物理对抗样本,并将推理请求丢弃,使得应用模型无法获取到攻击者进行物理对抗攻击所采用的物理对抗样本,即应用模型没有输入,应用模型也就不会处理该物理对抗样本,进而,攻击者无法获取到应用模型的模型参数或其他数据,提高了应用模型的安全性。
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.图1为本技术提供的一种攻击检测系统的结构示意图;
45.图2为本技术提供的一种攻击检测模型的获取示意图;
46.图3为本技术提供的一种攻击检测方法的流程示意图一;
47.图4为本技术提供的一种攻击检测方法的流程示意图二;
48.图5为本技术提供的一种攻击检测方法的流程示意图三;
49.图6为本技术提供的一种攻击检测装置的结构示意图;
50.图7为本技术提供的一种物理设备的结构示意图。
具体实施方式
51.为了解决背景技术提出的问题,本技术实施例提供一种攻击检测方法,该方法包括:首先,攻击检测模型获取推理请求,该推理请求携带有应用模型的待处理数据集,待处理数据集包括一个或多个样本。其次,攻击检测模型检测待处理数据集中是否存在物理对抗样本。最后,若待处理数据集中存在物理对抗样本,攻击检测模型对应用模型执行防护处理。本实施例采用不同于应用模型的攻击检测模型来检测推理请求中是否具有物理对抗样本,由于应用模型无需抵抗物理对抗攻击,因此无需对应用模型进行模型重训练或防御性蒸馏等,避免了对应用模型进行重构导致应用模型的精度降低。
52.另外,在一些可能的情形中,攻击检测模型还可以利用检测到的物理对抗样本进行训练,以优化攻击检测模型的攻击检测能力,提供物理对抗攻击检测的准确率。
53.为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍。
54.图1为本技术提供的一种攻击检测系统的结构示意图。如图1所示,该攻击检测系统包括数据中心和多个终端(如图1所示出的终端111~终端113),数据中心可以通过网络与终端进行通信,该网络可以是因特网,或其他网络。该网络可以包括一个或多个网络设备,如网络设备可以是路由器或交换机等。
55.数据中心包括一个或多个服务器,如图1所示出的服务器120,例如支持应用服务的应用服务器,该应用服务器可以提供视频服务、图像服务、基于视频或图像的其他ai处理服务等。在一种可选的情形中,服务器120是指部署有多个服务器的服务器集群,该服务器集群可以具有机架,机架可通过有线连接为该多个服务器建立通信,如通用串行总线(universal serial bus,usb)或快捷外围组件互连(peripheral component interconnect express,pcie)高速总线等。
56.服务器120还可以从终端获取数据,并对该数据进行ai处理后,向相应的终端发送ai处理的结果。该ai处理可以是指利用ai模型对数据进行对象识别、目标检测等,还可以是指依据终端所采集的样本获取符合需求的ai模型等。
57.另外,该数据中心还可以包括其他具有ai处理功能的物理设备,如手机、平板电脑或其他设备等。
58.终端(terminal)也可以称为终端设备、用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal,mt)等。终端可以是手机(如图1所示出的终端111)、具备移动支付功能的刷脸支付设备(如图1所示出的终端112)、具有数据(如图像或视频)采集和处理功能的摄像设备(如图1所示出的终端113)等,终端还可以是平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本技术的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
59.值得注意的是,使用者可以通过终端获取服务器120所存储的ai模型等。示例的,该ai模型可以是针对数据进行目标检测、对象识别或分类等操作的模型。
60.例如,使用者1利用终端111中部署的ai模型来实现手机刷脸识别、指纹识别等功能。
61.又如,使用者2利用终端112中部署的ai模型来实现刷脸支付、物体分类(如商品分类)等功能。
62.又如,终端113中部署的ai模型可以用于实现对象检测等功能。
63.图1只是示意图,不应理解为对本技术的限定。本技术的实施例对终端和服务器的应用场景不做限定。
64.下面在图1所示出的攻击检测系统的基础上,本技术提供一种攻击检测模型的训练方法,如图2所示,图2为本技术提供的一种攻击检测模型的获取示意图,该攻击检测模型的训练方法可以由服务器120执行,也可以由终端111~终端113中任一个终端执行,在一些可能的示例中,该训练方法还可以由其他设备执行。
65.这里以攻击检测模型的训练方法由服务器120执行为例进行说明,请参见图2,攻
击检测模型的获取过程可以包括以下步骤s210~s230。
66.s210,服务器120获取训练数据集。
67.该训练数据集包括针对应用模型的多个物理对抗样本和多个标准样本。
68.标准样本是指符合应用模型的输入需求的样本,且该样本中不存在对抗攻击。在一些情形中,标准样本被称为正常样本。
69.对抗攻击(adversarial attack)是指向输入数据中添加一些无法被察觉的噪声,使得应用模型对输入数据做出错误的判断,添加的噪声称为对抗扰动(adversarial perturbation),而添加噪声后得到的样本则被称为对抗样本(adversarial example)。
70.对抗攻击包括物理对抗攻击和数字对抗攻击。数字对抗攻击是指计算机在样本中控制bit级的数据变化,从而产生具有数字对抗扰动的数字对抗样本,导致应用模型对该数字对抗样本的处理发生错误。物理对抗攻击是指在真实世界中部署深度学习的模型时,在真实世界中所产生的物理对抗扰动(如在图像中的人脸之前具有遮挡物,该遮挡物会干扰人脸的识别)构建物理对抗样本,导致应用模型对该物理对抗样本的处理发生错误。
71.物理对抗样本是指攻击者在真实世界中构造的具有物理对抗扰动的样本。例如,该物理对抗样本可以是不同场景中的样本,如该场景可以是目标检测、对象识别、物体分类或其他可能的场景,如刷脸支付、视频监控、门禁检测等。
72.值得注意的是,由于这里是对攻击检测模型进行训练,进而利用该攻击检测模型来确定物理对抗攻击,因此,在训练过程中,服务器120可以将物理对抗样本标记为正(positive)样本,将标准样本标记为负(negative)样本。
73.为了提高攻击检测模型的攻击检测能力,服务器120将物理对抗样本中的对抗扰动或攻击模式进行更进一步的标记。
74.s220,服务器120利用训练数据集对第一模型进行训练,并判断第一模型是否收敛。
75.该第一模型是基于应用模型所适用的应用场景或领域确定的。
76.在一种可能的示例中,第一模型与应用模型为同一类型的神经网络模型。例如,若应用模型为卷积神经网络(convolutional neural network,cnn)模型,则该第一模型也可以是cnn模型。又如,若应用模型为循环神经网络(recurrent neural network,rnn)模型或基于transformer的模型,则该第一模型也可以是rnn模型或基于transformer的模型。
77.在另一种可能的示例中,第一模型与应用模型为不同类型的神经网络模型。例如,若应用模型为cnn模型,则该第一模型可以是rnn模型。
78.值得注意是,上述两种示例仅为本实施例为说明第一模型与应用模型提供的可能的实现方式,在一些可能的情形中,应用模型可以具有多种类型的网络,如该应用模型为具有cnn和rnn的复合神经网络,第一模型可以具有一种或多种类型的神经网络。
79.服务器120可以基于应用模型为该第一模型设置损失函数、优化方法等训练(超)参数等,并利于上述的训练数据集对该第一模型进行训练。训练的方式包括但不限于:将已有的预训练模型作为上述的第一模型,并对该预训练模型进行微调(fine-tuning)训练。
80.若第一模型收敛,则执行s230;若训练模型不收敛,则服务器120利用训练数据集对第一模型进行多次训练,直到第一模型收敛。其中,第一模型收敛可以是指服务器120对第一模型的训练次数达到阈值(如5万次),或第一模型对物理对抗样本和标准样本的检测
准确率达到阈值(如99%),本技术对此不予限定。
81.s230,服务器120将该第一模型作为攻击检测模型。
82.值得注意的是,在本技术实施例提供的方法中,对攻击检测模型进行训练的过程可以是由服务器执行,也可以是由终端执行,本技术对此不予限定。
83.在一些可能的示例中,攻击检测模型还可以是由其他计算设备训练获得的,该其他计算设备将训练得到的攻击检测模型发送到本技术实施例所提供的服务器或终端。示例的,该其他计算设备可以包括至少一个处理器,该处理器可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理单元(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmablegate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。例如,该其他计算设备只有一个处理器时,该处理器可以实现上述s210~s230及其可能的子步骤。又如,该其他计算设备包括多个处理器时,该多个处理器可以协同实现上述s210~s230及其可能的子步骤,如该多个处理器包括第一处理器和第二处理器,第一处理器可以实现上述的s210和s220,第二处理器可以实现上述的s230。
84.通常,专用于模型训练和生成的计算设备的处理能力比终端的处理能力更强,相较于终端来训练得到攻击检测模型,若攻击检测模型的训练过程由计算设备(如上述的服务器120)执行,攻击检测模型的训练时间会更短,训练效率更高。终端可以利用攻击检测模型来确定推理请求中是否具有物理对抗样本,进而在推理请求具有物理对抗样本的情况下,对应用模型执行防护处理,由于应用模型无需抵抗物理对抗攻击,因此服务器无需对应用模型进行模型重训练或防御性蒸馏等,避免了对应用模型进行重构导致应用模型的精度降低。
85.另外,在一些可能的攻击检测过程中,该攻击检测模型还可以利用检测到的物理对抗样本进行训练,以优化攻击检测模型的攻击检测能力,提供攻击检测的准确率。
86.针对于图2所示出的训练过程,服务器还可以基于深度神经网络,训练物理对抗样本获得特征检测模块,该特征检测模块为上述的攻击检测模型的一部分;进而,服务器将该特征检测模块结合其他模块获得攻击检测模型。
87.针对于服务器获取攻击检测模型的过程,本实施例提供一种可能的具体实现方式。
88.首先,服务器利用业界公开的最新的物理对抗攻击方法,在不同的环境(室内、室外、不同光照、不同的人脸等)下生成相应的物理对抗样本(视频、照片)作为正样本,这些物理对抗样本可导致基于ai的对象识别系统出现误判。
89.其次,服务器采用人工或自动化方法在上述物理对抗样本(视频、照片)中进一步标记存在物理对抗扰动的区域。
90.另外,服务器在相同或相似的环境(室内、室外、不同光照等)下获取对应的对象的正常样本(视频、照片)作为负样本。
91.最后,服务器利用上述标记的正、负样本,选择恰当的dnn架构,设置损失函数、优化方法等训练(超)参数,利用上述步骤中标记出的样本(训练数据集),采用数据驱动的方
式,训练出对应的攻击检测模型。该攻击检测模型能够以较高的精度检测出视频、图片中存在的物理对抗扰动,从而区分出物理对抗输入(物理对抗样本)与正常输入(标准样本),并给出其判断对应的置信度或概率等。
92.下面将在上述所示出的攻击检测模型的基础上,结合附图对本实施例提供攻击检测方法的实施方式进行详细描述。
93.图3为本技术提供的一种攻击检测方法的流程示意图一,该攻击检测方法由攻击检测模型d31执行,该攻击检测模型d31用于检测针对应用模型d32的物理对抗攻击。关于攻击检测模型d31的训练过程可以参考上述图2的相关内容,此处不再赘述。
94.在一种可能的示例中,攻击检测模型d31和应用模型d32部署在同一个物理设备上。如图1所示出的终端111~终端113中的任一个终端,或服务器120,亦或是其他处理设备,
95.在另一种可能的示例中,攻击检测模型d31和应用模型d32部署在不同物理设备上。如攻击检测模型d31部署在终端111上,应用模型d32部署在与终端111通信的服务器120上。
96.值得注意的是,无论攻击检测模型d31和应用模型d32部署的物理设备的具体形态和位置,攻击检测模型d31和应用模型d32的管理可以由ai应用网关d30来实现,该ai应用网关d30是用于管理多个ai模型的物理机,也可以是虚拟机(virtual machine,vm)或者容器(container)等,vm或容器是指用于实现ai应用网关d30的功能的软件进程。当ai应用网关d30是vm或容器时,该ai应用网关d30可以部署在上述的终端或服务器中,本技术对此不予限定。
97.这里以上述的ai应用网关d30、攻击检测模型d31和应用模型d32部署在一个物理设备为例进行说明,如图3所示,本实施例提供的攻击检测方法包括以下步骤。
98.s310,攻击检测模型d31获取推理请求。
99.值得注意的是,该推理请求可以是攻击检测模型d31所部署的终端生成的,也可以是由与该终端所通信的其他设备发送的。
100.该推理请求携带有应用模型d32的待处理数据集,该待处理数据集包括一个或多个样本。
101.上述的样本是指应用模型d32所需处理的数据,如图片、视频、音频或文字等。
102.例如,当应用模型d32是目标检测模型时,该样本可以是需要检测图片或视频。
103.又如,当应用模型d32是对象识别模型时,该样本可以是需要识别的图片或视频。
104.又如,当应用模型d32是数据分析模型时,该样本可以是需要分析的音频或文字等。
105.上述示例仅为本实施例为说明推理请求给出的示例,不应理解为对本技术的限定。
106.在一种可能的情形中,推理请求中还携带有指示所需进行ai处理的类型,如上述的对象识别或目标检测等。
107.另外,如图3所示,攻击检测模型d31获取该推理请求可以是由ai应用网关d30转发的。
108.在第一种可能的示例中,攻击检测模型d31和应用模型d32是并行部署的,则该ai
应用网关d30还将该推理请求转发至应用模型d32。
109.在第二种可能的示例中,攻击检测模型d31和应用模型d32是串行部署的,则在攻击检测模型d31在检测推理请求中不携带有物理对抗样本后,再将该推理请求转发至应用模型d32。
110.在上述攻击检测模型d31和应用模型d32是串行部署的情况下,由于应用模型d32接收到推理请求之前,攻击检测模型d31已对该推理请求进行物理对抗攻击的检测,以保证应用模型d32获取到的推理请求中未携带有物理对抗样本,这极大的降低了应用模型d32被攻击的概率,提高了应用模型d32的安全性。
111.s320,攻击检测模型d31检测待处理数据集中是否存在物理对抗样本。
112.关于物理对抗样本的内容可以参考上述s210的相关阐述,此处不再赘述。
113.在一种可选的实现方式中,上述的s320包括以下内容:对于待处理数据集包括的每一个样本,攻击检测模型d31输出样本的安全信息,该安全信息用于指示该样本包含物理对抗扰动的置信度;若样本的置信度达到第一阈值,攻击检测模型d31将样本识别为针对应用模型d32的物理对抗样本。
114.置信度达到第一阈值是指置信度大于或等于第一阈值,该第一阈值可以根据不同的应用场景进行设定。例如,在刷脸支付的场景中,该第一阈值为40%;又如,在门禁检测的场景中,该第一阈值为60%。
115.若待处理数据集包括样本1~样本4,针对于上述的安全信息指示的置信度,下表1提供了一种可能的情形。
116.表1
[0117] 置信度(%)样本112样本213样本365样本45
[0118]
其中,样本1中包含物理对抗扰动的置信度为12%,样本2中包含物理对抗扰动的置信度为13%,样本3中包含物理对抗扰动的置信度为65%,样本4中包含物理对抗扰动的置信度为5%。
[0119]
假设上述的第一阈值为50%,则上述的样本1~样本4中仅有样本3达到了第一阈值,则攻击检测模型d31将该样本3作为物理对抗样本。
[0120]
另外,图1仅为本实施例提供的一种示例,待处理数据集中也可以仅包括一个样本,如表1所示出的样本3,当样本3被攻击检测模型d31识别为物理对抗样本的情况下,攻击检测模型d31可以将该推理请求作为针对于应用模型d32的攻击请求。
[0121]
在本实施例中,由于攻击检测模型可以对推理请求携带的样本进行物理对抗攻击检测,替代了应用模型抵抗物理对抗攻击的过程,使得攻击检测模型替代了应用模型实现物理对抗攻击检测的功能;因此,应用模型无需为了抵抗物理对抗攻击而进行重构,避免了通常技术中应用模型的重构过程所导致的应用模型的精度降低。
[0122]
可选的,若待处理数据集中包括多个样本,则上述的s320还可以包括:攻击检测模型d31依据待处理数据集包括的多个样本的安全信息,输出待处理数据集的检测结果。
[0123]
示例的,若待处理数据集包括的多个样本中具有第一数量个(如10个)物理对抗样本,则攻击检测模型d31确定该待处理数据集是攻击者所提供的,并将该推理请求作为攻击请求。
[0124]
在本实施例中,若待处理数据集包括多个样本,则攻击检测模型可以依据这多个样本中每个样本包含物理对抗扰动的置信度,确定推理请求的物理对抗攻击检测的检测结果,避免了攻击检测模型在偶然的情况下,错误的判定待处理数据集存在少量物理对抗样本,进而确定推理请求为攻击请求,提高了攻击检测模型进行物理对抗攻击检测的准确率。
[0125]
为了完成对推理请求携带的样本的检测,在图3的基础上,本实施例提供一种可选的实现方式,如图4所示,图4为本技术提供的一种攻击检测方法的流程示意图二,该攻击检测模型d31包括特征检测模块d311和序列检测模块d312。
[0126]
该特征检测模块d311用于对样本包括的特征进行识别和检测。在一些可能的示例中该特征检测模块d311还可以对样本所包括的物理对抗扰动的攻击模式进行识别和标记。
[0127]
该序列检测模块d312用于缓存一个或多个物理对抗样本。
[0128]
关于特征检测模块d311和序列检测模块d312更多的功能请参见一下关于图4的相关内容。
[0129]
如图4所示,上述的s320可以包括以下步骤s321~s323。
[0130]
s321,对于待处理数据集包括的每一个样本,特征检测模块d311输出样本的安全信息。
[0131]
若样本的置信度达到第一阈值,特征检测模块d311将该样本识别为针对应用模型d32的物理对抗样本。
[0132]
s322,特征检测模块d311将物理对抗样本存储在攻击检测模型d31包含的序列检测模块d312中。
[0133]
序列检测模块包括根据某个/组用户前后相继的推理请求对应的检测结果构成的向量序列。如图4所示,序列检测模块d312中可以存储有多个序列(序列1和序列2),每个序列可以是不同用户产生的。
[0134]
示例的,若应用模型d32为视频监控场景中用于检测人脸的ai模型,一个推理请求可以包括一段视频,该视频中每一帧图像为推理请求中的一个样本,则每个样本可以指示相同或不同用户的人脸。则在攻击者进行物理对抗攻击的过程中,攻击者可以将不同的用户产生的多个物理对抗样本设置在一个推理请求中。如图4所示,序列检测模块d312存储的序列1为用户1产生的多个物理对抗样本(样本1和样本3),序列检测模块d312存储的序列2为用户2产生的多个物理对抗样本(样本2)。
[0135]
序列检测模块d312可采用统计分析或阈值判断等方法,对上述检测结果序列进行分析,判断该序列/该用户的输入中是否包含物理对抗扰动,或正在执行物理对抗攻击。请继续参见图4,上述的s320还可以包括以下步骤s323。
[0136]
s323,若多个样本中物理对抗样本的数量大于或等于第一数量,序列检测模块d312确定推理请求为攻击请求。
[0137]
在本实施例中,在推理请求具有一定数量的物理对抗样本的情况,序列检测模块才识别该推理请求为攻击请求,避免特征检测模块在错误的识别出推理请求中具有单个或少量的物理对抗样本时,错误的识别推理请求为攻击请求,提高了攻击检测模型的识别准
确率。
[0138]
可选的,在应用检测模型d32和攻击检测模型d31为串行部署的情况下,若推理请求中未携带有物理对抗样本,攻击检测模型d31将推理请求转发至应用模型d32,以便该应用模型d32对推理请求进行ai处理。
[0139]
由于应用模型接收到推理请求之前,攻击检测模型已对该推理请求进行物理对抗攻击的检测,以保证应用模型获取到的推理请求中未携带有物理对抗样本,这极大的降低了应用模型被攻击的概率,提高了应用模型的安全性。
[0140]
请继续参见图3,本实施例提供的攻击检测方法还包括以下步骤s330。
[0141]
s330,若待处理数据集中存在物理对抗样本,攻击检测模型d31对应用模型d32执行防护处理。
[0142]
攻击检测模型d31对应用模型d32执行防护处理包括多种可能的实现方式,本实施例给出了以下两种可能的情形。
[0143]
第一种情形,攻击检测模型d31阻断应用模型d32处理推理请求。
[0144]
在本实施例中,被保护的应用模型无需做任何改动,攻击检测模型将推理请求包含的输入样本是否为物理对抗样本,并将反馈结果给相应的访问控制机制,由ai应用网关对物理对抗攻击进行阻断。
[0145]
在攻击检测模型d31和应用模型d32为并行部署的情况下,攻击检测模型d31将应用模型d32输出的处理结果设置为无效结果。由于应用模型d32输出的处理结果被设置为无效结果,使得该应用模型d32针对于物理对抗样本的ai处理不存在有效输出,攻击者利用该推理请求包含的物理对抗样本无法获取到应用模型d32的模型参数或其他数据,提高了应用模型d32的安全性。
[0146]
在攻击检测模型d31和应用模型d32为串行部署的情况下,攻击检测模型d31丢弃上述的推理请求。由于攻击检测模型d31确定推理请求中包含有物理对抗样本,并将推理请求丢弃,使得应用模型d32无法获取到攻击者进行物理对抗攻击所采用的物理对抗样本,即应用模型d32没有输入,应用模型d32也就不会处理该物理对抗样本,进而,攻击者无法获取到应用模型d32的模型参数或其他数据,提高了应用模型d32的安全性。
[0147]
也就是说,在本实施例中,由于被保护的应用模型无需做任何改动,也可以受到攻击检测模型针对于物理对抗攻击的防御,因此,使得应用模型的精度不会由于重构而降低,提高了应用模型的准确性。
[0148]
第二种情形,攻击检测模型d31记录告警日志,该告警日志用于指示该推理请求包括物理对抗样本。
[0149]
如图3所示,若多个ai模型均由ai应用网关d30进行管理,则攻击检测模型d31还可以向ai应用网关d30发送该告警日志,以便ai应用网关d30记录,该告警日志可以用于被保护的应用模型的后续保护。例如,若在一定时长内,ai应用网关d30记录有同一客户端发送的多个推理请求,且该多个推理请求均包含有物理对抗样本,则ai应用网关d30可以将该客户端标识为攻击者,并阻断该客户端后续发送的其他请求,达到保护应用模型d32的目的。
[0150]
由于应用模型d32的特殊性,在一定时长内,若推理请求中仅具有少量的物理对抗样本,不会对应用模型d32造成影响,即一个推理请求中的少量物理对抗样本一般不会被判定为应用模型d32的物理对抗攻击,仅在应用模型32持续受到多个推理请求中物理对抗样
本进行攻击的情况下,才会对应用模型d32的安全性造成影响。
[0151]
应用模型32持续受到多个推理请求中物理对抗样本进行攻击的情况可以包括,但不限于:模型萃取(model extraction)、成员推理(membership inference)和模型逆向(model inversion)等。
[0152]
其中,模型萃取是指服务器将应用模型的模型参数设置在云中,并由云提供给用户的情况下,攻击者用不同的样本去轮询该应用模型的模型参数的行为。
[0153]
成员推理是指攻击者利用样本(包括物理对抗样本和标准样本)反复轮询应用模型,判断某个样本或某组是否在应用模型的训练样本集中的行为。
[0154]
模型逆向是指攻击者利用样本(包括物理对抗样本和标准样本)反复轮询应用模型,并根据轮询的结果构造应用模型的等价模型,或反向构造出应用模型的训练样本集的行为。
[0155]
在本实施例中,攻击检测模型将具有物理对抗样本的推理请求进行记录,使得攻击检测模型实现了对物理对抗攻击的安全态势感知,该安全态势是指应用模型在一定时长内的安全情况,如在本技术中,该安全情况是指应用模型是否受到攻击者的物理对抗攻击。如此,攻击检测模型对上述模型萃取、成员推理和模型逆向等行为进行了规避,避免了应用模型的模型参数和训练样本集的泄露,这提高了应用模型的安全性。
[0156]
在一些可能的情形中,ai应用网关可以将一个推理请求中具有少量的物理对抗样本的事件识别为攻击者的试探攻击,或者ai应用网关可以将多个推理请求中均具有大量物理对抗样本的事件识别为攻击者的物理对抗攻击流。当ai应用网关和攻击检测模型识别上述的试探攻击或者物理对抗攻击流之后,可以将发送推理请求的客户端标记为攻击者,并拒绝接收该客户端的其他请求,以保护上述的应用模型,提高应用模型的安全性。
[0157]
如此,本实施例采用不同于应用模型的攻击检测模型来检测推理请求中是否具有物理对抗样本,由于应用模型无需抵抗物理对抗攻击,因此无需对应用模型进行模型重训练或防御性蒸馏等,避免了对应用模型进行重构导致应用模型的精度降低。另外,在一些可能的情形中,攻击检测模型还可以利用检测到的物理对抗样本进行训练,以优化攻击检测模型的攻击检测能力,提供物理对抗攻击检测的准确率。
[0158]
另外,由于应用模型的模型厂商无需考虑应用模型面临的物理对抗攻击威胁,只需要选择将其应用模型部署到提供了攻击检测模型的算力平台,即可获得应用模型对物理对抗攻击的感知(检测)与防御能力。
[0159]
针对于上述实施例提供的攻击检测方法,在ai应用网关d30、攻击检测模型d31和应用模型d32的基础上,本技术还提供一种可能的具体实现方式,如图5所示,图5为本技术提供的一种攻击检测方法的流程示意图三,该攻击检测模型d31和应用模型d32为并行部署,且应用模型d32还与数据库d33连接。
[0160]
数据库33存储有多个比对特征,该比对特征用于支持实现应用模型d32的ai处理功能。该ai处理的过程可以是,但不限于:对象识别、目标检测、物体分类等。
[0161]
这里以ai处理为生物特征识别为例进行说明,生物特征可以是但不限于人脸、指纹、身材、眼部虹膜等信息,如图5所示,本实施例提供的攻击检测方法包括以下步骤。
[0162]
s510,ai应用网关d30获取推理请求。
[0163]
s521,ai应用网关d30向攻击检测模型d31发送推理请求。
[0164]
s522,ai应用网关d30向应用模型d32发送推理请求。
[0165]
当ai应用网关接收到来自客户(终端或客户端)的推理请求(生物特征输入信息,如视频、照片),在ai应用网关将该推理请求发送给应用模型的同时,还将该推理请求或从该推理请求中采样(如从视频中每一秒截取一帧图像,从而控制攻击检测所需的算力)转发给攻击检测模型。
[0166]
关于s510~s522的具体实现可以参考上述s310的内容,此处不再赘述。
[0167]
s523,应用模型d32对推理请求进行ai处理。
[0168]
如图5所示,应用模型d32可以利用数据库d33存储的多个比对特征(特征1~特征3)处理推理请求中所携带的四个样本,确定推理请求中包含2个具有特征1的样本,以及1个具有特征2的样本。
[0169]
在应用模型d32对推理请求进行ai处理的过程中,攻击检测模型d31还可以执行物理对抗攻击检测的过程,如以下s530所示。
[0170]
s530,攻击检测模型d31对推理请求包含的多个样本进行物理对抗攻击检测。
[0171]
例如,攻击检测模型d31利用其预先训练的特征检测模块d311对ai应用网关d30转发的照片(或照片序列)进行推理分析,判别其中是否含有物理对抗扰动,并给出判断的置信度或概率。关于s530的具体实现和有益效果可以参考上述s320的内容,此处不再赘述。
[0172]
当特征检测模型以较高的置信度判断推理请求中包含物理对抗扰动/攻击时,攻击检测模型d31可以生成并输出告警信息,如图5所示出的s541。
[0173]
s541,攻击检测模型d31向ai应用网关d30发送告警信息。
[0174]
该告警信息指示推理请求中包含物理对抗扰动/攻击。在一些情况中,该告警信息是以日志(log)的形式记录的。
[0175]
s542,ai应用网关d30依据告警信息对应用模型d32执行防护处理。
[0176]
关于s542的具体实现可以参考上述s330的内容,此处不再赘述。
[0177]
例如,当ai应用网关d30对应用模型d32执行防护处理时,ai应用网关d30和攻击检测模型d31可以拦截应用模型d32的生物特征识别结果,避免攻击者利用物理对抗样本绕过基于生物特征识别的认证,提高了应用模型d32的安全性。
[0178]
本实施例可以提供一种“模型无关”的物理对抗攻击检测机制,在生物特征识别场景中检测推理请求中是否存在物理对抗样本,以及提供应用模型运行时的安全态势感知,还可以实现对物理对抗攻击的告警。
[0179]
示例的,首先,服务器生成针对生物特征识别的各种物理对抗样本(并标记),基于dnn模型采用数据驱动的方法训练出对应的攻击检测模型。其次,服务器可以将集成了攻击检测模型的攻击检测引擎以独立于(受保护的ai)模型的方式部署到相应的ai应用环境中,攻击检测引擎和应用模型可以同步接收应用的推理请求(输入样本)。最后,在应用模型的ai处理过程中,攻击检测模型可以同步判断推理请求是否包含物理对抗样本(扰动),实现对针对生物特征识别的物理对抗攻击的检测。
[0180]
可以理解的是,为了实现上述实施例中功能,服务器和终端设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术中所公开的实施例描述的各示例的单元及方法步骤,本技术能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于
技术方案的特定应用场景和设计约束条件。
[0181]
图6和图7为本技术的实施例提供的可能的攻击检测装置和物理设备的结构示意图。攻击检测装置和物理设备可以用于实现上述方法实施例中服务器120和任一终端的功能,因此也能实现上述方法实施例所具备的有益效果。在本技术的实施例中,该攻击检测装置600可以是如图1所示的服务器120,还可以是应用于服务器120的模块(如芯片),也可以是图1所示出的任一个终端。
[0182]
如图6所示,攻击检测装置600包括通信单元610、检测单元620、防护单元630、告警单元640、存储单元650和训练单元660。攻击检测装置600用于实现上述图2~图5中所示的方法实施例的功能。
[0183]
当攻击检测装置600用于实现图2所示的方法实施例时:通信单元610用于执行s210,训练单元660用于执行s220和s230。
[0184]
当攻击检测装置600用于实现图3所示的方法实施例时:通信单元610用于执行s310,检测单元620用于执行s320,防护单元630用于执行s330。
[0185]
当攻击检测装置600用于实现图4所示的方法实施例时:通信单元610用于执行s310,检测单元620用于执行s321~s323,防护单元630用于执行s330。
[0186]
当攻击检测装置600用于实现图5所示的方法实施例时:通信单元610用于执行s510,s521和s522;检测单元620用于执行s530,告警单元640用于执行s541和s542。
[0187]
另外,存储单元650可以用于存储上述的推理请求,以及攻击检测模型d31识别出的物理对抗样本等。
[0188]
有关上述通信单元610、检测单元620、防护单元630、告警单元640、存储单元650和训练单元660,更详细的描述及有益效果可以直接参考图2~图5所示的方法实施例中相关描述直接得到,这里不加赘述。
[0189]
如图7所示,图7为本技术提供的一种物理设备的结构示意图,物理设备700包括处理器710和接口电路720。该物理设备700可以是指上述的服务器、终端或其他计算设备等。
[0190]
处理器710和接口电路720之间相互耦合。可以理解的是,接口电路720可以为收发器或输入输出接口。可选的,物理设备700还可以包括存储器730,用于存储处理器710执行的指令或存储处理器710运行指令所需要的输入数据或存储处理器710运行指令后产生的数据。
[0191]
当物理设备700用于实现图2~图5所示的方法时,处理器710和接口电路720用于执行上述通信单元610、检测单元620、防护单元630、告警单元640、存储单元650和训练单元660的功能。处理器710、接口电路720和存储器730还可以协同实现攻击检测方法中的各个操作步骤。物理设备700还可以执行图6所示出的攻击检测装置600的功能,此处不予赘述。
[0192]
本技术实施例中不限定上述接口电路720、处理器710以及存储器730之间的具体连接介质。本技术实施例在图7中以接口电路720、处理器710以及存储器730之间通过总线740连接,总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0193]
存储器730可用于存储软件程序及模块,如本技术实施例所提供的攻击检测方法对应的程序指令/模块,处理器710通过执行存储在存储器730内的软件程序及模块,从而执
行各种功能应用以及数据处理。该接口电路720可用于与其他设备进行信令或数据的通信。在本技术中该物理设备700可以具有多个接口电路720。
[0194]
可以理解的是,本技术的实施例中的处理器可以是cpu、神经处理器(neural processing unit,npu)或图形处理器(graphic processing unit,gpu),还可以是其它通用处理器、dsp、asic、fpga或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
[0195]
本技术的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
[0196]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。
[0197]
在本技术的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
[0198]
本技术说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0199]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。在本技术的文字描述中,
字符“/”,一般表示前后关联对象是一种“或”的关系;在本技术的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“a、b和c中的至少一个”包括a,b,c,ab,ac,bc,或abc。
[0200]
可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1