锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

繁凡的对抗攻击论文精读(二)CVPR 2021 元学习训练模拟器进行超高效黑盒攻击(清华)

时间:2023-05-06 21:37:00 mse压力变送器wide差压变送器

我很容易理解深度学习的所有基础和主要主流研究方向的入门总结!

深度学习笔记包括深度学习的基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE,GAN,Transformer,加强学习,元学习,对抗攻击防御,迁移学习等主流研究方向万字总结!


精读复杂的对抗攻击论文(2)CVPR 2021 超高效黑盒攻击(清华)元学习训练模拟器

Simulating Unknown Target Models for Query-Ef?cient Black-box Attacks
模拟未知目标模型查询有效的黑盒攻击

3043331995@qq.com

https://fanfansann.blog.csdn.net/

声明:

1)本文《复杂对抗攻击论文精读》 《复杂的论文精读》 系列对抗攻击领域的论文精读笔记。 《复杂的论文精读》 项目 暂时包括三个板块,即:《繁凡的NLP论文精读》《繁凡的CV论文精读》 以及 《复杂对抗攻击论文精读》,项目地址:https://github.com/fanfansann/DL-papers-intensive-reading-notes-NLP-and-CV

该项目内包含精读论文的原文、精读笔记PDF、欢迎模型复现代码等论文相关资源 ??? Starred ? \,\,\,\text{Starred}? Starred? o(〃^▽^〃)o

2)本人才疏学浅,整理总结难免出错,也希望各位前辈不吝指正,谢谢。

3)这篇文章是我个人的( CSDN 博主 「繁凡さん」(博客) , 知乎答主 「繁凡」(专栏), Github 「fanfansann」(所有源码) , 微信公众号 「来信繁琐的岛屿」(文章 P D F 下载))整理创作而成,且仅发布于这四个平台,仅做交流学习使用,无任何商业用途。

4)《复杂论文精读》全总结链接:《复杂论文精读》目录大纲 https://fanfansann.blog.csdn.net(待更)

文章目录

  • Simulating Unknown Target Models for Query-Ef?cient Black-box Attacks [1]
  • 模拟未知目标模型查询有效的黑盒攻击
    • Abstract
  • 0x01 论文总结
    • 2. Related Works
    • 3. Method
      • 3.1. Task Generation
      • 3.2. Simulator Learning
      • 3.3. Simulator Attack
      • 3.4. Discussion
    • 4. Experiment
      • 4.1. Experiment Setting
      • 4.2. Ablation Study
      • 4.3. Comparisons with State-of-the-Art Methods
  • 0x02 全文翻译
    • 1. Introduction
    • 2. Related Works
    • 3. Method
      • 3.1. Task Generation
      • 3.2. Simulator Learning
      • 3.3. Simulator Attack
      • 3.4. Discussion
    • 4. Experiment
      • 4.1. Experiment Setting
      • 4.2. Ablation Study
      • 4.3. Comparisons with State-of-the-Art Methods
    • 5. Conclusion
  • 0x03 实现论文模型代码
  • 0x04 预备知识
    • 0x04.1 元学习
  • 0x05 References

Simulating Unknown Target Models for Query-Ef?cient Black-box Attacks [1]

模拟未知目标模型查询有效的黑盒攻击

Abstract

Many adversarial attacks have been proposed to invesigate the security issues of deep neural networks. In the black-box setting, current model stealing attacks train a substitute model to counterfeit the functionality of the target model. However, the training requires querying the target model. Consequently, the query complexity remains high, and such attacks can be defended easily. This study aims to train a generalized substitute model called “Simulator” which can mimic the functionality of any unknown target model. To this end, we build the training data with the form of multiple tasks by collecting query sequences generated during the attacks of various existing networks. The learning process uses a mean square error-based knowledgedistillation loss in the meta-learning to minimize the difference between the Simulator and the sampled networks The meta-gradients of this loss are then computed and ac.cumulated from multiple tasks to update the Simulator and subsequently improve generalization. When attaking a target model that is unseen in training, the trained Simulator can accurately simulate its functionality using its limited feedback. As a result, a large fraction of queries can be transferred to the Simulator thereby reducing query complexity. Results of the comprehensive experiments conducted using the CIFAR-10, CIFAR-100, and TinyImageNet datasets demonstrate that the proposed approach reduces query complexity by several orders of magnitude compared to the baseline method. The implementation source code isreleased online [2]

Translation

