Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Autoencoder

Ein Autoencoder lernt, Daten ohne Labels in einen kompakten Code zu komprimieren und daraus wiederherzustellen. Behandelt Aufbau, Varianten, Anomalieerkennung und Code.

Ein Autoencoder ist ein neuronales Netz, das darauf trainiert wird, seine eigene Eingabe nachzubilden. Ein Encoder bildet die Eingabe auf einen kompakten Code ab, der häufig latente Repräsentation genannt wird. Ein Decoder wandelt diesen Code zurück in eine Rekonstruktion um, und beim Training wird der Unterschied zwischen Eingabe und Rekonstruktion minimiert. Da die Eingabe selbst als Ziel dient, lernen Autoencoder aus unbeschrifteten Daten. Diese Form des unüberwachten Lernens wird heute meist dem selbstüberwachten Lernen zugerechnet. Nützlich wird das Netzwerk durch eine Einschränkung, die verhindert, dass es die Eingabe einfach unverändert kopiert. Dazu gehören ein enger Engpass, hinzugefügtes Rauschen, maskierte Eingaben oder eine Strafen für geringe Sparsität. Dadurch muss das Netzwerk die Strukturen lernen, die sich komprimieren lassen. Autoencoder kommen bei der Dimensionsreduktion, der Anomalieerkennung, der Entrauschung, dem Vortraining und als Komprimierungsstufe moderner Bildgeneratoren zum Einsatz.

Funktionsweise von Autoencodern#

Der Encoder f bildet eine Eingabe x auf einen Code z = f(x) ab. Der Decoder g erzeugt eine Rekonstruktion x̂ = g(z), und beim Training wird mit Backpropagation ein Rekonstruktionsverlust minimiert, etwa der mittlere quadratische Fehler zwischen x und x̂. Bei einem untervollständigen Autoencoder hat z deutlich weniger Dimensionen als x. Der Code fasst den latenten Raum daher so zusammen, dass nur erhalten bleibt, was der Decoder benötigt. Ein mit quadratischem Fehler trainierter linearer Autoencoder lernt denselben Unterraum wie die Hauptkomponentenanalyse (PCA). Pierre Baldi und Kurt Hornik bewiesen dies 1989. Nichtlineare Aktivierungsfunktionen ermöglichen es tieferen Autoencodern, gekrümmte Strukturen zu erfassen, die PCA nicht abbilden kann. Geoffrey Hinton und Ruslan Salakhutdinov zeigten 2006 in einem Science-Artikel, dass tiefe Autoencoder für Bilder und Dokumente deutlich bessere niedrigdimensionale Codes als PCA erzeugten.

Varianten, die keinen engen Engpass erfordern, verfälschen stattdessen die Eingabe und vergleichen die Rekonstruktion weiterhin mit dem unveränderten Original:

Arten von Autoencodern#

  • Entrauschen: Fügt der Eingabe Rauschen hinzu und trainiert das Netzwerk darauf, das saubere Original wiederherzustellen, wie Pascal Vincent und Kollegen 2008 beschrieben. Die gelernten Merkmale sind robust gegenüber den Störungen, und das trainierte Modell kann verrauschte Bilder oder Signale bereinigen.
  • Sparse: Verwendet mehr Codeeinheiten als Eingaben, bestraft aber, wie viele davon gleichzeitig aktiv sind. Sparse-Autoencoder, die mit den internen Aktivierungen großer Sprachmodelle (LLMs) trainiert wurden, zerlegen diese in viele Merkmale, die jeweils tendenziell einem interpretierbaren Konzept entsprechen.
  • Variational (VAE): Der Encoder gibt eine Wahrscheinlichkeitsverteilung über Codes aus, und eine KL-Divergenzstrafe hält sie nahe an einer Standardnormalverteilung, sodass das Dekodieren eines zufällig gezogenen Codes neue Daten erzeugt. Diederik Kingma und Max Welling führten den VAE 2013 ein.
  • Vektorquantisiert (VQ-VAE): Ordnet jeden Codevektor durch Vektorquantisierung dem nächstgelegenen Eintrag eines gelernten Codebuchs zu. So werden Bilder oder Audiodaten in diskrete Token umgewandelt, die ein autoregressives Modell erzeugen kann.
  • Maskiert: Verbirgt den größten Teil der Eingabe und rekonstruiert die fehlenden Teile. Maskierte Autoencoder (MAE) verbergen 75 % der Bildausschnitte. Der auf diese Weise trainierte Encoder wird zu einem leistungsfähigen Backbone für andere Computer-Vision-Aufgaben. Metas Segment Anything Model (SAM), das im Ultralytics-Paket ausgeführt wird, baut seinen Bildencoder auf einem mit MAE vortrainierten Vision Transformer auf. SAM 2 verwendet einen mit MAE vortrainierten Hiera-Encoder. Die Merkmale hinter jeder per Prompt erzeugbaren Maske werden also zunächst durch das Ergänzen verborgener Bildausschnitte gelernt.

