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

Inverse Dirichlet Adaptive Loss #500

Open
zoemcc opened this issue Mar 21, 2022 · 1 comment
Open

Inverse Dirichlet Adaptive Loss #500

zoemcc opened this issue Mar 21, 2022 · 1 comment

Comments

@zoemcc
Copy link
Contributor

zoemcc commented Mar 21, 2022

Implementing the Inverse Dirichlet adaptive loss method proposed in this paper "Inverse Dirichlet weighting enables reliable training of physics informed neural networks" paper by Suryanarayana Maddu, Dominik Sturm, Christian L Müller, and Ivo F Sbalzarini.

The algorithm is section (3.2) in the paper. The algorithm should be implemented as a concrete subtype of AbstractAdaptiveLoss so that it fits within our pre-existing code gen infrastructure in the discretize_inner_functions function. Note that the algorithm in section (3.1) is implemented in our repo as GradientScaleAdaptiveLoss, and and that implementation is a good reference for the implementation of the Inverse Dirichlet algorithm since they utilize many of the same quantities.

(i.e.)

struct InverseDirichletAdaptiveLoss <: AbstractAdaptiveLoss
...
end

This doesn't seem that difficult to implement as most of the quantities are already calculated in the GradientScaleAdaptiveLoss, the method just has to use the calculated values differently. This would be good to compare as it seems similar to some of the ADAM-like variance-analyzing optimizers.

@hpieper14
Copy link

I'll start looking into this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants