Go to file
2024-10-09 12:17:46 +08:00
latex-helpers pdf export update 2021-04-22 10:26:01 +08:00
resources colab TF version fix for SoL notebook, images 2024-02-13 17:07:21 +01:00
temp notebooks update 2021-01-07 19:28:50 +08:00
_config.yml restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
_toc.yml first draft of optconv chatper 2022-05-04 21:57:53 +02:00
.gitignore Initial commit 2021-01-04 16:32:39 +08:00
bayesian-code.ipynb beautified ipynb outupt, removed stderr cells 2022-09-06 10:17:40 +02:00
bayesian-intro.md unified writing of data set 2022-04-18 10:00:44 +02:00
diffphys-code-burgers.ipynb updated notebooks to phiflow 3.1 2024-10-09 12:17:46 +08:00
diffphys-code-control.ipynb restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys-code-ns.ipynb updated notebooks to phiflow 3.1 2024-10-09 12:17:46 +08:00
diffphys-code-sol.ipynb fixed cleanup script 2024-10-09 10:36:24 +08:00
diffphys-discuss.md minor cleanup 2022-03-07 08:43:59 +08:00
diffphys-dpvspinn.md restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys-examples.md fixed typos and added citation 2022-06-02 10:23:26 +02:00
diffphys.md Fix minor typos 2022-09-11 10:25:40 +02:00
favicon.ico updated config and overview 2021-08-30 19:39:02 +02:00
fixup-latex.py smaller fixes 2022-04-24 20:41:49 +02:00
intro-teaser.ipynb label typo in teaser example fixed, phiflow ICML reference 2024-07-23 11:53:24 +02:00
intro.md updated v0.2 starting pointers 2022-06-01 17:21:33 +02:00
json-cleanup-for-pdf.py fixed cleanup script 2024-10-09 10:36:24 +08:00
json-ipynb-removeImgs.py script cleanup 2021-06-30 19:35:47 +02:00
LICENSE Initial commit 2021-01-04 16:32:39 +08:00
make-pdf.sh fixed cleanup script 2024-10-09 10:36:24 +08:00
notation.md Fix minor typos 2022-09-11 10:25:40 +02:00
others-GANs.md Consistent caps in sub-headings 2021-08-20 16:51:41 +02:00
others-intro.md last round of updates from Maxi, minor fixes 2021-07-23 12:55:23 +02:00
others-lagrangian.md added know your data section, minor cleanup 2021-08-03 21:55:42 +02:00
others-metrics.md cleanup, added other topics chapter 2021-04-14 19:08:51 +08:00
others-timeseries.md corrections from Nuttapong, thanks 2021-10-08 09:07:56 +02:00
outlook.md updated logo 2021-09-03 11:14:53 +02:00
overview-burgers-forw.ipynb updated notebooks to phiflow 3.1 2024-10-09 12:17:46 +08:00
overview-equations.md corrected notation for burgers example 2022-05-27 10:31:38 +02:00
overview-ns-forw.ipynb updated notebooks to phiflow 3.1 2024-10-09 12:17:46 +08:00
overview-optconv.md Fix typo in Cauchy-Schwarz inequality 2024-04-28 16:01:40 +08:00
overview.md minor typo fixes 2022-09-18 15:24:44 +05:30
physgrad-code.ipynb updated notebooks to phiflow 3.1 2024-10-09 12:17:46 +08:00
physgrad-comparison.ipynb numerous smaller fixes in physgrad chapter 2022-04-24 13:59:09 +02:00
physgrad-discuss.md numerous smaller fixes in physgrad chapter 2022-04-24 13:59:09 +02:00
physgrad-hig-code.ipynb phiflow version updates, preparing for 2.2 2022-08-18 13:32:11 +02:00
physgrad-hig.md numerous smaller fixes in physgrad chapter 2022-04-24 13:59:09 +02:00
physgrad-nn.md numerous smaller fixes in physgrad chapter 2022-04-24 13:59:09 +02:00
physgrad.md Fix minor typos 2022-09-11 10:25:40 +02:00
physicalloss-code.ipynb fixed typo 2023-04-08 13:01:22 +02:00
physicalloss-discuss.md smaller fixes of notation 2022-05-20 20:10:16 +02:00
physicalloss.md smaller fixes of notation 2022-05-20 20:10:16 +02:00
README.md updated v0.2 starting pointers 2022-06-01 17:21:33 +02:00
references.bib Updated references 2024-09-12 17:20:19 +08:00
references.md initial checkin 2021-01-04 16:36:09 +08:00
reinflearn-code.ipynb beautified ipynb outupt, removed stderr cells 2022-09-06 10:17:40 +02:00
reinflearn-intro.md restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
supervised-airfoils.ipynb Fix typo 2023-03-20 11:45:31 +01:00
supervised-discuss.md unified writing of data set 2022-04-18 10:00:44 +02:00
supervised.md unifying notation, to let L denote loss (instead of e) 2022-05-09 12:13:20 +02:00

