ToshiyukiBandai / PINNs_RRE

Physics-informed neural networks for the Richardson-Richards equation
24 stars 7 forks source link

The K and ψ cant fit the training data #1

Open WenxSong opened 3 years ago

WenxSong commented 3 years ago

I used the same data in the paper and your code, but the loss cant decrease, The K and ψ cant fit the training data. I check the code but seems everything was just right. how could I know if anything gets wrong?

It: 0, Loss: 4.032e+02, Time: 0.92
It: 10, Loss: 2.932e+02, Time: 0.11
It: 20, Loss: 2.039e+02, Time: 0.11
It: 30, Loss: 1.407e+02, Time: 0.11
It: 40, Loss: 9.741e+01, Time: 0.10
It: 50, Loss: 6.772e+01, Time: 0.16
It: 60, Loss: 4.741e+01, Time: 0.13
It: 70, Loss: 3.375e+01, Time: 0.11
It: 80, Loss: 2.472e+01, Time: 0.11
It: 90, Loss: 1.884e+01, Time: 0.13
It: 100, Loss: 1.503e+01, Time: 0.11
It: 110, Loss: 1.258e+01, Time: 0.11
It: 120, Loss: 1.100e+01, Time: 0.11
It: 130, Loss: 9.982e+00, Time: 0.11
It: 140, Loss: 9.321e+00, Time: 0.12
It: 150, Loss: 8.892e+00, Time: 0.10
It: 160, Loss: 8.614e+00, Time: 0.11
It: 170, Loss: 8.434e+00, Time: 0.10
It: 180, Loss: 8.318e+00, Time: 0.10
It: 190, Loss: 8.243e+00, Time: 0.12
It: 200, Loss: 8.195e+00, Time: 0.11
It: 210, Loss: 8.165e+00, Time: 0.11
It: 220, Loss: 8.145e+00, Time: 0.12
It: 230, Loss: 8.133e+00, Time: 0.11
It: 240, Loss: 8.126e+00, Time: 0.11
It: 250, Loss: 8.121e+00, Time: 0.15
It: 260, Loss: 8.118e+00, Time: 0.12
It: 270, Loss: 8.117e+00, Time: 0.10
It: 280, Loss: 8.116e+00, Time: 0.10
It: 290, Loss: 8.115e+00, Time: 0.11
It: 300, Loss: 8.115e+00, Time: 0.11
It: 310, Loss: 8.114e+00, Time: 0.10
It: 320, Loss: 8.114e+00, Time: 0.11
It: 330, Loss: 8.114e+00, Time: 0.10
It: 340, Loss: 8.114e+00, Time: 0.11
It: 350, Loss: 8.114e+00, Time: 0.12
It: 360, Loss: 8.114e+00, Time: 0.10
It: 370, Loss: 8.114e+00, Time: 0.11
It: 380, Loss: 8.114e+00, Time: 0.11
It: 390, Loss: 8.114e+00, Time: 0.12
It: 400, Loss: 8.114e+00, Time: 0.10
It: 410, Loss: 8.114e+00, Time: 0.16
It: 420, Loss: 8.114e+00, Time: 0.11
It: 430, Loss: 8.113e+00, Time: 0.11
It: 440, Loss: 8.113e+00, Time: 0.10
It: 450, Loss: 8.113e+00, Time: 0.10
It: 460, Loss: 8.113e+00, Time: 0.11
It: 470, Loss: 8.113e+00, Time: 0.10
It: 480, Loss: 8.113e+00, Time: 0.11
It: 490, Loss: 8.113e+00, Time: 0.11
It: 500, Loss: 8.113e+00, Time: 0.16
It: 510, Loss: 8.113e+00, Time: 0.14
It: 520, Loss: 8.113e+00, Time: 0.10
It: 530, Loss: 8.113e+00, Time: 0.11
It: 540, Loss: 8.113e+00, Time: 0.11
It: 550, Loss: 8.113e+00, Time: 0.11
It: 560, Loss: 8.113e+00, Time: 0.12
It: 570, Loss: 8.113e+00, Time: 0.11
It: 580, Loss: 8.113e+00, Time: 0.11
It: 590, Loss: 8.113e+00, Time: 0.10
It: 600, Loss: 8.113e+00, Time: 0.11
It: 610, Loss: 8.113e+00, Time: 0.13
It: 620, Loss: 8.113e+00, Time: 0.11
It: 630, Loss: 8.113e+00, Time: 0.11
It: 640, Loss: 8.113e+00, Time: 0.12
It: 650, Loss: 8.113e+00, Time: 0.13
It: 660, Loss: 8.113e+00, Time: 0.11
It: 670, Loss: 8.113e+00, Time: 0.12
It: 680, Loss: 8.113e+00, Time: 0.12
It: 690, Loss: 8.113e+00, Time: 0.12
It: 700, Loss: 8.113e+00, Time: 0.14
It: 710, Loss: 8.113e+00, Time: 0.12
It: 720, Loss: 8.113e+00, Time: 0.10
It: 730, Loss: 8.113e+00, Time: 0.11
It: 740, Loss: 8.113e+00, Time: 0.12
It: 750, Loss: 8.113e+00, Time: 0.12
It: 760, Loss: 8.113e+00, Time: 0.10
It: 770, Loss: 8.113e+00, Time: 0.11
It: 780, Loss: 8.113e+00, Time: 0.11
It: 790, Loss: 8.113e+00, Time: 0.14
It: 800, Loss: 8.113e+00, Time: 0.11
It: 810, Loss: 8.113e+00, Time: 0.12
It: 820, Loss: 8.113e+00, Time: 0.12
It: 830, Loss: 8.113e+00, Time: 0.12
It: 840, Loss: 8.113e+00, Time: 0.10
It: 850, Loss: 8.113e+00, Time: 0.10
It: 860, Loss: 8.113e+00, Time: 0.10
It: 870, Loss: 8.113e+00, Time: 0.11
It: 880, Loss: 8.113e+00, Time: 0.11
It: 890, Loss: 8.113e+00, Time: 0.10
It: 900, Loss: 8.113e+00, Time: 0.11
It: 910, Loss: 8.113e+00, Time: 0.11
It: 920, Loss: 8.113e+00, Time: 0.13
It: 930, Loss: 8.113e+00, Time: 0.11
It: 940, Loss: 8.113e+00, Time: 0.11
It: 950, Loss: 8.113e+00, Time: 0.10
It: 960, Loss: 8.113e+00, Time: 0.11
It: 970, Loss: 8.113e+00, Time: 0.11
It: 980, Loss: 8.113e+00, Time: 0.12
It: 990, Loss: 8.113e+00, Time: 0.11
Loss: 8.113e+00
Loss: 2.065e+01
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
ToshiyukiBandai commented 3 years ago

First, you need to train neural networks more, say 200,000 iterations for Adam. Also, hyperparameter tunings are needed to obtain nice results. But, once you train more than 200,000 iterations, you will probably get a reasonalbe results in terms of theta, K, flux. Also, note that you need to make sure to use flux_pred rather than f_pred to evaluate soil water flux density. f_pred is the residual of the RRE.

WenxSong commented 3 years ago

First, you need to train neural networks more, say 200,000 iterations for Adam. Also, hyperparameter tunings are needed to obtain nice results. But, once you train more than 200,000 iterations, you will probably get a reasonalbe results in terms of theta, K, flux. Also, note that you need to make sure to use flux_pred rather than f_pred to evaluate soil water flux density. f_pred is the residual of the RRE.

Thank you, it works,first I trained the networks in just small iterations to prevent over-fit (some papers introduced the method),then I increase to 200,000 iterations,the result fits the training data as is shown in the paper. Although the result was not stable,while it might be the common problem of PINN. Thanks again, you know it bothered me somedays.

ToshiyukiBandai commented 3 years ago

Glad to hear that you fixed the issue. Yes, PINNs for inverse problem is very delicate and requires a lot of hyperparameter tunings. Thank you for your interest in our study.