Skip to content

Solving various PDEs by employing Siren, with JAX implementation.

Notifications You must be signed in to change notification settings

jaeminoh/Siren_PINNs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resolving failure modes of PINNs with osciliatory activation functions.

It is widely acknowledged that standard Multilayer Perceptrons (MLPs) have inherent limitations in effectively learning high-frequency signals. Consequently, Partial Differential Equations (PDEs) with periodic, sharp, and highly variable solutions pose a significant challenge when trained using Physics-Informed Neural Networks (PINNs).

To address this issue, Krishnapriyan et al. propose a "curriculum" learning approach, starting with easily learnable parameters in PINNs and gradually increasing the complexity towards more challenging cases. By initializing network parameters from the previous step, these authors have successfully tackled "convection, reaction, and reaction-diffusion" equations, which were previously difficult to handle using standard MLPs.

In this repository, we take a different approach, focusing on the application of "Siren" - a widely recognized architecture in the realm of Implicit Neural Representations (INRs). Siren employs a sine activation function and a corresponding initialization scheme, enabling efficient learning of high-frequency signals with MLPs. By leveraging Siren, we aim to overcome the challenges posed by complex PDEs without resorting to the aforementioned curriculum-based methods.

Further speedups can be possible with "Separable PINN".

Burgers, advection, reaction, reaction-diffusion, Allen-Cahn equations are implemented in pinns/ivps.py. Simple example code is available in demo.ipynb.

About

Solving various PDEs by employing Siren, with JAX implementation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published