概率鲁棒性

引言

传统对抗训练关注最坏情况鲁棒性(worst-case robustness, WCR),即在扰动球内最差情况下的性能。然而,这种度量可能过于保守。**概率鲁棒性(Probabilistic Robustness, PR)**提供了一种更实用的度量方式,评估在局部扰动范围内大部分样本的鲁棒性。1

最坏情况鲁棒性的局限性

WCR的定义

最坏情况鲁棒性定义为:

仅当所有扰动都保持正确分类时,才认为模型是鲁棒的。

问题

  1. 过于严格:极端扰动可能不具实际意义
  2. 无法量化程度:无法区分”只有0.1%扰动失败”和”50%扰动失败”
  3. 保守防御:为追求WCR可能牺牲过多标准性能

概率鲁棒性的定义

基本定义

概率鲁棒性定义为:

即在给定比例 的扰动下保持正确分类。

几何理解

        ┌─────────────────────┐
        │                     │
        │    高鲁棒区域       │
        │  (大部分扰动正确)   │
        │   ┌─────────┐       │
        │   │  中心   │ ← 原始输入
        │   │  样本   │       │
        │   └─────────┘       │
        │                     │
        └─────────────────────┘
        
PR度量的是在ε球内正确分类的概率,而非最差情况

AT-PR方法

核心思想

Zhang等人(ICCV 2025)提出的AT-PR将概率鲁棒性直接融入对抗训练目标:1

优化目标

其中 是动态调整的扰动半径。

AT-PR算法

def at_pr_loss(model, x, y, p_max=0.03, gamma=0.5):
    """
    AT-PR: Adversarial Training for Probabilistic Robustness.
    
    Args:
        model: 分类器
        x: 输入
        y: 标签
        p_max: 最大扰动半径
        gamma: 概率阈值
    """
    # 动态选择扰动半径
    p = p_max * gamma
    
    # 生成对抗样本
    delta = generate_adversarial(model, x, y, epsilon=p)
    
    # 计算损失
    loss = F.cross_entropy(model(x + delta), y)
    
    return loss

与传统AT的区别

方面PGD-AT (WCR)AT-PR (PR)
目标最坏情况概率保证
扰动固定 动态调整
评估
泛化较保守更实用

理论分析

概率鲁棒性的PAC边界

为经验概率鲁棒性(采样估计),则:

样本复杂度

对于 -概率鲁棒性认证,需要样本数:

实验验证

CIFAR-10结果

使用WideResNet-34-10在CIFAR-10上的结果:

方法Clean AccWCR@8/255PR@8/255
PGD-AT87.3%56.1%72.3%
AT-PR88.5%54.8%78.6%
TRADES88.6%55.8%76.2%
MART88.1%57.0%75.8%

ImageNet结果

使用ResNet-50在ImageNet上的结果:

方法Clean Top-1WCR@4/255PR@4/255
PGD-AT62.3%32.1%45.2%
AT-PR63.8%31.5%48.7%

一致性分析

AT-PR在不同的局部输入密度下表现更一致:

def evaluate_consistency(model, x, thresholds=[0.25, 0.5, 0.75, 1.0]):
    """
    评估概率鲁棒性在不同阈值下的一致性。
    """
    results = {}
    for alpha in thresholds:
        pr = compute_pr(model, x, epsilon=0.03, alpha=alpha)
        results[f'PR@{alpha}'] = pr
    
    # 计算标准差(越低越一致)
    consistency = np.std(list(results.values()))
    return results, consistency

与其他鲁棒性概念的关系

WCR → PR

WCR是PR在 时的特例:

平均情况鲁棒性(ACR)

ACR度量所有扰动的平均性能:

AT-PR直接优化ACR的平滑版本。

尾部鲁棒性

Tail-R关注分布的尾部(最差比例):

实践建议

何时使用AT-PR

  1. 关注实际部署:实际扰动并非最坏情况
  2. 需要性能-鲁棒性平衡:不愿为极端鲁棒性牺牲过多准确率
  3. 用户接受度:用户可能偶尔遇到误分类,而非完全失效

实现注意事项

class ATPRScheduler:
    """动态调整gamma参数。"""
    def __init__(self, initial_gamma=0.5, final_gamma=0.9, epochs=100):
        self.gamma = initial_gamma
        self.schedule = np.linspace(initial_gamma, final_gamma, epochs)
    
    def step(self, epoch):
        self.gamma = self.schedule[epoch]
        return self.gamma

本章小结

概率鲁棒性提供了一种更实用的鲁棒性度量:

  1. 定义:评估大部分扰动下的正确率,而非最坏情况
  2. AT-PR方法:ICCV 2025方法,直接优化概率鲁棒性
  3. 优势:更好的Clean-Robust权衡,更一致的局部性能
  4. 应用场景:实际部署优先于极端安全的场景

参考文献

Footnotes

  1. Zhang, Y., et al. (2025). Adversarial Training for Probabilistic Robustness. ICCV 2025. 2