对抗样本学习报告

对抗样本学习报告


Ⅰ.背景

随着深度学习的快速发展,在众多机器学习领域取得了重大进步,深度学习在许多至关重要的安全环境中得到应用。但,最近几年研究者发现,输入一些精心设计的样本时,深度学习表现出极大的脆弱性,这些精心设计的样本就是对抗样本。

对抗样本(Adversarial Examples),就是向原始样本中添加一些人眼无法察觉的噪声,添加这些噪声后不会影响人类的识别,但是却很容易欺骗深度神经网络(Deep Neural Networks, DNNs),使其作出与正确结果完全不同的判定。对抗样本的存在导致了DNNs的脆弱性,成为了DNNs在许多关键的安全环境上的主要风险之一。

深度学习广泛地被当作 黑箱技术 –它性能好,但是却不知道为什么性能好,具有不可解释性。通过研究对抗样本,有助于提高神经网络的鲁棒性和可解释性。



Ⅱ.攻击方法分类

威胁模型(Threat Model)和扰动(Perturbation)两个维度对产生对抗样本的方法进行分类,可分类为:
在这里插入图片描述

详细分类情况:

  1. 假正例攻击(False Positive Attacks) 与 假反例攻击(False Negative Attacks)

    • 假正例攻击(False Positive Attacks)是指,生成一个反例(negative sample)但被攻击模型误分类为正例(positive sample),属于第 Ⅰ 类错误。例如:一张人类不可识别的图像,被DNNs以高置信度分类为某一类。如下图4中,将人类不能识别的图像识别成知更鸟

    • 假反例攻击(False Negative Attacks)是指,生成一个正例(positive sample)但被攻击模型误分类为反例(negative sample),这是典型的第 Ⅱ 类错误。例如:人类能够正常识别,但是神经网络不能识别或者对其误分类。大多数对抗样本的生成方法都是假反例攻击。如下图3中,将熊猫识别成长臂猿

  2. 白盒攻击(White Box Attacks) 与 黑盒攻击(Black Box Attacks)

    • 白盒攻击(White Box Attacks)假定攻击者可以完全访问他们正在攻击的神经网络模型的结构和参数,包括训练数据,模型结构,超参数情况,激活函数,模型权重等。
    • 黑盒攻击(black-box attacks)假定攻击者不能访问神经网络模型,只能访问被攻击模型的输出(标签和置信度)。
  3. 目标攻击(Target Attack) 与 无目标攻击(Non-target Attack)

    • 目标攻击(Target Attack)生成的对抗样本被DNNs误分类为某个指定类别。目标攻击一般发生在多分类问题中。
    • 无目标攻击(non-target attack)生成的对抗样本识别结果和原标注无关,即只要攻击成功就好,对抗样本最终属于哪一类不做限制。因为无目标攻击有更多的选择和更大的输出范围,所以比目标攻击更易实现。
  4. 单步攻击(One-time Attack) 与 迭代攻击(Iteration Attack)

    • 单步攻击(One-time Attack)只需一次优化即可生成对抗样本。
    • 迭代攻击(Iteration Attack)需要多次更新对抗样本。迭代攻击生成的对抗样本比单步攻击的攻击效果更好,但迭代攻击需要更多的时间生成对抗样本。
  5. 个体攻击(Individual Attack) 与 普适性攻击(Universal Attack)

    • 个体攻击(Individual Attack)对于每个输入的原始数据添加不同的扰动。大多数攻击方法都属于个体攻击。
    • 普适性攻击(Universal Attack)对整个数据集训练一个通用的扰动。
  6. 优化扰动(Optimized Perturbation) 与 约束扰动(Constrained Perturbation)

    • 优化扰动(Optimized Perturbation)表示扰动大小作为优化过程中的优化目标。该方法旨在生成人类无法识别情况下的最小化扰动的对抗样本。
    • 约束扰动(Constrained Perturbation)表示所添加扰动仅需满足约束即可,该方法只要求扰动足够小。


Ⅲ.数学符号声明

