CVPR2021任何网络都能山寨!新型黑盒对抗攻击模拟未知网络进行攻击模拟器cvpr算法simulator

目前,研究者们提出了越来越多的黑盒攻击算法,其中基于「模拟」的攻击成为了一种新的攻击形式。来自清华的研究者解决了模型窃取攻击中长久以来存在的一个问题:训练代理模型的时候需要查询目标模型。训练了一个「万能的模拟器」,可以模拟任何未知模型的输出,并且该模拟器在训练的时候无需查询目标模型。

介绍

最近几年,元学习风生水起,这阵风也刮到了对抗攻击领域。本文解读对抗攻击与元学习联姻的两篇典型的论文(本文分为上下两篇,此为上篇),希望对后来的研究者有所启发。

利用元学习,可以将黑盒攻击的查询复杂度降低几个数量级!CVPR2021的《SimulatingUnknownTargetModelsforQuery-EfficientBlack-boxAttacks》这篇论文解决了模型窃取攻击中长久以来存在的一个问题:训练代理模型的时候需要查询目标模型,因此查询量仍然很大,而且更为严重的问题是这种攻击方式可以被轻易地检测和防御。所以本篇论文的工作目标是训练一个「模拟器」(即Simulator)可以模拟任何未知模型的输出。为此,基于知识蒸馏的MSE损失函数被应用在元学习中的内部和外部更新来学习多种不同网络模型的输出。如此,一旦训练完成,模拟器只需要少量的查询数据微调(fine-tune)就可以精确地模拟未知网络的输出,从而使大量的查询转移到模拟器上,有效降低攻击中目标模型的查询复杂度。

在正式介绍模拟器攻击之前,我们先看看对抗攻击的分类。

本文介绍的方法对应于Query-basedattacks下的Score-basedsetting。

元学习帝国的崛起:背景知识

典型的元学习技术包括以下几个概念:

Task:元学习通常将训练数据切分成一个个小的数据子集来训练meta-learner。“task”的意思与多任务学习的“task”不同,是指元学习训练所使用的数据子集。

Supportset&queryset:每个task分成supportset和queryset两个子集。Supportset对应于算法中的内部更新,queryset对应于算法中的外部更新。在本论文中,supportset被命名为meta-trainset,queryset被命名为meta-testset。

Way:是class(类别)的别称。

Shot:指的是每个类别的样本数量。例如:1-shot指的并不是一共只有一个数据样本,而是每个类有1个样本。

图1展示了一个典型的K-shot的元学习方法的一般套路,其训练阶段的数据和测试阶段的数据包含不同的类别,而训练的每个task又被切分成supportset(又名meta-trainset)和queryset(又名meta-testset)。

图1:一个典型的元学习将数据切分成task训练,而每个task包含的5个分类不同,1-shot是指每个分类只有一个样本。

在测试的时候,元学习同样是在task上面测,每个task测出的准确率,汇总求和后求整体的均值。但是,值得注意的是,这种测试方法并不被本文中的模拟器攻击所采用,因为该研究的目标是攻击,而非测试各个task的准确度。

图2是一个典型的元学习方法(MAML)的算法流程,它学习每个task的时候先执行内部更新,再执行外部更新。内部更新学习supportset的数据并用SGD将参数θ更新为θ'。而外部更新利用θ'作为网络参数,输入queryset的数据,计算一个对θ求导的高阶梯度meta-gradient。这些meta-gradient最终被用于外部更新,去更新元学习器。

图2:MAML的训练流程,内部更新将初始化参数的θ更新为θ',而外部更新利用θ'去计算loss。

元学习与对抗攻击的联姻

