Skip to main content
QUICK REVIEW

[论文解读] Fast Differentiable Clipping-Aware Normalization and Rescaling

Jonas Rauber, Matthias Bethge|arXiv (Cornell University)|Jul 15, 2020
Model Reduction and Neural Networks参考文献 5被引用 5
一句话总结

本文提出了一种可微分的、非迭代算法,用于计算扰动向量的最优缩放因子,使得其在裁剪至有界数据域(例如 [0,1]^n)后的有效范数与目标 p-范数匹配。通过解析求解缩放与裁剪效应之间的分段线性关系,该方法实现了精确、快速且支持反向传播的归一化,适用于对抗鲁棒性和数据增强等应用。

ABSTRACT

Rescaling a vector $\vecδ \in \mathbb{R}^n$ to a desired length is a common operation in many areas such as data science and machine learning. When the rescaled perturbation $η\vecδ$ is added to a starting point $\vec{x} \in D$ (where $D$ is the data domain, e.g. $D = [0, 1]^n$), the resulting vector $\vec{v} = \vec{x} + η\vecδ$ will in general not be in $D$. To enforce that the perturbed vector $v$ is in $D$, the values of $\vec{v}$ can be clipped to $D$. This subsequent element-wise clipping to the data domain does however reduce the effective perturbation size and thus interferes with the rescaling of $\vecδ$. The optimal rescaling $η$ to obtain a perturbation with the desired norm after the clipping can be iteratively approximated using a binary search. However, such an iterative approach is slow and non-differentiable. Here we show that the optimal rescaling can be found analytically using a fast and differentiable algorithm. Our algorithm works for any p-norm and can be used to train neural networks on inputs with normalized perturbations. We provide native implementations for PyTorch, TensorFlow, JAX, and NumPy based on EagerPy.

研究动机与目标

  • 解决标准扰动缩放在裁剪至有界数据域(如 [0,1]^n)时失效的问题,导致有效扰动大小减小。
  • 克服迭代二分查找方法的局限性,后者速度慢且不可微分,难以在裁剪后找到正确的缩放因子。
  • 实现在裁剪后对扰动大小的精确且可微分的控制,这对训练鲁棒模型和评估对抗鲁棒性至关重要。
  • 提供一种适用于任意 p-范数(1 ≤ p < ∞)和任意有界数据域 [a,b]^n 的通用解决方案。
  • 支持使用归一化扰动进行神经网络的端到端可微分训练,即使在应用裁剪时亦可实现。

提出的方法

  • 将问题形式化为求解 η,使得 ||clip_a,b(x + ηδ) - x||_p = ε,其中裁剪会降低有效扰动大小。
  • 将有效扰动范数的 p 次幂表示为 η^p 的分段线性函数,该函数由每个维度的裁剪行为推导得出。
  • 对于每个维度 i,定义临界阈值 η_i = (c_i - x_i)/δ_i,其中 c_i 是裁剪边界(若 δ_i > 0 则为 b,若 δ_i < 0 则为 a),超过该值时将发生裁剪。
  • 根据其裁剪阈值对维度进行分组,并按 η_i 排序,以支持高效的累积范数贡献计算。
  • 使用排序后阈值的累积和,将范数表示为 η^p 的分段线性函数,从而实现解析求逆以精确找到 η。
  • 通过 NumPy 中的向量化操作高效实现算法,并原生支持 PyTorch、TensorFlow、JAX 和 EagerPy 的自动微分。

实验结果

研究问题

  • RQ1我们如何能解析计算缩放因子 η,使得裁剪后有效扰动范数与目标值 ε 匹配?
  • RQ2我们能否在保持可微分性的同时,消除裁剪感知扰动缩放中对迭代二分查找的需求?
  • RQ3作为缩放因子函数的裁剪扰动范数具有怎样的数学结构?如何高效地实现其反演?
  • RQ4该方法如何在不牺牲计算效率的前提下,推广至不同的 p-范数和数据域?
  • RQ5该方法在提升对抗攻击的有效性与训练效率方面,能达到何种程度?

主要发现

  • 所提算法可解析计算出精确的缩放因子 η,避免了迭代近似,实现了完全可微分。
  • 该方法实现了裁剪后扰动的非迭代、精确归一化,确保了扰动预算的完全利用。
  • 该算法通过 EagerPy 原生兼容 PyTorch、TensorFlow、JAX 和 NumPy,可无缝集成至深度学习流水线。
  • 当 p=2 时,算法通过排序阈值与累积和高效实现,计算复杂度主要由排序决定。
  • 通过将平方与开方操作替换为 p 次幂与 p 次根操作,该解法可直接推广至任意 p-范数。
  • 该方法支持使用归一化扰动进行模型的可微分训练,如在对抗噪声攻击和最坏情况噪声分布学习中的实证所示。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。