probabilists / zuko

Normalizing flows in PyTorch

Home Page:https://zuko.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add circular spline flow

francois-rozet opened this issue · comments

Description

The circular spline (CS) transformation was introduced in Normalizing Flows on Tori and Spheres (Rezende et al., 2020). It defines a rational-quadratic spline to the half-open interval $[0, 2\pi[$. Several CS transformations can be combined to obtain expressive autoregressive flows on the tori.

Implementation

The authors do not provide an official implementation, but the MonotonicRQSTransform should easy to adapt. To improve expressiveness, spline transformations should be mixed with phase translations $(\theta + \pi) \bmod 2\pi$. The prior of the neural circular spline flow (NCSF) should be uniform.

Note that the CS transformation can be equivalently defined over the half-open interval $[-\pi, \pi]$.