在ICLR2020的MetaAttack论文中,元学习与对抗攻击第一次结合。MetaAttack方法使用Reptile训练一个元学习器,这是一个典型的conv-deconv结构的auto-encoder。此auto-encoder学习不同网络的梯度数据来回归各种网络梯度。在攻击的时候,由于元学习器可以直接提供梯度输出,因此可以不用查询目标模型去估计梯度。然而如果图片分辨率较高,则梯度map是一个很大的矩阵,此时轻量级的auto-encoder就无法准确预测梯度map的梯度值。因此,MetaAttack采取了一种取巧的办法,它从梯度图选择最大梯度值的125个元素进行回归。但是这种做法在攻击高分辨率图片时仍显得心有余而力不足(关于MetaAttack的详细分析见《SimulatingUnknownTargetModelsforQuery-EfficientBlack-boxAttacks》的relatedwork一节)。于是,一种新的基于元学习的攻击方法便呼之欲出。

模拟器攻击

模拟器攻击(SimulatorAttack)这篇论文致力于降低query-basedattack的查询复杂度,因为假若攻击单个样本仅需要两位数的查询量时,该攻击便具有现实威胁。研究发现,任何黑盒模型都可以被一个相似的代理模型(即模拟器)所替代,如果能将一部分查询转移到这个模拟器上,那么真正的目标模型的查询压力便随之降低。

为了做出这种模拟器,研究者们不断探索,诞生了被称为模型窃取攻击的办法,然而,模型窃取攻击需要在训练模拟器的时候大量查询目标模型。因此,这种攻击方式仍然会造成大量的查询,而且这种查询可以轻易地被目标模型的拥有者检测和防御。

模拟器攻击首次解决了这个问题,Simulator在训练的阶段中没有与目标模型有任何交互,仅仅是攻击时花费少量的查询,便可以极大地节省攻击的查询量。总结一下,模拟器攻击在训练阶段时使用大量不同的现有模型生成的训练数据,并且将知识蒸馏损失函数应用在元学习中,这样在测试的时候就可以模拟任何未知的黑盒模型。

模拟器的训练

模拟器的训练流程开始之前,为了达到模拟任意黑盒模型的泛化能力,研究人员收集了大量不同的分类网络,如VGG-19、ResNet-50、MobileNet等来构建task,如此便建造了一个巨大的模拟环境。每个task中包含的数据是如下步骤生成得到:

1.随机选择一个已训练的网络;

2.施加Bandits攻击来攻击该网络产生的中间数据,数据包括攻击中产生的querysequence和与之对应的该网络的输出logits两种;

3.querysequence按照querypair生成对应的迭代编号被切分成两部分:meta-trainset和meta-testset。

图3:模拟器攻击的数据生成流程和训练过程。

图3和算法1展示了模拟器攻击的训练过程。首先找一些真实图片作为输入,用黑盒攻击算法(Bandits)攻击一个随机选择的分类网络生成querysequence,这些querysequence都是攻击中间数据,被存储在硬盘上。另外除了querysequence,它们对应的那个分类网络的输出logits也被存储在硬盘上,被称为“伪标签”(即pseudolabel)。

生成好数据之后便是模拟器的训练过程了,其过程如下:

1.初始化。该研究随机采样K个task组成一个mini-batch进行学习。在学习每个task之前,模拟器将其参数重新初始化为θ(由上一批更新得到的),这些权重θ在外部更新的时候还会再次使用,因此需要保存起来。

2.Meta-train。模拟器以meta-trainset作为输入来进行内部更新,其内部更新过程是一个典型知识蒸馏:该研究优化MSE损失函数来推动模拟器的输出与随机采样的分类网络一致,优化中采用SGD梯度下降若干次循环。这个过程对应于攻击阶段的微调过程。

3.Meta-test。在若干迭代次数之后,模拟器网络的参数收敛到θ’。然后,损失函数值L_i通过输入第i个task的meta-testset到网络而得到。之后,元梯度(meta-gradient)对θ计算得到。以上只是一个task得到的元梯度,K个task的所有元梯度被汇总并且求均值来更新模拟器(外部更新),由此模拟器可以学到泛化的模拟任意网络的能力。