Welcome to the Physics-based Deep Learning book (PBDL) v0.2

This is the source code repository for the Jupyter book "Physics-based Deep Learning". You can find the full, readable version online at: https://physicsbaseddeeplearning.org/

A single-PDF version is also available on arXiv: https://arxiv.org/pdf/2109.05237.pdf

PBDL

A Short Synopsis

The PBDL book contains a practical and comprehensive introduction of everything related to deep learning in the context of physical simulations. As much as possible, all topics come with hands-on code examples in the form of Jupyter notebooks to quickly get started. Beyond standard supervised learning from data, well look at physical loss constraints, more tightly coupled learning algorithms with differentiable simulations, as well as reinforcement learning and uncertainty modeling. We live in exciting times: these methods have a huge potential to fundamentally change what we can achieve with simulations.

The key aspects that we will address in the following are:

  • explain how to use deep learning techniques to solve PDE problems,
  • how to combine them with existing knowledge of physics,
  • without discarding our knowledge about numerical methods.

The focus of this book lies on:

  • Field-based simulations (not much on Lagrangian methods)
  • Combinations with deep learning (plenty of other interesting ML techniques exist, but won't be discussed here)
  • Experiments as are left as an outlook (such as replacing synthetic data with real-world observations)

The name of this book, Physics-based Deep Learning, denotes combinations of physical modeling and numerical simulations with methods based on artificial neural networks. The general direction of Physics-Based Deep Learning represents a very active, quickly growing and exciting field of research.

The aim is to build on all the powerful numerical techniques that we have at our disposal, and use them wherever we can. As such, a central goal of this book is to reconcile the data-centered viewpoint with physical simulations.

The resulting methods have a huge potential to improve what can be done with numerical methods: in scenarios where a solver targets cases from a certain well-defined problem domain repeatedly, it can for instance make a lot of sense to once invest significant resources to train a neural network that supports the repeated solves. Based on the domain-specific specialization of this network, such a hybrid could vastly outperform traditional, generic solvers.

What's new?

Teasers

To mention a few highlights: the book contains a notebook to train hybrid fluid flow (Navier-Stokes) solvers via differentiable physics to reduce numerical errors. Try it out: https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/diffphys-code-sol.ipynb

In v0.2 there's new notebook for an improved learning scheme which jointly computes update directions for neural networks and physics (via half-inverse gradients): https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/physgrad-hig-code.ipynb

It also has example code to train a Bayesian Neural Network for RANS flow predictions around airfoils that yield uncertainty estimates. You can run the code right away here: https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/bayesian-code.ipynb

And a notebook to compare proximal policy-based reinforcement learning with physics-based learning for controlling PDEs (spoiler: the physics-aware version does better in the end). Give it a try: https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/reinflearn-code.ipynb