SciML / NeuralPDE.jl

Physics-Informed Neural Networks (PINN) Solvers of (Partial) Differential Equations for Scientific Machine Learning (SciML) accelerated simulation
https://docs.sciml.ai/NeuralPDE/stable/
Other
961 stars 195 forks source link

Parameters identification #148

Closed LucasPa closed 3 years ago

LucasPa commented 3 years ago

Hi,

First of all congratulations for developing the NeuralPDE package! I have been playing around the different examples and tutorials and although I am new at Julia, I have been able to solve some PDEs that interest me.

I would like now to do parameters identifications. For instance using PINNs to identify the value of an unknown coefficient in a PDE from measured data. Is it possible to solve this kind of problem ?

Best,

Lucas

ChrisRackauckas commented 3 years ago

For now you'll want to use https://diffeqflux.sciml.ai/dev/ directly for that, but this will be something added to the PINNs.

LucasPa commented 3 years ago

Thank you Chris for your answer. Then I will have a look at DiffEqFlux and see how I can use that to perform identification as in :

Raissi, M., P. Perdikaris, and G. E. Karniadakis. "Physics informed deep learning (Part II): Data-driven discovery of nonlinear partial differential equations. arXiv 2017." arXiv preprint arXiv:1711.10566.

ChrisRackauckas commented 3 years ago

It won't be the same as though, though it will be an order of magnitude more efficient: PINNs are a very slow way to calculate things. I'd recommend the tutorial https://diffeqflux.sciml.ai/dev/examples/pde_constrained/

LucasPa commented 3 years ago

OK I will have a look to this example and see how I can adapt this to my needs.

Thanks a lot !

LucasPa commented 3 years ago

Hi Chris,

Thanks for the hint. I have been trough and many other examples but I am not sure that diffeqflux can actually help me. I would like to identify to identify the coefficients of a Robin boundary condition of a two-dimensional PDE (that only involves x- and y-derivatives and t-derivative) from known data. I have not seen any example looking like this, all of them involve a time derivative and only one-dimensional geometry. Am I wrong ?

Best,

Lucas

ChrisRackauckas commented 3 years ago

You'd just track the parameter in the boundary condition. It's no different from any other parameter.

I'm going to reopen this for tracking adding this to the PINNs though, since it's still something we'll want to do for completeness.