Neuronale Netze ahmen den Aufbau des menschlichen Gehirns nach. Sie können so Probleme lösen, an denen andere künstliche Intelligenzen scheitern. Manche sehen in ihnen gar die Zukunft des Computings; insbesondere an das sogenannte Deep Learning knüpfen sich große Hoffnungen. Erfahren Sie, wie neuronale Netze aufgebaut sind, wie sie trainiert werden und welche Anwendungsfälle es bereits gibt.

Vorderseite Leitfaden So finden Sie den passenden IT-Dienstleister

KOSTENLOSER LEITFADEN

So finden Sie den passenden IT-Dienstleister

Sie überlegen Managed Services in Ihrem Unternehmen einzuführen und sind auf der Suche nach einem passenden Service Provider? Unser Leitfaden „So finden Sie den passenden IT-Dienstleister“ unterstützt Sie dabei Ihre Anforderungen und Erwartungen klar zu definieren!

Jetzt herunterladen

Schön, dass Sie hier sind! Wie Ihnen vielleicht schon aufgefallen ist, verwenden wir aus Gründen der Lesbarkeit in erster Linie die männliche Form in unseren Texten. Im Sinne der Gleichbehandlung meinen wir damit selbstverständlich immer alle Geschlechter (m/w/d). Und jetzt wünschen wir Ihnen viel Spaß beim Lesen.

Definition: Was sind neuronale Netze?

Computerbasierte künstliche neuronale Netze (KNN) orientieren sich am biologischen Aufbau des menschlichen Gehirns. Sie ermöglichen besonders anspruchsvolle Anwendungen für künstliche Intelligenz und maschinelles Lernen.

Ein KNN stellt ein abstrahiertes Modell miteinander verbundener Neuronen dar. Solche Modelle basieren meist auf der Verknüpfung vieler sogenannter McCulloch-Pitts-Neuronen. Es finden aber auch andere künstliche Neuronen Verwendung, wie High-Order-Neuronen.

Neuronale Netze sind besonders gut darin, sensorische Daten wie Bilder, Geräusche und Sprache zu analysieren. Sie nähern sich damit an Verständnisbereiche an, die lange Zeit dem Menschen vorbehalten schienen. In einigen Fällen erledigen neuronale Netze entsprechende Aufgaben sogar schon besser als der Mensch, zum Beispiel bei der Handschrifterkennung.

Je nach Aufbau werden unterschiedliche Modelle von KNNs unterschieden. Dazu zählen unter anderem:

  • Einlagiges Perzeptron
  • Feed Forward Neural Networks
  • Convolutional Neural Networks
  • Recurrent Neural Networks

Verfügt ein KNN über besonders tiefe Netzstrukturen, dann spricht man von Deep Learning.

Häufige Einsatzgebiete für künstliche neuronale Netze sind IT-Anwendungen, statistische Probleme sowie die Ingenieurs- und Wirtschaftswissenschaften. Beispiele für konkrete Use Cases sind:

  • Autonomes Fahren
  • Wettervorhersagen
  • Frühwarnsysteme, zum Beispiel bei der Intrusion Detection zur Absicherung von IT-Infrastrukturen
  • Bilderkennung, zum Beispiel um Straftäter auf Aufnahmen von Überwachungskameras zu identifizieren
  • Automatische Betrugserkennung, zum Beispiel bei finanziellen Transaktionen
  • Medizinische Analysen, zum Beispiel in der Krebsdiagnostik

Neuronale Netze sind ein Forschungsgebiet der Neuroinformatik, wobei sich auch die  Computational Neuroscience mit ihnen beschäftigt, allerdings stärker aus der biologischen Perspektive. KNNs bilden ein wichtiges Teilgebiet der künstlichen Intelligenz.

Wie andere KI-Anwendungen müssen auch KNNs zuerst trainiert werden, bevor sie konkrete Probleme lösen können.

Die Komponenten eines KNNs

Die drei Komponenten eines KNNs sind:

  1. Die Neuronen oder Knoten
  2. Die sogenannten Kanten
  3. Die Schichten (Layer)

Grundsätzlich bestehen neuronale Netze aus Knoten oder Units, in Anlehnung an die Knotenpunkte im menschlichen Gehirn. Diese Knoten erhalten Informationen von anderen Neuronen, modifizieren diese oder geben sie als Ergebnis aus.

Dabei sind die Neuronen-Knoten über sogenannte Kanten miteinander vernetzt. Je ausgeprägter diese Kanten sind, desto mehr Einfluss hat ein bestimmtes Neuron auf ein anderes Neuron.

