PatchGuard: Adversarially Robust Anomaly Detection and Localization through Vision Transformers and Pseudo Anomalies
论文摘要
Anomaly Detection (AD) and Anomaly Localization (AL) are crucial in fields that demand high reliability, such as medical imaging and industrial monitoring. However, current AD and AL approaches are often susceptible to adversarial attacks due to limitations in training data, which typically include only normal, unlabeled samples. This study introduces PatchGuard, an adversarially robust AD and AL method that incorporates pseudo anomalies with localization masks within a Vision Transformer (ViT)-based architecture to address these vulnerabilities. We begin by examining the essential properties of pseudo anomalies, and follow it by providing theoretical insights into the attention mechanisms required to enhance the adversarial robustness of AD and AL systems. We then present our approach, which leverages Foreground-Aware Pseudo-Anomalies to overcome the deficiencies of previous anomaly-aware methods. Our method incorporates these crafted pseudo-anomaly samples into a ViT-based framework, with adversarial training guided by a novel loss function designed to improve model robustness, as supported by our theoretical analysis. Experimental results on well-established industrial and medical datasets demonstrate that PatchGuard significantly outperforms previous methods in adversarial settings, achieving performance gains of $53.2\%$ in AD and $68.5\%$ in AL, while also maintaining competitive accuracy in non-adversarial settings. The code repository is available at https://github.com/rohban-lab/PatchGuard .
AI解读
好的,我将对这篇名为"PatchGuard: Adversarially Robust Anomaly Detection and Localization through Vision Transformers and Pseudo Anomalies"的论文进行详细分析,重点关注其方法和技术细节。
1. 核心方法与创新点
核心方法论:
该论文提出了一种名为PatchGuard的新方法,用于提高异常检测 (AD) 和异常定位 (AL) 系统在对抗性攻击下的鲁棒性。PatchGuard的核心思想是:
* 利用伪异常 (Pseudo Anomalies) 进行训练: 通过生成与正常数据“接近分布”的伪异常样本,并附带定位掩码 (Localization Masks),来弥补训练数据中缺乏真实异常样本的不足。
* 基于视觉Transformer (Vision Transformer, ViT) 架构: ViT 具有全局上下文建模能力,有助于提高模型在对抗性环境下的性能。
* 对抗训练 (Adversarial Training) 和 novel loss function: 使用对抗训练增强模型鲁棒性,并设计一种新型损失函数,促使ViT模型学习到更高程度的注意力 (Attention Degree),从而提高其对抗攻击的抵抗能力。
主要创新点:
1. 首次解决异常定位中的对抗鲁棒性问题: 之前的研究主要集中在异常检测的对抗鲁棒性上,而PatchGuard首次将这一概念扩展到异常定位,填补了该领域的空白。
2. Foreground-Aware Pseudo-Anomaly Generation (前景感知伪异常生成): 传统伪异常生成方法可能无法保证生成的异常样本与正常数据具有相似的语义和风格。PatchGuard通过结合增强的Grad-CAM特征归因技术和特定的数据增强方法,来识别正常样本中的“因果区域” (Causal Regions),并选择性地扭曲这些区域,从而生成更逼真的伪异常样本,并确保生成的伪异常数据与正常样本分布对齐。
3. 理论分析与Attention机制的联系: 论文对 ViT 模型的注意力机制进行了理论分析,发现图像的注意力程度越高,越能够抵抗对抗攻击。PatchGuard 基于这一发现,设计了一种新的损失函数,以提高模型最后一层注意力层的注意力程度,从而增强模型的对抗鲁棒性。可以理解为:鼓励模型关注更多的输入,而不是只关注几个关键部分,这样攻击者就难以通过修改少量输入来欺骗模型。
4. 新型损失函数 (Novel Loss Function): 设计了一个损失函数,目的是增加模型中最后一层transformer attention degree。这在理论上和实践上都证明可以提高在AD和AL中的对抗鲁棒性。
2. 算法细节与流程
算法流程:
1. Foreground-Aware Pseudo-Anomaly Generation (前景感知伪异常生成)
* Soft Transformations (软变换): 对正常的图像应用一系列轻微的、保持语义不变的图像变换,例如颜色抖动、颜色倾向、灰度转换和微小的高斯噪声。
* Grad-CAM特征归因: 利用预训练的ResNet18模型,结合Soft Transformations,生成一个风格不变的显著图 (Saliency Map) $G(x)$,突出图像中的前景区域。
* Hard Transformations (硬变换): 在显著图 $G(x)$ 标记的前景区域内,随机选择一个锚点,然后应用一系列会改变图像语义的变换,例如旋转、缩放、剪切和添加噪声。
* Mask生成: 以锚点为中心,生成一个随机大小和角度的矩形Mask,只对Mask覆盖的区域应用Hard Transformations,保证修改的局部性。
* Anomaly样本生成: 将经过Hard Transformations扭曲的区域与原始图像的未Mask区域组合,得到最终的伪异常样本 $x'$。同时,根据Mask的位置,生成对应的定位掩码 $x'_m$。
2. Vision Transformer (ViT) 模型训练
* 数据准备: 将正常样本 $x$、伪异常样本 $x'$ 及其对抗样本 $x_{adv}$ 及其对应的定位掩码 $x'_m$ 组成训练Batch。
* ViT特征提取: 使用ViT模型提取每个样本的特征向量。
* Attention-based Discriminator (基于注意力的判别器): 通过一个多头注意力 (Multi-Head Attention, MLH) 机制和一个共享权重的多层感知机 (Multi-Layer Perceptron, MLP) 组成的判别器网络,为每个图像patch分配一个异常分数。
* 损失函数计算:
* Cross-Entropy Loss (交叉熵损失): 用于衡量预测的异常分数与真实标签之间的差异,促进模型准确地定位异常区域。
$$
L_{CE}(x, x_m) = \sum_{i,j \in x_{patches}} CE(M(i,j), x_{m,(i,j)})
$$
其中 $M$ 表示预测的异常图,$x$ 是任何输入样本,$i, j$ 是patch的索引。
* Regularization Term (正则化项): 用于提高ViT模型最后一层注意力层的注意力程度,增强模型的对抗鲁棒性。
$$
R(x) = \frac{1}{P} \sum_{i} \sum_{j} \sum_{k} A_{ijk} \cdot \mathbb{1}(A_{ijk} \le \delta)
$$
其中 $A_{ijk}$ 表示第 $i$ 个头,第 $j$ 个输出patch和第 $k$ 个输入patch对应的注意力系数。 如果 $A_{ijk}$ 小于阈值 $\delta$,则Regularization会增加$A_{ijk}$的值。
* 总损失函数: 将交叉熵损失和正则化项加权求和,得到总损失函数。
$$
L(x, x_m) = L_{CE}(x, x_m) + \alpha R(x)
$$
其中 $\alpha$ 是控制正则化强度的缩放因子。
* 对抗训练: 在训练过程中,使用对抗样本增强模型,利用最小-最大优化问题来提高模型的鲁棒性。
3. 推理阶段 (Inference)
* 异常检测: 对于输入图像,首先利用训练好的ViT模型生成异常图,然后计算异常图中前k个最高分数的平均值,作为图像级别的异常分数。如果该分数超过预定义的阈值,则将图像分类为异常。
* 异常定位: 将ViT模型输出的异常图经过上采样后,即可得到像素级别的异常定位结果。
算法的技术优势和创新之处:
* 鲁棒性:通过对抗训练和注意力正则化,显著提高了模型在对抗性攻击下的鲁棒性,能够在恶意攻击下保持较高的检测和定位精度。
* 准确性:前景感知伪异常生成方法,生成更贴近真实异常的样本,有助于提高模型的泛化能力,在非对抗环境下也保持了具有竞争力的性能。
* 适用性:经过多个工业和医疗数据集的验证,表明该方法具有广泛的应用前景。
3. 详细解读论文第四部分 (理论分析)
论文第四部分旨在从理论上解释为什么一个self-attention layer(自注意力层),其中每个token关注其他tokens的数量更高,比注意力分布在较少数量的tokens上更具对抗鲁棒性。
* 公式推导:
论文从 self-attention 的输出嵌入开始进行推导。假设第 $l$ 层的第 $i$ 个 token 的 self-attention 输出嵌入为 $x^{(l)}_i$,在输入受到扰动后的嵌入为 $\hat{x}^{(l)}_i$。目标是找到一个扰动,使得 $x^{(2)}_i - \hat{x}^{(2)}_i = r_i$,其中 $r_i$ 是期望的对抗方向,可以最大程度地影响 transformer 的后续层。
根据 self-attention 机制:
$$
x^{(l+1)}_i = V^{(l)} \cdot softmax(q^{(l)T}_i K / \sqrt{d}),
$$
其中,
* $q^{(l)}_i = W_q x^{(l)}_i$ 是 query (查询) 嵌入。
* $v^{(l)}_j = W_v x^{(l)}_j$ 是 value (值) 嵌入,$V^{(l)}$ 的第 $j$ 列。
* $k^{(l)}_j = W_k x^{(l)}_j$ 是 key (键) 嵌入,$K$ 的第 $j$ 列。
* $d$ 是嵌入维度。
* $W_q, W_v, W_k$ 是权重矩阵。
为简化起见,假设 key, query 和 value 的嵌入维度相同,且等于原始嵌入维度。 现在,问题转换为:$W_v(X^{(1)}S - \hat{X}^{(1)}\hat{S}) = R$,其中 $R$ 和 $X^{(l)}$ 的列分别由 $r_i$ 和 $x^{(l)}_i$ 表示,$S$ 和 $\hat{S}$ 的列分别对应于对 $X$ 和扰动输入 $\hat{X}$ 计算的每个 query token 的 softmax 值。因此,
$$
W_v(X^{(1)}S - \hat{X}^{(1)}S) = W_v(X^{(1)}S - \hat{X}^{(1)}\hat{S} + \hat{X}^{(1)}\hat{S} - \hat{X}^{(1)}S) = R + W_v\hat{X}^{(1)}(\hat{S} - S) = R + W_v\hat{X}^{(1)}\Delta S,
$$
其中 $\Delta S := \hat{S} - S$。 因此,有
$$
X^{(1)} - \hat{X}^{(1)} = W^+_v(R + W_v\hat{X}^{(1)}\Delta S) \mid_{US^+}.
$$
其中 $W^+_v$ 和 $S^+$ 分别是矩阵 $W_v$ 和 $S$ 的伪逆。 请注意,对于输入中的扰动 $\delta := X^{(1)} - \hat{X}^{(1)}$,为了在网络的输出中产生所需的扰动,我们得到 $\lVert \delta \rVert \leq \lambda_{max} \lVert U \rVert$,其中 $\lambda_{max}$ 是 $S^+$ 的最大特征值。 但注意到,对于一个随机矩阵 $S$,最大特征值为 1。因此,对于逆矩阵 $S^+$,最大特征值将大于 1。 因此,预期 $\lVert \delta \rVert$ 会成比例地增长至 $\lambda_{max} \geq 1$。
* 公式的物理意义:
上述公式推导表明,为了使网络输出产生所需的扰动,输入扰动的大小与 $S^+$ 的最大特征值有关。如果注意力分布更广泛(即每个token关注更多的tokens),则 $S^+$ 的最大特征值会更大,从而需要更大的输入扰动才能达到相同的输出扰动。这意味着网络对输入扰动更不敏感,因此更鲁棒。
* 关键结论:
* 当 $S$ 是一个纯粹局部化的矩阵(即每个 token 只关注自己)时,$\lambda_{max} = 1$,这意味着对抗攻击只需要较小的扰动就能成功。
* 相反,当 $S$ 是一个更广泛分布的注意力矩阵时,$\lambda_{max} > 1$,这意味着对抗攻击需要更大的扰动才能成功。
* 因此,更广泛的注意力分布通常意味着对网络的攻击更容易,从而导致对抗攻击下的鲁棒性更高。
该理论分析从数学上解释了为什么提高 ViT 模型的注意力程度可以增强其对抗鲁棒性,为论文提出的损失函数设计提供了理论依据。
4. 实现细节与注意事项
* Foreground-Aware Pseudo-Anomaly Generation:
* 软变换和硬变换的选择: 软变换旨在保持语义信息,因此选择颜色抖动、灰度转换等操作。硬变换旨在改变语义信息,因此选择旋转、缩放、剪切等操作。
* Mask大小和位置: Mask的大小和位置对最终的异常样本质量有很大影响。需要根据具体数据集进行调整。论文建议,宽度w和高度h分别从图像宽W和高H的5%-30%均匀采样,旋转角度θ从-45度到45度均匀采样。
* ViT模型训练:
* Batch Size: Batch Size 对模型性能有一定影响。论文中Batch Size设为16,这个值可能需要根据硬件资源进行调整。
* 优化器和学习率: 论文中使用AdamW优化器,学习率为0.0008。这些参数可能需要根据具体数据集和模型结构进行调整。
* 正则化项系数 $\alpha$: 该系数控制正则化项的强度,需要仔细调整。如果 $\alpha$ 太小,则正则化效果不明显;如果 $\alpha$ 太大,则可能导致训练不稳定。
* 对抗训练:
* 对抗样本生成: 论文中使用PGD-10 (Projected Gradient Descent) 来生成对抗样本。对抗样本的质量对模型的鲁棒性有很大影响,可以尝试其他对抗攻击方法。
* 扰动范围 $\epsilon$: 扰动范围 $\epsilon$ 限制对抗样本与原始样本的差异,防止生成过于明显的异常样本。需要根据具体数据集进行调整。
* 注意力正则化:
* 正则化层选择:注意力正则化可以应用于ViT模型的不同层。论文中选择最后一层,是因为认为最后一层更能影响模型的最终决策。可以尝试其他层,并进行比较。
* 阈值 $\delta$: 论文将 δ 设置为 1/(number of input patches),是为了让注意力系数分布向均匀分布梯度转变,从而使得模型对每个patch有相近程度的关注。
* 其他注意事项:
* 数据集偏见: 伪异常生成方法可能会引入数据集偏见,影响模型的泛化能力。需要仔细评估生成的伪异常样本的质量,并采取措施减轻偏见。
* 计算资源: 对抗训练需要大量的计算资源。可以使用GPU加速训练过程,或者采用更轻量级的ViT模型。
* 实现难度: 算法涉及ViT模型、对抗训练、伪异常生成等多个模块,实现难度较高。可以参考论文提供的代码,或者使用现有的深度学习框架来实现。
希望这个详细的分析能够帮助你理解这篇论文。
返回论文列表