This repository includes TensorFlow2.x & Keras implementation of the following flow-based models:
- NICE (Dinh et al., 2014)
- RealNVP (Dinh et al., 2016)
Following datasets were used for testing each model.
- Moon-shaped data
- MNIST
Moon-shaped data | MNIST | |
---|---|---|
NICE | ||
RealNVP |
- Due to the invertibility of layers, it is easy to visualize and interpret layer-wise operations.
- Implementing flow-based models is a bit finicky because the forward/inverse mapping can be changed based on the architecture and frameworks (tensorflow, tensorflow_probability, jax, pytorch).
- The current implementations of NICE and RealNVP is not near perfect nor purely my own work.
- Add GLOW
- python 3.6.9
- tensorflow 2.3.0
- matplotlib
- seaborn
- numpy
- sklearn
- Dinh, L., Krueger, D., & Bengio, Y. (2014). NICE: Non-linear Independent Components Estimation. ArXiv, 1–13.
- Dinh, L., Sohl-Dickstein, J., & Bengio, S. (2016). Density estimation using Real NVP. Arxiv.