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

Flow Matching

Flow Matching trainiert ein Netzwerk darauf, die Geschwindigkeit vorherzusagen, mit der Rauschen zu Daten wird. Dieses Ziel steckt hinter Stable Diffusion 3, FLUX.1 und Movie Gen.

Flow Matching ist ein Verfahren zum Trainieren generativer Modelle, die zufälliges Rauschen in Daten umwandeln, indem sie einem erlernten Geschwindigkeitsfeld folgen. Ein neuronales Netz lernt für jeden Punkt und jeden Zeitpunkt zwischen 0 und 1, in welche Richtung und mit welcher Geschwindigkeit sich der Punkt bewegen soll. Um eine Stichprobe zu erzeugen, startet man mit gaußschem Rauschen und integriert diese Geschwindigkeit mithilfe eines gewöhnlichen Differentialgleichungslösers (ODE) bis zum Zeitpunkt 1. Yaron Lipman und seine Kolleginnen und Kollegen bei Meta AI und dem Weizmann-Institut für Wissenschaften stellten das Verfahren auf der ICLR 2023 in Flow Matching für generative Modellierung vor. Zwei gleichzeitig erschienene Arbeiten gelangten unter den Bezeichnungen rektifizierter Fluss und stochastische Interpolanten zu nahezu demselben Optimierungsziel. Flow Matching trainiert kontinuierliche normalisierende Flüsse, ohne während des Trainings die ODE zu simulieren. Es umfasst Diffusionsmodelle als Spezialfall und liegt dem Trainingsziel von Stable Diffusion 3, FLUX.1, Metas Movie Gen und vielen aktuellen Sprach- und Robotikmodellen zugrunde.

So funktioniert Flow Matching#

Beim Training wird nie etwas generiert. Bei jedem Schritt werden eine Datenstichprobe x1, eine Rauschstichprobe x0 aus einer Standardnormalverteilung und ein Zeitpunkt t zwischen 0 und 1 gezogen. Daraus wird ein Punkt auf der Geraden zwischen den beiden Stichproben gebildet: xt = (1 - t) * x0 + t * x1. Ein Punkt auf dieser Geraden bewegt sich mit der konstanten Geschwindigkeit x1 - x0. Deshalb wird das Netz v(xt, t) mit einem einfachen mittleren quadratischen Fehler darauf trainiert, x1 - x0 vorherzusagen. Jedes Paar aus Rauschen und Daten definiert nur einen Pfad, doch durch jeden Punkt verlaufen viele Pfade. Die Geschwindigkeit des gesamten Übergangs von Rauschen zu Daten an diesem Punkt ist ihr Mittelwert. Die Arbeit beweist, dass die Regression auf die einfachen Ziele einzelner Paare dieselben Gradienten ergibt wie die Regression auf diesen unlösbaren Mittelwert. Das Training verwendet daher eine einfache Regressions-Verlustfunktion, ohne ODE-Simulation.

Bei der Generierung wird dx/dt = v(x, t) von t = 0 bis t = 1 integriert, üblicherweise mit Euler-Schritten oder Schritten eines Lösers höherer Ordnung. Dieser PyTorch-Code trainiert ein kleines Geschwindigkeitsnetz mit zwei Clustern aus 2D-Punkten und zieht anschließend Stichproben mit 1, 2 und 8 Euler-Schritten:

import torch
from torch import nn

torch.manual_seed(0)
# Velocity network v(x, t) for 2D points; the data are two clusters at (2, 2) and (-2, -2)
net = nn.Sequential(nn.Linear(3, 128), nn.SiLU(), nn.Linear(128, 128), nn.SiLU(), nn.Linear(128, 2))
optimizer = torch.optim.Adam(net.parameters(), lr=1e-3)
centers = torch.tensor([[2.0, 2.0], [-2.0, -2.0]])

for step in range(2000):
    x1 = centers[torch.randint(0, 2, (256,))] + 0.2 * torch.randn(256, 2)  # data samples
    x0 = torch.randn(256, 2)  # noise samples
    t = torch.rand(256, 1)
    xt = (1 - t) * x0 + t * x1  # point on the straight path from noise to data
    loss = ((net(torch.cat([xt, t], dim=1)) - (x1 - x0)) ** 2).mean()  # regress the path's velocity
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

# Generate: start from noise and follow the learned velocity field with Euler steps
for steps in (1, 2, 8):
    x = torch.randn(1000, 2)
    with torch.no_grad():
        for i in range(steps):
            x = x + net(torch.cat([x, torch.full((1000, 1), i / steps)], dim=1)) / steps
    near = (torch.cdist(x, centers).min(dim=1).values < 0.6).float().mean()
    print(f"{steps}-step sampling: {near:.0%} of samples land near a cluster")

Die Ausgabe zeigt zuerst 1-step sampling: 0% of samples land near a cluster, dann 47 % bei 2 Schritten und 94 % bei 8 Schritten. Bei t = 0 hat jeder Rauschpunkt denselben erwarteten Zielpunkt – den Mittelwert der Daten. Daher schickt ein einzelner Schritt alle Stichproben in den leeren Raum zwischen den beiden Clustern. Jeder Trainingspfad ist zwar gerade, doch nahe beieinander startende Pfade enden in unterschiedlichen Clustern, und der gelernte Fluss, der sie mittelt, ist dennoch gekrümmt. Generatoren mit wenigen Schritten verwenden daher Techniken wie Reflow, bei dem mit den eigenen Rausch-Stichproben-Paaren des Modells erneut trainiert wird, um den Fluss zu begradigen, oder die Destillation in Konsistenzmodelle.

  • Diffusionsmodelle: Beim Training von Diffusionsmodellen werden Daten gemäß einem Rauschplan verrauscht und einem Netz wird beigebracht, das hinzugefügte Rauschen vorherzusagen. Anschließend werden Stichproben erzeugt, indem dieser Prozess umgekehrt wird. Die Arbeit zu Flow Matching zeigte, dass das Optimierungsziel jeden gaußschen Wahrscheinlichkeitsverlauf akzeptiert, einschließlich der von Diffusionsmodellen verwendeten Verläufe, und dass sich diese damit stabiler trainieren lassen. Der gerade Pfad ist eine eigenständige, einfachere Wahl. Beide Modellfamilien verwenden gemeinsame Architekturen wie den Diffusion Transformer (DiT), die klassifikatorfreie Steuerung und ODE-Abtastverfahren.
  • Rektifizierter Fluss: Verwendet dieselbe lineare Interpolation und denselben Geschwindigkeitsverlust. Für den linearen Pfad sind die beiden Bezeichnungen daher weitgehend synonym. Die Arbeit zum rektifizierten Fluss ergänzt das Reflow-Verfahren, um die Trajektorien weiter zu begradigen.
  • Normalisierende Flüsse: Diskrete normalisierende Flüsse stapeln umkehrbare Schichten und werden mit exakter Likelihood trainiert. Kontinuierliche normalisierende Flüsse, eine Form der neuronalen ODE, definieren die Transformation mithilfe einer ODE, wurden aber mit Maximum-Likelihood trainiert. Dazu muss die ODE bei jedem Trainingsschritt gelöst werden. Flow Matching trainiert denselben ODE-Modelltyp durch Regression und ohne diese Berechnung.
  • Optischer Fluss: Trotz des ähnlichen Namens besteht kein Zusammenhang. Der optische Fluss bezeichnet die scheinbare Bewegung von Pixeln zwischen Videobildern. Flow Matching bewegt dagegen Stichproben durch den Raum möglicher Daten.

Einsatzbereiche von Flow Matching#

  • Bildgenerierung: Stability AI trainierte Stable Diffusion 3 mit einem Transformer für rektifizierten Fluss und zog Trainingszeitpunkte aus einer Logit-Normalverteilung, die mittlere Rauschpegel bevorzugt. FLUX.1 von Black Forest Labs ist ein Transformer für rektifizierten Fluss mit 12 Milliarden Parametern. Bilder aus diesen Text-zu-Bild-Modellen dienen als synthetische Daten, die Datensätze zum Trainieren von YOLO26-Erkennungsmodellen um seltene Objekte, Wetterbedingungen und Blickwinkel ergänzen.
  • Videogenerierung: Metas Movie Gen ist ein Transformer mit 30 Milliarden Parametern, der mit Flow Matching trainiert wurde. Er erzeugt bis zu 16 Sekunden lange Videos in 1080p mit 16 Bildern pro Sekunde.
  • Sprache: Metas Voicebox wurde als nicht-autoregressives Flow-Matching-Modell mit mehr als 50.000 Stunden Sprachmaterial trainiert. Bei der Sprachsynthese aus Text ohne Beispiele erreichte es eine Wortfehlerrate von 1,9 % gegenüber 5,9 % bei VALL-E und lief bis zu 20-mal schneller. F5-TTS kombinierte Flow Matching später mit einem Diffusion Transformer.
  • Robotersteuerung: π0 von Physical Intelligence ergänzt ein Bild-Sprach-Modell mit 3 Milliarden Parametern um einen 300 Millionen Parameter großen „Aktionsspezialisten“ für Flow Matching. Dieser erzeugt Folgen von 50 zukünftigen Aktionen mit 10 Integrationsschritten und steuert Roboter mit bis zu 50 Hz.

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