Anomalieerkennung anhand des Rekonstruktionsfehlers#

Ein Autoencoder, der nur mit normalen Daten trainiert wurde, rekonstruiert normale Eingaben gut und unbekannte Eingaben schlecht. Daher eignet sich der Rekonstruktionsfehler als Anomaliewert für Fertigungsfehler, betrügerische Transaktionen oder defekte Maschinen, ohne dass Anomalien beschriftet sein müssen. Das folgende PyTorch-Codebeispiel trainiert einen kleinen Autoencoder mit den mit scikit-learn gelieferten handgeschriebenen Ziffern. Dabei wird jede 7 weggelassen. Anschließend vergleicht es den Fehler bei zurückgehaltenen Ziffern mit dem Fehler bei den 7ern:

import torch
from sklearn.datasets import load_digits
from torch import nn

# 8x8 handwritten digits scaled to [0, 1]; every 7 is held out as the unseen anomaly
digits = load_digits()
x = torch.tensor(digits.data / 16, dtype=torch.float32)
normal, sevens = x[digits.target != 7], x[digits.target == 7]
train, test = normal[:1200], normal[1200:]

# Encoder: 64 pixels to an 8-number code; decoder: code back to 64 pixels
torch.manual_seed(0)
encoder = nn.Sequential(nn.Linear(64, 32), nn.ReLU(), nn.Linear(32, 8))
decoder = nn.Sequential(nn.Linear(8, 32), nn.ReLU(), nn.Linear(32, 64), nn.Sigmoid())
model = nn.Sequential(encoder, decoder)
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
for step in range(1000):
    optimizer.zero_grad()
    nn.functional.mse_loss(model(train), train).backward()  # reconstruction error
    optimizer.step()

with torch.no_grad():
    for name, data in [("Held-out digits", test), ("Unseen 7s", sevens)]:
        print(f"{name}: reconstruction error {nn.functional.mse_loss(model(data), data):.4f}")

Ausgegeben werden ein Rekonstruktionsfehler von 0.0163 für die zurückgehaltenen Ziffern und 0.0547 für die 7er, der im Durchschnitt 3,4-mal höher ist. Ein Schwellenwert für den Fehler jedes Bildes macht aus diesem Abstand eine Anomaliekennzeichnung. Ein Autoencoder kann jedoch zu gut verallgemeinern und manche Anomalien genau rekonstruieren. Deshalb stimmen praktische Systeme die Engpassgröße und den Schwellenwert anhand von Validierungsdaten ab, die bekannte Anomalien enthalten.

  • Generative adversariale Netzwerke (GANs): Ein GAN-Generator wandelt zufälliges Rauschen in Daten um und lernt anhand eines Diskriminators, ohne Encoder und ohne Rekonstruktionsziel. Auch VAE erzeugen Daten. Ihr wahrscheinlichkeitsbasiertes Optimierungsziel führt zu einem stabileren Training, erzeugt aber tendenziell unschärfere Bilder.
  • U-Net: Hat eine Encoder-Decoder-Struktur, bildet die Eingabe aber auf ein anderes Ziel ab, etwa eine Segmentierungsmaske. Übersprungverbindungen führen am Engpass vorbei. Bei einem Autoencoder würden sie es dem Netzwerk ermöglichen, die Eingabe einfach zu kopieren.
  • Kontrastives Lernen: Lernt Repräsentationen, indem es Stichproben miteinander vergleicht. Dadurch erfassen die Merkmale, wodurch sich Bilder unterscheiden, und ignorieren Pixeldetails, die ein Rekonstruktionsverlust erhalten muss.
  • Einbettungen: Der vom Encoder erzeugte Code ist eine Art Einbettung, und Autoencoder sind eine von mehreren Möglichkeiten, sie zu lernen.

Autoencoder bei der Bilderzeugung#

Latente Diffusionsmodelle wie Stable Diffusion führen den Diffusionsprozess im latenten Raum eines Autoencoders aus und dekodieren das Ergebnis am Ende zurück in Pixel. Stable Diffusion 1.x verwendet einen KL-regularisierten Autoencoder, der ein RGB-Bild mit 512×512 Pixeln in eine latente Darstellung mit 64×64×4 Werten komprimiert. Das sind 48-mal weniger Werte, die das Diffusionsmodell bei jedem Entrauschungsschritt verarbeiten muss.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens