网站首页 > 技术文章 正文
引用
Shasha Li, Ajaya Neupane, Sujoy Paul, Chengyu Song,
Srikanth V . Krishnamurthy, Amit K. Roy Chowdhury and Ananthram Swami?.e.g. Stealthy
Adversarial Perturbations Against Real-Time Video Classification Systems[J].2019
摘要
最近的研究已经证明了机器学习系统在对抗性扰动下的脆弱性。然而,这些研究大多局限于图像的扰动,更一般地说,是不处理实时流输入的分类任务。在本文中,我们问“是否可能存在导致实时视频分类系统误分类的对抗性干扰,如果可能,它们必须满足哪些特性?”实时视频分类系统在监控应用、智能车辆和智能老年护理中得到应用,因此,错误分类可能特别有害(例如,可能会错过养老机构的一次事故)。视频分类系统将视频剪辑作为输入,这些剪辑边界是不确定的。我们表明,不考虑“输入到视频分类器的剪辑边界的不确定性”的扰动不会获得高的攻击成功率。我们提出了一种新的生成 3D 对抗性扰动(扰动剪辑)的方法,该方法利用了生成模型的最新进展,不仅克服了这一关键挑战,还提供了隐蔽性。特别是,我们最强大的 3D 对抗性干扰会导致视频流中的目标活动被错误分类,错误率超过 80%。同时,它们还确保扰动使其他(无目标的)活动基本上不受影响,使它们非常隐蔽。最后,我们还推导了一个单帧(2D)扰动,该扰动可应用于视频流中的每一帧,并且在许多情况下,实现了极高的误分类率。
1 引言
基于深度神经网络(DNN)的实时视频分类系统越来越多地应用于现实场景中。应用实例包括视频监控、自动驾驶汽车、医疗保健等。更详细地说,能够自动检测“目标”人类活动或行为(如事故、暴力)的视频监控系统可以触发警报(在检测时)并大大减少人工操作员的信息工作量。如果没有基于 DNN 的分类器的帮助,人工操作人员将需要同时监控大量视频传感器的画面。这可能是一项困难且令人筋疲力尽的任务,并且伴随着丢失兴趣行为和减慢决策周期的风险。在自动驾驶汽车中,视频分类已被用于了解行人行为并做出导航决策。在陆军下一代作战车辆(NGCV)中也可以设想类似的应用。还部署了实时视频分类系统,用于老年护理设施中的自动“坠落检测”,以及自动取款机周围异常动作的检测。所有这些应用直接关系到人身安全或财产安全。因此,对此类实时视频分类系统的秘密攻击可能会造成未被注意到的金钱损失,并危及人身安全。注意,虽然可以通过检查视频中的单个帧来检测或区分对象(类似于图像上的对象检测),但许多活动只能通过整体考虑帧序列(即,由多个帧组成的剪辑)来识别或区分。
和之前的工作相比,攻击实时视频分类器带来了新的挑战,这些挑战以前并没有被识别或解决。首先,由于视频流是实时采集的,因此还需要以相同的帧速率动态生成相应的扰动,这可能会极大地增加计算量。其次,为了使攻击具有隐蔽性,攻击者希望在视频上添加干扰,使其仅对目标(可能是恶意)活动造成错误分类,同时不影响其他活动的分类。第三,实时视频分类器使用视频片段(一组帧)作为输入,(即,在捕获视频时,将其分解为片段,并将每个片段反馈给分类器)。
在本文中,我们的第一个目标是研究如何克服上述挑战,对实时视频分类系统产生对抗性干扰。我们通过使用通用扰动(UP)解决了实时挑战。UP 是通用的,因为 UP 并不特定于一个输入示例,而是适用于与训练数据分布相同的任何输入示例。通用扰动通过使用离线生成的一组(单个)扰动来影响分类结果。因为它们处理看不见的输入,所以不需要进行密集的在线计算来为每个传入的视频剪辑生成扰动。为了产生这种普遍的扰动,我们利用生成性 DNN 模型。
但是,向视频的所有剪辑添加通用扰动可能会导致视频流中所有活动的错误分类。这可能会暴露攻击,因为结果可能不正常。它甚至可能导致来自其他类的活动被错误分类为目标类。为了使攻击隐蔽,我们引入了双重通用扰动的新概念,我们将其定义为只会导致属于目标类的活动分类错误的通用扰动,同时最小化或理想情况下,不会影响属于其他类的活动的分类结果。
最后,为了更好地理解时间维度的影响,我们还研究了使用简单而轻的 2D 扰动(帧级而非剪辑级)攻击分类系统的可行性,该扰动应用于视频的所有帧。通过调整生成模型,我们能够生成这样的扰动,我们称之为 2D 两用通用扰动(2D-DUP)。
2研究难点
2.1为实时视频流生成扰动
当攻击图像分类系统时,攻击者通常采取以下方法。首先,他们获得目标图像,该图像是将被攻击的真实标签。接下来,他们提出了一个优化问题,其中他们试图计算要添加的“最小”噪声(朝向不可感知性),以便导致目标的错误分类。该公式考虑了分类器的功能、输入图像及其真实标签。反向传播通常用于解决这个优化问题。
在实时视频分类的背景下,攻击者事先无法获得视频。因此,当目标类出现时,他们将需要创建能够有效干扰传入视频流的干扰。基于传入视频流生成在线扰动的相关成本为 O(f×b×n),其中,f 为帧速率,b 为 DNN 上一次反向传播的成本,n 为解决优化问题所需的反向传播次数。
我们的方法是离线计算扰动并在线应用,因此,在线计算成本为 O(1)。由于我们无法预测视频中捕捉到的内容,因此我们需要干扰,干扰会对看不见的输入产生影响。满足这一要求的一种扰动称为通用扰动(UP)。特别是,Mopuri 等人开发了一个生成模型,该模型使用类 GAN 结构学习图像的普遍扰动空间。受这项工作的启发,我们开发了一个类似的体系结构,但进行了修改以适应我们的目标。我们的目标是产生对抗性干扰,愚弄鉴别器,而不是探索不同 UP 的空间。此外,我们还改进了体系结构以处理视频输入。我们的架构如图 1 所示。它由三个主要部件组成:1)生成通用扰动的 3D 生成器;2) 后处理器,目前不做任何事情,但需要解决后续章节中描述的其他挑战;和 3)用于视频分类的预训练鉴别器,即,§II-B 中描述的 C3D 模型。
图 1
我们模型中的 3D 生成器配置为使用 3D 反褶积层并提供 3D 输出,然后将该扰动片段输入 C3D 模型,该模型输出得分向量 Q(x+p)(对于扰动片段)。分类应确保最高分数对应于良性设置中的真实等级(输入 x 的 c(x))。因此,攻击者试图生成一个 ,使得 C3D 分类器向 Q 向量(表示为 Qc(x))中的第 c(x)个元素输出 x+p 的低分数。换句话说,这意味着在应用扰动后,将 x 映射到类别 c(x)的概率低于将其映射到不同类别(即,输入活动未正确识别)的概率。
我们试图使这个微扰剪辑 p 成为“普遍微扰”,即将 p 添加到属于目标类的任何输入剪辑将导致错误分类。这意味着,我们寻求最小化所有训练数据的交叉熵损失之和,如等式 1 所示。且交叉熵损失越低,预测概率与真实标签的偏差就越大
生成器被训练时,对于每个训练样本,它从鉴别器获得反馈,并调整其参数以使鉴别器对该样本进行错误分类。
2.2使扰动隐蔽
盲目添加通用扰动将影响属于其他非目标类的剪辑的分类。这可能会引起警报,特别是如果这些错误分类中的许多被映射到罕见的操作上。因此,在导致目标类被错误分类的同时,对其他类的影响必须是不可察觉的。在处理图像识别系统时,这个问题很容易解决,因为图像是自包含的实体,即扰动只能选择性地添加到目标图像。然而,视频输入在时间上改变,并且在一组复合帧中捕获的动作可能不同于后续帧中的动作。因此,很难先验地识别(选择)与目标类相关的帧,并专门为其添加扰动。例如,考虑一个在杂货店进行监控的案例。如果攻击者试图对与商店盗窃相关的行为进行错误分类,并导致该行为未被发现,则他们不太可能准确知道该行为发生的确切时间,也不可能被视频活动识别系统捕获。在这种情况下,盲目地添加普遍扰动可能会导致对其他行为的错误分类。
由于很难预先确定捕获预期动作的帧并选择它们进行干扰,攻击者需要在每个帧中添加干扰。然而,为了使这些扰动变得隐蔽,他们需要确保添加的扰动只会错误地对目标类进行分类,同时使其他(非目标)类正确分类。我们把这种独特的普遍扰动称为“双重普遍扰动”,简称 DUP。为了实现 DUP,我们必须保证,对于输入片段 xt,如果它属于目标类(将来自目标类的输入集表示为 T),则 C3D 分类器返回关于正确类 c(xt)的低分数,即 Qc(xt)。对于属于其他(非目标)类的所有输入剪辑 XS(将非目标类的输入集表示为 S,因此 S=X?T) ,则该模型返回有关其正确映射(Qc(xs))的高分。为了使生成器输出 DUP,我们细化了方程式 1 中的优化问题,如方程式 2 所示:
等式中的第一项再次涉及最小化目标类的交叉熵,而第二项最大化与其他每个类相关的交叉熵。参数 λ 是应用于目标类错误分类的权重。对于隐蔽更为重要的攻击,我们可以使用较小的 λ,以确保减少对目标类别错误分类概率的强调,而对非目标类别的分类影响最小。
2.3不确定剪辑边界的影响
视频分类器的输入是由一系列帧组成的剪辑。给定任何输入剪辑,前面描述的攻击方法(UP 和 DUP)可以生成可添加到该输入剪辑的扰动剪辑。如§II-A 所述,输入剪辑由滑动窗口控制,而滑动窗口又由三个超参数定义:窗口大小 l、滑动步幅 o 和起始位置 fstart。由于 fstart 是不确定的,因此实时视频分类系统中分类器输入的剪辑边界也是不确定的。因此,即使对于白盒攻击者,他们也无法先验地知道视频分类器使用的剪辑边界(属于输入剪辑的视频流中的连续帧)。
剪辑边界的不确定性很可能导致攻击者生成的扰动剪辑与分类器使用的输入剪辑之间的不对齐。图 2 描述了两种情况,其中即使在攻击者友好的白盒场景中也会发生未对准。第一行显示由附件 1 生成的三个扰动剪辑 P1、P2 和 P3。第二行显示分类器使用的三个输入剪辑 X1、X2 和 X3。两个序列中的剪辑未对齐,因为滑动窗口的起点与扰动剪辑的起点不同。因此,应用于输入片段 x1 的扰动实际上是 p1 的后部分和 P2 的第一部分的串联(扰动 p01)。
在第二种情况下,如图 2b 所示,扰动剪辑 p2 和输入剪辑 x2 未对齐,因为滑动窗口的步幅小于窗口大小。
图 2
为了应对边界效应,我们对生成性 DNN 模型进行了新的扩展,以显著修改§V 中提出的 DUP,从而构成我们所称的“循环双重普遍扰动(C-DUP)”
让我们假设滑动窗口的大小为 16。然后,DUP 片段 P 包括 16 帧(扰动的),由p1,p2,…,p16表示。由于 P 是一个普遍扰动片段,我们通过在视频流中的每个连续片段(包含 16 帧)上重复添加扰动来发起攻击。我们可以想象我们正在生成一个扰动流,它可以表示为p1,p2,…,p15,p16,p1,p2,…。现在,我们的目标是保证扰动流在不考虑分类器选择的剪辑边界的情况下工作。为此,我们需要确保部分扰动片段(第一个片段的最后一部分和第二个片段的第一部分)的任何顺序串联都会导致有效的扰动。很容易看出,要使这一点成立,我们需要 DUP 片段的任何循环或循环移位也是有效的 DUP 扰动。换句话说,我们需要扰动剪辑p16,p1,…,p15,{p15,p16,…,p14},所有这些都是有效的扰动。我们在此强调 UP 和 DUP 不具有循环特性,因此,两个连续 UP 或 DUP 片段的部分的顺序串联将“不是”有效的扰动。
图 3 详细描述了生成器和滚动单元如何协同工作。与之前一样,3D 生成器(G)将噪声向量作为输入,并输出一系列扰动。注意,最后一层之后是 tanh 非线性,该非线性将产生的扰动限制在范围[-1,1]内。然后按 ξ 缩放输出。这样做会将扰动的范围限制为[?ξ, ξ]。ξ 的值被选择为 10,以使微扰准可接受。然后,滚动单元通过{0,1,2,…15}中的偏移量“滚动”(循环移动)扰动 p。图 3 描述了偏移量等于 1 的过程;黑色框架滚动到剪辑的末端。通过在训练输入中加入滚动扰动片段,我们得到扰动输入。如前所述,C3D 分类器接受扰动输入并输出分类得分向量。与之前一样,我们希望真实的课堂分数(a)针对目标输入低,(b)针对其他(非目标)输入高。我们现在修改我们的优化函数,以包含滚动函数,如下所示。
图 3
3实验与评估
在实验中,我们展示我们提出的方法在 UCF101 和 Jester 数据集上产生的扰动的有效性。我们使用 C3D 分类器作为鉴别器。鉴别器然后被用来训练我们的生成器。对于我们在 UCF101 数据集上的实验,我们使用 Github 存储库中提供的 C3D 模型。在 UCF101 数据集上的良性设置下(即无对抗性输入),该预训练 C3D 模型的平均剪辑分类精度为 91.8%。对于 Jester 数据集上的实验,我们从 Github 存储库中微调 C3D 模型。首先,我们将最后一个完全连接层的输出大小更改为 27,因为 Jester 中有 27 个手势类。我们使用指数衰减的学习率来训练模型。最后一个完全连接层的开始学习速率设置为 10?3 和 10?4 对于所有其他层。衰减步长设置为 600,衰减率为 0.9 微调阶段分三个阶段完成,我们在良性环境中实现了 90.03%的剪辑分类精度。
对于 C-DUP 和 2D-DUP 的生成器,我们使用五个 3D 去卷积层。前四层之后是批量标准化和 ReLU 激活函数。最后一层后面是 tanh 层。所有 3D 解卷积的内核大小设置为 3×3×3。为了生成三维扰动(即扰动帧序列),我们在 C-DUP 生成器中将第一层的空间和时间维度的内核步长设置为 1,在随后 4 层的空间和时间维度的内核步长设置为 2。为了生成单帧 2D 扰动,2D-DUP 生成器中所有层的时间维度的核心步长设置为 1(即 2D 反卷积),第一层的空间维度步长设置为 1,后续层的空间维度步长设置为 2。两个生成器的输入噪声矢量均从均匀分布 U 采样[?1,1],并且噪声向量的维数设置为 100。为了训练这两个生成器,我们使用指数衰减的学习率。开始学习率为 0.002,衰减步长为 2000,并且衰减率为 0.95 除非另有规定,平衡两个目标的权重,即 λ、 设置为 1 以反映错误分类目标类和保留所有其他(非目标)类的正确分类之间的同等重要性。
在 UCF-101 数据集(简称 UCF-101)上,测试不同的目标类 T 集。我们使用 T={apply lipstick}来表示本文中的结果。使用其他目标集的实验也得到了类似的结果。UCF-101 总共有 101 类人类行为。目标集 T 仅包含一个类,而“非目标”集 S=X?T 包含 100 个类。非目标类的培训输入数量约为目标类培训输入数量的 100 倍。由于包含目标类和非目标类的数据集不平衡,直接使用 UCF-101 进行训练可能会导致问题。因此,我们对非目标类进行了 10 倍的抽样。此外,当加载一批用于训练的输入时,我们从目标集中提取一半输入,从非目标集中提取另一半输入,以平衡输入。
通过对 UCF-101 进行“涂口红”的测试,我们观察到,“射箭”被误分类为“秋千”,“婴儿爬行”被误分类为“在厨房中切割”,“骑车”被误分类为“高尔夫挥杆”等。我们发现只有 45.2%的非目标类视频剪辑分类正确,即非目标输入的攻击成功率仅为 45.2%. 这违反了成功发动攻击所需的隐蔽性。然而,DUP 对非目标输入的分类影响不大;非目标攻击成功率为 88.03%. 同时,UP 和 DUP 都能很好地处理目标输入,这意味着受扰动的目标片段会以很高的速率被错误分类。DUP 的攻击成功率为 84.49%,而 UP 达到 84.01%. 这些结果是在执行攻击时剪辑边界完全已知的假设下获得的。鉴于在非目标输入上的低性能,我们不认为它进一步在我们的评价中。
由 DUP 模型生成的扰动片段如图 4 所示,由 C-DUP 模型生成的扰动片段如图 5 所示。所有扰动的可视化从[0,10]缩放到[0,255]。我们观察到来自 DUP 的扰动在帧之间表现出明显的扰动。对于 C-DUP,扰动帧看起来很相似,这意味着在 UCF101 中,C-DUP 对时间信息的扰动不会太大。
图 4
图 5
图 6a 和图 6b 显示了 UCF-101 测试集上 DUP 和 C-DUP 的攻击成功率。x 轴是扰动剪辑和分类器输入剪辑之间的未对准。图 6a 描述了目标类输入的平均攻击成功率。我们观察到,当没有失调时,DUP 的攻击成功率为 84.49%,实际上略高于 C-DUP。然而,当存在未对准时,使用 C-DUP 的攻击成功率明显较高。此外,使用 C-DUP 的目标类在所有路线上的平均攻击成功率为 84%,而使用 DUP 的目标类仅为 68.26%. 这表明 C-DUP 对失准的鲁棒性更强。
4 结论
在本文中,我们研究了生成攻击视频分类系统的对抗性样本的问题。我们确定了生成此类样本需要解决的三个关键挑战,即实时生成扰动、使扰动隐形以及处理输入到实时视频分类器的视频剪辑边界的不确定性。我们利用了生成模型的最新进展,对其进行了重大扩展,以解决这些挑战,并生成针对视频分类系统的非常强大的对抗性样本。我们在两个不同的数据集上进行了广泛的实验,其中一个捕获粗粒度的动作(例如,化妆),而另一个捕获细粒度的动作(手势)。我们证明了我们的方法是非常有效的,在这两种情况下都实现了大约 80%的攻击成功率。我们还讨论了我们建议在未来工作中调查的可能防御措施。
致谢
本文由南京大学软件学院 2021 级硕士赵辰熹翻译转述。
猜你喜欢
- 2024-11-18 真实街景秒变日漫,还能把石原里美带入吉卜力世界 | 开源
- 2024-11-18 用神经网络来估计PID控制器参数?(附核心代码)
- 2024-11-18 CVPR 2018神经网络图像压缩领域进展
- 2024-11-18 用于野外人脸分析的RoI tanh -polar变换网络
- 2024-11-18 AI 大模型:从 Transformer、GPT 到应用示例(9)
- 2024-11-18 深度学习之浅层神经网络
- 2024-11-18 深度学习——手写一个单隐层的神经网络
- 2024-11-18 大模型开发 - 一文搞懂人工智能基础(上):模型
- 2024-11-18 神经网络的基本网络学习
- 2024-11-18 Day201:「深度学习」 loss不下降的解决方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)