Definition

Künstliches neuronales Netz (KNN)

In der Informationstechnologie (IT) ist ein künstliches neuronales Netz (KNN), auch künstliches neuronales Netzwerk (Artificial Neural Network, ANN) ein System aus Hardware und/oder Software, das der Funktionsweise von Neuronen im menschlichen Gehirn nachgebildet ist. KNNs, auch einfach neuronale Netze genannt, sind eine Vielzahl von Deep-Learning-Technologien, die unter den Begriff der künstlichen Intelligenz (KI) fallen.

Kommerzielle Anwendungen dieser Technologien konzentrieren sich im Allgemeinen auf die Lösung komplexer Signalverarbeitungs- oder Mustererkennungsprobleme. Beispiele bedeutender kommerzieller Anwendungen seit 2000 sind die Handschrifterkennung für die Verarbeitung von Schecks, die Speech-to-Text-Transkription, die Analyse von Daten aus der Erdölförderung, die Wettervorhersage und die Gesichtserkennung.

Wie künstliche neuronale Netze funktionieren

Ein KNN umfasst in der Regel eine große Anzahl von Prozessoren, die parallel arbeiten und in Schichten angeordnet sind. Die erste Schicht empfängt die rohen Eingangsdaten – analog zu den Sehnerven bei der menschlichen Sehverarbeitung. Jede nachfolgende Schicht empfängt das Ausgangssignal von der vorhergehenden Schicht und nicht vom rohen Eingangssignal. Auf die gleiche Weise empfangen Neuronen, die weiter vom Sehnerv entfernt sind, Signale von denen, die näher am Sehnerv liegen. Die letzte Ebene produziert die Ausgabe des Systems.

Jeder Verarbeitungsknoten hat seinen eigenen kleinen Wissensbereich, einschließlich dessen, was er gesehen hat, und alle Regeln, mit denen er ursprünglich programmiert oder für sich selbst entwickelt wurde. Die Ebenen sind hochgradig miteinander verbunden, was bedeutet, dass jeder Knoten in Ebene n mit vielen Knoten in Ebene n-1 – seinen Eingaben – und in Ebene n+1, die die Eingabedaten für diese Knoten bereitstellt, verbunden ist. In der Ausgabeschicht kann es einen oder mehrere Knoten geben, von denen die Antwort, die sie produziert, gelesen werden kann.

Künstliche neuronale Netze zeichnen sich dadurch aus, dass sie anpassungsfähig sind, das heißt sie modifizieren sich selbst, während sie aus dem anfänglichen Training lernen, und nachfolgende Durchläufe liefern mehr Informationen über die Welt. Das grundlegendste Lernmodell konzentriert sich auf die Gewichtung der Eingabeströme, das heißt wie jeder Knoten die Bedeutung der Eingabedaten von jedem seiner Vorgänger gewichtet. Eingaben, die dazu beitragen, richtige Antworten zu erhalten, werden höher gewichtet.

Deep Neural Network
Abbildung 1: Ein neuronales Netz umfasst eine große Anzahl von Prozessoren, die parallel arbeiten und in Schichten angeordnet sind.

Wie neuronale Netze lernen

Typischerweise wird ein KNN zunächst trainiert oder mit großen Datenmengen gefüttert. Das Training besteht darin, Input zu liefern und dem Netzwerk mitzuteilen, wie der Output aussehen soll. Um zum Beispiel ein Netzwerk aufzubauen, das die Gesichter von Schauspielern identifiziert, besteht das anfängliche Training aus einer Reihe von Bildern, die Schauspieler, Nicht-Schauspieler, Masken, Statuen und Tiergesichter enthalten. Jedem Input wird die passende Identifikation beigefügt, wie zum Beispiel die Namen der Schauspieler sowie Informationen wie Nicht-Schauspieler oder nicht menschlich. Die Bereitstellung der Antworten ermöglicht es dem Modell, seine internen Gewichtungen anzupassen, um zu lernen, wie es seine Arbeit besser machen kann.

Wenn zum Beispiel die Knoten David, Dianne und Dakota dem Knoten Ernie sagen, dass das aktuelle Eingabebild ein Bild von Brad Pitt ist, Knoten Durango aber sagt, es sei Betty White, und das Trainingsprogramm bestätigt, dass es Brad Pitt ist, wird Ernie das Gewicht, das er dem Input von Durango zuweist, verringern und das Gewicht, das er dem Input von David, Dianne und Dakota zuweist, erhöhen.

Bei der Definition der Regeln und der Festlegung von Entscheidungen, das heißt der Entscheidung jedes Knotens, was er auf der Grundlage der Eingaben aus der vorherigen Ebene an die nächste Ebene senden soll, verwenden neuronale Netze mehrere Prinzipien. Dazu gehören gradientenbasiertes Training, Fuzzy Logic, genetische Algorithmen und Bayes'sche Methoden. Ihnen können einige Grundregeln über Objektbeziehungen in dem zu modellierenden Raum gegeben werden.

Zum Beispiel kann ein Gesichtserkennungssystem angewiesen werden: Augenbrauen befinden sich über den Augen oder Schnurrbärte befinden sich unter der Nase. Schnurrbärte befinden sich über und/oder neben einem Mund. Durch das Vorladen von Regeln kann das Training beschleunigt und das Modell schneller leistungsfähiger werden. Es werden jedoch auch Annahmen über die Art des Problemraums getroffen, die sich entweder als irrelevant und wenig hilfreich oder als falsch und kontraproduktiv erweisen, so dass die Entscheidung darüber, welche Regeln, wenn überhaupt, einzubauen sind, wichtig ist.

Darüber hinaus führen die Annahmen, die Menschen machen, wenn sie Algorithmen trainieren, dazu, dass neuronale Netze kulturelle Verzerrungen verstärken. Verzerrte Datensätze sind eine ständige Herausforderung in Trainingssystemen, die von sich aus Antworten finden, indem sie Muster in Daten erkennen. Wenn die Daten, mit denen der Algorithmus gefüttert wird, nicht neutral sind – und fast keine Daten sind es –, verbreitet die Maschine Verzerrungen.

Wie KI-Systeme Vorurteile verstärken
Abbildung 2: Wenn die Daten, mit denen Algorithmen gefüttert werden, nicht neutral sind, verbreitet die Maschine Verzerrungen.

Arten von neuronalen Netzen

Neuronale Netze werden manchmal anhand ihrer Tiefe beschrieben, einschließlich der Anzahl der Schichten, die sie zwischen Input und Output haben, oder der so genannten verborgenen Schichten des Modells. Aus diesem Grund wird der Begriff neuronales Netz fast synonym mit Deep Learning verwendet.

Sie können auch durch die Anzahl der verborgenen Knoten beschrieben werden, die das Modell hat, oder in Bezug darauf, wie viele Ein- und Ausgaben jeder Knoten hat. Variationen des klassischen neuronalen Netzwerkdesigns ermöglichen verschiedene Formen der Vorwärts- und Rückwärtsausbreitung von Informationen zwischen Ebenen.

Zu den spezifischen Typen künstlicher neuronaler Netze gehören:

  • Feed-forward Neural Networks (vorwärtsgekoppelte neuronale Netze)
  • Recurrent Neural Networks (rückgekoppelte neuronale Netze)
  • Convolutional Neural Networks (faltende neuronale Netze)
  • Deconvolutional Neural Networks (entfaltende neuronale Netze)
  • Modular Neural Networks (modulare neuronale Netze)

Feed-forward Neural Networks (vorwärtsgekoppelte neuronale Netze) sind eine der einfachsten Varianten neuronaler Netze. Sie leiten Informationen in einer Richtung durch verschiedene Eingabeknoten, bis sie den Ausgabeknoten erreichen. Das Netzwerk kann verborgene Knotenschichten haben oder auch nicht, wodurch ihre Funktionsweise besser interpretierbar wird. Es ist bereit, große Geräuschmengen zu verarbeiten. Diese Art von KNN-Berechnungsmodellen wird in Technologien wie Gesichtserkennung und Computer Vision verwendet.

Recurrent Neural Networks (rückgekoppelte neuronale Netze, RNN) sind komplexer. Sie speichern die Ausgabe von Verarbeitungsknoten und speisen das Ergebnis wieder in das Modell ein. Auf diese Weise soll das Modell lernen, das Ergebnis einer Schicht vorherzusagen. Jeder Knoten im RNN-Modell fungiert als eine Speicherzelle, die die Berechnung und Implementierung von Operationen fortsetzt. Dieses neuronale Netz beginnt mit der gleichen Frontausbreitung wie ein Feed-forward Neural Networks, merkt sich dann aber alle verarbeiteten Informationen, um sie in Zukunft wiederzuverwenden. Wenn die Vorhersage des Netzes falsch ist, lernt das System selbstständig und arbeitet während der Rückwärtsausbreitung weiter auf die richtige Vorhersage hin. Diese Art von KNN wird häufig bei Text-to-Speech-Konvertierungen verwendet.

Convolutional Neural Networks (faltende neuronale Netze, CNN) sind eines der beliebtesten Modelle, die heute verwendet werden. Dieses Berechnungsmodell für neuronale Netze verwendet eine Variation von mehrschichtigen Perzeptronen und enthält eine oder mehrere Faltungsschichten, die entweder vollständig miteinander verbunden oder gepoolt werden können. Diese Faltungsschichten erzeugen Feature-Maps, die einen Bildbereich aufzeichnen, der letztendlich in Rechtecke aufgeteilt und zur nichtlinearen Verarbeitung gesendet wird. Das CNN-Modell ist besonders im Bereich der Bilderkennung beliebt. Es wurde in vielen der fortschrittlichsten Anwendungen der künstlichen Intelligenz (KI) eingesetzt, darunter Gesichtserkennung, Textdigitalisierung und Verarbeitung natürlicher Sprache (Natural Language Processing, NLP). Weitere Anwendungen sind die Erkennung von Umschreibungen, Signalverarbeitung und Bildklassifizierung.

Deconvolutional Neural Networks (entfaltende neuronale Netze) verwenden einen umgekehrten CNN-Modellprozess. Sie zielen darauf ab, verloren gegangene Merkmale oder Signale zu finden, die ursprünglich als unwichtig für die Aufgabe des CNN-Systems betrachtet wurden. Dieses Netzwerkmodell kann bei der Bildsynthese und -analyse verwendet werden.

Modular Neural Networks (modulare neuronale Netze) enthalten mehrere voneinander getrennt arbeitende neuronale Netze. Die Netzwerke kommunizieren während des Berechnungsprozesses nicht miteinander oder stören sich gegenseitig in ihren Aktivitäten. Folglich können komplexe oder große Rechenvorgänge effizienter durchgeführt werden.

Vorteile künstlicher neuronaler Netze

Zu den Vorteilen künstlicher neuronaler Netze gehören:

  • Parallelverarbeitungsfähigkeiten, so dass das Netzwerk mehr als eine Aufgabe gleichzeitig ausführen kann.
  • Informationen werden in einem gesamten Netzwerk gespeichert, nicht nur in einer Datenbank.
  • Die Fähigkeit, nichtlineare, komplexe Beziehungen zu lernen und zu modellieren, hilft bei der Modellierung der realen Beziehungen zwischen Input und Output.
  • Fehlertoleranz bedeutet, dass die Verfälschung einer oder mehrerer Einheiten des KNN die Erzeugung von Output nicht aufhält.
  • Allmähliche Verfälschung bedeutet, dass sich das Netzwerk im Laufe der Zeit langsam verschlechtert, anstatt dass ein Problem das Netzwerk sofort zerstört.
  • Die Fähigkeit, mit unvollständigem Wissen Output zu produzieren, wobei der Leistungsverlust davon abhängt, wie wichtig die fehlenden Informationen sind.
  • Den Eingabevariablen werden keine Beschränkungen auferlegt, zum Beispiel wie sie verteilt werden sollen.
  • Machine Learning bedeutet, dass das KNN aus Ereignissen lernen und auf der Grundlage der Beobachtungen Entscheidungen treffen kann.
  • Die Fähigkeit, versteckte Beziehungen in den Daten zu lernen, ohne eine feste Beziehung zu beherrschen, bedeutet, dass ein KNN hochvolatile Daten und nicht-konstante Varianz besser modellieren kann.
  • Die Fähigkeit zur Verallgemeinerung und Ableitung unsichtbarer Beziehungen auf ungesehene Daten bedeutet, dass KNNs die Ausgabe unsichtbarer Daten vorhersagen können.

