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のベクトル化演算を効率的に活用し、EagerPyを介してPyTorch、TensorFlow、JAX、NumPyのネイティブな自動微分をサポートする実装を実現する。

実験結果

リサーチクエスチョン

  • RQ1クリッピング後の有効摂動ノルムが所望の目標εに一致するように、ηを解析的に計算する方法は何か?
  • RQ2クリッピング対応摂動スケーリングにおいて、反復的バイナリサーチの必要性を排除しつつ微分可能性を維持できるか?
  • RQ3スケーリング関数としてのクリッピング摂動ノルムの数学的構造は何か? そして、それを効率的に逆算する方法は?
  • RQ4計算効率を損なわずに、異なるpノルムやデータドメインに一般化できるか?
  • RQ5このアプローチは、敵対的攻撃やロバストネス学習の効果性および学習効率をどの程度向上できるか?

主な発見

  • 提案手法は、反復的近似を回避し、完全に微分可能な方法で正確なスケーリング係数ηを解析的に計算可能である。
  • 本手法は、クリッピング後の摂動を反復処理を要せず正確に正規化し、摂動予算を完全に活用する。
  • EagerPyを介して、PyTorch、TensorFlow、JAX、NumPyのネイティブな互換性を備え、ディープラーニングパイプラインへのシームレスな統合を可能にする。
  • p=2の場合、ソート済み閾値と累積和を用いた効率的実装が可能で、計算複雑度は主にソートに依存する。
  • p乗とp乗根の演算に置き換えることで、任意のpノルムに直接一般化可能である。
  • 敵対的ノイズ攻撃や最悪ノイズ分布の学習の事例で示されるように、正規化摂動を用いた微分可能なモデル学習を可能にする。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。