为了研究深度神经网络的安全问题,已经提出了许多对抗性攻击方法。在黑盒设置中,当前的模型窃取攻击训练替代模型来伪造目标模型的功能。但是,训练需要查询目标模型。因此,查询复杂度仍然很高,并且可以轻松防御此类攻击。本研究旨在训练一个称为“模拟器”的通用替代模型,该模型可以模拟任何未知目标模型的功能。为此,我们通过收集各种现有网络攻击过程中产生的查询序列,以多任务的形式构建训练数据。学习过程在元学习中使用基于均方误差的知识蒸馏损失来最小化模拟器和采样网络之间的差异。然后计算并从多个任务中累积该损失的元梯度以更新模拟器和随后改进泛化。当攻击在训练中看不见的目标模型时,经过训练的模拟器可以使用其有限的反馈准确地模拟其功能。因此,可以将大部分查询传输到模拟器,从而降低查询复杂性。使用 CIFAR-10、CIFAR-100 和 TinyImageNet 数据集进行的综合实验结果表明,与基线方法相比,所提出的方法将查询复杂度降低了几个数量级。实现源码已在线发布 [2]

Summarize

  • 提出了一种名为 Simulator Attack 的新型黑盒攻击。 它侧重于训练一个广义替代模型(“Simulator”)来准确模仿任何未知目标模型,以降低攻击的查询复杂度。为此将攻击许多不同网络时产生的查询序列作为训练数据;
  • 所提出的方法在元学习的内部和外部更新中使用基于 MSE 的知识蒸馏损失来学习模拟器;
  • 可以在训练之后将大量查询转移到模拟器,从而降低与基线相差的几个数量级查询复杂度的攻击。

0x01 论文总结

2. Related Works

Meta-learning. 元学习在少样本分类中很有用。它训练了一个元学习器,只需几个样本就可以快速适应新环境。Ma 等人 [28] 提出 MetaAdvDet 以高精度检测新型对抗性攻击,以便在对抗性攻击领域利用元学习。 Meta Attack [12] 训练自编码器来预测目标模型的梯度以降低查询复杂度。然而,它的自编码器仅在自然图像和梯度对上进行训练,而不是在来自真实攻击的数据上进行训练。因此,它的预测精度在攻击中并不满足。然而如果图片分辨率较高,则梯度map是一个很大的矩阵,此时轻量级的自编码器就无法准确预测梯度map的梯度值。因此,Meta Attack 仅提取具有最大梯度值的 125 125 125 个元素来更新示例,导致性能不佳,在攻击高分辨率图片时仍显得心有余而力不足。此外,训练数据是黑盒攻击的查询序列。分为元训练集和元测试集。前者对应于微调迭代,后者对应于攻击中的模拟迭代。这些策略将训练和攻击无缝连接,以最大限度地提高性能。

3. Method

本文致力于降低 query-based attack 的查询复杂度,因为假若攻击单个样本仅需要两位数的查询量时,该攻击便具有现实威胁。我们发现,任何黑盒模型都可以被一个相似的代理模型(即模拟器)所替代,如果能将一部分查询转移到这个模拟器上,那么真正的目标模型的查询压力便随之降低。为了做出这种模拟器,研究者们不断探索,诞生了被称为模型窃取攻击的办法,然而,模型窃取攻击需要在训练模拟器的时候大量查询目标模型。因此,这种攻击方式仍然会造成大量的查询,而且这种查询可以轻易地被目标模型的拥有者检测和防御。模拟器攻击首次解决了这个问题,Simulator 在训练的阶段中没有与目标模型有任何交互仅仅是攻击时花费少量的查询,可以极大地节省攻击的查询量。总结一下,模拟器攻击在训练阶段时使用大量不同的现有模型生成的训练数据,并且将知识蒸馏损失函数应用在元学习中,这样在测试的时候就可以模拟任何未知的黑盒模型。

在本研究中,我们专注于在不使用目标模型的情况下训练替代模型并产生基于分数的攻击。

3.1. Task Generation

在攻击期间,当反馈的查询彼此之间仅略有不同时,经过训练的模拟器必须准确地模拟任何未知目标模型的输出。为此,模拟器应该从真实的攻击中学习。即各种网络攻击产生的中间数据(查询序列和输出)。 为此收集了一些分类网络 N 1 … , N n N_1\dots, N_n N1,Nn​ 来构建训练任务,创建一个巨大的仿真环境来提高通用仿真能力(图 2)。每个任务包含 V V V​ 个查询对 Q 1 , … , Q V ( Q i ∈ R D , i ∈ { 1 , … , V } ) Q_1,\dots,Q_V(Q_i\in\R^D,i\in\{1, \dots,V\}) Q1,,QV(QiRD,i{ 1,,V})​ ,其中 D D D​ 为图像维数。这些对是通过使用土匪攻击随机选择的网络而产生的。土匪使用的数据源可以是从互联网上下载的任何图像。在本研究中,我们使用标准数据集的训练集与测试图像的数据分布不同。每个任务被划分为两个子集,即元训练集 D mtr D_{\text{mtr}} Dmtr​,它由前 t t t​ 个查询对 Q 1 , … Q t Q_1,\dots Q_t Q1,Qt​ 和元测试集 D mte D_{\text{mte}} Dmte​,以及下面的查询对 Q t + 1 , … Q V Q_{t+1},\dots Q_V Qt+1,QV​。前者用于训练的内部更新步骤,对应于攻击阶段的微调步骤。后者对应于使用模拟器作为替代的攻击迭代(图1)。这个划分无缝地连接了训练和攻击阶段。 N 1 … N n \N_1\dots \N_n N1Nn​​ 的 logits 输出被称为“伪标签”。所有查询序列和伪标签都缓存在硬盘中,以加速训练。

