Neuronale Netze einfach erklärt

Passend zu unserem "KI für ESP32"-Artikel in Make 1/22 liefern wir ein paar Grundlagen, mit denen sich der Aufbau neuronaler Netze besser verstehen lässt.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 12 Min.
Von
  • Josef Müller
Inhaltsverzeichnis

Der Begriff neuronales Netzwerk zeigt zwar im Namen, an welche biologischen Analogie diese Struktur angelehnt ist. Dennoch hinkt der Vergleich mit den in Gehirnen vorhandenen Nervenzellen, wie insbesondere Gehirnforscher immer wieder betonen. Denn künstliche Neuronen sind im Prinzip nur mathematische Formeln, die von sehr einfachen Modellvorstellungen echter Neuronen inspiriert sind. Dennoch teilen künstliche neuronale Netze einige Eigenschaften, insbesondere die Verschaltung vieler mehr oder minder einfacher, dafür aber in großer Zahl eingesetzter Komponenten. Ähnlich zu Nervenzellen funktionieren sie über eine innere Aktivierung, also eine Schwelle, ab der sie an ihrem Ausgang einem Impuls abgeben. Der wird durch eine Vielzahl an Verbindungen an benachbarte Knoten weitergeleitet und beeinflusst dort deren Aktivität..

Im Vergleich zwischen Nervenzellen und künstlichen neuronalen Netzen sieht man sehr ähnliche Strukturen: Nervenzellen/Neuronen, die als Eingang und Ausgang dienen, Verbindungen zwischen beiden und einen vielschichtigen Informationsfluss über ein komplexes Netzwerk mit vielen Verbindungen. Bei künstlichen neuronalen Netzen gibt es eine klare Struktur mit Eingangsneuronen, internen Verarbeitungsschichten und Ausgangsneuronen. Dies gibt uns eine Vorstellung, woran die Begriffe und die Architektur von künstlichen neuronalen Netzen angelehnt sind.

Betrachtet man zunächst ein einzelnes künstliches Neuron (Knoten) genannt, so hat dieses einen Zustand (y), der einer reellen Zahl entspricht, typischerweise eine Gleitkommazahl. Dieser Aktivierungszustand beziehungsweise der Wert der Gleitkommazahl wird über Verbindungen zu den Eingängen von anderen Neuronen weitergegeben. Die Verbindung zwischen zwei Neuronen können wie bei echten Nervenzellen stärker oder schwächer ausgeprägt sein und dementsprechend mehr oder weniger von der Aktivierung des sendenden Neurons übertragen.

Bild 1:Ein künstliches Neuron funktioniert im Prinzip wie ein kleiner Taschenrechner.

Diese Verbindungsstärke wird in einem Gewichtungsfaktor (w) abgebildet, mit dem die Aktivierung multipliziert wird, bevor sie im empfangenden Neuron ankommt. Ein Neuron hat nun mehrere solcher Eingänge und die Eingangsaktivierung wird zunächst einfach aufsummiert (z) (Bild 1). Nun könnte man diese Eingangsaktivierung unverändert wieder an den Ausgang zu den nächsten Neuronen weiterleiten. Dann jedoch wäre das gesamte System vom Eingang bis zum Ausgang nur ein einfaches lineares Gleichungssystem und daher in der Funktionsweise sehr beschränkt. Um auch komplexere Funktionen über künstliche Neuronen realisieren zu können, wird der ursprüngliche Ausgang des Neurons an eine nichtlineare Transferfunktion weitgegeben, der sogenannten Aktivierungsfunktion (y=f(z)).

Typische Transferfunktionen sind: Sigmoidal-Funktion, Arctanhyperbolicus und auch die ReLu-Funktion (Rectified Linear unit). Letztere arbeitet quasi wie ein Gleichrichter und lässt nur positive Werte linear zum Ausgang passieren. Sie ist sehr einfach implementierbar und benötigt wenig Rechenleistung. Dies ist bei neuronalen Netzen mit teilweise vielen tausenden Neuronen ein wichtiger Aspekt. Zusätzlich gibt es noch einen Bias pro Neuron, mit dem sich ein Schwellwert festlegen lässt, ab der ein Wert am Ausgang erscheint.