Towards Evaluating the Robustness of Neural Networks

Posted by 云起 on 2025-02-22
Estimated Reading Time 9 Minutes
Words 2.7k In Total
Viewed 1 Times

Towards Evaluating the Robustness of Neural Networks

[toc]

文章信息

2017

由Nicholas Carlini和David Wagner撰写,来自加州大学伯克利分校。

背景知识

防御性蒸馏:一种通过训练过程来提高神经网络鲁棒性的方法,通过使用软标签(soft labels)来训练模型,从而减少对抗性样本的影响。

  • 原理:防御性蒸馏基于模型蒸馏的思想。

    • 模型蒸馏是一种将大型复杂模型(教师模型)的知识迁移到小型简单模型(学生模型)中的方法。
    • 在防御性蒸馏中,教师模型和学生模型的架构可以相同,但学生模型通过接受教师模型的软标签(即教师模型对训练样本的概率分布输出)进行训练,而不是传统的硬标签(类别标签)。
  • 实现

    • 步骤1:训练教师模型:使用标准的交叉熵损失函数和硬标签训练一个神经网络。
    • 步骤2:生成软标签:将教师模型的输出概率经过温度缩放,得到软标签。
    • 步骤3:训练学生模型:使用软标签和硬标签训练学生模型,其中学生模型的损失函数包括软标签损失和硬标签损失。
    • 硬标签:是指模型输出的最终类别标签,通常是离散的、确定的值。在分类任务中,硬标签表示模型对输入数据的最终分类结果。例如,在手写数字识别任务中,如果输入的图像是数字“7”,那么硬标签就是“7”。
    • 软标签:是指模型输出的概率分布,反映了模型对每个类别的置信度。软标签是连续的、非确定的值,提供了更丰富的信息。例如,在手写数字识别任务中,如果输入的图像是数字“7”,软标签可能是一个概率分布向量,如 [0.1,0.05,0.05,0.05,0.05,0.05,0.05,0.6,0.05,0.05],表示模型对每个类别的置信度。
    特性 硬标签 软标签
    定义 离散的、确定的类别标签 连续的、非确定的概率分布
    表示 类别索引(如 7) 概率分布向量(如 [0.1, 0.05, …, 0.6, …])
    信息量 信息量较少,仅表示最终分类结果 信息量较多,表示对每个类别的置信度
    应用 模型评估、最终分类结果 模型训练、防御性蒸馏

前置知识

在数学和机器学习领域,度量(或距离度量)是用于衡量两个数据点之间差异或相似性的方法。以下是 $L_0$、$L_2$ 和$ L_∞$ 三种度量的详细介绍:

$L_0$ 度量

  • 定义: $L_0$度量,也称为汉明距离,用于衡量两个向量在不同维度上具有不同值的元素个数。在图像处理中,它表示需要改变的像素数目。

  • 公式

    $d(a,b)=∑_{i=1}^n1(a_i\neq b_i)$

    其中,$1(a_i\neq b_i)$ 是指示函数,当$(a_i\neq b_i)$时取值为 1,否则为 0。

  • 应用场景:$L_0$度量常用于图像处理和稀疏表示中,特别是在需要最小化改变的像素数或特征数的场景中。

$L_2$ 度量

  • 定义:$L_2$度量,也称为欧几里得距离,是向量空间中两点间“普通”(即直线)的距离。它表示两个向量在各维度上的差值的平方和的平方根。

  • 公式

    $d(a,b)=\sqrt{∑_{i=1}^n(a_i−b_i)^2}$

    其中,$a_i$ 和 $b_i$ 分别是向量 a 和 b 的第 i 个元素,n 是向量的维度。

  • 应用场景:$L_2$ 度量是最常用的距离测量之一,广泛应用于机器学习和深度学习中的分类和聚类问题,如 K 近邻算法和 K 均值聚类。

$L_∞$ 度量

  • 定义:$L_∞$ 度量,也称为切比雪夫距离,是向量空间中的一种度量,两个点之间的距离定义为其各坐标数值差绝对值的最大值。它表示两个向量在所有维度上的最大差异。

  • 公式

    $d(a,b)=max_i∣a_i−b_i∣$

    其中,$∣a_i−b_i∣$ 是向量 a 和 b 在第 i 个维度上的差的绝对值。

  • 应用场景:$L_∞$ 度量常用于国际象棋中,表示国王从一个位置走到另一个位置所需的最小步数。在机器学习中,它也用于衡量多维数据之间的最大差异。

总结

  • $L_0$ 度量:用于衡量不同维度上具有不同值的元素个数,常用于稀疏表示和图像处理。
  • $L_2$ 度量:用于衡量两个向量在各维度上的差值的平方和的平方根,广泛应用于分类和聚类问题。
  • $L_∞$ 度量:用于衡量两个向量在所有维度上的最大差异,常用于国际象棋和多维数据的差异衡量。

算法

文章提出了三种新的攻击算法,分别是针对 L0、L2 和 L∞ 距离度量的攻击算法。这些算法的目标是生成对抗性样本,以评估和突破防御性蒸馏等防御方法的有效性。

$L_2$算法

