Training Energy-Based Normalizing Flow with Score-Matching Objectives

Chen-Hao Chao, Wei-Fang Sun, Yen-Chang Hsu, Zsolt Kira, Chun-Yi Lee
5/24/2023
cs.LGstat.ML

No official code found. Best implementation: chen-hao-chao/ebflow (10 stars, PyTorch, last commit 2025-05-19).

Abstract

In this paper, we establish a connection between the parameterization of flow-based and energy-based generative models, and present a new flow-based modeling approach called energy-based normalizing flow (EBFlow). We demonstrate that by optimizing EBFlow with score-matching objectives, the computation of Jacobian determinants for linear transformations can be entirely bypassed. This feature enables the use of arbitrary linear layers in the construction of flow-based models without increasing the computational time complexity of each training iteration from $O(D^2L)$ to $O(D^3L)$ for an $L$-layered model that accepts $D$-dimensional inputs. This makes the training of EBFlow more efficient than the commonly-adopted maximum likelihood training method. In addition to the reduction in runtime, we enhance the training stability and empirical performance of EBFlow through a number of techniques developed based on our analysis of the score-matching methods. The experimental results demonstrate that our approach achieves a significant speedup compared to maximum likelihood estimation while outperforming prior methods with a noticeable margin in terms of negative log-likelihood (NLL).

View on arXivView PDF

Code Implementations(1)

PyTorch

[NeurIPS 2023] Training Energy-Based Normalizing Flow with Score-Matching Objectives

101PythonOct 8, 20231 years ago
density-estimationebflowenergy-based-modelflow-based-modelnormalizing-flows+2 more

Cite this paper

@article{chao2023training,
  title  = {Training Energy-Based Normalizing Flow with Score-Matching Objectives},
  author = {Chen-Hao Chao and Wei-Fang Sun and Yen-Chang Hsu and Zsolt Kira and Chun-Yi Lee},
  year   = {2023},
  eprint = {2305.15267},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.15267v2},
  journal = {NEURIPS 2023 2023}
}

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/2305.15267.svg)](https://codeofpaper.com/paper/2305.15267)

Discussion