Physics:Energy-based model

From HandWiki

An energy-based model (EBM) (Canonical Ensemble Learning(CEL) or Learning via Canonical Ensemble (LCE)) is an application of canonical ensemble formulation of statistical physics for learning from data problems. Approach prominently appears in generative models. GMs learn an underlying data distribution by analyzing a sample dataset. Once trained, a GM can produce other datasets that also match the data distribution.[1] EBMs provide a unified framework for many probabilistic and non-probabilistic approaches to such learning, particularly for training graphical and other structured models.[2]

An EBM learns the characteristics of a target dataset and generates a similar but larger dataset. EBMs detect the latent variables of a dataset and generate new datasets with a similar distribution.[2]

Energy-based generative neural networks [3][4] is a class of generative models, which aim to learn explicit probability distributions of data in the form of energy-based models whose energy functions are parameterized by modern deep neural networks.

Boltzmann machines are a special form of energy-based models with a specific parametrization of the energy.[5]

Description

For a given input [math]\displaystyle{ x }[/math], the model describes an energy [math]\displaystyle{ E_\theta(x) }[/math] such that the Boltzmann distribution [math]\displaystyle{ P_\theta(x)=\exp(-\beta E_\theta(x))/Z(\theta) }[/math] is a probability (density) and typically [math]\displaystyle{ \beta=1 }[/math].

Since the normalization constant [math]\displaystyle{ Z(\theta):=\int_{x \in X} dx \exp(-\beta E_\theta(x)) }[/math], also known as partition function, depends on all the Boltzmann factors of all possible inputs [math]\displaystyle{ x }[/math] it cannot be easily computed or reliably estimated during training simply using standard maximum likelihood estimation.

However for maximizing the likelihood during training, the gradient of the log likelihood of a single training example [math]\displaystyle{ x }[/math] is given by using the chain rule

[math]\displaystyle{ \partial_\theta \log\left(P_\theta(x)\right)=\mathbb{E}_{x'\sim P_\theta}[\partial_\theta E_\theta(x')]-\partial_\theta E_\theta(x) \, (*) }[/math]

