Künstliche Neuronale Netzwerke: Definition, Einführung, Arten und Funktion

künstliche neuronale Netze sind das zentrae´le Element im Deep Learning

Künstliche Neuronale Netze (KNN) sind dem menschlichen Gehirn nachempfunden und werden für maschinelles Lernen und künstliche Intelligenz eingesetzt. Computerbasiert lassen sich damit diverse Problemstellungen lösen, die für uns Menschen fast unmöglich wären. In diesem Artikel erkläre ich, wie künstliche neuronale Netze funktionieren, wie sie aufgebaut sind und wo sie eingesetzt werden.

Definition: Künstliches Neuronales Netzwerk

Künstliche Neuronale Netze sind Algorithmen, die dem menschlichen Gehirn nachempfunden sind. Dieses abstrahierte Modell von verbundenen künstlichen Neuronen, ermöglicht es, komplexe Aufgaben aus den Bereichen Statistik, Informatik und Wirtschaft durch Computer zu lösen. Neuronale Netze sind ein sehr aktives Forschungsgebiet und gelten als Grundlage für die künstliche Intelligenz.

Durch Neuronale Netze lassen sich verschiedene Datenquellen wie Bilder, Geräusche, Texte, Tabellen oder Zeitreihen interpretieren und Informationen oder Muster extrahieren, um diese auf unbekannte Daten anzuwenden. So lassen sich datengetrieben Vorhersagen für die Zukunft erstellen.

Künstliche Neuronale Netzwerke können unterschiedlich komplex aufgebaut sein, weisen im Wesentlichen aber die Strukturen gerichteter Graphen auf. Wenn ein Künstliches Neuronales Netzwerk besonders tiefe Netzstrukturen hat, dann spricht man von Deep Learning.

Aufbau eines künstlichen neuronalen Netzes

Vereinfacht kann man sich den Aufbau eines KNN folgendermaßen vorstellen: Das Modell des neuronalen Netzes besteht aus Knoten, auch Neuronen genannt, die Informationen von anderen Neuronen oder von außen aufnehmen, modifizieren und als Ergebnis ausgeben. Dies erfolgt über drei verschiedene Schichten, denen jeweils eine Art Neuronen zugeordnet werden kann: solche für den Input (Eingabeschicht), für den Output (Ausgabeschicht) und die sogenannten Hidden-Neuronen (verborgene Schichten).

künstliche neuronale Netze sind das zentrale Element im Deep Learning
Aufbau eines sehr einfachen Künstlichen Neuronalen Netzwerks (KNN) mit nur einer verborgenen Schicht.

Die Information wird durch die Input-Neuronen aufgenommen und durch die Output-Neuronen ausgegeben. Die Hidden-Neuronen liegen dazwischen und bilden innere Informationsmuster ab. Die Neuronen sind miteinander über sogenannte Kanten verbunden. Je stärker die Verbindung ist, desto größer die Einflussnahme auf das andere Neuron.

Schauen wir uns die Schichten einmal genauer an:

  • Eingabeschicht: Die Eingangsschicht versorgt das neuronale Netz mit den notwendigen Informationen. Die Input-Neuronen verarbeiten die eingegebenen Daten und führen diese gewichtet an die nächste Schicht weiter.   
  • Verborgene Schicht: Die verborgene Schicht befindet sich zwischen der Eingabeschicht und der Ausgabeschicht. Während die Ein- und Ausgabeschicht lediglich aus einer Ebene bestehen, können beliebig viele Ebenen an Neuronen in der verborgenen Schicht vorhanden sein. Hier werden die empfangenen Informationen erneut gewichtet und von Neuron zu Neuron bis zur Ausgabeschicht weitergereicht. Die Gewichtung findet in jeder Ebene der verborgenen Schicht statt. Die genaue Prozessierung der Informationen ist jedoch nicht sichtbar. Daher stammt auch der Name, verborgene Schicht. Während in der Ein- und Ausgabeschicht die eingehenden und ausgehenden Daten sichtbar sind, ist der innere Bereich des Neuronalen Netzes im Prinzip eine Black Box.
  • Ausgabeschicht: Die Ausgabeschicht ist die letzte Schicht und schließt unmittelbar an die letzte Ebene der verborgenen Schicht an. Die Output-Neuronen beinhalten die resultierende Entscheidung, die als Informationsfluss hervorgeht.

Wie funktioniert ein Künstliches Neuronales Netzwerk (KNN)?

Tiefes Lernen ist eine Hauptfunktion eines KNN und funktioniert wie folgt: Bei einer vorhandenen Netzstruktur bekommt jedes Neuron ein zufälliges Anfangsgewicht zugeteilt. Dann werden die Eingangsdaten in das Netz gegeben und von jedem Neuron mit seinem individuellen Gewicht gewichtet.

