Zum Inhalt springen
labkompass

LAB · Vermessen

Reservoir Computing gegen neuronales Netz: 27-mal schneller trainiert — mit Haken

Ein Echo State Network, bei dem nur die Ausgangsschicht lernt, gegen ein klassisch trainiertes MLP: gleiche Zeitreihe, gleicher Rechner, fünf Läufe. Das Reservoir trainiert in 0,35 statt 9,2 Sekunden — braucht aber dreimal so viel RAM und rechnet Vorhersagen langsamer.

Von Niclas Hennrich ·

  • Notebook-CPU Intel Core i7-9750H (6 Kerne, 12 Threads)
  • 16 GB RAM

Softwarestand: macOS 15.7 · Python 3.12.1 · NumPy 1.26.2

Reality Check

Stand: September 2026

Belegt
2 Aussagen
Spekulation
1 Aussage

2 Quellen · Was die Stufen bedeuten


LAB-Messwert · gemessen am · 5 Läufe (Seeds 0–4)

Vorhersagefehler Echo State Network (NRMSE)

Median
0 NRMSE
Minimum
0 NRMSE
Maximum
0 NRMSE

Messmethode: Testfehler auf 1.000 ungesehenen Zeitschritten, normiert auf die Standardabweichung der Zielwerte · Last: Mackey-Glass (τ = 17), Vorhersage 10 Schritte voraus

LAB-Messwert · gemessen am · 5 Läufe (Seeds 0–4)

Vorhersagefehler MLP (NRMSE)

Median
0,01 NRMSE
Minimum
0,01 NRMSE
Maximum
0,01 NRMSE

Messmethode: Wie beim ESN · Last: Mackey-Glass (τ = 17), Vorhersage 10 Schritte voraus

LAB-Messwert · gemessen am

Vorhersagefehler lineare Baseline (NRMSE)

Messwert
0,33 NRMSE

Messmethode: Ridge-Regression auf dem 30er-Fenster; deterministisch, daher ein Wert · Last: Mackey-Glass (τ = 17), Vorhersage 10 Schritte voraus

LAB-Messwert · gemessen am · 5 Läufe

Trainingszeit Echo State Network

Median
0,35 s
Minimum
0,32 s
Maximum
0,45 s

Messmethode: Wanduhrzeit (perf_counter): Reservoir-Durchlauf über 5.200 Schritte + Ridge-Regression, 1 BLAS-Thread

LAB-Messwert · gemessen am · 5 Läufe

Trainingszeit MLP

Median
9,24 s
Minimum
8,98 s
Maximum
9,25 s

Messmethode: Wanduhrzeit: 300 Epochen Adam, Batchgröße 64, 1 BLAS-Thread

LAB-Messwert · gemessen am · 5 Läufe

Inferenz Echo State Network pro 1.000 Vorhersagen

Median
57 ms
Minimum
55 ms
Maximum
58 ms

Messmethode: Reservoir Schritt für Schritt (rekurrent, nicht parallelisierbar) + Readout

Nicht direkt mit dem MLP vergleichbar: das MLP rechnet alle Testfenster als einen Batch

LAB-Messwert · gemessen am · 5 Läufe

Inferenz MLP pro 1.000 Vorhersagen

Median
3,7 ms
Minimum
3,2 ms
Maximum
4 ms

Messmethode: Ein Batch über alle 1.000 Testfenster

LAB-Messwert · gemessen am · 5 Läufe, Spanne 121,4–121,6

Spitzen-RAM des Prozesses, Echo State Network

Median
121,6 MB

Messmethode: ru_maxrss je Lauf in eigenem Python-Prozess (inkl. Interpreter und NumPy)

LAB-Messwert · gemessen am · 5 Läufe, Spanne 38,1–38,4

Spitzen-RAM des Prozesses, MLP

Median
38,3 MB

Messmethode: ru_maxrss je Lauf in eigenem Python-Prozess (inkl. Interpreter und NumPy)

Reservoir Computing klingt nach einem Trick: Man baut ein großes, zufällig verdrahtetes neuronales Netz — und trainiert es dann nicht. Nur die letzte, lineare Ausgangsschicht lernt. Das Reservoir selbst bleibt, wie es ist. Dass solche Echo State Networks chaotische Zeitreihen sehr genau vorhersagen können, wurde 2004 in Science gezeigt.Belegt

Die Frage für dieses LAB ist bodenständiger: Was bringt das auf einem normalen Rechner — gegenüber einem kleinen, klassisch trainierten Netz? Keine Spezialhardware, kein Photonik-Labor, nur ein Notebook und NumPy.

Der Versuch in einem Satz #

Drei Modelle sagen dieselbe Zeitreihe zehn Schritte voraus; gemessen werden Genauigkeit, Trainingszeit, Vorhersagezeit und Arbeitsspeicher — fünf Läufe pro Modell, jeweils in einem frischen Prozess.

