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

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Nagar, Sandeep, Varma, Girish
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909534990106624
author Nagar, Sandeep
Varma, Girish
author_facet Nagar, Sandeep
Varma, Girish
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2410_14634
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Parallel Backpropagation for Inverse of a Convolution with Application to Normalizing Flows
Nagar, Sandeep
Varma, Girish
Computer Vision and Pattern Recognition
Machine Learning
Multimedia
Probability
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.
title Parallel Backpropagation for Inverse of a Convolution with Application to Normalizing Flows
topic Computer Vision and Pattern Recognition
Machine Learning
Multimedia
Probability
url https://arxiv.org/abs/2410.14634