The expectation in the above formula for the gradient can be approximately estimated by drawing samples [math]\displaystyle{ x' }[/math] from the distribution [math]\displaystyle{ P_\theta }[/math] using Markov chain Monte Carlo[6]

Early energy-based models like the 2003 Boltzmann machine by Hinton estimated this expectation using block Gibbs sampler. Newer approaches make use of more efficient Stochastic Gradient Langevin Dynamics (LD) drawing samples using:[7]

[math]\displaystyle{ x_0' \sim P_0, x_{i+1}' = x_i' - \frac{\alpha}{2}\frac{\partial E_\theta(x_i') }{\partial x_i'} +\epsilon, }[/math]

and [math]\displaystyle{ \epsilon \sim \mathcal{N}(0,\alpha) }[/math]. A replay buffer of past values [math]\displaystyle{ x_i' }[/math] is used with LD to initialize the optimization module.[2]

The parameters [math]\displaystyle{ \theta }[/math] of the neural network are, therefore, trained in a generative manner by Markov chain Monte Carlo[8](MCMC) based maximum likelihood estimation: The learning process follows an "analysis by synthesis" scheme, where within each learning iteration, the algorithm samples the synthesized examples from the current model by a gradient-based MCMC method, e.g., Langevin dynamics or Hybrid Monte Carlo, and then updates the model parameters [math]\displaystyle{ \theta }[/math] based on the difference between the training examples and the synthesized ones, see equation [math]\displaystyle{ (*) }[/math]. This process can be interpreted as an alternating mode seeking and mode shifting process, and also has an adversarial interpretation.[9][10]

In the end, the model learns a function [math]\displaystyle{ E_\theta }[/math] that associates low energies to correct values, and higher energies to incorrect values.[2]

After training, given a converged energy model [math]\displaystyle{ E_\theta }[/math], the Metropolis–Hastings algorithm can be used to draw new samples. The acceptance probability is given by: [math]\displaystyle{ P_{acc}(x_i \to x^*)=\min\left(1, \frac{P_\theta(x^*)}{P_\theta(x_i)}\right). }[/math]

History

The term "energy-based models" was first coined in a 2003 JMLR paper[11] where the authors defined a generalisation of independent components analysis to the overcomplete setting using EBMs. Other early work on EBMs proposed models that represented energy as a composition of latent and observable variables.

Characteristics

EBMs demonstrate useful properties:[2]

  • Simplicity and stability–The EBM is the only object that needs to be designed and trained. Separate networks need not be trained to ensure balance.
  • Adaptive computation time–An EBM can generate sharp, diverse samples or (more quickly) coarse, less diverse samples. Given infinite time, this procedure produces true samples.[9]
  • Flexibility–In Variational Autoencoders (VAE) and flow-based models, the generator learns a map from a continuous space to a (possibly) discontinuous space containing different data modes. EBMs can learn to assign low energies to disjoint regions (multiple modes).
  • Adaptive generation–EBM generators are implicitly defined by the probability distribution, and automatically adapt as the distribution changes (without training), allowing EBMs to address domains where generator training is impractical, as well as minimizing mode collapse and avoiding spurious modes from out-of-distribution samples.[6]
  • Compositionality–Individual models are unnormalized probability distributions, allowing models to be combined through product of experts or other hierarchical techniques.

Experimental results

On image datasets such as CIFAR-10 and ImageNet 32x32, an EBM model generated high-quality images relatively quickly. It supported combining features learned from one type of image for generating other types of images. It was able to generalize using out-of-distribution datasets, outperforming flow-based and autoregressive models. EBM was relatively resistant to adversarial perturbations, behaving better than models explicitly trained against them with training for classification.[2]

Applications

Target applications include natural language processing, robotics and computer vision.[2]

The first energy-based generative neural network is the generative ConvNet [2] proposed in 2016 for image patterns, where the neural network is a convolutional neural network.[12][13] The model has been generalized to various domains to learn distributions of videos,[9][4] and 3D voxels.[14] They are made more effective in their variants.[15][16][17][18][19][20] They have proven useful for data generation (e.g., image synthesis,[2] video synthesis, [9] 3D shape synthesis,[6] etc.), data recovery (e.g., recovering videos with missing pixels or image frames,[9] 3D super-resolution,[6] etc), data reconstruction (e.g., image reconstruction and linear interpolation [16]).

Alternatives

EBMs compete with techniques such as variational autoencoders (VAEs), generative adversarial networks (GANs) or normalizing flows.[2]

Extensions

Joint energy-based models

A classifier can be reinterpreted as joint energy-based model

Joint energy-based models (JEM), proposed in 2020 by Grathwohl et al., allow any classifier with softmax output to be interpreted as energy-based model. Key observation is that such a classifier is trained to predict the conditional probability [math]\displaystyle{ p_\theta(y | x)=\frac{e^{\vec{f}_\theta(x)[y]}}{\sum_{j=1}^K e^{\vec{f}_\theta(x)[j]}} \ \ \text{ for } y = 1, \dotsc, K \text{ and } \vec{f}_\theta = (f_1, \dotsc, f_K) \in \R^K, }[/math] where [math]\displaystyle{ \vec{f}_\theta(x)[y] }[/math] is the y-th index of the logits [math]\displaystyle{ \vec{f} }[/math] corresponding to class y. Without any change to the logits it was proposed to reinterpret the logits to describe a joint probability density:

[math]\displaystyle{ p_\theta(y,x)=\frac{e^{\vec{f}_\theta(x)[y]}}{Z(\theta)}, }[/math]

with unknown partition function [math]\displaystyle{ Z(\theta) }[/math] and energy [math]\displaystyle{ E_\theta (x, y)=-f_\theta(x)[y] }[/math]. By marginalization, we obtain the unnormalized density

[math]\displaystyle{ p_\theta(x)=\sum_y p_\theta(y,x)= \sum_y \frac{e^{\vec{f}_\theta(x)[y]}}{Z(\theta)}=:\exp(-E_\theta(x)), }[/math]

therefore,

[math]\displaystyle{ E_\theta(x)=-\log\left(\sum_y \frac{e^{\vec{f}_\theta(x)[y]}}{Z(\theta)}\right), }[/math]

so that any classifier can be used to define an energy function [math]\displaystyle{ E_\theta(x) }[/math]

See also

Literature

  • Implicit Generation and Generalization in Energy-Based Models Yilun Du, Igor Mordatch https://arxiv.org/abs/1903.08689
  • Your Classifier is Secretly an Energy Based Model and You Should Treat it Like One, Will Grathwohl, Kuan-Chieh Wang, Jörn-Henrik Jacobsen, David Duvenaud, Mohammad Norouzi, Kevin Swersky https://arxiv.org/abs/1912.03263

References

  1. "Implicit Generation and Generalization Methods for Energy-Based Models" (in en). 2019-03-21. https://openai.com/blog/energy-based-models/. 
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Rodriguez, Jesus (2019-04-01). "Generating Training Datasets Using Energy Based Models that Actually Scale" (in en). https://towardsdatascience.com/generating-training-datasets-using-energy-based-models-that-actually-scale-4e1f83bb9e00. 
  3. Xie, Jianwen; Lu, Yang; Zhu, Song-Chun; Wu, Ying Nian (2016). "A theory of generative ConvNet". ICML. Bibcode2016arXiv160203264X. 
  4. 4.0 4.1 Xie, Jianwen; Zhu, Song-Chun; Wu, Ying Nian (2019). "Learning Energy-based Spatial-Temporal Generative ConvNets for Dynamic Patterns". IEEE Transactions on Pattern Analysis and Machine Intelligence 43 (2): 516–531. doi:10.1109/tpami.2019.2934852. ISSN 0162-8828. PMID 31425020. Bibcode2019arXiv190911975X. 
  5. Learning Deep Architectures for AI, Yoshua Bengio, Page 54, https://books.google.de/books?id=cq5ewg7FniMC&pg=PA54
  6. 6.0 6.1 6.2 6.3 Du, Yilun; Mordatch, Igor (2019-03-20). "Implicit Generation and Generalization in Energy-Based Models". arXiv:1903.08689 [cs.LG].
  7. Grathwohl, Will, et al. "Your classifier is secretly an energy based model and you should treat it like one." arXiv preprint arXiv:1912.03263 (2019).
  8. Barbu, Adrian; Zhu, Song-Chun (2020). Monte Carlo Methods. Springer. 
  9. 9.0 9.1 9.2 9.3 9.4 Xie, Jianwen; Zhu, Song-Chun; Wu, Ying Nian (July 2017). "Synthesizing Dynamic Patterns by Spatial-Temporal Generative ConvNet". 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE. pp. 1061–1069. doi:10.1109/cvpr.2017.119. ISBN 978-1-5386-0457-1. 
  10. Wu, Ying Nian; Xie, Jianwen; Lu, Yang; Zhu, Song-Chun (2018). "Sparse and deep generalizations of the FRAME model". Annals of Mathematical Sciences and Applications 3 (1): 211–254. doi:10.4310/amsa.2018.v3.n1.a7. ISSN 2380-288X. 
  11. Teh, Yee Whye; Welling, Max; Osindero, Simon; Hinton, Geoffrey E. (December 2003). "Energy-Based Models for Sparse Overcomplete Representations". JMLR. https://www.jmlr.org/papers/v4/teh03a.html. 
  12. Lecun, Y.; Bottou, L.; Bengio, Y.; Haffner, P. (1998). "Gradient-based learning applied to document recognition". Proceedings of the IEEE 86 (11): 2278–2324. doi:10.1109/5.726791. ISSN 0018-9219. 
  13. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey (2012). "ImageNet classification with deep convolutional neural networks". NIPS. https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf. 
  14. Xie, Jianwen; Zheng, Zilong; Gao, Ruiqi; Wang, Wenguan; Zhu, Song-Chun; Wu, Ying Nian (June 2018). "Learning Descriptor Networks for 3D Shape Synthesis and Analysis". 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. IEEE. pp. 8629–8638. doi:10.1109/cvpr.2018.00900. ISBN 978-1-5386-6420-9. Bibcode2018arXiv180400586X. 
  15. Gao, Ruiqi; Lu, Yang; Zhou, Junpei; Zhu, Song-Chun; Wu, Ying Nian (June 2018). "Learning Generative ConvNets via Multi-grid Modeling and Sampling". 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. IEEE. pp. 9155–9164. doi:10.1109/cvpr.2018.00954. ISBN 978-1-5386-6420-9. 
  16. 16.0 16.1 Nijkamp, Zhu, Song-Chun Wu, Ying Nian, Erik; Hill, Mitch; Zhu, Song-Chun; Wu, Ying Nian (2019). On Learning Non-Convergent Non-Persistent Short-Run MCMC Toward Energy-Based Model. NeurIPS. OCLC 1106340764. 
  17. Cai, Xu; Wu, Yang; Li, Guanbin; Chen, Ziliang; Lin, Liang (2019-07-17). "FRAME Revisited: An Interpretation View Based on Particle Evolution". Proceedings of the AAAI Conference on Artificial Intelligence 33: 3256–3263. doi:10.1609/aaai.v33i01.33013256. ISSN 2374-3468. 
  18. Xie, Jianwen; Lu, Yang; Gao, Ruiqi; Zhu, Song-Chun; Wu, Ying Nian (2020-01-01). "Cooperative Training of Descriptor and Generator Networks". IEEE Transactions on Pattern Analysis and Machine Intelligence 42 (1): 27–45. doi:10.1109/tpami.2018.2879081. ISSN 0162-8828. PMID 30387724. 
  19. Xie, Jianwen; Lu, Yang; Gao, Ruiqi; Gao, Song-Chun (2018). "Cooperative Learning of Energy-Based Model and Latent Variable Model via MCMC Teaching". Thirty-Second AAAI Conference on Artificial Intelligence 32. doi:10.1609/aaai.v32i1.11834. https://www.aaai.org/ocs/index.php/AAAI/AAAI18/paper/view/17432/16737. 
  20. Han, Tian; Nijkamp, Erik; Fang, Xiaolin; Hill, Mitch; Zhu, Song-Chun; Wu, Ying Nian (June 2019). "Divergence Triangle for Joint Training of Generator Model, Energy-Based Model, and Inferential Model". 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE. pp. 8662–8671. doi:10.1109/cvpr.2019.00887. ISBN 978-1-7281-3293-8. 

External links