数学符号 意义
xxx 原图像
lll 分类标签
x′x'x 对抗样本
l′l'l 目标分类标签
f(⋅)f(·)f() 深度学习模型
θ\thetaθ fff 的参数
Jf(⋅,⋅)J_f(·,·)Jf(,) 损失函数
∥⋅∥p\left\|·\right\|_pp lpl_plp 范数
η\etaη 扰动(即 η=x′−x\eta = x' - xη=xx
∇\nabla 梯度

Ⅳ.攻击方法介绍

1. L-BFGS Attack

提出:

SzegedySzegedySzegedy 等人发表于 ICLR 2014ICLR~2014ICLR 2014,首次提出了使用对抗样本攻击深度神经网络。

原理:

找到一个扰动 rrr,最小化
c∣∣η∣∣2+J(x+η,l′)c||\eta||_2 + J_(x + \eta, l')cη2+J(x+η,l)
其中 ccc 是个常数 (c>0)(c > 0)(c>0)L−BFGSL-BFGSLBFGS 算法通过线性搜索 c>0c > 0c>0 的所有情况,找到 ccc 的近似值。

缺点:

花时间长
不切实际


2. Fast Gradient Sign Method

在这里插入图片描述

提出:

GoodfellowGoodfellowGoodfellow 等人发表在 ICLR 2015ICLR~2015ICLR 2015

原理:

xxx 沿着梯度方向移动来生成 x′x'x,从而来最大化损失函数。
设定一个 ϵ\epsilonϵ,满足
∥x′−x∥∞≤ϵ\|x' - x\|_∞ \leq \epsilonxxϵ
那么扰动 η\etaηϵsign(∇xJθ(x, l))\epsilon sign(\nabla_xJ_{\theta}(x,~l))ϵsign(xJθ(x, l))

解释:

假设 Jθ(x, l)J_{\theta}(x,~l)Jθ(x, l)xxx 成线性关系,那么有
Jθ(x′, l)=Jθ(x, l)+(x′−x)T∇xJθ(x, l)J_{\theta}(x',~l) = J_{\theta}(x,~l) + (x' - x)^{T}\nabla_xJ_{\theta}(x,~l)Jθ(x, l)=Jθ(x, l)+(xx)

### 深度学习中的对抗样本生成与防御 #### 对抗样本概述 对抗样本是指通过向正常输入数据添微小扰动而产生的恶意样本,这些扰动通常难以被人眼察觉,但却能误导机器学习模型做出错误预测。这类现象揭示了深度神经网络在面对精心设计的小幅度变化时表现出的高度敏感和脆弱。 #### 对抗样本的生成方法 一种常用的生成对抗样本的方法是快速梯度符号法(Fast Gradient Sign Method, FGSM)。该算法利用损失函数相对于输入图像的梯度来计算最有可能引起分类器误判的方向,并沿此方向调整像素值以创建新的测试实例[^3]。 ```python import torch from torchvision import models def fgsm_attack(image, epsilon, data_grad): sign_data_grad = data_grad.sign() perturbed_image = image + epsilon * sign_data_grad perturbed_image = torch.clamp(perturbed_image, 0, 1) return perturbed_image ``` 另一种较为复杂的攻击方式称为迭代优化(Iterative Optimization),它不是一次最大可能改变,而是逐步增干扰直到目标被成功欺骗为止。这种方法可以产生更隐蔽也更具威胁的对抗样例。 #### 防御策略 针对上述提到的安全隐患,研究人员提出了多种有效的缓解措施: - **对抗训练**:这是目前最为广泛采用的一种技术手段。通过对原始数据集注入一定比例的人工合成对抗样本进行联合训练,使得最终得到的模型具备更强泛化能力和抵抗能力[^1][^2]。 - **检测防御**:除了改进模型本身外,还可以建立专门用于甄别异常情况的发生机制。例如,当遇到疑似篡改过的请求时触发警报并采取相应行动防止潜在风险扩散。 #### 应用场景 尽管存在诸多挑战,但在实际生活中已经出现了不少成功的案例证明了这项研究成果的价值所在。比如,在自动驾驶领域内,为了确保车辆感知系统的可靠,开发者们会定期评估其对于各类视觉障碍物的理解程度;又或者是金融行业里用来防范信用卡欺诈行为等场合都离不开这一关键技术的支持与发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值