Geodaten in neuronalen Netzen speichern
Kapitel 6 · Kugelflächenfunktionen

Inhalt:
- Welcher feste, geordnete Satz von Mustern genau zur Kugel passt
- Wie sich die Erde aus diesen Kugelflächenfunktionen zusammensetzen lässt
- Warum sie für feine Einzelheiten teuer werden
Dieses Kapitel ergänzt Kapitel 5. Sie können es auch überspringen.
Ausgangspunkt
In Kapitel 5 wurden 128 Streifenmuster mit zufälliger Richtung und zufälligem Abstand über die Erde gelegt. Das funktioniert gut, ist aber ein Notbehelf: Gerade Streifen passen nicht genau auf eine Kugel.
Mathematiker kennen seit langem einen geordneten Satz von solchen Mustern, der genau für die Kugel gemacht ist. Diese heißen Kugelflächenfunktionen (englisch spherical harmonics). Sie sind das Gegenstück zur Fourier-Analyse aus Kapitel 5.
Kugelflächenfunktionen
Die Kugelflächenfunktionen sind nach ihrem Grad geordnet. Jeder Grad bringt andere Muster, jedes feiner als die davor:

Wie bei den Streifenmustern in Kapitel 5 ergibt sich auch hier eine Welle, wenn man quer über die Kugel geht und die Werte aufträgt:

Anders als die geraden Streifen aus Kapitel 5 passen diese Wellen genau auf die Kugel: Entlang des Äquators geht beim Sektoren-Muster eine ganze Zahl von Wellen auf – beim Grad 3 genau drei.
- Grad 0: ein einziges Muster, überall gleich. Es steht für die mittlere Höhe.
- Grad 1: drei Muster. Jedes teilt die Kugel in eine positive und eine negative Hälfte – eines nach Nord und Süd, zwei nach Ost und West.
- Grad 2: fünf Muster, die Kugel ist in vier Felder oder in Bänder geteilt.
- Jeder weitere Grad bringt 2 · Grad + 1 neue Muster, und die Felder werden kleiner.
Bis zu einem Grad L gibt es also (L + 1)² Muster. Die feinste Welle hat ungefähr eine Länge von 40 000 km geteilt durch L – dem Erdumfang geteilt durch den Grad:
| höchster Grad L | Muster insgesamt | kürzeste Welle |
|---|---|---|
| 2 | 9 | etwa 20 000 km |
| 8 | 81 | etwa 5 000 km |
| 16 | 289 | etwa 2 500 km |
| 40 | 1 681 | etwa 1 000 km |
| 100 | 10 201 | etwa 400 km |
Anders als die zufälligen Streifen aus Kapitel 5 sind diese Muster vollständig: Bis zu ihrem Grad fehlt keine Welle, und keine kommt doppelt vor. Und sie sind orthogonal – jedes Muster beschreibt etwas, das kein anderes beschreibt. Deshalb nutzt die Geodäsie sie seit Jahrzehnten, um die Form und das Schwerefeld der Erde zu beschreiben. Das Erdschweremodell EGM2008 etwa besteht aus den Gewichten von Kugelflächenfunktionen bis zum Grad 2190 [1].
Die Erde aus Kugelflächenfunktionen
Mit diesen Mustern kann man die Erde zusammensetzen – genau wie das Alpenprofil in Kapitel 5 aus Wellen. Jedes Muster bekommt ein Gewicht, alle werden zusammengezählt. Je höher der Grad, desto mehr Muster stehen zur Verfügung und desto schärfer wird die Erde:

Das ist das einfachste Modell aus Kapitel 3, nur mit anderen Eingaben: eine gewichtete Summe, ohne versteckte Schichten und ohne Knicke. Jedes Muster ist eine Eingabe, jedes Gewicht gehört zu einem Muster.
Bei Kugelflächenfunktionen lassen sich die passenden Gewichte sogar direkt ausrechnen, ohne Training – so ist die Abbildung oben entstanden. Trainiert man stattdessen ein Netz ohne versteckte Schichten mit diesen Eingaben, findet das Training dieselben Gewichte. Ein solches Netz ist also genau die klassische Darstellung der Geodäsie.
Kugelflächenfunktionen als Eingabe für ein Netz
Statt der zufälligen Streifen aus Kapitel 5 kann man die Kugelflächenfunktionen auch als Eingabe für ein Netz mit versteckten Schichten verwenden. Für einen Ort schaut man – wie in Kapitel 5 – in jedem Muster nach, welchen Wert es an dieser Stelle hat. Bis Grad 16 sind das 289 Zahlen statt 256.
Das Netz kann die Muster dann mit seinen Knicken weiter kombinieren und so auch Formen bilden, die feiner sind als die kürzeste Welle der Eingabe.
Die App bietet dafür zwei Vorlagen:
| Vorlage | Grad L | Eingaben | versteckte Schichten | Gewichte | Größe | Kompressionsrate |
|---|---|---|---|---|---|---|
| Spherical harmonic expansion (L = 40, linear) | 40 | 1 681 | 0 | 1 682 | 6,6 KB | 693 |
| Spherical harmonics (L = 16) | 16 | 289 | 4 | 86 785 | 339 KB | 13 |
| zum Vergleich: Fourier MLP (recommended), Kapitel 5 | – | 256 | 4 | 82 561 | 323 KB | 14 |
Die lineare Variante ist winzig: Sie braucht nur ein Gewicht pro Muster und ist rund 700-mal kleiner als das Raster. Dafür zeigt sie keine Einzelheiten unter etwa 1 000 km.
Der Preis der Vollständigkeit
So elegant die Kugelflächenfunktionen sind – für feine Einzelheiten werden sie teuer. Weil sie vollständig sind, braucht jede feinere Welle alle Richtungen auf einmal: Für Wellen von 400 km Länge braucht man über 10 000 Muster, für 100 km bereits über 160 000. Jedes Muster ist eine Eingabe, und jede Eingabe kostet in der ersten Schicht eines Netzes ein Gewicht pro Neuron.
Die zufälligen Streifen aus Kapitel 5 sind da sparsamer. Sie decken nicht jede Richtung systematisch ab, erreichen aber schon mit 128 Mustern auch kurze Wellen. Das Netz kann dann aus vielen Richtungen die passenden auswählen.
| zufällige Streifen (Kapitel 5) | Kugelflächenfunktionen | |
|---|---|---|
| Auswahl der Muster | zufällig, aus einem Startwert | fest und geordnet |
| passen genau auf die Kugel | annähernd | ja |
| vollständig bis zu einer Wellenlänge | nein | ja |
| Zahl der Eingaben für kurze Wellen | gering (z. B. 256) | wächst sehr schnell |
| Rechenaufwand | gering | hoch, vor allem bei großem L |
Welche Variante die Höhen besser trifft, hängt von der Netzgröße und vom Grad ab. Bei gleich großen Netzen liegen beide nah beieinander: Mit 4 000 Trainingsschritten auf dem Standardgitter erreicht Spherical harmonics (L = 16) einen gewichteten RMSE von 241 m, Fourier MLP (recommended) 245 m. Das lineare Modell bis Grad 40 kommt mit nur 6,6 KB auf 631 m – genauer als das einfache Netz aus Kapitel 2 mit 706 m, das 30-mal so groß ist. Alle Werte stehen im Anhang mit den Messungen.
Ausprobieren
Wählen Sie in der Seitenleiste unter 2 · Network die Vorlage Spherical harmonic expansion (L = 40, linear) und klappen Sie Architecture details auf.
Unter Positional encoding steht jetzt spherical. Der Regler Maximum degree L legt den höchsten Grad fest. Darunter zeigt die App die Zahl der Muster und die kürzeste Welle. Hidden layers steht auf 0: ein lineares Modell.

Trainieren Sie und sehen Sie sich das Ergebnis im Reiter Maps & Error an. Es sollte ähnlich aussehen wie die Karte „bis Grad 40“ oben.
Wählen Sie dann die Vorlage Spherical harmonics (L = 16), trainieren Sie und vergleichen Sie das Ergebnis mit Fourier MLP (recommended) aus Kapitel 5.
Hinweis zur Rechenzeit: Bei großem Grad wird das Training langsam, weil für jeden Ort sehr viele Muster berechnet werden müssen. Auf einem Apple M4 dauern 4 000 Schritte mit L = 40 etwa 5 Minuten, mit L = 16 knapp 2 Minuten; Fourier MLP (recommended) braucht dafür gut 1 Minute. Für erste Versuche lohnt sich ein kleineres L oder eine kleinere Grid resolution.
Ideen zum Weiterprobieren
- Beim linearen Modell Maximum degree L auf 8, 20 und 40 stellen und die Karten mit der Abbildung oben vergleichen.
- Beim linearen Modell Hidden layers von 0 auf 2 erhöhen. Was passiert mit der Zahl der Gewichte – und mit den Einzelheiten?
- Bei Spherical harmonics (L = 16) den Grad auf 8 senken. Wie viel schlechter wird das Ergebnis, und wie viel kleiner die Datei?
Weiterführende Links
- [1] Wikipedia: Earth Gravitational Model – das Schweremodell EGM2008 der US-Behörde NGA, Kugelflächenfunktionen bis Grad 2190 (Englisch)
- Wikipedia: Kugelflächenfunktionen – mathematische Grundlagen, mit Abbildungen der ersten Grade
- Rußwurm et al.: Geographic Location Encoding with Spherical Harmonics and Sinusoidal Representation Networks, ICLR 2024 – Kugelflächenfunktionen als Eingabe für neuronale Netze (Englisch)
Übersicht · Zurück: Kapitel 5 · Höhen als Wellen · Weiter: Kapitel 7 · SIREN
Dieses Tutorial wurde von Gerhard Völkl unter Verwendung von Claude Code (Anthropic) erstellt. Es soll helfen, mehr über das Thema „Geodaten in neuronalen Netzen speichern“ zu lernen. Verbesserungsvorschläge gerne an gkvoelkl@nelson-games.de.