51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

定义对抗样本,并分类常见的对抗攻击方法(如FGSM、PGD、C&W),说明每种方法的原理和适用场景。

360AI算法安全研究员难度:中等

答案

1) 【一句话结论】
对抗样本是通过在输入数据上添加满足Lp范数约束(如L∞范数下像素变化不超过ε)的微小扰动,导致模型预测错误的样本。常见攻击方法(FGSM、PGD、C&W)通过不同优化策略生成扰动,分别适用于快速鲁棒性测试、复杂模型防御等场景,需区分白盒(需模型参数)与黑盒(无需模型参数)的核心区别。

2) 【原理/概念讲解】
老师口吻解释:对抗样本的核心是“微小扰动导致错误预测”。正常样本为(x)(属于真实数据分布),标签为(y),对抗样本为(x' = x + \delta),其中扰动(\delta)满足(|\delta| \leq \varepsilon)((\varepsilon)为扰动边界,如L∞范数下每个像素的最大变化量,通常取0.03-0.1),模型(f(x'))输出错误标签(y' \neq y)。类比:给一张猫的图片加一点“微小的噪声”(扰动),让模型误判为狗,这就是对抗样本。白盒攻击需要模型参数(如梯度、权重),可计算梯度生成扰动;黑盒攻击无需模型参数,通过查询模型预测结果反推扰动。

分类方法原理:

  • FGSM(Fast Gradient Sign Method):单步梯度上升法。计算输入(x)的梯度(\nabla_x L(f(x), t))((L)为损失函数,(t)为目标标签),生成扰动(\delta = \varepsilon \cdot \text{sign}(\nabla_x L)),更新(x' = x + \delta)。原理是沿损失函数梯度的符号方向添加最大扰动,单步完成。
  • PGD(Projected Gradient Descent):多步小扰动迭代法。通过多次迭代更新扰动(\delta = \varepsilon \cdot \text{sign}(\nabla_x L)),并在每次迭代后投影到单位球内((|\delta| \leq \varepsilon)),生成更鲁棒的对抗样本。原理是多次迭代小扰动,逐步逼近最优扰动。
  • C&W(Carlini and Wagner):混合整数线性规划优化法。通过优化目标最小化扰动(|\delta|)同时最大化损失,考虑模型参数的梯度,生成更复杂的对抗样本(适用于白盒攻击)。原理是求解混合整数线性规划问题,平衡扰动大小和损失效果。

3) 【对比与适用场景】

攻击方法定义原理使用场景注意点
FGSM单步梯度上升生成对抗样本计算输入梯度,沿梯度符号方向添加最大扰动快速评估模型鲁棒性(如初步测试),简单实现计算复杂度低,但扰动较大(易被检测),鲁棒性差
PGD多步小扰动迭代生成多次迭代小梯度更新,投影约束评估模型在多次攻击下的稳定性,对抗训练计算复杂度高于FGSM,但更鲁棒,适用于多次攻击测试
C&W混合整数线性规划优化优化扰动与损失,考虑模型参数梯度复杂模型防御,对抗训练,生成隐蔽攻击(白盒)计算复杂度高,适用于已知模型参数的场景,生成更隐蔽的对抗样本

4) 【示例】
伪代码(PyTorch风格):

import torch
import torch.nn as nn

def fgsm_attack(model, x, y, epsilon):
    x.requires_grad = True
    output = model(x)
    loss = nn.CrossEntropyLoss()(output, y)
    model.zero_grad()
    loss.backward()
    grad = x.grad.data
    perturbed_x = x + epsilon * torch.sign(grad)
    return perturbed_x

# 示例:假设模型为简单CNN,输入x,标签y
model = nn.Sequential(...)  # 简化模型
x = torch.randn(1, 3, 32, 32)  # 输入
y = torch.tensor([0])  # 标签
epsilon = 0.03  # 扰动边界(L∞范数下像素变化最大值)
x_adv = fgsm_attack(model, x, y, epsilon)

5) 【面试口播版答案】
对抗样本是指通过在输入数据上添加满足Lp范数约束的微小扰动(比如L∞范数下每个像素的最大变化不超过0.03),使得模型预测错误的样本。常见的攻击方法有FGSM、PGD和C&W。FGSM是快速梯度符号方法,通过计算输入的梯度并沿梯度符号方向添加最大扰动,单步生成对抗样本,适用于快速评估模型鲁棒性;PGD是多步投影梯度下降法,通过多次迭代小扰动并投影到约束球内,生成更鲁棒的对抗样本,适用于对抗训练或多次攻击测试;C&W方法通过混合整数线性规划优化,同时最小化扰动大小并最大化损失,考虑模型参数的梯度,生成更复杂的对抗样本,适用于对抗训练或复杂模型防御。每种方法有不同的计算复杂度和效果边界,比如FGSM简单但扰动较大易被检测,而C&W更复杂,能生成更隐蔽的攻击。

6) 【追问清单】

  • 问题1:对抗样本的生成是否需要模型参数?
    回答要点:白盒攻击需要模型参数(如梯度、权重),可通过计算梯度生成扰动;黑盒攻击无需模型参数,仅通过查询模型预测结果反推扰动。
  • 问题2:不同攻击方法的计算复杂度对比?
    回答要点:FGSM计算最简单(单步梯度),PGD需要多次迭代(计算复杂度高于FGSM),C&W通过优化问题求解,计算复杂度最高。
  • 问题3:如何防御对抗攻击?
    回答要点:常见防御方法包括对抗训练(在训练时加入对抗样本)、输入净化(去除输入中的扰动)、模型正则化(如Dropout、BatchNorm)等。
  • 问题4:非白盒攻击与白盒攻击的区别?
    回答要点:白盒攻击已知模型参数(如梯度、权重),黑盒攻击未知模型参数,仅通过输入输出查询进行攻击。
  • 问题5:对抗样本在安全领域的应用?
    回答要点:用于评估模型安全性、设计防御机制、对抗训练提升模型鲁棒性,也可用于隐私保护(如对抗隐私保护)。

7) 【常见坑/雷区】

    1. 定义对抗样本时忽略扰动的大小约束(如ε边界,如L∞范数下的像素变化限制),导致概念不完整。
    1. 分类方法时混淆FGSM和PGD的迭代次数(FGSM是单步,PGD是多步),或误解其优化方向(FGSM是梯度上升,PGD是梯度下降)。
    1. 忽略C&W的优化目标(混合整数线性规划),误认为其与梯度下降类似,导致原理描述错误。
    1. 适用场景描述夸张(如FGSM易检测但未说明具体边界,如ε选择对效果的影响),缺乏实际工程限制。
    1. 未明确白盒/黑盒攻击的核心区别(是否需要模型参数),导致概念混淆。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1