每个task中包含的数据是如下步骤生成得到:

  1. 随机选择一个已训网络;
  2. 施加 Bandits 攻击来攻击该网络产生的中间数据,数据包括攻击中产生的 query sequence 和与之对应的该网络的输出 logits 两种;
  3. query sequence 按照 query pair 生成对应的迭代编号被切分成两部分:meta-train set 和 meta-test set 。

3.2. Simulator Learning

Initialization. 算法 1 和图 2 给出了训练过程。在训练中,我们随机抽样 K K K​​​​​​​ 个任务形成一个小批量。在学习每个任务的开始。模拟器 M \mathbb M M​​​​​ 使用最后一个小批量学到的权重 θ \theta θ​​​ 重新初始化它的权重。在外部更新步骤中,保留这些权重用于计算元梯度。

Meta-train. M \mathbb M M 对元训练集 D mtr D_{\text{mtr}} Dmtr​ 执行梯度下降,进行多次迭代(内部更新)。这个步骤类似于在知识蒸馏中训练一个学生模型,与攻击的微调步骤相匹配。

Meta-test. 经过多次迭代, M \mathbb M M​​​​ 的权值更新为 θ ′ \theta ' θ​​​​。然后,基于 θ ′ θ′ θ​​​​ 条件下的第 i i i​​​​ 个任务的元测试集,计算损失 L i L_i Li​​​​。随后,将元梯度 ∇ θ L i \nabla_θL_i θLi​​​​ 计算为高阶梯度。然后将 K K K​​​​ task 的 ∇ θ L 1 , … , ∇ θ L K ∇_θL_1,\dots,∇_θL_K θL1,,θLK​​​​ 平均为 1 k ∑ i = 1 k ∇ θ L i \displaystyle \frac 1 k \sum_{i=1}^k\nabla_{\theta}\mathcal L_i k1i=1kθLi​​​​ 用于更新 M \mathbb M M​​​​ (外部更新),从而使 M \mathbb M M 能够学习一般模拟能力。

Loss Function. 在训练中,我们采用知识蒸馏的损耗模型,使模拟器输出与采样网络 N i \mathbb N_i Ni​​​​​​​​​​​ 相似的预测结果,并在内部和外部步骤中使用。给定 Bandits(老虎机攻击需要在有限差分中进行两个查询来估计梯度。因此,在每次迭代中都会生成一个查询对)生成的第 i i i​​​​​​​​​​ 个查询对 Q i Q_i Qi​​​​​​​​​ 中的两个查询 Q i , 1 Q_{i,1} Qi,1​​​​​​​​ 和 Q i , 2 Q_{i,2} Qi,2​​​​​​,其中 i ∈ { 1 , … , n } i\in \{1,\dots,n\} i{ 1,,n}​​​​​ 和 n n n​​​​​ 表示元列或元测试集中的查询对个数。模拟器的 logits 输出和 N i \mathbb N_i Ni​​​​ 分别记为 p ^ \hat p p^​​ 和 p p p​ 。 E q . ( 1 ) Eq.(1) Eq.(1) 中定义的 MSE 损失函数使模拟器和伪标签的预测更接近:
L ( p ^ , p ) = 1 n ∑ i = 1 n ( p ^ Q i , 1 − p Q i , 1 ) 2 + 1 n ∑ i = 1 n ( p ^ Q i , 2 − p Q i , 2 ) 2 \mathcal{L}(\hat{\boldsymbol{p}}, \boldsymbol{p})=\frac{1}{\boldsymbol{n}} \sum_{i=1}^{n}\left(\widehat{\boldsymbol{p}}_{Q_{i, 1}}-\boldsymbol{p}_{Q_{i, 1}}\right)^{2}+\frac{1}{\boldsymbol{n}} \sum_{i=1}^{n}\left(\widehat{\boldsymbol{p}}_{Q_{i, 2}}-\boldsymbol{p}_{Q_{i, 2}}\right)^{2} L(p^,p)=n1i=1n(p Qi,1pQi,1)2+n1i=1n(p Qi,2pQi,2)2


算法1:模拟器的训练算法

Input: 训练数据 D D

相关文章