Ein neuronales Netz (seltener auch neurales Netz) ist eine Ansammlung von einzelnen Informationsverarbeitungseinheiten (Neuronen), die schichtweise in einer Netzarchitektur angeordnet sind. Im Zusammenhang mit künstlicher Intelligenz spricht man von künstlichen neuronalen Netzen.

Funktionsweise und Aufbau künstlicher neuronaler Netze

Die Neuronen (auch Knotenpunkte) eines künstlichen neuronalen Netzes sind schichtweise in sogenannten Layern angeordnet und in der Regel in einer festen Hierarchie miteinander verbunden. Die Neuronen sind dabei zumeist zwischen zwei Layern verbunden (Inter-Neuronlayer-Connection), in selteneren Fällen aber auch innerhalb eines Layers (Intra-Neuronlayer-Connection).

Zwischen den Layern oder Schichten ist jedes Neuron der einen Schicht immer mit allen Neuronen der nächsten Schicht verbunden.

Beginnend mit der Eingabeschicht (Input Layer) fließen Informationen über eine oder mehrere Zwischenschichten (Hidden Layer) bis hin zur Ausgabeschicht (Output Layer). Dabei ist der Output des einen Neurons der Input des nächsten.

Die Darstellung künstlicher neuronaler Netze erfolgt zumeist schematisch horizontal. Die Eingabeschicht ist dabei auf der linken Seite angeordnet, gefolgt von den Zwischenschichten in der Mitte und der Ausgabeschicht auf der rechten Seite. Die Anzahl der Layer eines neuronalen Netzes ist eine wichtige beschreibende Information. Enthält ein Netz beispielsweise 3 Schichten, spricht man von einem 3-schichtigen Netz.

Fjodor van Veen vom Asimov Institute hat eine übersichtliche Grafik mit einigen Versionen neuronaler Netze erstellt. Diese soll jedoch – wie der gesamte Beitrag auch – nur einen ersten Überblick über den Aufbau solcher Netze geben.

The Neural Network Zoo

Eingabeschicht

Die Eingabeschicht ist der Startpunkt des Informationsflusses in einem künstlichen neuronalen Netz.

Eingangssignale werden von den Neuronen am Anfang dieser Schicht aufgenommen und am Ende gewichtet an die Neuronen der ersten Zwischenschicht weitergegeben. Dabei gibt ein Neuron der Eingabeschicht die jeweilige Information an alle Neuronen der ersten Zwischenschicht weiter.

Zwischenschichten

Zwischen der Eingabe- und der Ausgabeschicht befindet sich in jedem künstlichen neuronalen Netz mindestens eine Zwischenschicht (auch Aktivitätsschicht oder verborgene Schicht von engl.: hidden layer). Je mehr Zwischenschichten es gibt, desto tiefer ist das neuronale Netz, im englischen spricht man daher auch von Deep Learning.

Theoretisch ist die Anzahl der möglichen verborgenen Schichten in einem künstlichen neuronalen Netzwerk unbegrenzt. In der Praxis bewirkt jede hinzukommende verborgene Schicht jedoch auch einen Anstieg der benötigten Rechenleistung, die für den Betrieb des Netzes notwendig ist.

Ausgabeschicht

Die Ausgabeschicht liegt hinter den Zwischenschichten und bildet die letzte Schicht in einem künstlichen neuronalen Netzwerk. In der Ausgabeschicht angeordnete Neuronen sind jeweils mit allen Neuronen der letzten Zwischenschicht verbunden. Die Ausgabeschicht stellt den Endpunkt des Informationsflusses in einem künstlichen neuronalen Netz dar und enthält das Ergebnis der Informationsverarbeitung durch das Netzwerk.

Gewichte und Verzerrung (Bias)

Die Gewichte beschreiben die Intensität des Informationsflusses entlang einer Verbindung in einem neuronalen Netzwerk. Jedes Neuron vergibt dazu 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 (Bias) an die Neuronen der nächsten Schicht weiter. Üblicherweise werden die Gewichte und Verzerrungen zum Beginn des Trainings im Wertebereich zwischen -1 und 1 initialisiert, können jedoch später auch deutlich außerhalb dieses Bereichs liegen. Das Ergebnis der Gewichtung und Verzerrung wird oft durch eine sogenannte Aktivierungsfunktion (z.B: Sigmoid oder tanh) geleitet, bevor es an die Neuronen der nächsten Schicht weitergeleitet wird.

Die Gewichte und Verzerrungen werden während des Trainingsprozesses so angepasst, dass das Endresultat möglichst genau den Anforderungen entspricht. Weitere Informationen findest du in dem Beitrag Wie lernen künstliche neuronale Netze?.

Arten von künstlichen neuronalen Netzen

Es existieren sehr viele Varianten von künstlichen neuronalen Netzwerken. Alle zu beschreiben, würde den Rahmen dieses Beitrages sprengen. Daher konzentrieren wir uns auf die gängigsten und relevantesten Arten.

Feedforward Netze

Neuronale Netzwerke folgen der Feedforward-Logik: Informationen werden von der Eingabeschicht über die Zwischenschichten bis hin zur Ausgabeschicht in eine Richtung („vorwärts“) weitergereicht.

Rekurrente Netze

Zwar sind fast alle neuronalen Netze Feedforward-Netze, jedoch gibt es auch Varianten, bei denen zusätzliche Verbindungen existieren, durch die Informationen bestimmte Bereiche des Netzwerkes auch rückwärts bzw. erneut durchlaufen können. Diese Netzwerke bezeichnet man als rekurrente Netzwerkerückgekoppelte Netzwerke oder Feedback-Netzwerke.

