-
Notifications
You must be signed in to change notification settings - Fork 84
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
Addition of ICNN Initialization Schemes #90
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Charlotte! a few comments to start
@@ -0,0 +1,520 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unnecessary braces in (dataloader_source, ..., )
In general, would prefer code cells to be formatted (black is ok if @marcocuturi is ok with it; wasn't able to find yapf
-based formatter for notebooks).
Reply via ReviewNB
@@ -0,0 +1,520 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Add ICNN formulation with new initialization schemes. * Adapt ICNN test. * Add notebook comparing both ICNN initialization schemes. * Update notebook on neural dual. * Add notebook to documentation. * Integration of comments by Marco. * Integration of comments by Marco. * Integration of comments by Marco. * Integration of comments by Marco. * 😵 * 🤯
In this pull request, we add input convex neural network (ICNN) initialization schemes proposed in Bunne+(2022). Given a source and target measure, one aims at learning a map T between source and target parameterized via the gradient of an ICNN. To facilitate training, Bunne+(2022) propose to initialize the ICNN via different initialization schemes:
(i.) The
identity
function, i.e., before training (and without a pretraining requirement), the gradient of the ICNN maps its input measure onto itself.(ii.) The
gaussian
approximation initializes the ICNN in such a way that the gradient of the ICNN maps a measure onto the Gaussian approximation of the opposite measure (utilizing closed-form results for Gaussian optimal transport maps).This pull request also updates the existing
NeuralDual
to operate on the new ICNN initialization and a notebook comparing both initialization schemes.