Course project for Deep Learning in Scientific Computing, part B.
🔴 Please note that we didn't spend much time in doing the cross-validation and tuning the hyperparameters. The performance of the model can be further improved. And the comparision between these operator learning models may be different after careful tuning.
Trainging dataset and pretrained model can be download from: Google Drive
Download dataset
pip install gdown
gdown --folder https://drive.google.com/drive/folders/1JF-n7P4qDN5yavN5mYIzkenFlO-_1LeX
Download pretrained model
gdown --folder https://drive.google.com/drive/folders/1bU_hRzUepsdoHk_DGk7zLfVnYJ4Jsl5E
In this experiment, we discussed the two-dimensional parametric heat equation:
with the initial condition:
where
In the following results we use speed of propagation
We generated 200 data sets with the resolution of
- A feedforward 4-layer multilayer perceptron with 150 neurons in each layer is chosen for the experiment
- The model was trained for 400-700 iterations
- The branch net is chosen as a fully connected neural network of size
$[res \times res, 40, 40]$ , and the trunk net is a fully connected neural network of size [2, 40, 40] - The model was trained for 10000 iterations
- The lifting width for FNO is 32, and 4 Fourier layers are used. The number of nodes truncated for the Fourier node is 32. The final model parameters are chosen based on the best validation error.
- For CNO, we used 6 layers. The kernel size and channel multiplier for convolution operation is 3 and 32, respectively. Upsampling coefficient for Relu activation is 2.
- The training epoch for FNO is 100 but 1000 for CNO.
Furthermore, we test the resolution invariance of these models for different
Note, due to the longer training process, we didn't test the resolution invariance of CNO
The following tables show the mean L2 relative error tested on different grid resolutions using the trained models
resolution/d | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
32 | 7.1805 | 9.1301 | 11.9038 | 16.6792 | 44.4914 | 80.9182 |
64 | 6.7095 | 8.7627 | 11.4965 | 16.0574 | 42.6141 | 79.6393 |
96 | 6.5696 | 8.6518 | 11.3748 | 15.8683 | 42.0200 | 79.2477 |
128 | 6.5024 | 8.5987 | 11.3161 | 15.7774 | 41.7287 | 79.0583 |
resolution\d | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
32 | 6.9410 | 4.7216 | 4.2353 | 4.8877 | 6.2910 | 5.4723 |
64 | 4.7107 | 2.4742 | 2.5500 | 1.9887 | 2.7945 | 2.3586 |
96 | 4.4996 | 2.4901 | 2.8338 | 2.3045 | 2.7332 | 2.7789 |
128 | 4.3792 | 2.5635 | 2.9984 | 2.4686 | 2.6130 | 2.8031 |
resolution\d | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
32 | 2.6700 | 4.4333 | 4.5112 | 4.7639 | 4.7230 | 4.6837 |
64 | 1.9867 | 2.4443 | 2.6045 | 2.8313 | 2.9434 | 2.8752 |
96 | 1.9704 | 2.5296 | 2.6708 | 2.7527 | 2.9380 | 2.9412 |
128 | 1.9254 | 2.6723 | 2.8095 | 2.9824 | 3.0626 | 3.1439 |
- For MLP, we observe a fast drop of the performances of the model with increasing problem complexity as expected
- For FNO, we didn't see the distinguished alising effect. We believed it may be due to the lack of enough complexity in the task.
In this experiment, we discussed the a prototypical linear hyperbolic PDE, given as follows:
The exact solution at time
In the following results, we use
We generated 640 data sets with the resolution of
The implemented MLP for the given wave equation has a larger network size, which contains 5 fully connected layers with 250 neurons in each layer. And the size of branch net in DeepONet is increased to
For simple problems, both parametric approach and operator approach can approximate the solution of the PDE accurately. As the size of parameter space increases, MLP quickly fails to learn the mapping, while DeepONet can handle it to some extend, and the performance of FNO and CNO is barely affected.