摘要

以前的对抗攻击关注于静态输入,这些方法对流输入的目标模型并不适用。攻击者只能通过观察过去样本点在剩余样本点中添加扰动。

这篇文章提出了针对于具有流输入的机器学习模型的实时对抗攻击。

1 介绍

在实时处理场景中,攻击者只能观察数据样本的过去部分,并且只能向数据样本的未来部分添加扰动,而目标模型的决策将基于整个数据样本。

当攻击实时系统时,攻击者面临着观察空间和操作空间之间的权衡。也就是说,假设目标系统接受顺序输入x,攻击者可以选择在开始时设计对抗性扰动。然而,在这种情况下,攻击者对x没有任何观察,但是可以将扰动添加到x的任意时间点上,即,攻击者有最小的观察空间和最大的动作空间。相反,如果攻击者选择在末尾添加对抗性扰动,则攻击者可以完全观察到x,但不能向数据添加扰动(即,攻击者的观察量最大,但动作空间最小)。

提出了一种新的攻击方案,使用深度强化学习体系结构(如图1所示),连续使用观测数据来近似未来时间点的最优对抗性扰动。

2 实时对抗攻击

rt 是在t时刻添加的扰动,需要d的时间生成数据 添加扰动等。g根据t时刻之前的样本(减去延迟d),预测t时刻的最优扰动。

m()测量对抗性扰动的可感知性。

问题被描述为:(O, S, A, T, R)

对抗生成器只会在最后得到奖励。RL的目标是学习一个最优策略πg: at =g(ot),使奖励期望最大化。在这个问题中,环境是目标模型f,输入数据分布为Px。

用学习来代替优化。在几何术语中,攻击模型试图用最短的距离预测将原始示例x推出正确决策区域的方向。

攻击模型的一个挑战是对尚未观测到的数据“预测”未来的扰动。

此外,使用RL实现实时对抗性攻击的另一个挑战是稀疏奖励问题,即, agent只在最后收到奖励,很难根据观察到的数据和过去的行为来估计每个时间点的奖励。

模仿学习策略