Folgende Varianten sind möglich:

  • direkte Rückkopplung (ein Neuron nutzt seinen Output als erneuten Input)
  • indirekte Rückkopplung (der Output eines Neurons wird als Input eines Neurons in einer vorgelagerten Schicht verwendet)
  • seitliche Rückkopplung (der Output eines Neurons wird als Input eines Neurons in der selben Schicht verwendet)
  • vollständige Verbindung (der Output eines Neurons wird von jedem anderen Neuron im Netz als zusätzlicher Input verwendet

Rekurrente Netzwerke sind insbesondere dann erforderlich, wenn es um sequenzielle Informationsverarbeitung geht (Sequence-to-Sequence Netze). Dies ist beispielsweise bei der Handschrifterkennung, der Spracherkennung und der maschinellen Übersetzung der Fall. Netzwerke, die für die Erfüllung dieser Aufgaben verwendet werden basieren meist auf einer direkten Rückkopplung.

Convolutional Neural Network

Das Convolutional Neural Network (zu Deutsch in etwa faltendes neuronales Netzwerk) wird insbesondere im Bereich der Bild- und Audioverarbeitung häufig eingesetzt. Üblicherweise besteht ein solches Convolutional Neural Network aus mindestens 5 Schichten. Innerhalb jeder dieser Schichten wird eine Mustererkennung durchgeführt. Jede Schicht präzisiert dabei die Mustererkennung auf Basis des Outputs der vorherigen Schicht.

By Michael Plotke (Own work) [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

Vorstellen kann man sich dieses Verfahren wie ein kleines Erkennungsraster, das Stück für Stück über den zu analysierenden Bereich des Datensatzes fährt. Bei einem Bild geschieht dies z.B. auf Pixel-Ebene durch die Analyse von kleinen Bildausschnitten (z.B. 2×2 Pixel).

Als Vorbild für diese Art des Netzwerk-Aufbaus gilt das sog. rezeptive Feld.

Perzeptron

Bei dem Perzeptron handelt es sich um die einfachste Form des künstlichen neuronalen Netzwerkes. In der ursprünglichen, von Frank Rosenblatt 1958 vorgestellten Grundform beinhaltet diese Art der Netzwerke nur ein einziges Neuron (Perzeptron) mit anpassbaren Gewichtungen und einem Schwellenwert.

Mittlerweile versteht man unter dem Begriff jedoch auch verschiedene Kombinationen der ursprünglichen Form und unterscheidet zwischen folgenden Varianten:

  • einlagige Perzeptronen: Es existieren nur eine Ein- und eine Ausgabeschicht, jedoch keine Zwischenschichten. Die Neuronen in der Eingabeschicht haben jeweils eine Verbindung zu jedem Neuron der Ausgabeschicht. Die Neuronen der Eingabeschicht verstärken und verteilen das Eingangssignal. Die Neuronen der Ausgabeschicht entscheiden nach der Summierung aller Eingangssignale anhand einer Schwellenwertfunktion über den Output-Wert.
  • mehrlagige Perzeptronen: Entsprechen dem oben genannten Aufbau eines künstlichen neuronalen Netzes, sofern dieses keine rekurrenten Merkmale aufweist.

Convolutional Animation: By Michael Plotke (Own work) [CC BY-SA 3.0], via Wikimedia Commons

11 Kommentare

Trackbacks & Pingbacks

  1. […] im folgenden einige gängige Methoden vor, insbesondere solche, die sich für die Arbeit mit neuronalen Netzen bewährt […]

  2. […] – Automatische Generierung hoch optimierter neuronaler Netzwerke und erklärbares Deep […]

  3. […] Transfer-Learning versteht man das Übertragen der Ergebnisse eines fertig trainierten neuronalen Netzes auf eine neue Aufgabe. Die fertig trainierten Layer werden dabei entweder konstant gehalten und nur […]

  4. […] Team von JUST ADD AI verwendet außerdem eigene neuronale Netze zur Vorhersage des Potentials und der Marktwert-Entwicklung von […]

  5. […] es, als Matrix dargestellte Bilder (Breite x Höhe x Farbkanäle) als Input zu verwenden. Ein normales neuronales Netz z.B. in Form eines Multi-Layer -Perceptrons (MLP) benötigt dagegen einen Vektor als Input, d.h. um ein Bild als Input zu verwenden, müssten […]

  6. […] Moderne. Das Team von JUST ADD AI hat anlässlich des 142. Geburtstags von Rainer Maria Rilke ein neuronales Netz darauf trainiert, Texte wie Rilke zu […]

  7. […] Künstliche neuronale Netze können selbständig lernen, Antworten auf bestimmte Arten von Fragen zu finden. Insbesondere im sich sehr rasant entwickelnden Bereich des Deep Learnings kann es dabei dazu kommen, dass die verwendeten Optimierungs-Algorithmen beim Versuch, die Fehlerfunktion zu minimieren, in einem lokalen Minimum „hängen“ bleiben und das „Lernen“ damit zum Erliegen kommt. […]

  8. […] Strategie ist verblüffend einfach und effektiv zur gleichen Zeit: Ein künstliches neuronales Netz sagt anhand des aktuell erkannten Intents, sowie anhand der vorher bereits getätigten […]

  9. […] kennt Menschen-Fotos tatsächlich nur vom Hörensagen – nämlich von einem zweiten neuronalen Netz, welches seinerseits darauf trainiert wurde, Gesichter von Menschen zu erkennen. Die generierten […]

  10. […] künstliches neuronales Netz besteht aus vielen einzelnen Neuronen, die meistens in mehreren miteinander verbundenen Layern […]

  11. […] der Teachable Machine handelt es sich konkret um eine Website, mit welcher User ein künstliches neuronales Netzwerk trainieren können, ohne dass die dazu verwendeten Daten an einen Server geschickt werden. Als […]

Kommentare sind deaktiviert.