In vielen neuronalen Netzen werden die Neuronen auf hintereinander liegenden Schichten (engl. Layers) platziert. Typischerweise nehmen die Komplexität und die Leistungsfähigkeit eines neuronalen Netzes zu, je mehr Schichten mit Neuronen es enthält.

Welche Typen gibt es?

Neuronale Netze lassen sich nach ihrem Aufbau unterscheiden. Dabei geht es vor allem um zwei Fragen:

  1. Wie viele künstliche Neuronen sind auf wie viele Schichten eines Netzes verteilt?
  2. Und wie sind diese Neuronen miteinander verknüpft?

Es wird zwischen sogenannten Feedforward-Netzen und rekurrenten Netzen unterschieden. Bei einem Feedforward-Netz ist eine Weiterleitung der Informationen nur in eine Richtung möglich. Bei rekurrenten Netzen können Daten dagegen auch zurückgespielt werden.

Die wichtigsten Typen von KNNs stellen wir Ihnen im Folgenden vor.

Einschichtiges Feedforward-Netz (Perzeptron)

Die einfachste Verwirklichungsform eines neuronalen Netzes ist ein einschichtiges Netz mit Feedforward-Eigenschaften, auch als Perzeptron bezeichnet. Es besteht aus lediglich einer trainierbaren Neuronenschicht, der sogenannten Ausgabeschicht. Die Neuronen können nur in Verarbeitungsrichtung weitergeleitet werden; eine Rückkopplung ist nicht möglich, weil keine rekurrenten Kanten existieren.

Um ein solches Netz zu trainieren, kommt die sogenannte Delta-Regel zum Einsatz. Dieser Algorithmus erlaubt nur eine geringe Komplexität. Er eignet sich unter anderem für adaptive Filter und Regelungen sowie für Online-Identifikationsverfahren.

Ein einschichtiges neuronales Netz stößt schnell an seine Grenzen, insbesondere bei häufigen zeitlichen Änderungen der Eingangsdaten. Im schlechtesten Fall findet das Netz hier keine Lösung.

Neuronale Netze - Einschichtiges System

Mehrschichtiges Feedforward-Netz

Ein mehrschichtiges Netz besteht typischerweise aus zwei oder mehr Schichten:

  1. Einer oder mehreren sogenannten verborgenen Schichten (Hidden-Neurons-Layer)
  2. Der Ausgabeschicht (Output-Layer)

Schauen wir uns die beiden Schichten im Detail an.

Verborgene Schicht

Die verborgene Schicht schließt an den Dateninput an. Sie kann aus beliebig vielen Unterschichten bestehen. Durch die Neuronen der verborgenen Schicht erfolgt eine Gewichtung des Dateninputs. Dies geschieht in jeder der einzelnen Unterschichten. Weil die genaue Prozessierung der Daten nicht sichtbar ist, spricht man von verborgener Schicht. Häufig wird in diesem Zusammenhang auch der Begriff Black Box verwendet, um zu beschreiben, dass die komplexen Abläufe dieser Schicht für den Menschen nur schwer nachvollziehbar sind. Nachdem der verborgene Gewichtungsprozess durchlaufen wurde, werden die Informationen an die Ausgabeschicht weitergeleitet.

Ausgabeschicht

Die Ausgabeschicht schließt unmittelbar an die letzte Unterschicht der verborgenen Schicht an. Die hier befindlichen Neuronen enthalten die getroffene Entscheidung, welche sich aus der vorhergehenden Verarbeitung ergeben hat. Sie leiten diese als Ergebnis an die Außenwelt weiter.

Aufgrund der enthaltenen verdeckten Schichten sind solche mehrschichtigen Feedforward-Netze zu wesentlich mehr Komplexität in der Lage. So kann ein mehrschichtiges Netz unter anderem das XOR-Problem lösen. Das KNN kann also zwei Aussagen verarbeiten, die durch einen Entweder-Oder-Junktor verknüpft wurden.

Faltende neuronale Netze (CNN)

Convolutional Neural Networks (CNN), auf Deutsch in etwa „faltende neuronale Netze“, können besonders gut mit 2D- und 3D-Eingabedaten umgehen. Deshalb kommen sie insbesondere für die Bilderkennung zum Einsatz.

Die Besonderheit des CNN besteht im Aufbau der verborgenen Schicht, welche eine Abfolge von Faltungs- und Pooling-Operationen enthält. Während der Faltung wird ein sogenannter Kernel über die Daten geschoben, ähnlich einer Multiplikation. Der anschließende Pooling-Layer vereinfacht die Ergebnisse, sodass nur die wichtigen Daten erhalten bleiben.

Auf diese Weise werden die zwei- und dreidimensionalen Eingangsdaten kleiner. Am Ende der Ausgabeschicht ergibt sich ein Vektor, der „fully connected layer“. Er enthält so viele Neuronen wie Klassen.

Rekurrentes Netz

Anders als reine Feedforward-Netze verfügen rekurrente Netze über rückwärts gerichtete Kanten. So wird ein Rückkopplungseffekt ermöglicht. Indem die rekurrenten Kanten mit einer Zeitverzögerung versehen werden, können die ausgegebenen Neuronen wieder als Eingabeinformationen verwendet werden. Das trägt zu einer gesteigerten Dynamik des neuronalen Netzes bei. Außerdem gewinnt das KNN auf diese Weise die Fähigkeit, sich zu erinnern.

Wie neuronale Netze trainiert werden

Neuronale Netze können unter Verwendung verschiedener Methoden trainiert werden.

Überwachtes Lernen (Supervised Learning)

Beim überwachten Lernen wird das neuronale Netz mit einem bestimmten Eingangsmuster gespeist. Im nächsten Schritt schaut sich der Trainer das Ausgabemuster des KNN an. Er vergleicht, wie stark der tatsächliche Ausgabewert vom eigentlich angestrebten Sollwert abweicht. Aufgrund dieser Differenz werden dann Anpassungen an der Struktur des neuronalen Netzes vorgenommen.

Bei einlagigen Strukturen kommt hier typischerweise die Delta-Regel zur Anwendung. Im Falle eines mehrschichtigen Aufbaus wird häufig unter Verwendung der sogenannten Rückpropagierung gearbeitet. Hierbei handelt es sich um eine Verallgemeinerung der Delta-Regel, welche durch Differenziation hergeleitet wird.

Unüberwachtes Lernen (Unsupervised Learning)

Anders als beim überwachten Lernen erfolgt beim unüberwachten Lernen keine Kontrolle des Ausgabemusters. Dem neuronalen Netz wird lediglich ein Eingabemuster zur Verfügung gestellt, unter dessen Verwendung es sich selbst modifiziert. Es gibt zwei Lernregeln, die hier zur Anwendung kommen:

  1. Adaptive Resonanztheorie. Hier existieren wiederum zwei Varianten, das langsame und das schnelle Lernen. Für viele Anwendungen ist der schnelle Modus ausreichend; allerdings ist der langsame Modus besser dafür geeignet, die Funktionsweise von biologischen neuronalen Netzen nachzuempfinden.
  2. Hebbsche Lernregel. Der Psychologe Donald Olding Hebb formulierte 1949 eine Regel, wie sich zwei Zellen eines neuronalen Netzes gegenseitig zu Wachstumsprozessen anregen bzw. metabolische Veränderungen herbeiführen. Diese Regel findet bis heute Anwendung beim unüberwachten Training.

Verstärkendes Lernen (Reinforced Learning)

Das verstärkende Lernen kommt dann zum Einsatz, wenn zu einem bestimmten Eingabedatensatz kein passender Ausgabedatensatz existiert. Dies kann zum Beispiel der Fall sein, wenn sich Roboter in ungewohnten Umgebungen aufhalten, wie bei Tauchrobotern, welche Meerestiefen erforschen.

In diesem Szenario kann nicht vorhergesagt werden, was die optimale Aktion ist, weil dies noch nicht bekannt ist. Deshalb lässt man das neuronale Netz zunächst selbstständig eine Aufgabe lösen und betrachtet dann das Ergebnis. Nach mehreren solchen Testläufen erfolgt dann eine Bewertung, welche für das zukünftige Training des Netzes zugrundegelegt wird.

Simulierte Abkühlung (Simulated Annealing)

Dieser Trainingsalgorithmus simuliert einen Abkühlungsprozess, wie er bei der Verarbeitung von Metall zu beobachten ist. Nach dem Erhitzen kühlt ein Metall so langsam ab, dass die Atome sich selbst ordnen und stabile Kristalle bilden können. Das resultiert in einem energiearmen Zustand nahe am Optimum.

Übertragen auf neuronale Netze bedeutet dies, dass sich Zwischenergebnisse bei der Optimierung auch verschlechtern dürfen. Ungünstige Zwischenlösungen sind akzeptabel, weil sie die Chance auf ein besseres lokales Optimum bieten.

Was man unter Deep Learning versteht

Der Begriff „Deep“ in Deep Learning bezieht sich anders als häufig angenommen nicht auf ein besonders tiefes Problemverständnis, sondern auf die Tiefe der Netzstruktur des verwendeten KNN. Speziell ist damit gemeint, über wie viele Hidden Layers ein bestimmtes neuronales Netz verfügt. Je mehr Tiefe gegeben ist, desto komplexer ist der ausgegebene Datensatz.

