Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Rational Quadratic Spline #79

Closed
wants to merge 92 commits into from
Closed

[WIP] Rational Quadratic Spline #79

wants to merge 92 commits into from

Conversation

torfjelde
Copy link
Member

@torfjelde torfjelde commented Feb 11, 2020

EDIT: Realize I've needlessly started this branch from tor/couplings, so I'll close this PR and make a new one starting from master.

Implementation of Rational Quadratic Spline (RQS) [1] as a Bijector.

Notes

  • At the moment RationalQuadraticSpline takes "unconstrained" parameters, i.e. expects input on ℝᵈ, despite the fact that under the hood we transform widths and heights to lie on a (d-1)-simplex S ⊂ ℝᵈ and derivatives to be positive. I initially didn't do this way, but instead let the user choose between passing the parameters wrapped in a Unconstrained struct, in which case we would perform the transformation, or as raw values, in which case it was assumed the parameters indeed was contained within their respective domains. I dropped the use of Unconstrained to reduce "new" code in this PR and since this is very similar to an issue we've expressed interest in solving in more generality.

TODOs

  • Added Compat.jl as a requirement due to how much easier life becomes. That okay?
  • Need to clean up parts of the implementation, e.g. batched multivariate impls.
  • The way we currently do batching in forward for RQS is not the most efficient. So maybe drop the use of "merging" named tuples and instead implement "by hand" a batched version of forward.

References

  1. Durkan, C., Bekasov, A., Murray, I., & Papamakarios, G., Neural Spline Flows, CoRR, arXiv:1906.04032 [stat.ML], (), (2019).

torfjelde and others added 27 commits September 19, 2019 12:08
@torfjelde
Copy link
Member Author

Closed in favour of #80

@torfjelde torfjelde closed this Feb 11, 2020
@yebai yebai deleted the tor/rqs branch May 1, 2020 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant