Deep Ritz

Variationsformulierung elliptischer PDEs mit neuronalen Netzen. ← Start

Mathematisches Setting

Gegeben sei ein beschränktes Lipschitz-Gebiet

$$ \Omega \subset \mathbb{R}^d, \qquad d \in \mathbb{N}, $$

mit Rand \(\partial\Omega\) und eine rechte Seite \(f \in L^2(\Omega)\). Betrachtet wird die Poisson-Gleichung

$$ -\Delta u = f \quad \text{in } \Omega, \qquad u = 0 \quad \text{auf } \partial\Omega. $$

Gesucht ist die schwache Lösung \(u \in H^1_0(\Omega)\), die das Variationsproblem

$$ \int_\Omega \nabla u \cdot \nabla v \,dx = \int_\Omega f\,v\,dx \quad \forall\, v \in H^1_0(\Omega) $$

erfüllt. Unter den obigen Annahmen existiert diese Lösung eindeutig (Lax–Milgram).

Ritz-Funktional

Das Problem lässt sich als Minimierung eines Energiefunktionals formulieren. Definiere das Ritz-Funktional

$$ \mathcal{E}(u) = \int_\Omega \tfrac12 \|\nabla u(x)\|^2 - f(x)\,u(x)\,dx, \qquad u \in H^1_0(\Omega). $$

Dann ist \(u \in H^1_0(\Omega)\) genau dann Lösung des Poisson-Problems, wenn

$$ u = \arg\min_{v \in H^1_0(\Omega)} \mathcal{E}(v). $$

Klassische FEM ersetzen den unendlichdimensionalen Raum \(H^1_0(\Omega)\) durch einen finiten Elementraum \(V_h\). Deep Ritz ersetzt \(V_h\) durch einen nichtlinearen neuronalen Ansatzraum.

Penalisierte Energie & bilineare Form

Für Dirichlet-Bedingungen auf allgemeinen Gebieten ist es oft praktisch, das Problem als penalisiertes Variationsproblem auf ganz \(H^1(\Omega)\) zu formulieren. Sei

$$ a_\delta(u,v) := \int_\Omega \nabla u \cdot \nabla v \,dx + \frac{1}{\delta} \int_{\partial\Omega} \gamma u \, \gamma v \,ds, $$

wobei \(\gamma : H^1(\Omega) \to L^2(\partial\Omega)\) der Spuroperator ist und \(\delta>0\) ein Strafparameter. Die zugehörige Energie lautet

$$ \mathcal{R}_\delta(u) = \tfrac12\, a_\delta(u,u) - \ell(u), \qquad \ell(u) := \int_\Omega f\,u\,dx, \qquad u \in H^1(\Omega). $$

Der Minimierer

$$ u_\delta = \arg\min_{v \in H^1(\Omega)} \mathcal{R}_\delta(v) $$

löst ein Robin-Problem, das für \(\delta \to 0\) gegen die Dirichlet-Lösung konvergiert. Die durch \(a_\delta\) induzierte Norm ist

$$ \|w\|_\delta^2 := \|\nabla w\|_{L^2(\Omega)}^2 + \frac{1}{\delta}\,\|\gamma w\|_{L^2(\partial\Omega)}^2. $$

Deep-Ritz-Ansatz mit neuronalen Netzen

Die Deep-Ritz-Methode ersetzt die Suche in \(H^1(\Omega)\) durch einen Netzwerkraum. Sei

$$ u_\Theta : \Omega \to \mathbb{R} $$

ein neuronales Netz mit Parametern \(\Theta\), das so gewählt ist, dass \(u_\Theta \in H^1(\Omega)\) gilt (z. B. ausreichend glatte Aktivierungsfunktionen und geeignete Architektur). Der zugehörige Netzwerkraum ist

$$ V_{\mathcal{N}} := \{ u_\Theta : \Theta \in \mathbb{R}^P \} \subset H^1(\Omega). $$

Deep Ritz definiert das approximative Problem

$$ u_{\mathcal{N},\mathrm{ex}} = \arg\min_{v_{\mathcal{N}} \in V_{\mathcal{N}}} \mathcal{R}_\delta(v_{\mathcal{N}}), $$

und sucht in der Praxis eine Approximation von \(u_{\mathcal{N},\mathrm{ex}}\) über Gradientenverfahren in \(\Theta\).

Randbedingungen: Penalty vs. harter Ansatz

  • Penalty: \(u_\Theta \in H^1(\Omega)\) beliebig; Randbedingung über \(\tfrac{1}{2\delta}\|\gamma u_\Theta\|_{L^2(\partial\Omega)}^2\).
  • Hard constraint: es wird \(u_\Theta = \Phi\,\hat u_\Theta\) gewählt mit \(\Phi|_{\partial\Omega} = 0\). Dann liegt \(u_\Theta\) automatisch in \(H^1_0(\Omega)\) und der Randterm entfällt.

Monte-Carlo-Approximation des Funktionals

Die Integrale in \(\mathcal{R}_\delta\) werden numerisch durch Monte-Carlo-Quadratur ersetzt. Sei

$$ \{x_i^\Omega\}_{i=1}^N \subset \Omega, \qquad \{x_j^{\partial\Omega}\}_{j=1}^M \subset \partial\Omega $$