Aufbau #

Die Aufgabe: Die Mackey-Glass-Gleichung beschreibt ein Regelsystem mit Verzögerung, das je nach Parametern chaotisch schwingtBelegt — mit τ = 17 ist sie ein Klassiker für Zeitreihen-Benchmarks. Das Skript integriert sie numerisch (Euler, Schritt 0,1, jede zehnte Stützstelle), trainiert auf 4.000 und testet auf 1.000 Zeitschritten, die das Modell nie gesehen hat.

Die drei Kandidaten:

ModellAufbauWas lernt?Trainierte Parameter
Echo State Network400 Neuronen, 10 % verbunden, Spektralradius 0,95nur der lineare Ausgang (Ridge-Regression, ein Rechenschritt)402
MLPletzte 30 Werte → 64 Neuronen (tanh) → 1alle Gewichte per Backpropagation (Adam, 300 Epochen)2.049
LinearRidge-Regression auf den letzten 30 Wertenalle Gewichte, ein Rechenschritt31

Die lineare Baseline ist die ehrliche Kontrollfrage: Braucht es für diese Aufgabe überhaupt ein nichtlineares Modell?

Messung: Zeiten per perf_counter, BLAS auf einen Thread fixiert, damit kein Modell von zufälliger Parallelisierung profitiert. RAM als Spitzenwert des jeweiligen Python-Prozesses — also inklusive Interpreter und NumPy, die allein gut 30 MB ausmachen. Das komplette Skript liegt im Repository unter scripts/lab/reservoir_vs_mlp.py, die Rohdaten aller 15 Läufe unter scripts/lab/ergebnisse/.

Ergebnisse #

Echo State NetworkMLPLinear
Vorhersagefehler (NRMSE, Median)0,000580,00530,334
Trainingszeit (Median)0,35 s9,24 s< 0,01 s
Vorhersagen pro 1.000 (Median)57 ms3,7 ms< 0,1 ms
Spitzen-RAM des Prozesses122 MB38 MB35 MB

Drei Dinge fallen auf:

  1. Die lineare Baseline scheitert deutlich. Ein Fehler von 0,33 heißt: Ohne Nichtlinearität ist die Zehn-Schritte-Vorhersage kaum brauchbar. Beide neuronalen Ansätze sind also nicht nur Dekoration.
  2. Das Reservoir trainiert rund 27-mal schneller und ist auf dieser Aufgabe etwa neunmal genauer. Der Grund ist strukturell: Statt Tausender Gradientenschritte löst das ESN ein einziges lineares Gleichungssystem.
  3. Es kostet an anderer Stelle. Das Reservoir braucht rund dreimal so viel Arbeitsspeicher (die 400 × 400-Matrix und die gespeicherten Zustände), und die Vorhersage ist langsamer, weil ein rekurrentes Netz Schritt für Schritt rechnen muss. Das MLP rechnet dagegen alle Testfenster in einem Batch — die Inferenzzahlen sind deshalb nicht direkt vergleichbar, sie zeigen aber den praktischen Unterschied.

Was das Ergebnis nicht zeigt #

  • Eine Aufgabe, ein Rechner. Mackey-Glass ist glatt und deterministisch — ein Lieblingsgelände für Reservoirs. Auf verrauschten Messdaten oder Sprache kann das Bild anders aussehen.
  • Kein Tuning-Wettbewerb. Beide Modelle laufen mit festen, üblichen Einstellungen. Ein länger oder geschickter trainiertes MLP käme dem Reservoir vermutlich näher; ein getuntes Reservoir ebenso weiter nach vorn.
  • Keine Energiemessung. Auf diesem Intel-Notebook lässt sich die Leistungsaufnahme ohne Root-Zugriff nicht sauber pro Prozess messen. Die Trainingszeit ist nur ein grober Stellvertreter.
  • Kein physisches Reservoir. Hier läuft alles digital. Ob ein optisches oder elektronisches Reservoir, das „von selbst“ rechnet, den Speicher- und Inferenznachteil umdrehen kann, ist genau die Frage der nächsten LABs.Evidenz: Spekulation

Nachmachen #

python3 scripts/lab/reservoir_vs_mlp.py --seeds 5 > ergebnis.json

Nur NumPy nötig, Laufzeit auf dem Test-Notebook rund eine Minute. Wer auf anderer Hardware misst, bekommt andere Zeiten — die Rangfolge sollte bleiben. Wenn nicht: Das wäre ein spannendes Ergebnis.

Quellen

  1. Originalpaper · 2004

    Harnessing Nonlinearity: Predicting Chaotic Systems and Saving Energy in Wireless Communication (externer Link, neues Fenster) — Jaeger, Haas

  2. Originalpaper · 1977

    Oscillation and Chaos in Physiological Control Systems (externer Link, neues Fenster) — Mackey, Glass

Zum Setup gehört