Worum geht’s?
Statt Residuen zu minimieren, minimiert Deep Ritz das Energie-/Ritz-Funktional. Beispiel Poisson (Dirichlet):
$$ \mathcal{E}(u)=\int_\Omega \tfrac12\|\nabla u\|^2 - f\,u\,dx. $$
Gesucht wird ein NN-Ansatz \(u_\theta\), der \(\mathcal{E}\) (MC-ersetzt) klein macht.
Verlust (MC-Schätzer)
$$ \mathcal{L}(\theta)=
\frac{1}{N_\Omega}\!\sum_{x_i\in\Omega}\!\Big(\tfrac12\|\nabla u_\theta(x_i)\|^2-f(x_i)u_\theta(x_i)\Big)
\;+\; \lambda_D\,\frac{1}{N_{\partial\Omega}}\!\sum_{y_j\in\partial\Omega}\!\big(u_\theta(y_j)-g(y_j)\big)^2. $$
Neumann: Dirichlet-Term durch Fluss-Term \(\big(\partial_n u_\theta - h\big)^2\) ersetzen.
Randbedingungen
- Penalty: einfache Implementierung, aber Wahl von \(\lambda\) heikel.
- Hard constraint: \(u_\theta=\Phi\,\hat u_\theta\), \(\Phi|_{\partial\Omega}=0\) ⇒ Rand exakt, kein \(\lambda\).
Training & Tipps
- Punkte in \(\Omega\) und auf \(\partial\Omega\) balanciert samplen; Auto-Diff für \(\nabla u_\theta\).
- Adam/SGD; Batch-Größe glättet MC-Rauschen (größer = stabiler = teurer).
- Aktivierungen mit Glattheit (z. B. \(\tanh\), SIREN) helfen für \(\nabla u\).
- Validierung gegen FEM/Referenz; harte Randbedingungen oft stabiler.
Quellen
- E, W.; Yu, B.: The Deep Ritz Method: A Deep Learning-Based Numerical Algorithm for Solving Variational Problems, Communications in Mathematics and Statistics 6(1), 2018, 1–12. DOI
Code
Repository: git.numexp.org/ferdinandkruppa/deep-ritz
Clone
git clone https://git.numexp.org/ferdinandkruppa/deep-ritz.git