Parallel Backpropagation for Inverse of a Convolution with Application to Normalizing Flows

Sandeep Nagar, Girish Varma
10/18/2024
cs.CVcs.LGcs.MM

No official code found. Best implementation: girish-lab/Inverse-Flow (2 stars, MIT, last commit 2025-05-02). 1 more below.

Abstract

The inverse of an invertible convolution is an important operation that comes up in Normalizing Flows, Image Deblurring, etc. The naive algorithm for backpropagation of this operation using Gaussian elimination has running time $O(n^3)$ where $n$ is the number of pixels in the image. We give a fast parallel backpropagation algorithm with running time $O(\sqrt{n})$ for a square image and provide a GPU implementation of the same. Inverse of Convolutions are usually used in Normalizing Flows in the sampling pass, making them slow. We propose to use the Inverse of Convolutions in the forward (image to latent vector) pass of the Normalizing flow. Since the sampling pass is the inverse of the forward pass, it will use convolutions only, resulting in efficient sampling times. We use our parallel backpropagation algorithm to optimize the inverse of the convolution layer, resulting in fast training times. We implement this approach in various Normalizing Flow backbones, resulting in our Inverse-Flow models. We benchmark Inverse-Flow on standard datasets and show significantly improved sampling times with similar bits per dimension compared to previous models.

View on arXivView PDF

Code Implementations(2)

MIT

code for "Parallel Backpropagation for Inverse of a Convolution with Application to Normalizing Flows"

20C++, CudaApr 30, 20241 years agoMIT
computer-visiongenerative-flow-modelsinvertiable-convolutionmachine-learning
Naagar/InverseFlowCommunity55%

Project page for "Parallel Backpropagation for Inverse of a Convolution with Application to Normalizing Flows"

10CSS, HTMLJan 27, 202510 months ago

Similar Papers

Cite this paper

@article{nagar2024parallel,
  title  = {Parallel Backpropagation for Inverse of a Convolution with Application to Normalizing Flows},
  author = {Sandeep Nagar and Girish Varma},
  year   = {2024},
  eprint = {2410.14634},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2410.14634v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2410.14634.svg)](https://codeofpaper.com/paper/2410.14634)

Discussion