算法背景

$L_2 $攻击算法的目标是找到一个最小的 $L_2$ 范数扰动,使得神经网络的分类结果发生变化。L2 范数(欧几里得距离)衡量的是两个向量之间的直线距离。在图像处理中,这表示像素值的平方差的总和的平方根。该算法旨在生成与原始图像在视觉上非常相似但分类结果不同的对抗性样本。

算法介绍

  1. 目标函数设计

    • 定义目标函数 f(x′) 为:

      $f(x′)=max(max{Z(x′)_i:i \neq t}−Z(x′)_t,−κ)$

      其中,Z(x′) 是模型的输出 logits,t 是目标分类,κ 是一个控制置信度的参数。

      目标函数用于衡量模型对目标分类的置信度,希望目标分类的logits值比其他分类至少大k

    • 优化问题转化为:

      $minimize ∥δ∥_2+c⋅f(x+δ)$

      其中,δ 是扰动,c 是一个超参数,用于平衡 $L_2$ 范数和目标函数 f(x′) 的权重。

  2. 优化方法

    • 使用 Adam 优化器进行梯度下降,以最小化目标函数和 L2 范数的线性组合。
    • 通过调整 c 的值,可以在不同距离要求下找到对抗性样本。
  3. 箱式约束处理

    • 使用变量变换技术,将扰动 δ 表示为:

      $x′=\frac{1}{2}(tanh(w)+1)$

      这样,x′ 的每个像素值都会被压缩到 [0, 1] 区间内,从而避免了对像素值的直接约束。

$L_0$ 攻击算法

算法背景

$L_0$ 攻击算法的目标是找到一个最小的 L0 范数扰动,使得神经网络的分类结果发生变化。$L_0$ 范数表示需要改变的像素数目。该算法旨在生成与原始图像在视觉上非常相似但分类结果不同的对抗性样本,同时尽量减少需要改变的像素数目

算法介绍

  1. 像素选择策略
    • 该算法通过迭代地固定对分类影响最小的像素,逐步找到最小的像素集,使得模型的分类结果改变。
    • 在每一步中,计算当前解对应的梯度,并选取对目标函数 f(x′) 影响最小的像素进行固定。具体来说,选择像素 i,使得$ i=argmin_ig_i⋅δ_i$,其中$ g_i$ 是梯度,$δ_i$ 是扰动。
  2. 综合 L2 攻击
    • 在每一步的像素固定过程中,使用 $L_2$ 攻击算法来寻找当前允许改变的像素范围内的最优解。通过这种方式,逐步缩小需要改变的像素范围,直到找到一个最小的像素集,使得模型的分类结果改变。

$L_∞$ 攻击算法

算法背景

$L_∞$ 攻击算法的目标是找到一个最小的 $L_∞$ 范数扰动,使得神经网络的分类结果发生变化。$L_∞$ 范数表示每个像素的最大变化量。该算法旨在生成与原始图像在视觉上非常相似但分类结果不同的对抗性样本,同时尽量减少每个像素的最大变化量

算法介绍

  1. 目标函数调整

    • 为了处理 $L_∞$范数,引入了逐像素的惩罚项。优化问题转化为:

      $minimize \ c⋅f(x+δ)+∑_i(δ_i−τ)^+$

      其中,τ 是当前允许的最大扰动值,$(⋅)^+$ 表示取正值部分。通过这种方式,可以限制每个像素的变化量不超过 τ。

  2. 迭代降低扰动阈值

    • 算法初始时设置一个较大的 τ,然后在每次迭代中逐渐降低 τ。通过这种方式,可以在保证模型分类结果改变的同时,尽可能地减少每个像素的变化量。

算法的目标

这些攻击算法的目标是生成对抗性样本,以评估和突破防御性蒸馏等防御方法的有效性。具体来说:

  1. 评估防御性蒸馏的有效性
    • 通过生成对抗性样本,验证防御性蒸馏是否能够有效抵御攻击。
    • 文章通过实验表明,尽管防御性蒸馏在之前的实验中表现出色,但这些新的攻击算法能够成功绕过这种防御,表明防御性蒸馏并不能显著提高神经网络的鲁棒性。
  2. 提供基准
    • 这些攻击算法可以作为评估其他防御方法的基准。通过比较不同防御方法在这些攻击下的表现,可以更好地理解各种防御方法的有效性。
  3. 推动研究
    • 通过提出这些强大的攻击算法,文章希望推动研究者开发更有效的防御方法,以抵御对抗性样本的攻击。

总结

文章提出的 $L_0$、$L_2$ 和 $L_∞$ 攻击算法通过不同的优化策略,生成了与原始图像在视觉上非常相似但分类结果不同的对抗性样本。这些算法的目标是评估和突破防御性蒸馏等防御方法的有效性,为未来的研究提供基准和方向。

启发

深入研究对抗性样本的生成机制,有助于更好地理解神经网络的脆弱性。可以通过理论分析和实验验证,探索对抗性样本的生成原理,从而开发更有效的防御方法。


If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !


0 comments
Anonymous
Error: Not Found.
Markdown is supported

Be the first person to leave a comment!