whitead / dmol-book

Deep learning for molecules and materials book

Home Page:https://dmol.pub

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issue on page 15.Normalizing Flows

bridgesra opened this issue · comments

Text states

We call these functions bijectors because they are bijective (1 to 1, onto). An example of a bijector is an element-wise cosine (assuming is between 0 and ) and non-bijective function would be a reduction. Any function which changes the number of elements is automatically not bijective.

The last sentence is incorrect. E.g., see bijection $\mathbb{R}^2 \to \mathbb{R}$ here

Recommend simply using the previous example of a bijection $cos: [0,\pi] \to [-1,1]$ and saying something like "when considering cosine on $[0,2\pi]$, we see cosine touches all of $[0,1]$ twice and hence is not injective."

Perhaps the statement you want is that normalizing flows are diffeomorphisms, that is bijective and differentiable functions. Since diffeomorphisms (geometry preserving maps) are in particular topological isomorphisms (topology preserving maps), they preserve dimension. This means any map that changes dimensions cannot be a diffeomorphism and will not be a normalizing flow.

Book is very helpful!

Fixed by #223