Testrechnungen PINNs


Testrechnungen : Under Construction
Diese Seite ist noch nicht ganz fertig …

Hier werden die Ergebnisse der Testrechnungen für das Physics-Informed Neural Network (PINN) dargestellt und kurz analysiert.

Ergebnisse der PINN-Auswertung, Programm evaluate

Die Testdaten wurden im Bereich von \(0\) bis \(2\pi\) generiert, also mit dem Trainingsintervall übereinstimmend.
$$
x_i = \frac{i \, 2 \pi}{N}, \qquad i=0,\ldots, N .
$$
Das folgende Diagramm zeigt die Auswertung des PINN ( net->forward(x) ) im Vergleich zur tatsächlichen \(\sin(x)\)-Funktion.

Testrechnungen : Auswertung
Auswertung des PINN im Vergleich zur sin-Funktion

Die beiden Kurven liegen praktisch übereinander, der Fehler ist von der Größenordnung \(\mathcal{O}(10^{-3})\). Das ist eine bemerkenswert präzise Approximation der \(\sin(x)\)-Funktion. Jedoch ist eine Zunahme des Fehlers gegen Ende des Intervalls zu beobachten.

Testrechnungen : Fehler (PINN(x) - sin(x))-Funktion
Fehler PINN(x) – sin(x)
Auswertung über das Trainingsintervall hinaus

Die folgende Auswertung zeigt das Verhalten des PINN außerhalb des Trainingsintervalls \(0\) bis \(2\pi\). Wie in den Diagrammen zu sehen ist, nimmt der Fehler außerhalb des Trainingsintervalls stark zu, was die Verwendung des PINN für \(x > 2\pi\) unbrauchbar macht. Es sieht so aus, als folge der Funktionsverlauf der Aktivierungsfunktion \(\tanh\).

Testrechnungen Auswertung des PINN im Vergleich zur (sin(x))-Funktion außerhalb des Trainingsintervalls
Auswertung des PINN im Vergleich zur sin-Funktion außerhalb des Trainingsintervalls \( [0, 2\pi] \)
Der Fehler des PINN außerhalb des Trainingsintervalls ist von der Größenordnung \(\mathcal{O}(1)\).

Testrechnungen Fehler e(x) = PINN - sin(x)
Fehler e(x) = PINN(x) – sin(x) für \(x \in (0,12) \).
Training mit Berücksichtigung der Periodizität

Wir fügen nun Wissen über die gesuchte Funktion hinzu und fordern Periodizität. Dies führt zur Erweiterung des Funktionals:

$$
\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{standard}} + \frac{1}{2K} \sum_{k=1}^{K} \frac{1}{N} \sum_{i=1}^{N} \left(\hat{y}(x_i + k \cdot 2\pi) – \hat{y}_i\right)^2
$$

Mit dem Wert \( K=2 \) sind die Trainingsdaten aus dem Bereich \(I = [0, 6\pi]\). Die Approximation ist in \( I \) wieder sehr gut.

Testrechnungen
PINN trainiert mit \(\mathcal{L}_{\text{standard}} + \lambda \; \mathcal{L}_{\text{periodic}}\)
Fehler
Fehler im Bereich \( (0, 6 \pi) \)

Sobald allerdings das Intervall verlassen wird, steigt der Fehler stark an und die PINN-Funktion wird wieder unbrauchbar.

 Auswertung
Fehler \( e(x) = PINN(x) – \sin(x) \) für \( x \in (0,25) \)
Frequenz-Prinzip

Das Frequenz-Prinzip [1][2][3] (auch F-Prinzip) besagt, dass neuronale Netze dazu neigen, niederfrequente Komponenten eines Signals schneller zu lernen als hochfrequente Komponenten. Das bedeutet, dass während des Trainings die glatten, langsamen Veränderungen im Signal zuerst erfasst werden, während die detaillierteren, schnelleren Veränderungen länger dauern. Genau das beobachten wir auch, wenn wir statt \(\sin⁡(x)\) die höherfrequenten Funktionen \(\sin⁡(k \, x)\) mit \(k=2,3,4,8\) approximieren. Das Training benötigt mehr Iterationsschritte, je größer \(k\) ist.

Funktion Iterationen bis Verlust \( < 10^{-5}\)
sin(x) 10200
sin(2x) 10900
sin(3x) 41200
sin(4x) 51600
sin(8x) > 100000

Konvergenz des Trainings in Abhängigkeit der Frequenz \(k\)

Konvergenzgeschwindigkeit in der Trainingsphase
Konvergenzgeschwindigkeit in der Trainingsphase für \(\sin(k x)\), \(k=1,2,3,4,8\)

Quellen

  1. Zhi-Qin John Xu and Yaoyu Zhang and Tianwei Luo and Yanyang Xiao and Zheng Ma and Zhihua Wen (2019): Frequency Principle: Fourier Analysis Sheds Light on Deep Neural Networks. In: arXiv preprint arXiv:1901.06523, 2019.
  2. Lu Lu and Pengzhan Jin and Guofei Pang and Zhongqiang Zhang and George Em Karniadakis (2021): Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators. In: Nature Machine Intelligence, Bd. 3, Nr. 3, S. 218–229, 2021.
  3. Tao Luo and Zheng Ma and Zhi-Qin John Xu and Yaoyu Zhang (2019): Theory of the Frequency Principle for General Deep Neural Networks. 2019.