Warum eine Gerade nicht reicht (Aktivierungsfunktionen)
Zehn Schichten ohne Aktivierung sind immer noch eine Gerade. Erlebe live, wie erst der ReLU-Knick ein Netz mächtig macht — und baue aus drei Knicken selbst eine Kurve.
👋 HerrKI hier — heute beantworte ich die Frage, die du dir gerade stellst
In „Polynomiale Regression“ hat dein Netz eine Kurve gelernt. Da liegt die Frage nahe: „Warum dann nicht einfach IMMER mehr Schichten stapeln?“ Die überraschende Antwort: Mehr Schichten allein bringen exakt gar nichts. Was ein Netz wirklich mächtig macht, ist ein winziger Knick — die Aktivierungsfunktion.
Die unbequeme Mathematik: Gerade + Gerade = Gerade
Eine Schicht ohne Aktivierung rechnet Ausgabe = Gewicht × Eingabe + Bias — eine Gerade. Stapelst du zwei davon, rechnest du „Gerade von einer Geraden“:
Das gilt für 2 Schichten, für 10, für 100: Ohne Knick kollabiert jeder Stapel zu einer einzigen Geraden. Glaubst du nicht? Musst du nicht — gleich siehst du es live.
⚔️ Zwei Netze, gleiche Daten, gleiches Training — nur EIN Unterschied
Beide Netze bekommen dieselbe Wellen-Punktwolke. Links rechnet jede Schicht linear (kein Knick), rechts steckt nach jeder Schicht ein ReLU. Schalte ruhig mehr Schichten dazu — und schau, wem das hilft.
Was macht dieser ReLU eigentlich?
ReLU („Rectified Linear Unit“) ist fast schon beleidigend simpel:
Ein Knick bei null. Aber: Summen von verschobenen, skalierten Knicken können jede Form annehmen. Beweis zum Selberbauen:
🧱 Kurven-Lego: Baue die graue Zielkurve aus 3 ReLU-Bausteinen nach
Jeder Baustein ist ein ReLU: Höhe × max(0, x − Position). Stell Position und Höhe der drei Bausteine so ein, dass die blaue Summe auf der grauen Zielkurve liegt. Ziel: Abweichung unter 0,02.
🔬 Runter zum Tensor
Die Aktivierung wird elementweise auf den Ausgabe-Tensor jeder Schicht angewendet (Kapitel 060): jede Zahl einzeln durch den Knick. Nehmen wir dein Kurven-Lego von eben — drei Bausteine an den Positionen −0,2 / +0,2 / +0,6, jeder mit Höhe 0,5 — und schauen an einer Stelle nach, bei x = 0,4:
Und ohne den Knick? Dann geht der dritte Baustein mit −0,20 statt mit 0 in die Summe — und der ganze Stapel kollabiert wieder zu der Geraden vom Kapitelanfang:
Die Form bleibt dabei immer gleich: [3] rein, [3] raus — bei 128 Neuronen eben [128] rein und raus. In TensorFlow.js ist das eine Zeile oder ein einziges Wort:
Neben ReLU begegnen dir noch zwei Klassiker — hier auf dieselben drei Zahlen angewendet:
| roh | relu(x) max(0, x) | sigmoid(x) 0 … 1 | tanh(x) −1 … +1 |
|---|---|---|---|
| +0,60 | 0,60 | 0,65 | 0,54 |
| +0,20 | 0,20 | 0,55 | 0,20 |
| −0,20 | 0,00 | 0,45 | −0,20 |
Sigmoid quetscht alles auf 0–1 — kennst du als Ja/Nein-Ausgang aus Kapitel 220; Tanh auf −1 bis +1. In den versteckten Schichten hat sich ReLU durchgesetzt: billig zu rechnen, und der Gradient verhungert nicht so schnell.
Zurück zur Anwendung
Jedes activation: 'relu', das dir in den Kapiteln bisher begegnet ist, war genau das:
der Knick, der aus einem Geraden-Stapel einen Universal-Kurvenbauer macht. Ohne ihn wäre jede Bild-KI,
jeder Chatbot und jedes Netz aus Kapitel 210
nur eine sehr teure Gerade.
