Glossar

Generatives Adversariales Netzwerk (GAN)

Entdecke, wie GANs die KI revolutionieren, indem sie realistische Bilder erzeugen, Daten verbessern und Innovationen im Gesundheitswesen, bei Spielen und mehr vorantreiben.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Generative Adversarial Networks (GANs) sind eine leistungsstarke Klasse von maschinellem Lernen (ML), die erstmals 2014 von Ian Goodfellow und Kollegen vorgestellt wurde. Sie gehören zum Bereich der generativen KI und konzentrieren sich darauf, neue Daten zu erzeugen, die einem vorgegebenen Trainingsdatensatz ähneln. Die Kernidee hinter GANs besteht darin, dass zwei neuronale Netze (NNs), der Generator und der Discriminator, in einem Wettbewerbsspiel gegeneinander antreten. Dieser gegensätzliche Prozess treibt das System dazu an, sehr realistische synthetische Ergebnisse wie Bilder, Musik oder Text zu erzeugen.

Wie GANS funktioniert

Eine GAN-Architektur besteht aus zwei Hauptkomponenten, die gleichzeitig trainiert werden:

  • Der Generator: Dieses Netzwerk nimmt zufälliges Rauschen (einen Vektor aus Zufallszahlen, der oft aus einer Gaußschen Verteilung entnommen wird) als Eingabe und versucht, es in Daten umzuwandeln, die die reale Datenverteilung nachahmen. Es könnte zum Beispiel ein synthetisches Bild einer Katze erzeugen, das wie die Bilder aus dem Trainingsdatensatz aussieht. Ziel ist es, eine Ausgabe zu erzeugen, die von den echten Daten nicht zu unterscheiden ist, um den Discriminator zu täuschen.
  • Das Unterscheidungsmerkmal: Dieses Netzwerk fungiert als binärer Klassifikator. Es erhält sowohl echte Datenproben (aus dem tatsächlichen Datensatz) als auch gefälschte Datenproben (vom Generator erstellt). Seine Aufgabe ist es, zu entscheiden, ob die eingegebenen Daten echt oder gefälscht sind. Es lernt dies durch standardmäßige überwachte Lerntechniken mit dem Ziel, echte und erzeugte Proben richtig zu klassifizieren.

Der kontradiktorische Ausbildungsprozess

Das Training eines GAN ist ein dynamischer Prozess, bei dem der Generator und der Diskriminator miteinander konkurrieren und sich gemeinsam verbessern:

  1. Der Generator erzeugt einen Stapel synthetischer Daten.
  2. Der Diskriminator wird auf einem Stapel trainiert, der sowohl reale Daten als auch die synthetischen Daten des Generators enthält, und lernt, diese zu unterscheiden. Mithilfe von Backpropagation werden seine Gewichte anhand der Klassifizierungsgenauigkeit aktualisiert.
  3. Der Generator wird dann auf der Grundlage der Ergebnisse des Diskriminators trainiert. Sein Ziel ist es, Daten zu produzieren, die der Diskriminator fälschlicherweise als echt einstuft. Die Gradienten fließen durch den (vorübergehend festgelegten) Diskriminator zurück, um die Gewichte des Generators zu aktualisieren.

Dieser Kreislauf setzt sich fort und führt im Idealfall zu einem Gleichgewicht, bei dem der Generator so realistische Daten produziert, dass der Diskriminator nur noch zufällig (mit 50 % Genauigkeit) erraten kann, ob eine Probe echt oder gefälscht ist. An diesem Punkt hat der Generator gelernt, sich der zugrundeliegenden Datenverteilung des Trainingssatzes anzunähern.

Wichtige Anwendungen

GANs haben bedeutende Fortschritte in verschiedenen Bereichen ermöglicht:

  • Bilderzeugung: Erzeugen fotorealistischer Bilder, wie z. B. menschliche Gesichter(StyleGAN von NVIDIA Research), Tiere oder Objekte, die nicht existieren. Dies kann in der Kunst, im Design und in der Unterhaltung eingesetzt werden, wirft aber auch ethische Bedenken bezüglich Deepfakes auf.
  • Synthetische Datenerweiterung: Generierung realistischer synthetischer Daten zur Ergänzung realer Datensätze. Dies ist vor allem in Bereichen wie der medizinischen Bildanalyse nützlich, in denen reale Daten möglicherweise knapp sind oder Datenschutzbeschränkungen unterliegen. GANs können zum Beispiel synthetische Röntgenbilder erstellen, die seltene Zustände zeigen, um die Robustheit von diagnostischen Computer-Vision-Modellen (CV) zu verbessern, die für Aufgaben wie Objekterkennung oder Segmentierung verwendet werden. Diese Erweiterung kann das Training von Modellen wie Ultralytics YOLO11.
  • Bild-zu-Bild-Übersetzung: Bilder von einem Bereich in einen anderen umwandeln (z. B. Skizzen in Fotos umwandeln, die Jahreszeiten in einer Landschaft ändern oder einen neuronalen Stil übertragen).
  • Super-Resolution: Verbessert die Auflösung von Bildern mit geringer Qualität.
  • Text-to-Image-Synthese: Generierung von Bildern auf der Grundlage von Textbeschreibungen (wird jedoch oft von neueren Architekturen wie Diffusionsmodellen übertroffen).

GANS vs. andere Modelle

Es ist wichtig, GANs von anderen Arten von Modellen zu unterscheiden:

  • Diskriminative Modelle: Die meisten Standard-Klassifizierungs- und Regressionsmodelle (wie die für die Bildklassifizierung oder die standardmäßige Objekterkennung) sind diskriminativ. Sie lernen Entscheidungsgrenzen, um verschiedene Klassen zu unterscheiden oder einen Wert auf der Grundlage von Eingangsmerkmalen vorherzusagen. Im Gegensatz dazu sind GANs generativ - sie lernen die zugrunde liegende Wahrscheinlichkeitsverteilung der Daten selbst, um neue Stichproben zu erstellen.
  • Diffusionsmodelle: Diffusionsmodelle sind eine weitere leistungsstarke Klasse von generativen Modellen, die in letzter Zeit an Bedeutung gewonnen haben und oft Spitzenergebnisse bei der Bilderzeugung erzielen. Sie fügen den Daten nach und nach Rauschen hinzu und lernen dann, diesen Prozess umzukehren. Sie erzeugen manchmal detailgetreuere Bilder und bieten ein stabileres Training als GANs, können aber bei der Inferenz rechenintensiver sein.

Herausforderungen und Fortschritte

Das Training von GANs kann aus folgenden Gründen sehr schwierig sein:

  • Modus-Kollaps: Der Generator produziert nur eine begrenzte Vielfalt an Ergebnissen und kann nicht die gesamte Vielfalt der Trainingsdaten erfassen. Weitere Lektüre zu Mode Collapse.
  • Trainingsinstabilität: Der Generator und der Diskriminator konvergieren möglicherweise nicht gleichmäßig, was zu Oszillationen oder Divergenzen führt. Auch das Problem des verschwindenden Gradienten kann auftreten.
  • Auswertung: Die Quantifizierung der Qualität und Vielfalt der generierten Stichproben bleibt eine Herausforderung. Metriken wie Inception Score (IS) und Fréchet Inception Distance (FID) werden häufig verwendet, haben aber ihre Grenzen.

Forscherinnen und Forscher haben zahlreiche GAN-Varianten entwickelt, um diese Herausforderungen zu bewältigen. Dazu gehören Wasserstein-GANs(WGANs) für eine verbesserte Stabilität und bedingte GANs(cGANs), die die Generierung von Daten in Abhängigkeit von bestimmten Merkmalen ermöglichen (z. B. die Generierung eines Bildes einer bestimmten Ziffer). Frameworks wie PyTorch und TensorFlow bieten Werkzeuge und Bibliotheken, die die Implementierung und das Training von GANs erleichtern.

Alles lesen
OSZAR »