通过模仿专家的行为来学习最优策略。具体来说,模仿学习需要一组决策轨迹,{T1, T2,..由专家生成,其中每一个判定轨迹由一系列“观测-动作”对组成。e, Ti = oi, ai....。这样的轨迹可以作为示范,教智能体如何在观察中表现。我们可以提取所有的专家意见,

o是输入特征,a是输出标签。

可以使用先进的非实时攻击模型生成样例扰动对

x是不同的原始样本,r是添加了扰动之后的。

将x和r转换为o和a,建立一个训练集D,用它来进行监督,学习策略πg。

使用一个先进的非实时对抗样本生成技术作为专家。这些方法有两个大类别。第一类是基于梯度的,例如 FGSM, DeepFool。一般都有确定的优化策略。第二类gradient-free, 一般基于随机优化算法。

一个好的方法,除了攻击的成功率,还包括:

1. 添加约束的灵活性。

一般来说,随机优化算法比确定性优化算法在附加复杂约束条件方面更灵活。

2. 攻击者的知识。

攻击者应该根据攻击场景选择专家策略。

3.专家的决定论。

计算开销和速度

随机优化算法通常需要调用目标模型(或替代模型)数百或数千次才能找到解决方案。但是,由于我们使用深度神经网络g代替优化,无论我们选择模仿哪个专家,产生一个时间点对抗性扰动的计算开销固定为g的推理时间(用tg表示,即计算延迟)。在实时场景中,如果输入的采样频率高于1/tg,则产生器的速度不足以赶上流输入。然后攻击者需要通过修改g来降低更新频率来进行批处理,即,在一个推理中为nbatch将来的点生成一批nbatch操作。这可以降低nbatch时间的延迟要求。

方法架构

具体来说,神经网络可以分为两部分:编码器和解码器。

该编码器是一个递归神经网络,它将一个可变长度的输入映射到一个固定的二维编码。我们期望所学习的编码能从o中获得有用的特征;然后解码器对动作进行描述。

例如,在图2中的例子中,我们期望编码能够表示出数据样本渴望哪个集群,解码器可以根据这个信息找到最优扰动。然后,我们可以计算出预测动作和真实动作之间的误差,并使用标准的反向传播来更新g。

我们有nt轨道,每个轨道由n对 观测-动作 对组成。该数据集有n x nt样本,这可能非常大,会使训练速度变慢。事实上。来自同一轨迹的观测高度相关,即, ot+l与ot的唯一区别是ot+1多了一个观测点t+1;因此,递归神经网络将会有大量的重复计算(例如编码器)。为了加快训练速度,我们应该从同一个轨道中训练一批观测-动作对,在将输入Ot输入到g中得到at后,我们没有将新的输入Ot +1输入到g中,而是将xt+1输入到g中,得到g在at+1时的输出。图3演示了这个训练过程。

具体来说,这种方法避免了任何重复的编码器计算,可以看作是序列到序列的训练。注意,预测的动作只依赖于当前的观察结果(即这与其他应用程序(如机器翻译))中使用的序列训练不同,在机器翻译中,中间编码包含整个输入样本的信息。该算法的伪代码如算法1所示。

值得一提的是,尽管在本文中,为了简单起见,我们主要关注使用基本的行为克隆算法,有许多更高级的算法(e.g., Dataset Aggregation[Ross et al., 2011])在模仿学习和控制一定的学习,可以进一步提高攻击结构,例如,可以设计一个补救机制实时对抗扰动个发生器,如果它意识到它曾犯了一个错误的决定 ,允许其调整其未来战略。因此,将实时攻击形式化为增强学习问题不仅是自然的,而且允许我们应用现有的工具和算法。

论文阅读 | Real-Time Adversarial Attacks的更多相关文章

  1. 【论文阅读】Deep Adversarial Subspace Clustering

    导读: 本文为CVPR2018论文<Deep Adversarial Subspace Clustering>的阅读总结.目的是做聚类,方法是DASC=DSC(Deep Subspace ...

  2. 论文阅读 | Generating Fluent Adversarial Examples for Natural Languages

    Generating Fluent Adversarial Examples for Natural Languages   ACL 2019 为自然语言生成流畅的对抗样本 摘要 有效地构建自然语言处 ...

  3. 论文阅读 | TextBugger: Generating Adversarial Text Against Real-world Applications

    NDSS https://arxiv.org/abs/1812.05271 摘要中的创新点确实是对抗攻击中值得考虑的点: 1. effective 2. evasive    recognized b ...

  4. 论文阅读 | HotFlip: White-Box Adversarial Examples for Text Classification

    [code] [pdf] 白盒 beam search 基于梯度 字符级

  5. [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks

    [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...

  6. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  7. BERT 论文阅读笔记

    BERT 论文阅读 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 由 @快刀切草莓君 ...

  8. Mind the Box: $\ell_1$-APGD for Sparse Adversarial Attacks on Image Classifiers

    目录 概 主要内容 Croce F. and Hein M. Mind the box: \(\ell_1\)-APGD for sparse adversarial attacks on image ...

  9. Defending Adversarial Attacks by Correcting logits

    目录 概 主要内容 实验 Li Y., Xie L., Zhang Y., Zhang R., Wang Y., Tian Q., Defending Adversarial Attacks by C ...

  10. 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)

    白翔的CRNN论文阅读 1.  论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...

随机推荐

  1. 【agc002d】Stamp Rally

    题目大意 无向图中,每次询问从x和y分别出发,一共经过z个点,使需要走过编号最大的边最小. 解题思路 对于暴力,我们对于每个询问二分答案ans,将1~ans的边加入,用并查集维护,如果x和y在同一个并 ...

  2. Codeforces Round #449 [ C/A. Nephren gives a riddle ] [ D/B. Ithea Plays With Chtholly ]

    PROBLEM C/A. Nephren gives a riddle 题 http://codeforces.com/contest/896/problem/A codeforces 896a 89 ...

  3. Prism框架中View与Region关联的几种方式

    Prism.Regions命名空间下有2个重要接口:IRegionManager.IRegion IRegionManager接口中的方法与属性:AddToRegion().RegisterViewW ...

  4. How to Fix "Linux Failure to Download extra data files for ttf-mscorefonts-installer" error

    How to Fix "Linux Failure to Download extra data files for ttf-mscorefonts-installer" erro ...

  5. Windows下如何禁止优盘自动播放、自动运行

     造冰箱的大熊猫@cnblogs 2019/1/28 为了防范层出不穷的病毒和木马,如何禁止插入优盘后Windows自动播放优盘或运行优盘程序? 运行环境:Windows 7 1)点击Windows开 ...

  6. 记一次Cloudera中页面监控失效问题

    因为做了cdh的迁移,启动后所有服务都是正常执行,不影响操作,但是尴尬的是,页面上的图表监控不见了 这种情况的根本原因就是: Host Monitor和Service Monitor服务失效! 解决: ...

  7. Git命令的简单整理大全

    创建目录和查看路径 mkdir 创建目录  cd    进入到目录里面pwd   用于显示当前的目录cat   查看文件内容 Git命令使用说明 初始化一个目录成git的仓库(版本库)包括暂存区和ma ...

  8. JAVA异常及其异常处理方式

    异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用Syste ...

  9. finally的一个妙用

    ●传统用法try-catch-finally大家都会用:try包裹可能抛出异常的代码:catch捕获异常并对其处理:finally做一些资源关闭等回收工作.简单明了一句话就能说清. 稍微进阶一些的,大 ...

  10. AWS EC2 PV Drivers 驱动升级

    问题 从2019-10-23起,我的AWS实例不断的重启(大概6个小时左右),或者连接不上(远程连接不上并PING不通IP),但控制台显示running. 分析与解决方法 通过查看dump文件,发现是 ...