4.损失函数。为了训练模拟器,损失函数必不可少。我们选择了基于知识蒸馏的损失函数来让模拟器与随机选择的分类网络输出一致。这个损失函数同时被用在内部和外部更新中。给定一个querypairQ_i的两个queryQ_i,1和Q_i,2(由于Bandits攻击使用有限差分法去估计梯度,因此每次迭代生成一个querypair)。模拟器和随机选择的分类网络的logits输出分别记为和p。如下MSE损失函数将使得模拟器的输出和伪标签趋近于一致。

模拟器攻击算法介绍

模拟器攻击的算法流程如算法2和图4所示,它沿袭了Bandits攻击的逻辑,值得注意的是第8行至第17行:在刚开始攻击的t个迭代内(warm-up阶段),query直接被输入到目标模型中,并且使用一个双端队列收集这些输入和输出。在warm-up之后的迭代中,每隔m次迭代才使用一次目标模型,其余迭代一律输入使用模拟器来输出。因此目标模型和模拟器的使用是轮流交替进行的,这种方法一方面保证了大部分查询压力被转移到模拟器中,另一方面保证了模拟器每隔m次迭代就得到机会微调一次,这保证了后期的迭代中模拟器能「跟得上不断演化的query的节奏,及时与目标模型保持一致。」

图4:模拟器攻击。前t次迭代为warm-up阶段,收集输入图片和输出来微调模拟器,后面m次迭代直接输入模拟器,减轻查询压力。

实验

该研究在三个数据集上进行实验:CIFAR-10、CIFAR-100和TinyImageNet,其中在CIFAR-10和CIFAR-100数据集上攻击PyramidNet-272、GDAS、WRN-28和WRN-40这四种网络,而在TinyImageNet数据集上攻击ResNeXt-101(32x4d)、ResNeXt-101(64x4d)和DenseNet-121三种网络。

在targetedattack中,该研究设置targetlabel为原始(truelabel+1)%class_number。对比方法该研究选择NES、RGF、P-RGF、MetaAttack和Bandits,其中Bandits作为基准。方法设置参数可参见表1:

表1:模拟器攻击的默认参数设置。

图5:AblationStudy。

剥离实验的结果如图5所示。值得一看的是图5(b),它展示了不同的simulator-predictintervalm设置下的untargeted和targetedattack的攻击结果,虽然越大的simulator-predictinterval会造成越多的query被输入给模拟器,但是也意味着模拟器得到越少的机会被微调,因此在targetedattack这种困难的攻击中很难达到较高的成功率。其他的结果分析可详见原始论文。

表2:untargetedattack的CIFAR-10和CIFAR-100数据集的实验结果。

表3:targetedattack的CIFAR-10和CIFAR-100数据集的结果。

表4:范数下的untargetedattack攻击TinyImageNet的实验结果。

表5:范数下的targetedattack攻击TinyImageNet的实验结果。

图6:不同最大查询预算的限制下的成功率。

表2-表5展示的10000次查询限制下实验结果,而不同的最大查询预算限制下的成功率见图6。可以得出结论:模拟器攻击相比于Bandits攻击和其他攻击,可以将查询复杂度降低几个数量级而不改变成功率。这一结果同样也显示在攻击防御模型的结果中(表6)。

表6:范数攻击防御模型的结果,所有防御模型皆选择ResNet-50backbone。

结论

「万物皆可模拟!」运用模拟器可以模仿各种未知网络的输出,甚至是训练过程中没见过的网络,这就是模拟器攻击这篇论文所展现出的强大能力。这篇论文确定了一种新的攻击形式:攻击者可以在获知目标模型的最少量的信息的情况下成功地伪造出相似的模型,即模拟器。在攻击时,这就可以将大量的查询转移到模拟器上,从而将查询复杂度显著降低而不过多地改变成功率。

