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
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:
| Modell | Aufbau | Was lernt? | Trainierte Parameter |
|---|---|---|---|
| Echo State Network | 400 Neuronen, 10 % verbunden, Spektralradius 0,95 | nur der lineare Ausgang (Ridge-Regression, ein Rechenschritt) | 402 |
| MLP | letzte 30 Werte → 64 Neuronen (tanh) → 1 | alle Gewichte per Backpropagation (Adam, 300 Epochen) | 2.049 |
| Linear | Ridge-Regression auf den letzten 30 Werten | alle Gewichte, ein Rechenschritt | 31 |
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 Network | MLP | Linear | |
|---|---|---|---|
| Vorhersagefehler (NRMSE, Median) | 0,00058 | 0,0053 | 0,334 |
| Trainingszeit (Median) | 0,35 s | 9,24 s | < 0,01 s |
| Vorhersagen pro 1.000 (Median) | 57 ms | 3,7 ms | < 0,1 ms |
| Spitzen-RAM des Prozesses | 122 MB | 38 MB | 35 MB |
Drei Dinge fallen auf:
- 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.
- 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.
- 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.jsonNur 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
Originalpaper · 2004
Harnessing Nonlinearity: Predicting Chaotic Systems and Saving Energy in Wireless Communication (externer Link, neues Fenster) — Jaeger, Haas
Originalpaper · 1977
Oscillation and Chaos in Physiological Control Systems (externer Link, neues Fenster) — Mackey, Glass