HerrKI mit seinem RoboterHerrKI KI verstehen · nachbauen · anwenden ⭐ 0 XP

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“:

// Schicht 1: y = 2x + 1 Schicht 2: z = 3y − 4 z = 3·(2x + 1) − 4 = 6x − 1 // ... wieder nur eine Gerade!

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.

2

Was macht dieser ReLU eigentlich?

ReLU („Rectified Linear Unit“) ist fast schon beleidigend simpel:

relu(x) = max(0, x) // negativ? -> 0. positiv? -> durchlassen. Das ist ALLES.

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.

Position Höhe
Position Höhe
Position Höhe
💡 Und jetzt der Gedankensprung: Du hast gerade mit 3 ReLU-Bausteinen von Hand gemacht, was eine Schicht mit 128 Neuronen automatisch tut — nur mit 128 Bausteinen, deren Positionen und Höhen per Gradient Descent gelernt werden. Deep Learning ist Kurven-Lego in Millionen-Teile-Packung.

🔬 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:

Schicht 1 rechnet x − Position, ein Wert je Baustein: roh [3]: 0,4−(−0,2) 0,4−(+0,2) 0,4−(+0,6) = +0,60 +0,20 −0,20 relu() nimmt jede Zahl EINZELN, max(0, x): aktiv [3]: +0,60 +0,20 0,00 // Baustein 3 schweigt hier Schicht 2 summiert, jeder Baustein mit Höhe 0,5: 0,5·0,60 + 0,5·0,20 + 0,5·0,00 = 0,30 + 0,10 + 0 = 0,40

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:

ohne relu: 0,5·(+0,60) + 0,5·(+0,20) + 0,5·(−0,20) = 0,30 für jedes x: 0,5·(x+0,2) + 0,5·(x−0,2) + 0,5·(x−0,6) = 1,5·x − 0,3

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:

const aktiv = roh.relu(); // [3] -> [3] tf.layers.dense({ units: 3, activation: 'relu' }); // dasselbe im Layer

Neben ReLU begegnen dir noch zwei Klassiker — hier auf dieselben drei Zahlen angewendet:

rohrelu(x)
max(0, x)
sigmoid(x)
0 … 1
tanh(x)
−1 … +1
+0,600,600,650,54
+0,200,200,550,20
−0,200,000,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.

🧠 Kurzer Check — hast du es?

1. Was passiert, wenn man 10 Schichten OHNE Aktivierungsfunktion stapelt?
2. Was rechnet ReLU?
3. Warum kann ein Netz mit ReLU-Schichten beliebige Kurven lernen?