THE END
1.元学习MetaLearning什么是元学习 元学习(Meta-Learning),也称为“学习如何学习”,是一种机器学习方法,其目的是通过学习算法的经验和结构特性,提升算法在新任务上的学习效率。 换句话说,元学习试图学习一种更有效的学习方法,使得模型能够快速适应新的任务或环境。 传统的机器学习算法通常需要大量的数据来训练模型,并且当数据分布发生变化https://blog.csdn.net/qq_60735796/article/details/142025393
2.元学习案例(学习如何学习)元学习入门详解(MAML算法及Reptile算法复现)优秀教程 元学习(Meta-learning),也称为“学习如何学习”,是机器学习领域的一种方法,旨在让模型通过学习经验来更好地应对新的任务。传统机器学习通常专注于解决单一任务,而元学习则聚焦于使模型通过从多个任务中学习,来提高其在全新任务中的表现。 http://www.kler.cn/a/349427.html?action=onClick
3.元学习元学习 (Meta-Learning) 通常被理解为“学会学习 (Learning-to-Learn)”, 指的是在多个学习阶段改进学习算法的过程。 在基础学习过程中, 内部(或下层/基础)学习算法解决由数据集和目标定义的任务。 在元学习过程中,外部(或上层/元)算法更新内部学习算法,使其学习的模型改进外部目标。 因此,元学习的核心想法是学https://www.jianshu.com/p/b88053b4402d
4.深度学习应用篇指的是在多个学习阶段改进学习算法的过程。 在基础学习过程中, 内部(或下层/基础)学习算法解决由数据集和目标定义的任务。 在元学习过程中,外部(或上层/元)算法更新内部学习算法,使其学习的模型改进外部目标。 因此,元学习的核心想法是学习一个先验知识 (prior)。 https://cloud.tencent.com/developer/article/2296112
5.元学习:机器学习的未来,让AI从经验中学习并适应新挑战元学习,也称为“学习如何学习”,是机器学习领域中一个令人兴奋且极具潜力的研究方向。传统的机器学习算法通常需要大量的数据来训练模型,并且当数据分布发生变化或者遇到一个新任务时,模型往往需要重新训练才能保持良好的性能。而元学习则不同,它通过 https://mp.weixin.qq.com/s?__biz=MzIwNDY0MjYzOA==&mid=2247516515&idx=1&sn=34a8816d1a6cdfd54fc94ddff3bfe615&chksm=96141a1d4833254215aca22f3010b3716a2a765fe8f683269e94182a443f03ae3f95fee2efa0&scene=27
6.计算机视觉中的小样本学习综述wx5d23599e462fa的技术博客元学习算法——定义、度量学习、基于梯度的元学习 Few-Shot图像分类算法——与模型无关的元学习、匹配、原型和关系网络 Few-Shot目标检测– YOLOMAML 什么是小样本学习? Few-Shot Learning(以下简称FSL)是机器学习的一个子领域。在只有少数具有监督信息的训练样本情况下,训练模型实现对新数据进行分类。 https://blog.51cto.com/u_14439393/5748518
7.百面深度学习算法工程师带你去面试本书由Hulu的近30位算法研究员和算法工程师共同编写完成,专门针对深度学习领域,是《百面机器学习:算法工程师带你去面试》的延伸。全书内容大致分为两个部分,第一部分介绍经典的深度学习算法和模型,包括卷积神经网络、循环神经网络、图神经网络、生成模型、生成式对抗网络、强化学习、元学习、自动化机器学习等;第二https://www.epubit.com/bookDetails?id=UB71eb7f09e64b2
8.什么是元学习Metalearning?(为什么它很重要)强化学习:依赖海量的训练,并且需要精准的奖励。成本较高且比较复杂。 元学习:具备自学能力,能够充分利用过去的经验来指导未来的任务。被认为是实现通用人工智能的关键。 什么是元学习? 元学习的思想是学习「学习(训练)」过程。 元学习有好几种实现方法,不过本文谈到的两种「学习『学习』过程」的方法和上文介绍的方式https://easyai.tech/ai-definition/meta-learning/
9.《除数是整数的小数除法》说课稿(通用11篇)解决问题:《新编童话集》共4本,售价26.8元。平均每本售价多少钱? 环节六:完善认知。 引导学生从知识、方法多方面来谈自己的收获,并对自己整节课的表现作自我评价。 四、说板书设计。 例题作为本节课的重点板书在黑板中央,整数除法放在附板书位置,用来作为学习例题的辅助资源。整体上板书设计层次分明,重点突出,使学https://www.yjbys.com/shuokegao/xiaoxue/1186007.html
10.小学数学教案(精选15篇)小数乘整数表示什么呢? 二。探究算法 1、请大家想办法算出0。2×3的积。 (1)学生独立思考并计算。 (2)同桌交流算法。 (3)全班交流: A。连加法:0。2+0。2+0。2=0。6 b。联想、转化:0。2元=2角2角×3=6角=0。6元 c。画图法:你是怎样画的?为什么要画3个0。2? https://www.unjs.com/jiaoan/shuxue/20230626065815_7317540.html
11.当传统联邦学习面临异构性挑战,不妨尝试这些个性化联邦学习算法该方法通过引入一个精细化调整阶段,该精细化调整阶段使用模型不可知的元学习算法(model agnostic meta learning,MAML)。通过联邦学习训练得到的全局模型可以个性化地捕捉单个设备中的细粒度信息,从而提高每个物联网设备的性能。MAML 可以灵活地与任何模型表示相结合,以适应基于梯度的训练。此外,它只需少量的数据样本就https://www.thepaper.cn/newsDetail_forward_9306970
12.一周AI最火论文模型是否遗忘了我删除的数据?这个算法可以评估!为了实现机器人在复杂多变的世界中的自主运行,学习适应性策略至关重要。在本文中,谷歌AI研究人员与哥伦比亚大学合作提出了一种新的元学习方法,该方法可以使机器人快速适应动态变化。 与依赖于二阶梯度估计的元学习算法相比,研究人员引入了更耐噪声的Batch Hill-Climbing适应算子,并将其与基于进化策略的元学习相结合。https://news.hexun.com/2020-04-27/201164779.html
13.NatureMachineIntelligence刘琦教授团队开发基于元学习的AIPanPep算法框架(图2)包含了元学习模块和解耦蒸馏(Disentanglement distillation)模块。其中,针对已知数据的长尾效应,元学习模块采用了Model-Agnostic Meta Learning(MAML)计算框架。模型假设每一个肽段具有其特异性的TCR结合模式,因此每一个肽段下的TCR结合识别任务被当作MAML中的一个任务,且肽段表征的分布即为任务的分https://life.tongji.edu.cn/81/05/c12615a295173/page.htm
14.学会学习更多:元强化学习译站元学习算法:元学习算法通过所学知识来更新模型权重。该算法的主要目标是应用从先前任务中学到的知识优化模型,以在最短时间内使模型能够处理全新的任务。先前的研究一般是通过LSTM单元的梯度下降来更新权重。 MAML和Reptile是典型的元学习算法,通过该算法更新模型参数,使得模型在未知的新任务中具有良好的泛化性能。 04 https://god.yanxishe.com/TextTranslation/2950
15.字节跳动CVPR2023论文精选来啦(内含一批图像生成新研究)因此在这项工作中,为了提升模型对这种未见组合的表现,作者团队从元学习的角度提出了一个新颖的框架, 这个框架只改变模型的训练方式,因此可以无缝的和现有模型结合起来去提升他们的表现。 首先作者分析了这个任务中现有文字表达主要的三种组合方式,即单词与单词的组合,单词与词组的组合,词组与词组的组合,可见下图中的例子https://xie.infoq.cn/article/940b4ff308a91bf5cec9ab05b
16.融合元学习和PPO算法的四足机器人运动技能学习方法融合元学习和PPO算法的四足机器人运动技能学习方法 朱晓庆?,刘鑫源,阮晓钢,张思远,李春阳,李鹏 (北京工业大学信息学部,北京100020;计算智能与智能系统北京市重点实验室,北京100020)摘要:具备学习能力是高等动物智能的典型表现特征,为探明四足动物运动技能学习机理,本文对四足机器人步态学习任务进行研究,复现了四足动物的https://wenku.baidu.com/view/e368afcebb4ae45c3b3567ec102de2bd9705de71.html