Autoencoder

Was ist ein Autoencoder?

Ein Autoencoder ist eine Art von Deep-Learning-Netzwerk, das so trainiert wird, dass es seine Eingabedaten repliziert. Autoencoder haben die klassischen technischen Verfahren in Bezug auf Genauigkeit und Leistung bei einer Vielzahl von Anwendungen übertroffen, z. B. bei der Anomalieerkennung, Texterzeugung, Bilderzeugung, Bildentrauschung und digitalen Kommunikation.

Die MATLAB Deep Learning Toolbox™ kann für eine Reihe von Beispielen von Autoencoder-Anwendungen verwendet werden, auf die im Folgenden verwiesen wird.

So funktionieren Autoencoder

Autoencoder geben eine Rekonstruktion der Eingabe aus. Diese Autoencoder bestehen dabei aus zwei kleineren Netzwerken: einem Encoder und einem Decoder. Im Zuge des Trainings erlernt der Encoder eine Reihe von Merkmalen aus den Eingangsdaten. Diese werden als latente Repräsentation bezeichnet. Gleichzeitig wird der Decoder darauf trainiert, die Daten auf Grundlage dieser Merkmale zu rekonstruieren. Anschließend kann der Autoencoder zur Vorhersage von Eingaben verwendet werden, die vorher nicht bekannt waren. Autoencoder lassen sich leicht anpassen und können für verschiedene Datentypen verwendet werden, wie zum Beispiel bei Bildern, Zeitreihen und Text.

Abbildung 1: Ein Autoencoder besteht aus einem Encoder und einem Decoder.

Welche Anwendungen verwenden Autoencoder?

Autoencoder werden von Natur aus jegliches Eingangsrauschen ignorieren, während der Encoder trainiert wird. Diese Funktion ist ideal, um Rauschen zu entfernen oder Anomalien zu erkennen, wenn die Eingänge und Ausgänge miteinander verglichen werden (siehe Abbildungen 2 und 3).

Abbildung 2: Rauschentfernung aus Bildern.

Abbildung 3: Bildbasierte Erkennung von Anomalien.

Die latente Repräsentation kann auch zur Erzeugung synthetischer Daten verwendet werden. So lassen sich beispielsweise automatisch realistisch aussehende Handschriften oder Textpassagen erstellen (Abbildung 4).

Abbildung 4: Erzeugung von neuen Textphrasen aus bereits vorhandenem Text.

Auf Zeitreihen basierende Autoencoder dienen ebenfalls zur Erkennung von Anomalien in Signaldaten. Bei der vorausschauenden Instandhaltung kann beispielsweise ein Autoencoder auf normale Betriebsdaten einer Industriemaschine trainiert werden (Abbildung 5).

Abbildung 5: Training mit normalen Betriebsdaten zur vorausschauenden Instandhaltung.

Anschließend wird der trainierte Autoencoder an neu eingehenden Daten getestet. Eine große Abweichung von der Ausgabe des Autoencoders ist hierbei ein Hinweis auf einen anomalen Betrieb, der eine genauere Überprüfung erforderlich machen könnte (Abbildung 6).

Abbildung 6: Eine schwerwiegende Abweichung als Hinweis auf Anomalien in den Eingabedaten kann ein Zeichen dafür sein, dass eine Wartung erforderlich ist.

Die wichtigsten Punkte

  • Autoencoder benötigen keine gekennzeichneten Eingabedaten für das Training: Sie sind unüberwacht.
  • Es gibt verschiedene Arten von Autoencodern, die für unterschiedliche technische Aufgaben entwickelt wurden, darunter:
    • Faltungsautoencoder – der Decoderausgang versucht, den Encodereingang zur Rauschunterdrückung zu spiegeln.
    • Variationale Autoencoder – diese erstellen ein generatives Modell, das zur Erkennung von Anomalien dient.
    • LSTM-Autoencoder – diese Modelle erstellen ein generatives Modell für den Einsatz in Zeitreihen.

Siehe auch: was ist deep learning, long short-term memory (LSTM)-Netze, was ist ein neuronales Faltungsnetz?, Anomalie-Erkennung