Welche Tiefe einem Problem angemessen ist, hängt vom konkreten Einsatzzweck ab. Bei zu wenigen Schichten bzw. Neuronen werden die Daten nur unvollständig repräsentiert. Ist die Anzahl der Schichten jedoch zu hoch, kommt es zu einem Auswendiglernen-Effekt, weil sich das neuronale Netz alle Daten aus der Trainingsphase merkt. Durch dieses „Overfitting“ kann das Netz schlechte Ergebnisse liefern, wenn es sich mit unbekannten Daten konfrontiert sieht.

Die Herausforderung besteht darin, für verschiedene Anwendungen problemadäquate Strukturen bereitzustellen. Ein Ansatzpunkt stellt die Kreuzvalidierung dar, ein anderer der Vergleich mit bekannten Architekturen.

Anwendungen

Ihre Stärke entfalten neuronale Netzen bei Anwendungen, für die keine explizite Wissensbasis existiert. Der Algorithmus muss hier also selbstständig Lösungsansätze erarbeiten.

Dies trifft insbesondere auf Mustererkennungsprobleme wie Text-, Sprach-, Bild- und Gesichtserkennung zu. KNNs finden auch in der Regelungstechnik Verwendung; sie können konventionelle Regler ersetzen und ihnen Sollwerte vorgeben.

Weitere Anwendungsgebiete sind:

  • Fehlererkennung, zum Beispiel in der fertigenden Industrie
  • Prozessoptimierung
  • Sprachsynthese
  • Klangsynthese, zum Beispiel in der Musik- und Filmindustrie
  • Maschinenbasiertes Übersetzen
  • Gesichtsaustausch
  • Automatische Klassifikation von Daten
  • Data-Mining
  • Steuerung komplexer Prozesse
  • Prognosen für komplexe Systeme, beispielsweise Modellierungen von sozialen oder betriebswirtschaftlichen Systemen
  • Simulationen komplexer Systeme. Hierbei kann es sich beispielsweise um historische Rekonstruktionen, aber auch um komplexe ökologische Systeme handeln.
  • Frühwarnsysteme, wie Radaranlagen in der zivilen oder militärischen Luftfahrt
  • Zeitreihenanalysen, zum Beispiel für Wetterereignisse oder Aktienprognosen
  • Medizinische Anwendungen, speziell in der Diagnostik und Epidemiologie
  • IT-Use-Cases, speziell in der Robotik, bei virtuellen Agenten wie Chatbots und bei KI-Modulen für die Gaming-Industrie

Herausforderungen

Bei allen Möglichkeiten, die neuronale Netze bieten – aktuell bestehen auch noch verschiedene technische Herausforderungen.

Overfitting

Das oben schon genannte Overfitting ist eine wesentliche Herausforderung beim Training von neuronalen Netzen. Hierbei geht es darum, wie gut das Netz die relevanten Daten vom unwesentlichen Rauschen unterscheiden kann. Werden die Trainingsdaten vom neuronalen Netz zu wörtlich genommen, sinkt seine Flexibilität, sich mit neuen, unbekannten Daten auseinanderzusetzen.

Hoher Datenbedarf

Damit neuronale Netze korrekt funktionieren können, ist eine große Menge Trainingsdaten erforderlich. Nur so können korrekte Klassifikationen durch das Netz vorgenommen werden. Um diesen enormen Aufwand zu reduzieren, wird mittlerweile versucht, die inneren Schichten eines neuronalen Netzes wiederzuverwenden und nur die äußeren Schichten neu zu trainieren. Beispielsweise könnte das bei der Bilderkennung von Tieren geschehen. Wenn das Netz bereits vierbeinige Säugetiere wie Hunde und Katzen erkennt, könnte es so auch schneller Pferde und Kühe erkennen lernen.

Schwere Nachvollziehbarkeit

Weil sich komplexe neuronale Netze ständig selbst verändern, sind sie für den Menschen schwer nachvollziehbar. Er versteht kaum noch, wie ein KNN zu einem bestimmten Einzelergebnis gelangt ist. Das erschwert auch die Beurteilung im Hinblick auf Robustheit und Zuverlässig eines Netzes im Allgemeinen.

Vorderseite Leitfaden So finden Sie den passenden IT-Dienstleister

KOSTENLOSER LEITFADEN

So finden Sie den passenden IT-Dienstleister

Sie überlegen Managed Services in Ihrem Unternehmen einzuführen und sind auf der Suche nach einem passenden Service Provider? Unser Leitfaden „So finden Sie den passenden IT-Dienstleister“ unterstützt Sie dabei Ihre Anforderungen und Erwartungen klar zu definieren!

Jetzt herunterladen