对抗鲁棒性基础

概述

对抗鲁棒性(Adversarial Robustness)研究深度学习模型在有意设计的微小扰动下的行为。对抗样本(Adversarial Examples)是原始输入的微小修改,人类观察者难以察觉,却能导致神经网络模型产生完全错误的预测。这一现象由 Szegedy 等人在 2014 年首次系统揭示,挑战了深度学习”准确率高=泛化能力强”的假设。1

对抗样本的形式化定义

原始定义

给定一个分类器 和输入样本 ,对抗样本 满足:

其中 是扰动预算, 范数。

威胁模型(Threat Model)

对抗攻击的强度由威胁模型定义:

威胁模型攻击者能力实际场景
白盒攻击完全访问模型权重、梯度、结构模型窃取、内部威胁
黑盒攻击只能查询模型输入输出商业API、模型部署
迁移攻击基于替代模型生成,攻击目标模型最常见的实际攻击
物理攻击攻击打印/拍摄后的物理样本自动驾驶、安防系统

范数扰动家族

深度学习中最常用的扰动度量:

  • 范数,限制每个像素的最大变化
  • 范数,限制欧氏距离
  • 范数,限制修改的像素数量
import torch
 
def create_adversarial_example(x, y_true, model, epsilon=0.03, norm='linf'):
    """
    创建对抗样本(基于FGSM)
    
    Args:
        x: 原始输入
        y_true: 真实标签
        model: 目标模型
        epsilon: 扰动预算
        norm: 扰动范数类型 ('linf' 或 'l2')
    """
    x_adv = x.detach().clone().requires_grad_(True)
    
    # 前向传播
    output = model(x_adv)
    loss = torch.nn.functional.cross_entropy(output, y_true)
    
    # 反向传播获取梯度
    model.zero_grad()
    loss.backward()
    
    gradient = x_adv.grad.data
    
    if norm == 'linf':
        # L_inf 扰动:沿梯度符号方向
        delta = epsilon * torch.sign(gradient)
    else:
        # L2 扰动:归一化梯度方向
        delta = epsilon * gradient / (gradient.norm() + 1e-10)
    
    x_adv = (x_adv + delta).detach()
    return x_adv

对抗样本的成因分析

线性视角(Goodfellow 2015)

Goodfellow 提出了对抗样本的线性解释:在高维空间中,即使是微小的线性扰动,累积效应也足以改变分类决策。2

设输入扰动 和权重 ,则:

个维度, 每个维度扰动 时:

关键洞察:当 很大时(如 ImageNet 的 ),微小扰动的线性累积效应可以任意大。

非线性视角(Residual Networks)

最近的研究发现,ResNet 等现代架构通过skip connections部分缓解了线性问题:

Skip connection 允许梯度直接流动,但 部分的线性区域仍可能被攻击利用。

对抗鲁棒性的数学框架

鲁棒优化视角

对抗训练可以形式化为min-max优化问题

其中:

  • 内层最大化:寻找最有效的对抗扰动
  • 外层最小化:调整模型参数以最小化最坏情况损失

局部Lipschitz与鲁棒性

模型对输入扰动的敏感度可以用 Lipschitz常数 刻画:

Lipschitz常数 越小,模型越鲁棒。然而,直接约束 会显著降低模型表达能力,这是鲁棒性-准确率权衡的数学根源。3

评估指标

鲁棒准确率(Robust Accuracy)

其中 是针对样本 的最优对抗扰动。

认证准确率(Certified Accuracy)

认证准确率提供了确定性保证,而非仅针对特定攻击的实验测量。

与相关主题的联系


参考文献

Footnotes

  1. Szegedy, C., et al. (2014). Intriguing properties of neural networks. ICLR 2014. https://arxiv.org/abs/1312.6199

  2. Goodfellow, I. J., et al. (2015). Explaining and Harnessing Adversarial Examples. ICLR 2015. https://arxiv.org/abs/1412.6572

  3. Cissé, M., et al. (2017). Parseval Networks: Improving Robustness to Adversarial Examples. ICML 2017. https://arxiv.org/abs/1704.08847