Das Ergebnis dieser Berechnung wird an die nächsten Neuronen der nächsten Schicht oder des nächsten Layers weitergegeben, man spricht auch von einer „Aktivierung der Neuronen“. Eine Berechnung des Gesamtergebnis geschieht am Outputlayer.

Wie funktioniert ein neuronales Netz?
Wie funktioniert ein neuronales Netz?

Natürlich sind, wie bei jeder maschinellen Lern-Methode, nicht alle Ergebnisse (Outputs) richtig und es kommt zu Fehlern. Diese Fehler sind berechenbar, ebenso wie der Anteil, den ein einzelnes Neuron an dem Fehler hatte. So wird im nächsten Lern-Durchlauf das Gewicht jedes Neurons so verändert, dass man den Fehler minimiert.

Anschließend kommt der nächste Durchlauf, indem eine neue Messung des Fehlers nebst Anpassung geschieht. Auf diese Weise „lernt“ das neuronale Netz mit jedem Mal besser, von den Inputdaten auf bekannte Outputdaten zu schließen.

Dieser Ablauf ähnelt dem menschlichen Entscheidungsprozess sehr stark. Die Denkweise des Menschen ist ähnlich verschachtelt wie die eines neuronalen Netzes.

Künstliche Neuronale Netzwerke Anwendungen

Wo finden denn nun solche Netzwerke Anwendungen? Nun, da gibt es zahlreiche Möglichkeiten. Typischerweise sind sie prädestiniert für solche Bereiche, bei denen wenig systematisches Wissen vorliegt, aber eine große Menge unpräziser Eingabeinformationen (unstrukturierte Daten) verarbeitet werden müssen, um ein konkretes Ergebnis zu erhalten. Das kann zum Beispiel in der Spracherkennung, Mustererkennung, Gesichtserkennung oder Bilderkennung der Fall sein. Weitere Anwendungsfälle für neuronale Netze sind:

  • Steuerung von komplexen Systemen
  • autonomes Fahren
  • Frühwarnsysteme (Raumfahrt, Luftfahrt, Verteidigung)
  • Waffensysteme
  • verstehen von natürlicher Sprache
  • deuten von natürlicher Sprache
  • Empfehlungssysteme im E-Commerce
  • Betrugserkennung
  • Bilderkennung
  • Erzeugen von Stimmen
  • Übersetzung von Sprache
  • Wettervorhersagen
  • Wirtschaftssysteme
  • Zeitreihenprognosen
  • Vorhersage von Kundenverhalten
  • Medizinische Systeme (Krankheitsanalysen)
  • Biometrische Systeme
  • und viele weitere

In unserem Alltag haben sich bereits zahlreiche Produkte und Services integriert, die auf künstlichen, neuronalen Netzen basieren. Global agierende Konzerne wie Google, Facebook oder auch Amazon sind hierbei wichtige Vertreter und gelten mitunter als Vorreiter bei der Entwicklung und Anwendung von Deep Learning und Künstlichen Intelligenzen.

Neuronale Netze sind die Grundlage für künstliche Intelligenz und sind heute schon in der Lage durch gezieltes Training sehr spezifische Aufgaben (schwache Künstliche Intelligenz) zu übernehmen.

Arten von künstlichen neuronalen Netzen

Es gibt unzählig viele Typen von neuronalen Netzwerk-Architekturen. Wir zeigen hier die wichtigsten Arten von neuronalen Netzen:

Perceptron

Das einfachste und älteste neuronale Netz. Es nimmt die Eingabeparameter, addiert diese, wendet die Aktivierungsfunktion an und schickt das Ergebnis an die Ausgabeschicht. Das Ergebnis ist binär, also entweder 0 oder 1 und damit vergleichbar mit einer Ja- oder Nein-Entscheidung. Die Entscheidung erfolgt, indem man den Wert der Aktivierungsfunktion mit einem Schwellwert vergleicht.

Bei Überschreitung des Schwellwertes, wird dem Ergebnis eine 1 zugeordnet, hingegen 0 wenn der Schwellwert unterschritten wird. Darauf aufbauend wurden weitere Neuronale Netzwerke und Aktivierungsfunktionen entwickelt, die es auch ermöglichen mehrere Ausgaben mit Werten zwischen 0 und 1 zu erhalten. Am bekanntesten ist die Sigmoid-Funktion, in dem Fall spricht man auch von Sigmoid-Neuronen.

Feed forward neural networks

