SBNO : Schrödinger Bridge Neural Operator for the Forward and Inverse Problems under Missing Information
Organizations: SolverX · KAIST
Abstract
Partial differential equation (PDE) surrogate modeling often relies on either dense observations or access to governing equations/physics constraints. In practice, observations can be sparse and partial, and the underlying physics may be partially specified or unavailable. We introduce SBNO, an equation-free paired-data diffusion bridge matching framework that learns conditional operators for both forward and inverse PDE problems under partial observations. SBNO uses diffusion Schrödinger bridge matching to learn a pair of time-dependent drifts from a mask-aware endpoint coupling that preserves empirical input-solution pairing during training and supports both PDE-task directions within a single framework. At inference time, SBNO produces a deterministic point reconstruction by integrating the probability-flow ODE constructed from the learned drift pair, without inference-time observation or PDE guidance-weight tuning. On five PDE benchmarks with 5% observations, SBNO achieves superior or comparable accuracy to baselines while demonstrating lower test-instance error dispersion. Furthermore, SBNO is at least faster and reduces GPU memory by at least compared to guided-diffusion baselines.
Figures & tables
| Capability | SBNO (ours) | FunDPS & DiffusionPDE | FNOPE | GNOT | FNO |
| Observation conditioning | mask-aware | only observation | only observation | only observation | mask-aware |
| Unified PDE-task training | yes | yes | no | no | no |
| Inference-time hyperparameters | not required | required | not required | not required | not required |
| PDE information | equation-free | PDE guidance | equation-free | equation-free | equation-free |
| Inference type | both possible | stochastic | stochastic | deterministic | deterministic |
| Dataset | Problem | SBNO (Ours) | FunDPS | DiffusionPDE | FNOPE | GNOT | FNO |
| Darcy flow | Forward | 0.0359 0.0133 | 0.0461 0.0207 | 0.0552 0.0849 | 0.2219 0.0893 | 0.0510 0.0148 | 0.0582 0.0135 |
| Inverse | 0.0269 0.0125 | 0.0835 0.0380 | 0.0499 0.0338 | 0.2241 0.1110 | 0.0779 0.0367 | 0.0946 0.0409 | |
| Poisson | Forward | 0.0424 0.0219 | 0.0775 0.0473 | 0.0986 0.1696 | 0.7849 0.4061 | 0.0929 0.0428 | 0.1458 0.0518 |
| Inverse | 0.2167 0.0345 | 0.3664 0.1232 | 0.2015 0.0792 | 0.8423 0.2244 | 0.3585 0.0910 | 0.3912 0.0991 | |
| Helmholtz | Forward | 0.0519 0.0315 | 0.0563 0.0310 | 0.0902 0.1412 | 0.7388 0.3684 | 0.0926 0.0393 | 0.2191 0.0854 |
| Inverse | 0.2310 0.0501 | 0.2550 0.0740 | 0.1893 0.2557 | 0.7111 0.2000 | 0.3728 0.0865 | 0.4178 0.0947 |
| Method | Time per Sample (sec) | Peak Mem (MB) |
| DiffusionPDE | 46.65 | 3,846.7 |
| FunDPS | 2.71 | 5,428.8 |
| SBNO (ours) | 0.28 | 886.0 |
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Guidance Weight | Darcy Flow | Poisson | Helmholtz | Nonbounded Navier-Stokes | Gray-Scott | |||||
| Forward | Inverse | Forward | Inverse | Forward | Inverse | Forward | Inverse | Forward | Inverse | |
| 500 | 0.0480 | 0.2567 | 0.1649 | 0.4540 | 0.1484 | 0.2249 | 0.0624 | 0.1102 | 0.1032 | 0.0947 |
| 1,000 | 0.0374 | 0.1913 | 0.0931 | 0.3827 | 0.0725 | 0.2017 | 0.0427 | 0.1043 | 0.0920 | 0.0837 |
| 5,000 | 0.0371 | 0.1083 | 0.0775 | 0.2724 | 0.0519 | 0.2598 | 0.0358 | 0.2395 | 0.0718 | 0.0640 |
| 10,000 | 0.0449 | 0.0895 | 0.0993 | 0.2416 | 0.0499 | 0.4516 | 0.0373 | 0.5372 | 0.0662 | 0.0599 |
| 15,000 | 0.0557 | 0.0821 | 0.1324 | 0.2272 | 0.0495 | 0.7019 | 0.0426 | 0.4976 | 0.0677 | 0.0616 |
| Dataset | Problem | SBNO (Ours) | FunDPS fixed | FunDPS | DiffusionPDE | FNOPE | GNOT | FNO |
| Darcy flow | Forward | 0.0359 0.0133 | 0.0442 0.0248 | 0.0461 0.0207 | 0.0552 0.0849 | 0.2219 0.0893 | 0.0510 0.0148 | 0.0582 0.0135 |
| Inverse | 0.0269 0.0125 | 0.0742 0.0348 | 0.0835 0.0380 | 0.0499 0.0338 | 0.2241 0.1110 | 0.0779 0.0367 | 0.0946 0.0409 | |
| Poisson | Forward | 0.0424 0.0219 | 0.0775 0.0420 | 0.0775 0.0473 | 0.0986 0.1696 | 0.7849 0.4061 | 0.0929 0.0428 | 0.1458 0.0518 |
| Inverse | 0.2167 0.0345 | 0.2193 0.0609 | 0.3664 0.1232 | 0.2015 0.0792 | 0.8423 0.2244 | 0.3585 0.0910 | 0.3912 0.0991 | |
| Helmholtz | Forward | 0.0519 0.0315 | 0.0495 0.0266 | 0.0563 0.0310 | 0.0902 0.1412 | 0.7388 0.3684 | 0.0926 0.0393 | 0.2191 0.0854 |
| Inverse | 0.2310 0.0501 | 0.2017 0.0532 | 0.2550 0.0740 | 0.1893 0.2557 | 0.7111 0.2000 | 0.3728 0.0865 | 0.4178 0.0947 |
| Problem | Forward problem | Inverse problem | ||
| mean | std | mean | std | |
| Darcy Flow | 0.0359 0.000708 | 0.0133 0.000627 | 0.0269 0.000297 | 0.0125 0.000185 |
| Poisson | 0.0424 0.000595 | 0.0219 0.000712 | 0.2167 0.002005 | 0.0345 0.001032 |
| Helmholtz | 0.0519 0.001751 | 0.0315 0.002282 | 0.2310 0.003499 | 0.0501 0.002147 |
| Nonbounded Navier-Stokes | 0.0368 0.000786 | 0.0086 0.000206 | 0.1097 0.000403 | 0.0167 0.000080 |
| Gray-Scott | 0.0393 0.001163 | 0.0193 0.000897 | 0.0382 0.001187 | 0.0167 0.000884 |
| Method | Darcy forward | Darcy inverse | Helmholtz forward | Helmholtz inverse |
| DiffusionPDE | 2.1465 2.4595 | 1.2648 0.1078 | 8.9174 11.6318 | 0.4139 0.2540 |
| FunDPS | 11.1638 1.7811 | 1.3643 0.0712 | 4.2907 1.7299 | 0.5651 0.1460 |
| SBNO | 1.6347 0.1468 | 1.1543 0.0621 | 1.9629 1.1171 | 0.3278 0.1533 |
| Method | Darcy forward | Darcy inverse | Helmholtz forward | Helmholtz inverse |
| DiffusionPDE | 10.6676 25.2757 | 0.9310 0.3236 | 213.7049 530.5397 | 0.9117 0.2235 |
| FunDPS | 127.4999 41.0276 | 1.1889 0.1975 | 22.2814 22.8030 | 0.9577 0.2244 |
| SBNO | 2.6015 0.5581 | 0.7429 0.1215 | 6.2776 8.0286 | 0.9932 0.5402 |
| Problem | Mask-aware forward | No-mask forward | Mask-aware inverse | No-mask inverse |
| Darcy Flow | 0.0359 0.0133 | 0.0579 0.0172 | 0.0269 0.0125 | 0.0297 0.0138 |
| Poisson | 0.0424 0.0219 | 0.3339 0.1829 | 0.2167 0.0345 | 0.3950 0.1254 |
| Helmholtz | 0.0519 0.0315 | 0.2411 0.1428 | 0.2310 0.0501 | 0.3334 0.1149 |
| Nonbounded Navier-Stokes | 0.0368 0.0086 | 0.1471 0.0238 | 0.1097 0.0167 | 0.2267 0.0243 |
| Gray-Scott | 0.0393 0.0193 | 0.0448 0.0248 | 0.0382 0.0167 | 0.0385 0.0210 |
| Training coupling | Forward error | Inverse error |
| Unified mixture | 0.0359 0.0133 | 0.0269 0.0125 |
| Forward-task coupling only | 0.0315 0.0073 | 0.5063 0.0525 |
| Inverse-task coupling only | 0.5420 0.0269 | 0.0150 0.0072 |
| Forward-drift training coupling | Inference | Forward error |
| Unified mixture | Forward-drift-only SDE | 0.0263 0.0064 |
| Forward-task coupling only | Forward-drift-only SDE | 0.0174 0.0056 |
| Dataset | Problem | SBNO (Ours) | FunDPS | DiffusionPDE | FNOPE | GNOT | FNO |
| Korteweg –De Vries | Forward | 0.2858 0.0650 | 1.5024 0.2236 | 0.2177 0.2017 | 0.8498 0.0446 | 1.1628 0.0692 | 0.5356 0.0348 |
| Inverse | 0.2866 0.1005 | 1.5401 0.2491 | 0.1765 0.0791 | 0.9399 0.0571 | 1.1798 0.0739 | 0.7483 0.0202 | |
| Kuramoto– Sivashinsky | Forward | 0.3236 0.0295 | 1.2990 0.0754 | 0.4517 0.0992 | 1.0500 0.0711 | 1.0707 0.0579 | 0.6808 0.0359 |
| Inverse | 0.3674 0.0283 | 1.2962 0.0733 | 0.3973 0.0584 | 1.0451 0.0716 | 1.0660 0.0568 | 0.6727 0.0389 | |
| Kolmogorov Flow | Forward | 0.5322 0.0978 | 1.2445 0.0560 | 0.5551 0.1133 | 0.6180 0.0882 | 0.9275 0.0860 | 0.6211 0.0764 |
| Inverse | 0.4849 0.0810 | 1.2329 0.0525 | 0.5739 0.2634 | 0.5687 0.0632 | 0.9071 0.0814 | 0.6039 0.0466 |
| Category | Metric | Darcy Flow | Poisson | Helmholtz | Nonbounded Navier-Stokes | Gray-Scott | |||||
| Forward | Inverse | Forward | Inverse | Forward | Inverse | Forward | Inverse | Forward | Inverse | ||
| Sample mean reconstruction | Rel error mean | 0.0263 | 0.1296 | 0.0519 | 0.1271 | 0.0539 | 0.1362 | 0.0717 | 0.1342 | 0.0254 | 0.0272 |
| Rel error std | 0.0064 | 0.0334 | 0.0210 | 0.0361 | 0.0297 | 0.0362 | 0.0072 | 0.0182 | 0.0119 | 0.0162 | |
| Abs error mean | 0.0001 | 0.2217 | 0.0001 | 0.0257 | 0.0002 | 0.0260 | 0.0142 | 0.0267 | 0.0089 | 0.0037 | |
| Uncertainty magnitude | Global mean std | 0.0002 | 0.2016 | 0.0001 | 0.0144 | 0.0001 | 0.0131 | 0.0128 | 0.0172 | 0.0116 | 0.0060 |
| Global mean var | 0.0000 | 0.6258 | 0.0000 | 0.0002 | 0.0000 | 0.0002 | 0.0002 | 0.0003 | 0.0002 | 0.0001 | |
| Noise std | Problem | SBNO (Ours) | FunDPS | DiffusionPDE | GNOT |
| 0.1 | Forward | 0.0359 | 0.0461 | 0.0371 | 0.0510 |
| Inverse | 0.0269 | 0.0834 | 0.0743 | 0.1031 | |
| 0.5 | Forward | 0.0359 | 0.0461 | 0.0372 | 0.1709 |
| Inverse | 0.0274 | 0.0837 | 0.0749 | 0.4092 | |
| 1.0 | Forward | 0.0358 | 0.0461 | 0.0373 | 0.2657 |
| Inverse | 0.0291 | 0.0838 | 0.0766 | 0.4764 |
| Step number | 32 | 64 | 96 | 128 | dopri |
| Poisson Inverse | 0.2167 | 0.2074 | 0.2072 | 0.2073 | 0.2166 |
| Helmholtz Inverse | 0.2310 | 0.2220 | 0.2243 | 0.2249 | 0.2310 |
| Time per Sample(sec) | 0.28 | 0.56 | 0.83 | 1.10 | 0.57 |
| Observation ratio | 5% | 4% | 3% | 2% | 1% | 0.5% |
| Forward | 0.0359 | 0.0402 | 0.0749 | 0.1226 | 0.2212 | 0.2727 |
| Inverse | 0.0269 | 0.0498 | 0.0865 | 0.2107 | 0.2924 | 0.3362 |
| Observation ratio | 10% | 8% | 5% | 4% | 3% | 2% | 1% | 0.5% |
| Forward | 0.0664 | 0.0703 | 0.0836 | 0.0880 | 0.0954 | 0.1112 | 0.1435 | 0.1790 |
| Inverse | 0.0442 | 0.0437 | 0.0474 | 0.0511 | 0.0595 | 0.0773 | 0.1240 | 0.1710 |
| Dataset | Problem | SBNO | SBNO (loop) |
| Darcy flow | Forward | 0.0359 0.0133 | 0.0369 0.0132 |
| Inverse | 0.0269 0.0128 | 0.0531 0.0216 | |
| Helmholtz | Forward | 0.0519 0.0315 | 0.1886 0.1069 |
| Inverse | 0.2310 0.0501 | 0.2506 0.0722 |
| Models | Hyperparameter | Darcy Flow | Poisson | Helmholtz | Nonbounded Navier-Stokes | Gray-Scott | |||||
| Forward | Inverse | Forward | Inverse | Forward | Inverse | Forward | Inverse | Forward | Inverse | ||
| Ours | learning rate | 0.0001 | |||||||||
| ODE solver step | 32 | ||||||||||
| Sigma min | 0.2 | 0.001 | 0.001 | 0.001 | 0.001 | ||||||
| Sigma max | 0.2 | 0.3 | 0.3 | 0.45 | 0.3 | ||||||
| FunDPS multi-res | Observation guidance | 1,000 | 25,000 | 5,000 | 10,000 | 10,000 | 5,000 | 5,000 | 1,000 | 5,000 | 10,000 |