Wikipedia · einfach zusammengefasst · Stand
Multi-Layer-Perzeptron
Der Backpropagation-Algorithmus wird oft verwendet, um die Gewichtsaktualisierung zu berechnen. Der Backpropagation-Algorithmus nutzt das Konzept der …
Inhalt4 Abschnitte
Grundidee und Aufbau
Ein Multi-Layer-Perzeptron (MLP), auf Deutsch mehrlagiges Perzeptron, ist ein künstliches neuronales Netzwerk (KNN), das besonders in der maschinellen Lernforschung und im überwachten Lernen verwendet wird. Beim überwachten Lernen erhält das Netzwerk Eingaben zusammen mit erwarteten Ausgaben und passt sich so an, dass es aus den Eingaben möglichst passende Vorhersagen erzeugt.
Ein MLP besteht aus mindestens drei Schichten: einer Eingabeschicht, einer oder mehreren verdeckten Schichten und einer Ausgabeschicht. Die Eingabeschicht nimmt die Eingangsdaten auf. In den verdeckten Schichten werden die Daten verarbeitet, während die Ausgabeschicht die Vorhersage des Netzwerks erzeugt.
Das MLP kann als gerichteter azyklischer Graph betrachtet werden. „Gerichtet“ bedeutet, dass die Informationen in eine festgelegte Richtung fließen; „azyklisch“ bedeutet, dass keine Rückkopplungsschleifen enthalten sind. Die Neuronen innerhalb einer Schicht sind nicht miteinander verbunden. Dagegen sind die Neuronen aufeinanderfolgender Schichten vollständig verbunden: Jedes Neuron einer Schicht ist mit jedem Neuron der nächsten Schicht verbunden. Jede Verbindung besitzt ein Gewicht. Dieses Gewicht bestimmt, wie stark der Eingang bei der Berechnung des verbundenen Neurons berücksichtigt wird, und wird während des Trainings angepasst.
Als Beispiel wird ein zweilagiges Perzeptron zur Berechnung der XOR-Funktion genannt.
Berechnung der Vorhersage
Bei der Vorwärtspropagation, auch Forward Propagation genannt, werden die Eingabewerte durch das Netzwerk weitergeleitet, um eine Vorhersage zu erzeugen. Die Verarbeitung erfolgt schrittweise von der Eingabeschicht über die verdeckten Schichten bis zur Ausgabeschicht.
Jedes Neuron in einer verdeckten Schicht und in der Ausgabeschicht berechnet zunächst eine gewichtete Summe seiner Eingangswerte. Dazu werden die Eingangswerte jeweils mit den Gewichten der entsprechenden Verbindungen multipliziert und anschließend addiert. Ein Neuron besitzt für jede Verbindung zu einem Neuron der vorherigen Schicht ein eigenes Gewicht.
Die gewichtete Summe wird danach an eine Aktivierungsfunktion übergeben. Eine Aktivierungsfunktion bestimmt aus der gewichteten Summe den Ausgangswert des Neurons und kann nichtlineare Eigenschaften in die Ausgabe einführen. Dadurch kann das MLP komplexe Zusammenhänge erlernen, die mit einer rein linearen Berechnung nicht darstellbar wären.
Eine häufig verwendete Aktivierungsfunktion ist die Sigmoidfunktion, auch logistische Funktion genannt. Eine weitere weit verbreitete Funktion ist die Rectified Linear Unit (ReLU). Sigmoidale Funktionen begrenzen die Ausgabe auf den Wertebereich zwischen 0 und 1. ReLU-Funktionen können Berechnungen beschleunigen, da sie keine exponentiellen Operationen benötigen. Welche Aktivierungsfunktion geeignet ist, hängt von der jeweiligen Aufgabe und den Anforderungen des Problems ab.
Die Ausgabeschicht erzeugt die Vorhersagen des MLP. Jedes ihrer Neuronen ist mit den Neuronen der letzten verdeckten Schicht verbunden. Die Ausgangswerte der Ausgabeneuronen stellen die Vorhersage für die jeweilige Eingabe dar. Nach der Vorwärtspropagation werden diese Werte mit den erwarteten Ausgaben verglichen. Aus dem Vergleich wird der Fehler bestimmt, der anschließend für die Anpassung der Gewichte verwendet wird.
Training und Gewichtsänderung
Ziel des Trainings ist es, die Gewichte so anzupassen, dass der Fehler zwischen den Vorhersagen des MLP und den erwarteten Ausgaben kleiner wird. Häufig wird dafür der Backpropagation-Algorithmus verwendet. Er propagiert den Fehler rückwärts durch das Netzwerk und nutzt die Kettenregel des Differenzierens, um den Einfluss jedes Gewichts auf den Gesamtfehler zu berechnen.
Der Trainingsablauf umfasst mehrere Schritte:
- Zunächst werden die Gewichte typischerweise zufällig initialisiert. Eine sorgfältige Initialisierung kann die Geschwindigkeit beeinflussen, mit der das Netzwerk konvergiert.
- Durch Vorwärtspropagation werden für die Eingaben des Trainingsdatensatzes Vorhersagen berechnet.
- Die Vorhersagen werden mit den erwarteten Ausgaben verglichen. Je nach Aufgabe können unterschiedliche Fehlermaße eingesetzt werden; für Klassifikationsaufgaben werden beispielsweise der Kreuzentropie-Fehler oder der quadratische Fehler genannt.
- Bei der Backpropagation wird der Fehler von der Ausgabeschicht rückwärts zur Eingabeschicht weitergegeben. Mithilfe der Kettenregel wird für die Neuronen der Ausgabeschicht und der verdeckten Schichten berechnet, welchen Beitrag ihre Gewichte zum Gesamtfehler leisten.
- Anschließend werden die Gewichte in kleinen Schritten aktualisiert. Die Größe dieser Schritte wird durch die Lernrate, einen Hyperparameter, gesteuert. Eine geeignete Lernrate soll ein Gleichgewicht zwischen Konvergenzgeschwindigkeit und Stabilität ermöglichen.
Vorwärtspropagation, Fehlerberechnung, Backpropagation und Gewichtsaktualisierung werden wiederholt ausgeführt. Eine Epoche bezeichnet dabei einen vollständigen Durchlauf aller Eingaben des Trainingsdatensatzes durch das Netzwerk. Das Training erfolgt normalerweise über mehrere Epochen.
Beim Überanpassen, englisch Overfitting, lernt das Netzwerk die Trainingsdaten zu gut und kann deshalb schlechter auf neue Daten verallgemeinern. Zur Verringerung dieses Risikos werden unter anderem Regularisierung, Drop-out und Kreuzvalidierung eingesetzt. Zusätzlich wird während des Trainings regelmäßig ein separater Validierungsdatensatz verwendet. Damit lässt sich die Leistung auf bisher nicht gesehenen Daten überwachen und Überanpassung erkennen.
Das Training wird fortgesetzt, bis eine Konvergenz erreicht ist. Das bedeutet, dass der Fehler auf dem Trainingsdatensatz nicht mehr wesentlich reduziert werden kann und das Netzwerk eine stabile Leistung erreicht hat. Wie viele Epochen dafür erforderlich sind, hängt von der Komplexität des Problems und vom Trainingsdatensatz ab. Nach dem Training wird die Leistung auf einem unabhängigen Testdatensatz bewertet, der weder zu den Trainings- noch zu den Validierungsdaten gehört.
Die Darstellung des Artikels ist vereinfacht. Zusätzlich können beispielsweise Bias-Neuronen, Regularisierungstechniken und Optimierungsverfahren berücksichtigt werden.
Anwendungsbereiche
MLPs werden in vielen wissenschaftlichen, industriellen und technologischen Bereichen eingesetzt. Ihre im Artikel hervorgehobene Stärke besteht darin, komplexe nichtlineare Beziehungen zu modellieren, Muster in großen Datenmengen zu erkennen und daraus Vorhersagen zu erzeugen.
In der Bild- und Spracherkennung können MLPs Objekte, Gesichter und handgeschriebene Zeichen erkennen. Genannt werden unter anderem Gesichtserkennungssysteme, Fahrerassistenzsysteme, Bildgebungsverfahren, Sprachassistenten, automatische Übersetzungssysteme und Transkriptionssoftware.
In der Verarbeitung natürlicher Sprache, kurz NLP, lernen MLPs Sprachmuster und erkennen semantische Beziehungen. Sie werden für Textklassifikation, maschinelle Übersetzung und die automatische Textgenerierung eingesetzt. Weitere genannte Anwendungen sind Chatbots, Textanalysetools und Empfehlungssysteme.
In der Finanzanalyse dienen MLPs dazu, Muster in Finanzdaten zu erkennen und Vorhersagen zu erstellen. Der Artikel nennt die Vorhersage von Börsenkursen, die Betrugserkennung bei Kreditkartenabrechnungen, die Kreditwürdigkeitsprüfung und die Risikomodellierung.
In der medizinischen Anamnese und Bildgebung können MLPs Krankheiten erkennen, medizinische Bilder auswerten und Patientendaten verarbeiten. Als Beispiele werden die Diagnose von Krebs, die Erkennung von Anomalien in MRI- und CT-Scans, die Vorhersage von Krankheitsverläufen und personalisierte Medizin genannt. Dadurch sollen Ärzte bei Diagnosen und Behandlungsentscheidungen unterstützt werden.
In der Robotik können MLPs autonome Roboter steuern, Bewegungsabläufe erlernen und Objekte erkennen. In Steuerungssystemen für komplexe Prozesse können sie Regelungen erlernen und Entscheidungen treffen. Für die industrielle Automatisierung nennt der Artikel die Optimierung von Produktionsabläufen, die Fehlererkennung und autonomes Verhalten von Robotern.
Bei Verkehrsvorhersage und Verkehrssteuerung analysieren MLPs Verkehrsdaten, erkennen Verkehrsmuster und sagen Verkehrsflüsse sowie Staus voraus. Auf dieser Grundlage können Verkehrsleitsysteme optimiert, Engpässe verringert und die Effizienz des Verkehrsnetzes erhöht werden. Dies wird mit intelligenten Verkehrssystemen und Smart Cities verbunden.
Weitere Einsatzgebiete sind die Wettervorhersage, die Analyse von Sensordaten, die Erkennung von Mustern in biologischen Daten, Textanalyse sowie personalisierte Dienste und Empfehlungen. In der Spiel-KI können MLPs das Verhalten menschlicher Spieler analysieren, Spielstrategien entwickeln und adaptive Entscheidungen treffen. Genannt werden Schach, Go, Poker und Videospiele. Insgesamt werden MLPs als vielseitiges Werkzeug zur Mustererkennung, Datenanalyse und Vorhersage beschrieben.
Lernvideos zu Multi-Layer-Perzeptron
17:53
Forward Propagation of Neural Networks | El Mahdi El Mhamdi
Wandida, EPFL · 762 Aufrufe
20:39
Grundlagen neuronaler Netze, Neuronale Netze I, Machine Learning Tutorial #12
CodingWithMagga · 29.018 Aufrufe
10:49
Einführung in Künstliche Neuronale Netzwerke!
datasolut · 23.280 Aufrufe
11:31
Deep Learning: Feedforward-Netz mit mehreren Schichten
profkipp · 3.367 Aufrufe