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

要約

可逆畳み込みの逆は、フローの正規化や画像のブレ除去などで登場する重要な操作です。ガウス消去法を使用したこの操作の逆伝播の単純なアルゴリズムの実行時間は $O(n^3)$ です。ここで $n$ は数値です
画像内のピクセル数。
正方形の画像に対して実行時間 $O(\sqrt{n})$ の高速並列バックプロパゲーション アルゴリズムを提供し、それと同じ GPU 実装を提供します。
逆畳み込みは通常、サンプリング パスのフローの正規化で使用されるため、フローが遅くなります。
正規化フローの前方 (画像から潜在ベクトルへ) パスで逆畳み込みを使用することを提案します。
サンプリング パスはフォワード パスの逆であるため、畳み込みのみを使用し、サンプリング時間が効率的になります。
逆畳み込み層を最適化するために並列バックプロパゲーション アルゴリズムを使用することで、トレーニング時間も短縮されます。
このアプローチをさまざまな正規化フロー バックボーンに実装し、その結果、逆フロー モデルが生まれます。
標準データセットで Inverse-Flow のベンチマークを行ったところ、以前のモデルと比較して、次元あたりのビット数が同等であり、サンプリング時間が大幅に改善されたことがわかりました。

要約(オリジナル)

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 Convolutions are usually used in Normalizing Flows in the sampling pass, making them slow. We propose to use Inverse 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 for optimizing the inverse convolution layer resulting in fast training times also. 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.

arxiv情報

著者 Sandeep Nagar,Girish Varma
発行日 2024-10-18 17:35:33+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CV, cs.LG, cs.MM, math.PR パーマリンク