Ratgeber · grundlagen
Wie neuronale Netze lernen: von Neuronen bis Backpropagation
Wie ein künstliches neuronales Netz aufgebaut ist, was Gewichte, Aktivierungsfunktionen und Schichten tun, wie Training mit Backpropagation und Lernrate funktioniert und was Deep Learning ausmacht. Verständlich erklärt.
Wenn Du Dich im Quiz auf ki-lernen.net an die Stufe “Fortgeschritten” wagst, tauchen dort früher oder später Fragen zu neuronalen Netzen auf: Was ist ein Gewicht? Wozu braucht ein Netz eine Aktivierungsfunktion? Und was genau passiert bei der Backpropagation? Ich bin Mateusz Viola und schreibe in diesem Ratgeber genau die Grundlagen zusammen, die Dir bei diesen Fragen helfen. Mein Ziel ist, dass Du am Ende nicht nur die richtige Antwort ankreuzt, sondern auch verstehst, warum sie richtig ist.
Falls Du beim Begriff “Modell” oder “Training” noch unsicher bist, empfehle ich Dir vorher einen Blick in die Machine Learning Grundlagen. Dort ordne ich neuronale Netze in das größere Feld des maschinellen Lernens ein. Hier gehe ich einen Schritt tiefer.
Die Grundidee: das künstliche Neuron
Ein neuronales Netz besteht aus vielen kleinen Rechenbausteinen, die man künstliche Neuronen nennt. Ein einzelnes Neuron ist erstaunlich simpel. Es bekommt mehrere Zahlen als Eingabe, multipliziert jede davon mit einem eigenen Gewicht, addiert die Ergebnisse zu einer Summe und schickt diese Summe durch eine sogenannte Aktivierungsfunktion. Heraus kommt wieder eine Zahl, die das Neuron an die nächste Stelle weitergibt.
In Kurzform: gewichtete Summe plus Aktivierungsfunktion. Das ist der ganze Kern. Zusätzlich hat jedes Neuron noch einen kleinen Verschiebungswert, den man Bias nennt. Er erlaubt dem Neuron, seine Schwelle zu verschieben, ab der es kräftig reagiert. Du kannst Dir den Bias als eine Art Grundeinstellung vorstellen.
Der Name “neuronales Netz” ist an das biologische Gehirn angelehnt. Auch dort empfangen Nervenzellen Signale, verrechnen sie und feuern ab einer gewissen Reizschwelle weiter. Diese Analogie ist hübsch, aber ich möchte sie klar begrenzen: Ein künstliches Neuron ist nur lose von der Biologie inspiriert. Es ist eine mathematische Vereinfachung und kein Modell einer echten Nervenzelle. Echte Neuronen sind ungleich komplexer, arbeiten mit Zeitverläufen und chemischen Prozessen, die ein künstliches Netz gar nicht abbildet. Wenn Du also im Quiz liest, ein neuronales Netz “funktioniere wie das Gehirn”, ist das bestenfalls ein grobes Bild und keine wörtliche Wahrheit.
Schichten: von der Eingabe zur Ausgabe
Ein einzelnes Neuron kann kaum etwas. Die Stärke entsteht erst, wenn man viele Neuronen in Schichten anordnet und hintereinander schaltet. Man unterscheidet drei Arten von Schichten.
Die Eingabeschicht nimmt Deine Daten entgegen. Wenn Du zum Beispiel ein kleines Graustufenbild verarbeitest, wäre jeder Pixel ein Eingabewert. Die versteckten Schichten liegen dazwischen und tun die eigentliche Arbeit: Sie kombinieren und transformieren die Werte immer weiter. Man nennt sie “versteckt”, weil man ihre Zwischenergebnisse von aussen weder direkt vorgibt noch direkt abliest. Die Ausgabeschicht liefert schließlich das Ergebnis, etwa die Wahrscheinlichkeit, dass auf dem Bild eine Katze zu sehen ist.
Und hier kommt der Begriff Deep Learning ins Spiel. “Tief” bedeutet schlicht: viele versteckte Schichten hintereinander. Ein Netz mit einer oder zwei versteckten Schichten ist flach, eines mit vielen Schichten ist tief. Die Tiefe erlaubt dem Netz, Informationen schrittweise abstrakter zu verarbeiten. Frühe Schichten erkennen einfache Muster wie Kanten, spätere Schichten setzen daraus komplexere Formen zusammen. Deep Learning ist also kein eigenes Zauberverfahren, sondern maschinelles Lernen mit tiefen neuronalen Netzen.
Gewichte sind das Gelernte
Jetzt zum vielleicht wichtigsten Punkt für das Quiz. Die Gewichte und Bias-Werte eines Netzes nennt man zusammen die Parameter. Und genau diese Parameter sind das, was ein Netz beim Training lernt.
Das ist ein zentraler Aha-Moment. Die Struktur des Netzes, also wie viele Schichten und Neuronen es hat, legst Du vorher fest. Die Gewichte hingegen sind zu Beginn zufällige Zahlen. Ein frisch initialisiertes Netz produziert deshalb reinen Unsinn. Beim Training werden diese Gewichte Schritt für Schritt angepasst, bis das Netz vernünftige Ausgaben liefert. Wenn man von einem “trainierten Modell” spricht, meint man im Kern nichts anderes als eine bestimmte Sammlung von Gewichtswerten. Große moderne Netze haben Milliarden solcher Parameter.
Merke Dir für die Stufe Fortgeschritten diesen Satz: Nicht der Code lernt, sondern die Gewichte ändern sich. Das Wissen des Netzes steckt in den Zahlen.
Aktivierungsfunktionen und warum Nichtlinearität nötig ist
Warum schicken wir die gewichtete Summe überhaupt noch durch eine Aktivierungsfunktion? Die Antwort ist mathematisch, aber die Intuition ist zugänglich.
Wenn Du nur gewichtete Summen aneinanderreihst, ohne dazwischen etwas Nichtlineares einzubauen, dann lässt sich das gesamte Netz, egal wie viele Schichten es hat, immer zu einer einzigen linearen Funktion zusammenfassen. Es könnte dann nur gerade Zusammenhänge abbilden. Die vielen Schichten wären reine Verschwendung. Erst die Nichtlinearität der Aktivierungsfunktion sorgt dafür, dass das Netz gekrümmte, komplexe Muster lernen kann. Ohne sie wäre selbst ein tiefes Netz nicht klüger als ein einfaches lineares Modell.
Zwei Aktivierungsfunktionen begegnen Dir besonders oft. Die Sigmoid-Funktion presst jeden Wert sanft in den Bereich zwischen 0 und 1. Das ist praktisch, wenn man Wahrscheinlichkeiten ausgeben möchte. Ihr Nachteil: Bei sehr großen oder sehr kleinen Eingaben wird ihre Steigung winzig, was das Training tiefer Netze bremst.
Die heute meistgenutzte Funktion in versteckten Schichten ist ReLU, kurz für Rectified Linear Unit. Sie ist verblüffend einfach: Ist der Eingabewert negativ, gibt sie 0 aus, ist er positiv, gibt sie ihn unverändert weiter. Trotz dieser Schlichtheit funktioniert ReLU in der Praxis hervorragend, weil sie das Training beschleunigt und tiefe Netze stabiler macht. Wenn im Quiz nach einer typischen Aktivierungsfunktion gefragt wird, sind ReLU und Sigmoid die beiden Namen, die Du kennen solltest.
Training: wie das Netz besser wird
Kommen wir zum Herzstück, dem Training. Es läuft in einer Schleife ab, die man millionenfach wiederholt. Ich zerlege sie in ihre Schritte.
Zuerst der Vorwärtsdurchlauf, auf Englisch Forward Pass. Du gibst dem Netz ein Beispiel aus Deinen Trainingsdaten, und die Werte fliessen Schicht für Schicht durch das Netz bis zur Ausgabe. Das Netz macht also eine Vorhersage.
Dann kommt die Verlustfunktion, oft einfach Loss genannt. Sie vergleicht die Vorhersage des Netzes mit der bekannten richtigen Antwort und berechnet daraus eine einzige Zahl: den Fehler. Ein hoher Loss bedeutet, das Netz lag stark daneben, ein niedriger Loss bedeutet, es war nah dran. Das gesamte Training hat nur ein Ziel, nämlich diesen Loss so klein wie möglich zu machen.
Nun der spannende Teil: die Backpropagation, zu Deutsch Fehlerrückführung. Das Verfahren berechnet, wie stark jedes einzelne Gewicht zum Fehler beigetragen hat. Es arbeitet sich dazu von der Ausgabeschicht rückwärts durch das Netz und verteilt die Verantwortung für den Fehler auf alle Gewichte. Das Ergebnis ist für jedes Gewicht ein sogenannter Gradient, also die Information, in welche Richtung und wie stark man das Gewicht ändern müsste, um den Fehler zu verringern.
Mit diesen Gradienten passt dann der Gradientenabstieg die Gewichte an. Jedes Gewicht wird ein kleines Stück in die Richtung verschoben, die den Loss verkleinert. Wie groß dieser Schritt ist, bestimmt die Lernrate. Sie ist eine der wichtigsten Stellschrauben. Ist die Lernrate zu groß, springt das Training wild umher und findet kein gutes Ergebnis. Ist sie zu klein, dauert das Training ewig und bleibt womöglich in einer schlechten Zwischenlösung hängen. Die richtige Lernrate zu finden, ist oft Erfahrungssache.
Diese vier Schritte, Vorwärtsdurchlauf, Loss, Backpropagation und Gewichts-Update, wiederholt man immer wieder. Wenn das Netz einmal die kompletten Trainingsdaten durchlaufen hat, nennt man das eine Epoche. Ein Training umfasst meist viele Epochen, weil das Netz mehrere Durchgänge braucht, um die Muster wirklich zu verinnerlichen.
Die folgende Tabelle fasst die wichtigsten Trainingsbegriffe zusammen, die im Quiz gern abgefragt werden.
| Begriff | Was es bedeutet |
|---|---|
| Gewicht | Ein anpassbarer Parameter, der bestimmt, wie stark eine Eingabe zählt. Das Gelernte steckt in den Gewichten. |
| Loss | Eine Zahl, die misst, wie weit die Vorhersage von der richtigen Antwort entfernt ist. Ziel: Loss minimieren. |
| Backpropagation | Verfahren, das berechnet, wie jedes Gewicht zum Fehler beiträgt, und den Gradienten liefert. |
| Lernrate | Die Schrittgröße beim Anpassen der Gewichte. Zu groß wird instabil, zu klein wird langsam. |
| Epoche | Ein vollständiger Durchlauf durch alle Trainingsdaten. Meist braucht es viele Epochen. |
Overfitting und Underfitting
Ein trainiertes Netz soll nicht nur die Beispiele auswendig kennen, die es gesehen hat. Es soll auf neuen, unbekannten Daten funktionieren. Hier lauern zwei typische Fehler.
Beim Overfitting hat das Netz die Trainingsdaten regelrecht auswendig gelernt, samt aller zufälligen Eigenheiten und des Rauschens. Auf den Trainingsdaten glänzt es, aber bei neuen Daten versagt es. Es hat verallgemeinert, was es nicht hätte verallgemeinern sollen. Beim Underfitting ist es umgekehrt: Das Netz ist zu simpel oder zu wenig trainiert und erkennt nicht einmal die grundlegenden Muster. Dann ist es schon auf den Trainingsdaten schlecht.
Gegen Overfitting gibt es bewährte Gegenmittel. Mehr und vielfältigere Trainingsdaten helfen fast immer, weil das Netz dann echte Muster von Zufall besser unterscheiden kann. Regularisierung ist ein Sammelbegriff für Techniken, die das Netz bewusst etwas bremsen, damit es sich nicht in Details verbeisst. Und ganz wichtig: Man teilt seine Daten auf und hält Testdaten zurück, die das Netz im Training nie sieht. Nur die Leistung auf diesen Testdaten verrät ehrlich, wie gut das Netz wirklich verallgemeinert. Wer nur auf die Trainingsleistung schaut, betrügt sich selbst.
Ein Ausblick: spezielle Architekturen
Was ich bis hierhin beschrieben habe, ist das Grundgerüst. In der Praxis gibt es spezialisierte Bauformen, die für bestimmte Datentypen optimiert sind.
Für Bilder haben sich Convolutional Neural Networks bewährt, kurz CNN. Sie nutzen Filter, die kleine Bildausschnitte abtasten und so lokale Muster wie Kanten und Texturen erkennen. Das passt gut dazu, dass in Bildern benachbarte Pixel zusammengehören.
Für Text und Sprache dominieren heute die Transformer. Ihre besondere Zutat ist der Aufmerksamkeitsmechanismus, mit dem das Netz beurteilen kann, welche Wörter in einem Satz füreinander wichtig sind, auch über große Abstände hinweg. Transformer sind die Grundlage moderner Sprachmodelle. Wenn Dich das genauer interessiert, lies meinen Ratgeber Große Sprachmodelle verstehen. Dort baue ich auf genau den Begriffen auf, die Du gerade kennengelernt hast.
So hilft Dir das im Quiz
Fassen wir zusammen. Ein neuronales Netz besteht aus Neuronen, die gewichtete Summen bilden und durch eine Aktivierungsfunktion schicken. Diese Neuronen sind in Schichten organisiert, und viele versteckte Schichten machen ein Netz tief, daher Deep Learning. Das eigentliche Wissen steckt in den Gewichten, die beim Training über Vorwärtsdurchlauf, Loss, Backpropagation und Gradientenabstieg angepasst werden. Die Lernrate steuert die Schrittgröße, eine Epoche ist ein Durchlauf durch alle Daten. Und mit Testdaten sowie Regularisierung wehrst Du Dich gegen Overfitting.
Wenn Du diese Kette einmal verstanden hast, verlieren die Fortgeschritten-Fragen ihren Schrecken. Mein Tipp: Gehe jetzt ins Quiz und probiere die Stufe Fortgeschritten aus. Erfahrungsgemäss bleiben die Begriffe viel besser hängen, wenn Du sie direkt anwendest, statt sie nur zu lesen. Viel Erfolg dabei.
Quellen
- https://developers.google.com/machine-learning/crash-course/neural-networks/anatomy
- https://www.deeplearningbook.org/
- https://developer.mozilla.org/en-US/docs/Web/AI
Korrekturen oder bessere Quellen? Schreib an info@akara-solutions.de. Änderungen landen mit Datum auf /korrekturen.
