KI in der Schule – Teil 4: Neuronale Netze
Lässt sich das menschliche Gehirn als Vorbild nehmen und in seinen Funktionen nachahmen?
Begriffsklärung
Die Beschreibung „neuronales Netz“ ist begrifflich spannend, weil sie zum einen verständlich machen soll, was im menschlichen Gehirn passiert und zum anderen dazu benutzt wird, ein „maschinelles Lernmodell“ zu benennen.
Es kann hier direkt an die Erörterung des Begriffes „Intelligenz“ angeschlossen werden, der in der unklaren Differenzierung von „menschlicher Intelligenz“ und „künstlicher Intelligenz“ mündet. In der gleichen Logik wird auch bei der Überschrift „neuronales Netz“ ein Begriff aus der Forschung am Menschen, insbesondere der Neurowissenschaften bzw. der Neurobiologie, genutzt, um künstliche Systeme zu beschreiben.
Nicht zuletzt mit dem besonderen Fortschritt der bildgebenden Verfahren, die Gehirnfunktionalitäten sichtbar machen sollen, haben die Diskussionen darüber, was das Gehirn ist und was es leistet stark zugenommen. Wer kennt nicht die Ausdrücke „Nervensystem“ oder „Neuronen“ oder „Synapsen“? Dennoch sollte man auch hier - wie bei dem Begriff Intelligenz - etwas genauer fragen. Was haben wir wirklich vom Gehirn verstanden, wenn wir „Spannungsunterschiede“ durch bildgebende Verfahren sichtbar machen können? Sicherlich noch nicht, wie ein Gedanke entsteht und ganz sicher auch nicht, was „Bewusstsein“ ist.
Diese Einschränkungen sollte sich jeder bewusst halten, wenn im Folgenden eine Systematik der relevanten Überschriften dieses Thema erstellt wird:
Künstliche Intelligenz (KI) / Artificial Intelligence (AI)
Gilt als Überschrift über das gesamte Thema und kann definiert werden als ein vom Menschen geschaffenes System, welches Informationen verarbeitet, aus Erfahrungen lernt, komplexe Anforderungen versteht und Probleme löst.
Maschinelles Lernen / Machine Learning (ML)
Dies ist ein spezifischer Ansatz innerhalb der KI, der auf der Idee basiert, dass Algorithmen so konzipiert werden können, dass sie eigenständig „lernen“ und sich „anpassen“, wenn sie bislang unbekannte Daten zu verarbeiten haben. Statt explizit festzulegen, wie eine bestimmte Verarbeitung durchgeführt werden soll (was in der Regel durch das Schreiben von Code erfolgt), werden beim Maschinellen Lernen statistische Techniken angewandt, um den Algorithmus selbst die Regeln und Muster aus den Daten „erkennen“ zu lassen.
Neuronale Netze / Artificial Neural Networks (ANN)
Ein Künstliches Neuronales Netzwerk ist ein spezifisches Modell innerhalb des Maschinellen Lernens, das von der Funktionsweise des menschlichen Gehirns inspiriert ist. Es besteht aus einer großen Anzahl von miteinander verbundenen Verarbeitungsknoten, so genannten Künstlichen Neuronen. Diese Neuronen sind in verschiedene Schichten („layer“) unterteilt: Eingabeschicht, versteckte Schichten und Ausgabeschicht:
- Die Eingabeschicht erhält direkte Informationen von den Daten. Jedes Neuron in dieser Schicht repräsentiert eine einzelne Dimension der Daten.
- Die versteckten Schichten verarbeiten die Informationen, die von der vorherigen Schicht empfangen wurden. Es kann mehrere versteckte Schichten geben, und jeder „layer“ kann unterschiedliche Merkmale der Daten repräsentieren und lernen.
- Die Ausgabeschicht gibt die endgültige Vorhersage oder Klassifizierung basierend auf den verarbeiteten Informationen der versteckten Schichten aus.
Tiefes Lernen / Deep Learning (DL)
Deep Learning kennzeichnet Neuronale Netze mit vielen Schichten. Die „Tiefe“ beim „Deep Learning“ bezieht sich dabei auf die Anzahl der „versteckten Schichten“, die es enthält. Mit mehr Schichten kann ein neuronales Netzwerk komplexere Muster und Zusammenhänge in den Daten „lernen“. Es kann „tiefer“ in die Daten „schauen“, um detailreichere und komplexere Muster zu erkennen, die von weniger tiefen Netzen möglicherweise „übersehen“ werden. Dies ist besonders nützlich in komplexen Anwendungen wie der Bild- und Spracherkennung, wo tiefe neuronale Netze die „Fähigkeit“ haben, Muster auf verschiedenen Abstraktionsebenen zu „erkennen“, von einfachen Kanten und Farben bis hin zu komplexen Strukturen wie Gesichtern oder gesprochenen Worten.
Training / Lernen
Bei Neuronalen Netzen besteht das „Training“ eines Modells aus dem Durchlaufen einer Fülle von Daten, auf denen das Modell trainiert wird. Man präsentiert dem Modell Daten und lässt es Vorhersagen oder Entscheidungen auf der Grundlage dieser Daten treffen. Wenn das Modell Fehler macht, korrigiert man es und passt seine Vorhersagen oder Entscheidungen entsprechend an. Dieser Korrekturprozess ist als „überwachtes Lernen (supervised learning)“ bekannt. „Überwachtes Lernen“ bezieht sich also auf einen Prozess, bei dem ein Modell anhand eines Datensatzes trainiert wird, der sowohl Eingabe- als auch Ausgabedaten enthält.
Im Gegensatz dazu arbeitet das „unüberwachte Lernen“ ohne „gelabelte“ Daten. Das heißt, das Modell erhält nur Eingabedaten, aber keine korrespondierenden Ausgaben. Es muss dann versuchen, Strukturen, Muster oder Zusammenhänge in den Daten eigenständig zu „erkennen“.
Dies vorausgeschickt, lassen sich die folgenden Aspekte besser nachvollziehen:
In der Systematik der Künstlichen Neuronalen Netze gibt es verschiedene Arten von Netzwerken, die jeweils unterschiedliche Strukturen und Funktionen aufweisen. Zwei der häufigsten Arten sind Feed-Forward-Netzwerke und rekurrente neuronale Netzwerke (RNNs).
- Feed-Forward-Netzwerke: Bei diesen Netzwerken fließt die Information in eine Richtung, von der Eingabe zur Ausgabe. Es gibt keine Zyklen oder Schleifen im Netzwerk, die Information fließt also „vorwärts“. Die Eingaben durchlaufen verschiedene Schichten (Eingabe-, versteckte und Ausgabeschicht), wobei in jeder Schicht eine Transformation der Daten stattfindet. Das Konzept der „Forward Propagation“ spielt hier eine zentrale Rolle, da sie den Prozess beschreibt, durch den die Daten durch das Netzwerk fließen.
- Rekurrente Neuronale Netzwerke (RNN): Im Gegensatz zu Feed-Forward-Netzwerken haben RNNs Schleifen, d.h. sie haben Verbindungen, die „zurück“ zu früheren Schichten oder sogar zu sich selbst führen. Diese Art von Netzwerk ist besonders nützlich, wenn es um sequentielle Daten geht, wie zum Beispiel Zeitreihen oder Text, da sie Informationen über die Zeit speichern und nutzen können.
In beiden Netzwerktypen ist „Backward Propagation“ (oder „Backpropagation“) der Prozess, bei dem das Netzwerk „lernt“ und seine Parameter anpasst. Nachdem die Daten durch das Netzwerk (Forward Propagation) geflossen sind und eine Ausgabe generiert wurde, wird ein Fehler berechnet (die Differenz zwischen der vorhergesagten und der tatsächlichen Ausgabe). Dieser Fehler wird dann rückwärts durch das Netzwerk propagiert, und die Gewichte und Verzerrungen in den Netzwerkschichten werden angepasst, um diesen Fehler zu minimieren.
Zusammengefasst kann man sagen, dass Feed-Forward-Netzwerke und RNNs unterschiedliche Arten von neuronalen Netzwerken darstellen, die beide den Prozess der Forward Propagation für die Datenverarbeitung und den Prozess der Backward Propagation für das Lernen und die Anpassung verwenden.
Grafikprozessoreinheiten / Graphics Processing Unit (GPU)
Wenn man ein sehr großes Modell mit einer sehr hohen Anzahl an Neuronen trainieren möchte, erfordert das eine sehr hohe Rechenleistung. Ein herkömmlicher Computerprozessor (CPU) wäre damit in der Regel überfordert. Hier kommen Grafikprozessoreinheiten (GPUs) ins Spiel. GPUs sind spezielle Hochleistungsprozessoren, die ursprünglich für die schnelle Verarbeitung von Grafiken und Bildern in Computerspielen entwickelt wurden.
Historie
Die Entwicklung Neuronaler Netze lässt sich historisch grob wie folgt gliedern:
Die ersten Theorien und Modelle für künstliche Neuronale Netze entstanden in den 1940er und 1950er Jahren.
In den 1980er und 1990er Jahren, mit der Entwicklung der so genannten „Backpropagation-Lernalgorithmen“ und der Verbesserung der Computerleistung, erlebte die Forschung zu künstlichen Neuronalen Netzen einen ersten großen Aufschwung.
Der nächste Aufschwung in der Verwendung von Grafikprozessoren (GPUs) für Maschinelles Lernen und insbesondere für das Training von tiefen Neuronalen Netzwerken (Deep Learning) begann etwa im Jahr 2012.