A normalizing flow describes the transformation of a probability density through a sequence of invertible mappings [1]}.
Given data \(\mathbf {x} \in X\) , a tractable prior \(\mathbf {z} \sim p_z(\mathbf {z})\) , and a learnable bijective transformation \(f_\theta : X \rightarrow Z\)  we can apply the following change of variable formula to define a distribution on \(X\) .
\(\log p_x(\mathbf {x}) = \log p_z(\mathbf {z}) + \log \left| \det \frac{d\mathbf {z}}{d\mathbf {x}} \right|\) 