eine Menge zufällig und (idealerweise) unabhängig gleichverteilt gesampelter Innen- bzw. Randpunkte. Dann definiert man das diskrete Deep-Ritz-Funktional

$$ \widehat{\mathcal{R}}_\delta(\Theta) = |\Omega|\,\frac{1}{N} \sum_{i=1}^N \Bigl( \tfrac12 \|\nabla u_\Theta(x_i^\Omega)\|^2 - f(x_i^\Omega)\,u_\Theta(x_i^\Omega) \Bigr) $$ $$ \qquad\quad + |\partial\Omega|\,\frac{1}{M} \sum_{j=1}^M \frac{1}{2\delta}\, \bigl(\gamma u_\Theta(x_j^{\partial\Omega})\bigr)^2. $$

Das Training erfolgt über stochastischen Gradientenabstieg:

$$ \Theta^{(k+1)} = \Theta^{(k)} - \eta\,\nabla_\Theta \widehat{\mathcal{R}}_\delta\bigl(\Theta^{(k)}\bigr), $$

wobei \(\eta>0\) die Lernrate ist. Die Ableitung nach \(\Theta\) wird durch Auto-Differentiation (z. B. in PyTorch oder JAX) berechnet.

Konvergenz & Fehlerzerlegung (Überblick)

Zwischen der exakten Dirichlet-Lösung \(u\) und der trainierten Approximation \(u_{\mathcal{N}}\) (dem Ergebnis der Optimierung) lässt sich der Gesamtfehler in der \(\delta\)-Norm formal in natürliche Anteile zerlegen:

$$ \|u - u_{\mathcal{N}}\|_\delta \;\le\; \underbrace{\|u - u_\delta\|_\delta}_{\text{Penalty-/Randfehler}} + \underbrace{\|u_\delta - u_{\mathcal{N},\mathrm{ex}}\|_\delta}_{\text{Netzwerkfehler}} + \underbrace{\|u_{\mathcal{N},\mathrm{ex}} - u_{\mathcal{N},\mathrm{mc}}\|_\delta}_{\text{MC-/Diskretisierungsfehler}} + \underbrace{\|u_{\mathcal{N},\mathrm{mc}} - u_{\mathcal{N}}\|_\delta}_{\text{Optimierungsfehler}}. $$
  • Penalty-/Randfehler: \(\|u - u_\delta\|_\delta\). Für reguläre Lösungen skaliert dieser Fehler typischerweise proportional zu \(\delta\).
  • Netzwerkfehler: \(\|u_\delta - u_{\mathcal{N},\mathrm{ex}}\|_\delta\) misst, wie gut der Netzwerkraum \(V_{\mathcal{N}}\) die Lösung überhaupt approximieren kann. Für tiefe ReLU-Netze existieren Approximationsraten in \(H^1\)-Norm, z. B. Größenordnung \(\|\nabla(u_\delta - u_{\mathcal{N},\mathrm{ex}})\| \sim \sqrt{\tfrac{\log N}{N}}\) in Abhängigkeit von der Zahl der Gewichte \(N\).
  • MC-/Diskretisierungsfehler: \(\|u_{\mathcal{N},\mathrm{ex}} - u_{\mathcal{N},\mathrm{mc}}\|_\delta\). Bei unabhängig gesampelten Punkten gilt für die Monte-Carlo-Quadratur eine Abweichung der Energie von Ordnung \(\mathcal{O}(N^{-1/2})\); über Stabilität lassen sich daraus Raten der Form \(\|u_{\mathcal{N},\mathrm{ex}} - u_{\mathcal{N},\mathrm{mc}}\|_\delta = \mathcal{O}_p(N^{-1/4})\) ableiten.
  • Optimierungsfehler: \(\|u_{\mathcal{N},\mathrm{mc}} - u_{\mathcal{N}}\|_\delta\) erfasst, wie weit das tatsächlich trainierte Netz von einem (hypothetischen) exakten Minimierer der diskreten Energie entfernt ist. Aufgrund der Nichtkonvexität der Zielfunktion gibt es hier derzeit keine umfassende a-priori-Konvergenztheorie für SGD/Adam.

Der wesentliche Punkt: Approximations-, Rand- und MC-/Diskretisierungsfehler lassen sich unter Annahmen theoretisch kontrollieren. Die eigentliche Unschärfe der Deep-Ritz-Methode liegt im nichtkonvexen Optimierungsfehler.

Praktische Hinweise

  • Beschränktes Lipschitz-Gebiet \(\Omega\) sichert Spur-Operator und Variationsformulierung.
  • Sampling in \(\Omega\) und auf \(\partial\Omega\) sollte zur Skalierung der Terme in \(\mathcal{R}_\delta\) passen (Balancing von Innen- und Randpunkten).
  • Glatte Aktivierungen (\(\tanh\), SIREN) erleichtern die Auswertung von \(\nabla u_\Theta\) und stabilisieren das Energieminimieren.
  • Adam/SGD mit geeignetem Lernratenplan und ausreichend vielen Iterationen ist Standard; theoretische Garantien sind jedoch limitiert.

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
  • Minakowski, P.; Richter, T.: On the Deep Ritz Method for Elliptic Problems, neuere Theorie zu Fehlerzerlegung und Konvergenz.

Code

Repository: git.numexp.org/ferdinandkruppa/deep-ritz

Clone

git clone https://git.numexp.org/ferdinandkruppa/deep-ritz.git