Der Ursprung dieser neuronalen Netze liegt in den 1950 Jahren. Sie zeichnen sich dadurch aus, dass die Schichten lediglich mit der nächst höheren Schicht verbunden sind. Es gibt keine zurückgerichteten Kanten. Der Trainingsprozess eines Feed Forward Neural Network (FF) läuft dann in der Regel so ab:

  1. alle Knoten sind verbunden
  2. Aktivierung läuft von Eingangs- zu Ausgangsschicht
  3. mindestens eine Schicht (Layer) zwischen Eingangs- und Ausgangsschicht

Wenn besonders viele Schichten zwischen Eingangs- und Ausgangsschicht sind, spricht man von Deep Feed Forward Neural Networks

Convolutional Neural Networks (CNN)

Faltende Neuronale Netze oder auch Convolutional Neural Networks (CNN), sind Künstliche Neuronale Netzwerke, die besonders effizient mit 2D- oder 3D-Eingabedaten arbeiten können. Für die Objektdetektion in Bildern verwendet man insbesondere CNNs.

Faltung in Convolutional Neural Networks
Faltung in Convolutional Neural Networks

Der große Unterschied zu den klassischen Neuronalen Netzen besteht in der Architektur von CNNs und damit kann auch der Name „Convolution“ oder „Faltung“ erklärt werden. Die verborgene Schicht basiert bei CNNs auf einer Abfolge von Faltungs- und Poolingoperationen. Bei der Faltung wird ein so genannter Kernel über die Daten geschoben und währenddessen eine Faltung gerechnet, was vergleichbar mit einer Multiplikation ist. Die Neuronen werden aktualisiert. Die anschließende Einführung eines Poolinglayers sorgt dafür, dass die Ergebnisse vereinfacht werden. Nur die wichtigen Informationen bleiben anschließend erhalten.

Dies sorgt zudem dafür, dass die 2D- oder 3D-Eingangsdaten kleiner werden. Wird dies immer weiter fortgeführt, ergibt sich am Ende in der Ausgabeschicht ein Vektor, der „fully connected layer“. Dieser hat vor allem in der Klassifikation eine besondere Bedeutung, da er so viele Neuronen wie Klassen enthält und die entsprechende Zuordnung über eine Wahrscheinlichkeit bewertet.

Recurrent Neural Networks (RNN)

Recurrent Neural Networks (RNN) fügen den KNN wiederkehrende Zellen hinzu, wodurch neuronale Netze ein Gedächtnis erhalten. Das erste künstliche, neuronale Netzwerk dieser Art war das Jordan-Netzwerk, bei dem jede versteckte Zelle ihre eigene Ausgabe mit fester Verzögerung – eine oder mehrere Iterationen – erhielt. Ansonsten ist es vergleichbar mit den klassischen Feed Forward Netzen.

Aufbau eines Recurrent Neural Networks (RNN).
Aufbau eines Recurrent Neural Networks (RNN).

Natürlich gibt es viele Variationen – wie die Übergabe des Zustands an Eingangsknoten, variable Verzögerungen usw., aber die Grundidee bleibt die gleiche. Diese Art von NNs wird insbesondere dann verwendet, wenn der Kontext wichtig ist. Denn dann beeinflussen Entscheidungen aus vergangenen Iterationen oder Proben maßgeblich die aktuellen. Da rekurrente Netze jedoch den entscheidenden Nachteil haben, dass sie über die Zeit instabil werden, ist es inzwischen gang und gäbe so genannte Long Short-Term Memory Units (kurz: LSTMs) zu verwenden. Diese stabilisieren das RNN auch für Abhängigkeiten, die über einen längeren Zeitraum bestehen.

Das häufigste Beispiel für solche Zusammenhänge ist die Textverarbeitung– ein Wort kann nur im Zusammenhang mit früheren Wörtern oder Sätzen analysiert werden. Ein weiteres Beispiel ist die Verarbeitung von Videos, beispielsweise beim autonomen Fahren. Objekte, innerhalb von Bildsequenzen, werden erkannt und über die Zeit verfolgt.

Weitere Quellen:

http://neuralnetworksanddeeplearning.com/

Ihr Kontakt: Laurenz Wuttke

Unternehmen sitzen auf einem ungenutzten Berg von Kundendaten. Wir von datasolut entwickeln KI, die Ihr Marketing optimiert. Damit Sie dem richtigen Kunden zur richtigen Zeit das richtige Angebot machen können.

Laurenz Wuttke

Auch interessant für Sie

White Paper

Künstliche Intelligenz optimiert Marketing und Vertrieb

Tragen Sie Ihre E-Mail-Adresse ein, um die KI-Anwendungsfälle zu erhalten:

White Paper

Künstliche Intelligenz optimiert Marketing und Vertrieb

Tragen Sie sich hier in unseren Newsletter ein und erhalten Sie gratis die KI-Fallstudien:

Mit der Anmeldung stimmen Sie unserer Datenschutzerklärung zu.