Nachteile künstlicher neuronaler Netze

Zu den Nachteilen von KNNs gehören:

  • Das Fehlen von Regeln zur Bestimmung der richtigen Netzstruktur bedeutet, dass die geeignete künstliche neuronale Netzarchitektur nur durch Ausprobieren und Erfahrung gefunden werden kann.
  • Der Bedarf an Prozessoren mit Parallelverarbeitungsfähigkeiten macht neuronale Netze hardwareabhängig.
  • Das Netzwerk arbeitet mit numerischen Daten, daher müssen alle Probleme in numerische Werte übersetzt werden, bevor sie dem KNN präsentiert werden können.
  • Die mangelnde Erklärung hinter den herausgefundenen Lösungen ist einer der größten Nachteile von KNNs. Die Unfähigkeit, das Warum oder Wie hinter der Lösung zu erklären, erzeugt einen Mangel an Vertrauen in das Netzwerk.

Anwendungen von künstlichen neuronalen Netzen

Die Bilderkennung war einer der ersten Bereiche, in denen neuronale Netze erfolgreich eingesetzt wurden, aber die eingesetzten Technologien haben sich auf viele weitere Bereiche ausgedehnt, darunter:

  • Chatbots
  • Verarbeitung natürlicher Sprache (Natural Language Processing), Übersetzung und Spracherzeugung
  • Aktienmarktprognosen
  • Routenplanung und -optimierung in der Logistik
  • Arzneimittelforschung und -entwicklung

Dies sind nur einige wenige spezifische Bereiche, in denen neuronale Netze heute eingesetzt werden. Zu den Hauptanwendungen gehören alle Prozesse, die nach strengen Regeln oder Mustern arbeiten und große Datenmengen aufweisen. Wenn die betreffenden Daten zu groß sind, als dass ein Mensch in angemessener Zeit einen Sinn erkennt, ist das Verfahren wahrscheinlich ein guter Kandidat für die Automatisierung durch künstliche neuronale Netze.

Geschichte der neuronalen Netze

Die Geschichte der künstlichen neuronalen Netze reicht bis in die Anfänge der Informatik zurück. Im Jahr 1943 entwickelten die Mathematiker Warren McCulloch und Walter Pitts ein Schaltungssystem, das der Funktionsweise des menschlichen Gehirns nachgebaut sein sollte und einfache Algorithmen ausführte.

Im Jahr 1957 entwickelte der Forscher Frank Rosenblatt von der Cornell University das Perceptron, einen Algorithmus, der eine fortschrittliche Mustererkennung durchführen sollte, und baute schließlich auf die Fähigkeit von Maschinen auf, Objekte in Bildern zu erkennen. Doch das Perceptron hielt nicht, was es versprach, und in den 1960er Jahren fiel die Forschung an künstlichen neuronalen Netzen zurück.

1969 veröffentlichten die MIT-Forscher Marvin Minsky und Seymour Papert das Buch Perceptrons, in dem sie mehrere Probleme mit neuronalen Netzen darlegten, darunter auch die Tatsache, dass die damaligen Computer in ihrer Rechenleistung zu begrenzt waren, um die für den bestimmungsgemäßen Betrieb neuronaler Netze erforderlichen Daten zu verarbeiten. Viele sind der Meinung, dass dieses Buch zu einem Stillstand in der Forschung an neuronalen Netzwerken führte.

Erst um das Jahr 2010 herum kam die Forschung wieder in Schwung. Der Big-Data-Trend, bei dem Unternehmen riesige Datenmengen anhäufen, und die Möglichkeit der parallelen Verarbeitung gaben Data Scientists die Trainingsdaten und Rechenressourcen, die sie für den Betrieb komplexer künstlicher neuronaler Netze benötigten.

Im Jahr 2012 konnte ein neuronales Netz die menschliche Leistung bei einer Bilderkennungsaufgabe im Rahmen des ImageNet-Wettbewerbs übertreffen. Seitdem ist das Interesse an künstlichen neuronalen Netzen stark angestiegen, und die Technologie wird immer besser.

Diese Definition wurde zuletzt im Juni 2020 aktualisiert

Erfahren Sie mehr über IT-Berufe und Weiterbildung

ComputerWeekly.de
Close