Fast Differentiable Clipping-Aware Normalization and Rescaling

preprint2020arXivOpen access

Abstract

Rescaling a vector δ⃗∈Rn\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 x⃗∈D\vec{x} \in D (where DD is the data domain, e.g. D=[0,1]nD = [0, 1]^n), the resulting vector v⃗=x⃗+ηδ⃗\vec{v} = \vec{x} + η\vecδ will in general not be in DD. To enforce that the perturbed vector vv is in DD, the values of v⃗\vec{v} can be clipped to DD. 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.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.