对抗防御方法(Adversarial defense method)

简介

本文基于文章A Review of Adversarial Attack and Defense for Classification Methods的总结,提供对抗领域的几种常见的防御方法

攻击方法见:对抗攻击方法(Adversarial attack method)

防御方法大体分为四大类:(1)对抗训练(2)引入随机因素(3)用投影去除对抗性扰动,(4)检测对抗性示例而不是正确分类它们。

一、对抗训练(Adversarial Training)

非常经典的提高鲁棒性的方法

对抗训练致力于解决以下问题:

\min_{\theta}\max_{\delta\in S}L(\theta,x+\delta,y)

这是一个经典的最大最小问题,最大化损失用于创建对抗样本,而最小化则用于使得分类器正确分类对抗样本

介绍一种非常经典的对抗训练方式TRADES(Theoretically Principled Trade-off between Robustness and Accuracy)

黄框内容为生成对抗样本,红框则为参数更新方式

其损失定义分为两部分,其一正常的交叉熵损失,其二则是正常样本以及对抗样本之间概率的交叉熵;该损失引导模型分类自然样本的同时,还使对抗样本和自然样本的分类概率近乎一致

二、随机化( Randomization)

依答主理解,1)随机性的引入使得攻击无法完整的获取模型信息(因为随机性的存在,训练和攻击过程中所获取的随机因素不一致);2)随机性的引入拓宽了决策边界

随机因素一般施加在三种地方:

输入:即随机化神经网络的输入以消除潜在的对抗性扰动

隐藏层输出:即在输入和隐藏输出中加入高斯噪声,并引入剪枝方法对网络输出进行随机化

分类器的参数:利用贝叶斯分量为模型的权重添加随机性

对于第二种方式,推荐论文ResNets Ensemble via the Feynman-Kac Formalism to Improve Natural and Robust Accuracies,其通过对resnet的快捷链接处添加高斯噪声用于提高鲁棒性

三、去噪/投影(Projection)

这一维度利用生成模型的力量如自动编码器(AE)和生成对抗网络(GAN),通过在训练数据上拟合生成模型来消除对抗噪声

这些防御机制利用生成模型的力量来对抗来自敌对例子的威胁。首先将分类器的输入输入到生成模型中,然后进行分类。由于生成模型是在自然示例上训练的,因此对抗性示例将被投影到生成模型学习的流形中。此外,将对抗性示例“投射”到生成模型的范围内可以产生减少对抗性扰动的理想效果。

此维度推荐一篇文章:DEFENSE-GAN: PROTECTING CLASSIFIERS AGAINST ADVERSARIAL ATTACKS USING GENERATIVE MODELS

该方法通过生成多个随机种子,挑选和样本最近的种子进行生成

 四、检测(Detection)

该维度方法旨在检测对抗性示例的存在,而不是试图将它们分类到正确的类别中。这些方法背后的主要假设是,与自然数据相比,对抗示例来自不同的分布。换句话说,对抗性示例不位于数据流形上,dnn只对靠近训练数据流形的样本进行正确分类

文章提到了一种方法,即通过核函数判断样本是否是对抗样本的置信度

\hat{p}_X(x)=\frac{1}{n}\sum_{i=1}^nK_\sigma(x,x_i)

其中x_1,\ldots,x_n是抽取的训练样本

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值