Keine Sorge! Im Folgenden haben wir eine Simulation, um dir diesen Prozess verständlicher zu machen.
II. Verstehen, wie Computer mit Künstlichen Neuronalen Netzwerken lernen
1. Lernen durch Künstliche Neuronale Netzwerke
Wie lernen diese Künstlichen Neuronalen Netze?
Ein Künstliches Neuronales Netzwerk (KNN) lernt, eine Aufgabe auszuführen, indem es mit vielen Daten konfrontiert wird und seine internen Werte (Gewichte) durch wiederholte Anpassungen während der Trainingsphase verändert.
Das Künstliche Neuronale Netzwerk (KNN) beginnt mit zufällig zugewiesenen Gewichten und durchläuft dann wiederholt zwei Prozesse, die Forward- und Backpropagation genannt werden.
- Bei der Forwardpropagation werden die Eingabedaten durch das neuronale Netzwerk geleitet, um eine Ausgabe zu erzeugen. Nachdem das Netzwerk eine Ausgabe erzeugt hat, wird diese mit dem tatsächlichen Ergebnis verglichen – also dem Fehler.
- Bei der Backpropagation wird dieser Fehler verwendet, um die Gewichte im Netzwerk anzupassen.
Dieser Vorgang wird viele Male mit unterschiedlichen Eingabedaten wiederholt. Durch viele Iterationen während des Trainings- bzw. Lernprozesses werden passendere Gewichtswerte erreicht, wodurch das Netzwerk genauere Vorhersagen treffen kann.
(Hinweis: Nach dem Start können Sie mit den kleinen schwarzen Pfeilen auf der linken und rechten Seite durch die Folien blättern.)
*Dies ist eine sehr einfache Simulation, wie Maschinen durch neuronale Netzwerke für ein Vorhersageproblem lernen. Mehrere Schritte wurden vereinfacht, um das Verständnis zu erleichtern. Zum Beispiel benötigen Deep-Learning-Architekturen in realen Szenarien normalerweise eine ERHEBLICHE MENGE an Daten, um daraus zu lernen. In der Demonstration haben wir nur wenige Instanzen zu Erklärungszwecken verwendet. Außerdem wären mehr Merkmale erforderlich, um ein präziseres Modell zu erstellen, während in der Simulation nur zwei Merkmale genutzt wurden. Ebenso gibt es in dem Künstlichen Neuronalen Netzwerk aus Gründen der Einfachheit keine Verzerrung.
Wichtige Begriffe
Backpropagation ist ein Algorithmus zum Trainieren von Feedforward-Neuronalen Netzen. Dabei handelt es sich um ein iteratives Verfahren, das die Gewichtsparameter des Netzwerks anpasst, indem es den Gradienten einer Fehlerfunktion berechnet. Zunächst wird ein Fehlerwert für jede Ausgabeeinheit bestimmt, also die Differenz zwischen dem tatsächlichen und dem vorhergesagten Wert. Dieser Fehler wird anschließend durch das Netzwerk zurückpropagiert – von der Ausgabeschicht bis zur Eingabeschicht. Während dieses Rücklaufs werden die Gewichte so verändert, dass der Fehler bei zukünftigen Vorhersagen verringert wird. Auf diese Weise lernt das Netzwerk schrittweise, genauere Vorhersagen zu treffen.
In der Simulation wurde die einfachste Form einer Deep-Learning-Architektur verwendet. Diese relativ simple Architektur wird als Feedforward Neural Network oder auch Multilayer Perceptron (MLP) bezeichnet. Heute gibt es deutlich fortschrittlichere Architekturen, die in der Lage sind, beeindruckende Aufgaben zu erlernen. Ein bekanntes Beispiel sind Convolutional Neural Networks (CNNs), die häufig für Bildklassifizierungsaufgaben eingesetzt werden. Ein weiteres Beispiel sind Generative Adversarial Networks (GANs), die oft für die Erzeugung von Bildern verwendet werden – und vieles mehr. In den nächsten Modulen werden wir mehr über diese Architekturen erfahren.
Zusammenfassend lässt sich sagen, dass das Hauptziel der Simulation darin besteht, zu veranschaulichen, wie Künstliche Neuronale Netze (KNNs) aus Daten lernen. KNNs starten mit zufällig gewählten Gewichten (auch Parameter genannt) und lernen durch wiederholtes Anpassen dieser Gewichte während des Trainingsprozesses.
Dabei durchlaufen sie zwei zentrale Schritte:
- Bei der Forwardpropagation werden die Eingabedaten durch das neuronale Netzwerk geleitet, um eine Ausgabe zu erzeugen. Nachdem das Netzwerk eine Ausgabe erzeugt hat, wird diese mit dem tatsächlichen Ergebnis verglichen – also dem Fehler.
- Bei der Backpropagation wird dieser Fehler verwendet, um die Gewichte im Netzwerk anzupassen.
Durch viele dieser Trainingszyklen (Iterationen) werden die Gewichte so angepasst, dass das Netzwerk mit der Zeit immer genauere Vorhersagen treffen kann.