2021-01-04 09:36:09 +01:00
Welcome ...
============================
Welcome to the Physics-based Deep Learning Book 👋
2021-03-15 14:05:20 +01:00
**TL;DR**:
This document targets a variety of combinations of physical simulations with deep learning.
2021-01-04 09:36:09 +01:00
As much as possible, the algorithms will come with hands-on code examples to quickly get started.
2021-03-15 14:05:20 +01:00
Beyond standard _supervised_ learning from data, we'll look at _physical loss_ constraints, and
more tightly coupled learning algorithms with _differentiable simulations_ .
2021-01-04 09:36:09 +01:00
2021-01-26 06:04:57 +01:00
2021-01-07 02:39:57 +01:00
```{figure} resources/teaser.png
2021-01-04 12:34:34 +01:00
---
height: 220px
name: pbdl-teaser
---
2021-01-31 05:13:00 +01:00
Some visual examples of hybrid solvers, i.e. numerical simulators that are enhanced by trained neural networks.
2021-01-04 12:34:34 +01:00
```
2021-01-07 02:39:57 +01:00
% Teaser, simple version:
% 
2021-01-04 12:34:34 +01:00
2021-01-31 05:13:00 +01:00
## Coming up
2021-01-04 12:34:34 +01:00
2021-01-04 09:36:09 +01:00
As a _sneak preview_ , in the next chapters we'll show:
2021-02-15 09:04:09 +01:00
- How to train networks to infer fluid flows around shapes like airfoils in one go, i.e., a _surrogate model_ that replaces a traditional numerical simulation.
2021-01-04 09:36:09 +01:00
2021-02-15 09:04:09 +01:00
- We'll show how to use model equations as residual to train networks that represent solutions, and how to improve upon these residual constraints by using _differentiable simulations_ .
2021-01-04 09:36:09 +01:00
2021-02-15 09:04:09 +01:00
- How to more tightly interact with a full simulator for _control problems_ . E.g., we'll demonstrate how to circumvent the convergence problems of standard reinforcement learning techniques by leveraging simulators in the training loop.
2021-01-04 09:36:09 +01:00
2021-02-15 09:04:09 +01:00
This _book_ , where "book" stands for a collection of texts, equations, images and code examples,
2021-01-04 09:36:09 +01:00
is maintained by the
[TUM Physics-based Simulation Group ](https://ge.in.tum.de ). Feel free to contact us via
[old fashioned email ](mailto:i15ge@cs.tum.edu ) if you have any comments.
If you find mistakes, please also let us know! We're aware that this document is far from perfect,
and we're eager to improve it. Thanks in advance!
2021-01-04 12:34:34 +01:00
This collection of materials is a living document, and will grow and change over time.
2021-01-31 05:13:00 +01:00
Feel free to contribute 😀
2021-01-04 12:34:34 +01:00
We also maintain a [link collection ](https://github.com/thunil/Physics-Based-Deep-Learning ) with recent research papers.
2021-02-15 09:04:09 +01:00
```{admonition} Executable code, right here, right now
2021-01-04 12:34:34 +01:00
:class: tip
We focus on jupyter notebooks, a key advantage of which is that all code examples
can be executed _on the spot_ , out of a browser. You can modify things and
immediately see what happens -- give it a try...
< br > < br >
Oh, and it's great because it's [literate programming ](https://en.wikipedia.org/wiki/Literate_programming ).
```
---
2021-01-04 09:36:09 +01:00
## Thanks!
The contents of the following files would not have been possible without the help of many people. Here's an alphabetical list. Big kudos to everyone 🙏
2021-01-26 06:04:57 +01:00
- [Li-wei Chen ](https://ge.in.tum.de/about/dr-liwei-chen/ )
- [Philipp Holl ](https://ge.in.tum.de/about/ )
- [Patrick Schnell ](https://ge.in.tum.de/about/patrick-schnell/ )
- [Nils Thuerey ](https://ge.in.tum.de/about/n-thuerey/ )
- [Kiwon Um ](https://ge.in.tum.de/about/kiwon/ )
2021-01-12 04:50:42 +01:00
2021-01-26 06:04:57 +01:00
<!-- % some markdown tests follow ...
2021-01-12 04:50:42 +01:00
---
2021-01-04 12:34:34 +01:00
a b c
```{admonition} My title2
:class: seealso
See also... Test link: {doc}`supervised`
```
2021-01-04 09:36:09 +01:00
2021-01-07 02:39:57 +01:00
✅ Do this , ❌ Don't do this
2021-01-04 09:36:09 +01:00
2021-01-26 06:04:57 +01:00
% ---------------- -->
2021-01-12 04:50:42 +01:00
2021-01-04 12:34:34 +01:00
---
2021-01-04 09:36:09 +01:00
2021-02-26 15:29:52 +01:00
## TODOs , include
- PINNs: often need weighting of added loss terms for different parts
2021-03-02 14:42:27 +01:00
- DP intro, check transpose of Jacobians in equations
2021-03-10 05:15:50 +01:00
- DP control, show targets at bottom?
2021-03-10 05:48:24 +01:00
- finish pictures...
2021-02-26 15:29:52 +01:00
2021-03-15 14:05:20 +01:00
## Other planned content
2021-01-22 13:31:22 +01:00
2021-01-26 06:04:57 +01:00
Supervised simple starting point
2021-01-04 09:36:09 +01:00
2021-03-15 14:05:20 +01:00
- add surrogates for shape opt?
2021-01-26 06:04:57 +01:00
Physical losses
2021-01-04 09:36:09 +01:00
- PINNs -> are unsupervised a la tompson; all DL NNs are "supervised" during learning, unsup just means not precomputed and goes through function
- discuss CG solver, tompson as basic ''unsupervisedd'' example?
Diff phys, start with overview of idea: gradients via autodiff, then run GD
2021-01-22 13:31:22 +01:00
- illustrate and discuss gradients -> mult. for chain rule; (later: more general PG chain w func composition)
2021-01-04 09:36:09 +01:00
beyond GD: re-cap newton & co
Phys grad (PGs) as fundamental improvement, PNAS case; add more complex one?
PG update of poisson eq? see PNAS-template-main.tex.bak01-poissonUpdate , explicitly lists GD and PG updates
2021-01-22 13:31:22 +01:00
- PGa 2020 Sept, content: ML & opt
2021-01-04 09:36:09 +01:00
Gradients.pdf, -> overleaf-physgrad/
2021-01-22 13:31:22 +01:00
- PGb 201002-beforeVac, content: v1,v2,old - more PG focused
2021-01-04 09:36:09 +01:00
-> general intro versions
2021-01-04 12:34:34 +01:00
TODO, for version 2.x add:
time series, sequence prediction?] {cite}`wiewel2019lss,bkim2019deep,wiewel2020lsssubdiv`
include DeepFluids variant?
2021-01-04 09:36:09 +01:00
[BAYES , prob?]
2021-01-04 12:34:34 +01:00
include results Jakob
2021-01-04 09:36:09 +01:00
[unstruct / lagrangian] {cite}`prantl2019tranquil,ummenhofer2019contconv`
2021-01-04 12:34:34 +01:00
include ContConv / Lukas
---
_Misc jupyter book TODOs_
- Fix latex PDF output