Neuronale Netzwerke sind ein Modell der künstlichen Intelligenz (KI), das auf der Struktur und Funktionsweise des menschlichen Gehirns basiert. Es handelt sich um eine Ansammlung von miteinander verbundenen „Neuronen“, die in Schichten organisiert sind. Sie sind ein Teilbereich der Disziplin des maschinellen Lernens (ML) und stellen das Herzstück von Deep-Learning-Algorithmen dar.
Künstliche neuronale Netze bestehen aus einer Knotenschicht, die eine Eingabeschicht, eine oder mehreren versteckten Schichten und eine Ausgabeschicht enthält. Jedes künstliche Neuron erhält Eingaben von anderen Neuronen oder von der Umgebung, und gibt dann eine Ausgabe an andere Neuronen weiter. Die Verbindungen zwischen den Neuronen können unterschiedliche Stärken haben, die durch sogenannte „Gewichte“ dargestellt werden. Das Netzwerk wird trainiert, indem es Beispiele von Eingaben und den zugehörigen gewünschten Ausgaben erhält.
Beispiel: Bilder von Äpfeln und Birnen unterscheiden
Während Menschen in einem Bild direkt Farben (rot oder grün) und Formen (rund oder länglich) erkennen, kann ein Computer diese Begriffe nicht interpretieren. Stattdessen kann er die Farbwerte der Pixel im Bild genau bestimmen. Diese Farbwerte können der Input für die Eingabeschicht sein. Von da aus werden die Informationen an die versteckte Schicht des neuronalen Netzes weitergeleitet. Hier werden die Informationen verarbeitet, gewichtet und gegebenenfalls an die nächste Ebene weitergereicht.
Auf ein Neuron können mehrere Kanten zeigen. Dann werden die verschiedenen gewichteten Informationen zusammengerechnet. Eine Aktivierungsfunktion entscheidet dann mithilfe eines Schwellenwertes, ob und mit welchem Wert ein Neuron feuert (also Informationen weitergibt). Liegt die gewichtete Summe beispielsweise unter dem Schwellenwert 0, dann ruht das Neuron. Ansonsten feuert es. Dieser Ablauf geht so lange, bis in der Ausgabeschicht Werte vorliegen.
Um ein künstliches neuronales Netzwerk zu trainieren und zu verbessern, werden die Parameter (z.B. Gewichtungen) ständig optimiert. In dem Beispiel muss das neuronale Netz Feedback darüber erhalten, ob es mit seiner Vermutung (Apfel oder Birne) richtig liegt. Deshalb braucht es schon davor einen Datensatz, bei dem die Bilder richtig klassifiziert sind. Das künstliche neuronale Netz kann sein Ergebnis dann mit diesem Datensatz abgleichen. Dieses Vorgehen nennst du auch überwachtes Lernen.
Neuronale Netzwerke können für verschiedene Aufgaben eingesetzt werden, wie z.B. Bilderkennung, Spracherkennung, Textverarbeitung, Prognose und Entscheidungsfindung.