Der Begriff „neuronales Netz“ klingt mega fancy und ausgesprochen gebildet. Damit ich ihn nun auch endlich erklären kann (und nicht mehr lediglich als Deko in Sätzen verwende), hab ich mich mal schlau gemacht.

Vielleicht erinnerst du dich noch an den Beitrag von letzter Woche. Wir haben das Thema „Deep Learning“ behandelt und herausgefunden, wie Maschinen Lernen lernen. Beim Lesen bist du dort sicher bereits über neuronale Netze gestolpert. Heute wollen wir das ganze vertiefen.

Was ist ein neuronales Netz nochmal?

Bevor wir uns hier Hals über Kopf in dieses Netz stürzen, eine kleine Erinnerung, was ein neuronales Netz überhaupt ist. Mit diesem Begriff wird eine Ansammlung von Informationsverarbeitungseinheiten (Neuronen) beschrieben, die schichtweise angeordnet sind. Sprich, sie sind in Ebenen aufgebaut, die aus einer Reihe von miteinander verbundenen Neuronen bestehen.

Wie sind neuronale Netze aufgebaut und wie funktionieren sie?

Angeordnet sind die Neuronen (auch „Knotenpunkte“ genannt) schichtweise in sogenannten Layern (= Schichten) und in einer festen Hierarchie miteinander verbunden. Meistens besteht die Verbindung der Neuronen zwischen zwei Layern, ab und an aber auch innerhalb eines Layers. Jedes Neuron der einen Schicht ist zwischen den Layern immer mit allen Neuronen der nächsten Schicht verbunden.

Der Informationsfluss startet immer bei der Eingabeschicht und fließt über eine oder mehrere Zwischenschichten, bis hin zur Ausgabeschicht. Ähnlich wie beim menschlichen Gehirn ist der Output des einen Neurons, der Input des nächsten.

Eingabeschicht

Auf die Plätze, Fertig, Los! Hier befindet sich der Startpunkt aller Informationen, die durch das neuronale Netz wandern müssen. Die Neuronen am Anfang dieser Schicht nehmen Eingangssignale auf und geben sie am Ende gewichtet (was das genau heißt folgt im nächsten Abschnitt) an die Neuronen der ersten Zwischenschicht weiter. Dabei wird die jeweilige Information immer von einem Neuron der Eingangsschicht an alle Neuronen der ersten Zwischenschicht übermittelt.

Zwischenschichten

Wie der Name schon sagt befindet sich zwischen der Eingangs- und Ausgangsschicht mindestens eine Zwischenschicht. Sie wird auch Aktivitätsschicht oder verborgene Schicht genannt. Je mehr Zwischenschichten es gibt, desto tiefer ist das neuronale Netz. Daher auch die Bezeichnung „Deep Learning“, worüber wir bereits letzte Woche gesprochen haben. Solche Netze weisen häufig 150 oder gar mehr Schichten auf. Theoretisch ist die Anzahl der Zwischenschichten unbegrenzt, jedoch bedeutet jede Schicht mehr auch einen Anstieg der benötigten Rechenleistung.

Ausgabeschicht

Die letzte aller Schichten liegt hinter den Zwischenschichten. Alle Neuronen der Ausgangsschicht sind mit allen Neuronen der letzten Zwischenschicht verbunden. Hier endet der Informationsfluss in einem neuronalen Netz und man findet die Ergebnisse der Informationsverarbeitung durch das Netzwerk vor.

Gewichte und Verzerrung

Die Intensität des Informationsflusses entlang einer Verbindung in einem neuronalen Netz wird mit Gewichten beschrieben. Dazu vergibt jedes Neuron ein Gewicht für die durchfließende Information und gibt diese dann gewichtet und nach der Addition eines Wertes für die neuronen-spezifische Verzerrung an die Neuronen der nächsten Schicht weiter. Bevor das Ergebnis der Gewichtung und Verzerrung an die Neuronen der nächsten Schicht weitergeleitet wird, wird es durch eine Aktivierungsfunktion geleitet. Während des Informationsverarbeitungsprozesses werden die Gewichte und Verzerrungen so angepasst, dass das Endresultat möglichst genau den Anforderungen entspricht. Auf diese Thematik werden wir nächste Woche noch genauer eingehen, da es dabei öfter zu schwerwiegenden Fehlern kommen kann.

Welche Arten von neuronalen Netzen gibt es?

Alle verschiedenen Variationen solcher Netze aufzuzählen würde diesen Beitrag massiv sprengen! Es sind also wirklich viele! Ich hab dir mal die zwei gängigsten herausgesucht.

Feedforward Netze

Long story short: Der Name ist Programm. Die Information wird von der Eingabeschicht über die Zwischenschichten bis hin zur Ausgabeschicht in eine Richtung, vorwärts (wer hätte es gedacht 😉 ) weitergereicht.

Rekurrente Netze

Im Gegensatz zu den Feedforward Netzen existieren bei dieser Variante auch zusätzliche Verbindungen, durch die Informationen bestimmte Bereiche des Netzwerkes auch rückwärts bzw. erneut durchlaufen können. Man bezeichnet sie daher auch als rückgekoppelte Netzwerke oder Feedback-Netzwerke. Dabei sind folgende Modifikationen möglich:

  • direkte Rückkopplung: Ein Neuron nutzt seinen Output als erneuten Input. Beispielsweise basieren Spracherkennung und maschinelle Übersetzung auf diesem Prinzip.
  • indirekte Rückkopplung: Ein Neuron, das sich in einer vorgelagerten Schicht befindet, nutzt den Output eines Neurons als seinen Input.
  • seitliche Rückkopplung: Output des einen Neurons ist der Input eines anderen Neurons in derselben Schicht.
  • vollständige Verbindung: Hierbei fühlt sich ein Neuron wahrscheinlich sehr ausgenutzt. Sein Output wird von jedem anderen Neuron im Netz als zusätzlicher Input verwendet.

Deine Meinung

Kannst du mit diesem Thema etwas anfangen? Oder gehörst du zum Team „Hauptsache es funktioniert irgendwie?“ Hinterlass und doch gerne einen Kommentar unter diesem Beitrag oder auf unserer Facebook-Seite!

 

Copyright © Bilder: Unsplash

Quellenangaben:
http://www.chemgapedia.de/vsengine/tra/vsc/de/ch/13/trajektorien/nn_ein.tra/Vlu/vsc/de/ch/13/vlu/daten/neuronalenetze/einfuehrung.vlu.html (abgerufen am 14.Juni 2019)
https://jaai.de/kuenstliche-neuronale-netze-aufbau-funktion-291/ (abgerufen am 14. Juni 2019)
https://www.dbai.tuwien.ac.at/education/AIKonzepte/Folien/NeuronaleNetze.pdf (abgerufen am 14. Juni 2019)