Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Flow Matching

O flow matching treina uma rede para prever a velocidade que conduz do ruído aos dados. Esse é o objetivo por trás de Stable Diffusion 3, FLUX.1 e Movie Gen.

O matching de fluxo é um método para treinar modelos generativos que transformam ruído aleatório em dados seguindo um campo de velocidades aprendido. Uma rede neural aprende, para qualquer ponto e qualquer instante entre 0 e 1, a direção e a velocidade com que esse ponto deve mover-se, e gerar uma amostra significa começar com ruído gaussiano e integrar essa velocidade com um solucionador de equações diferenciais ordinárias (ODE) até ao instante 1. Yaron Lipman e colegas da Meta AI e do Weizmann Institute of Science apresentaram o método em Flow Matching for Generative Modeling, na ICLR 2023, e dois artigos publicados em simultâneo chegaram a um objetivo quase igual, chamado fluxo retificado e interpolantes estocásticos. O matching de fluxo treina fluxos normalizantes contínuos sem simular a ODE durante o treinamento, inclui os modelos de difusão como caso especial e é o objetivo de treinamento por trás do Stable Diffusion 3, do FLUX.1, do Movie Gen da Meta e de muitos modelos recentes de fala e robótica.

Como funciona o matching de fluxo#

O treinamento nunca gera nada. Em cada passo, escolhe-se uma amostra de dados x1, uma amostra de ruído x0 de uma distribuição gaussiana padrão e um instante t entre 0 e 1, e posiciona-se um ponto na linha reta entre eles: xt = (1 - t) * x0 + t * x1. Um ponto nessa linha move-se com a velocidade constante x1 - x0, por isso a rede v(xt, t) é treinada com um simples erro quadrático médio para prever x1 - x0. Cada par de ruído e dados define apenas um caminho, mas muitos caminhos passam por qualquer ponto, e a velocidade do fluxo completo de ruído para dados nesse ponto é a média das velocidades desses caminhos. O artigo prova que regredir para os alvos simples por par produz os mesmos gradientes que regredir para essa média intratável; assim, o treinamento usa uma função de perda de regressão simples, sem simulação de ODE.

A geração integra dx/dt = v(x, t) de t = 0 a t = 1, normalmente com passos do solucionador de Euler ou de ordem superior. Este código em PyTorch treina uma pequena rede de velocidades em dois agrupamentos de pontos 2D e depois gera amostras com 1, 2 e 8 passos de Euler:

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")

Ele imprime 1-step sampling: 0% of samples land near a cluster e, em seguida, mostra 47% para 2 passos e 94% para 8 passos. Em t = 0, o destino esperado de cada ponto de ruído é a média dos dados; por isso, um único passo envia todas as amostras para o espaço vazio entre os dois agrupamentos. Cada trajetória de treinamento é reta, mas as trajetórias que começam próximas umas das outras terminam em agrupamentos diferentes, e o fluxo aprendido que calcula a média delas ainda é curvo. Por isso, os geradores de poucos passos incorporam técnicas como o reflow, que retreina o modelo usando seus próprios pares de ruído e amostra para endireitar o fluxo, ou a destilação em modelos de consistência.

  • Modelos de difusão: O treinamento por difusão corrompe os dados seguindo um esquema de ruído e ensina uma rede a prever o ruído adicionado; depois, gera amostras revertendo esse processo. O artigo sobre matching de fluxo mostrou que o seu objetivo aceita qualquer caminho de probabilidade gaussiana, incluindo os usados pelos modelos de difusão, e considerou-o uma forma mais estável de os treinar. O caminho reto é uma escolha diferente e mais simples. Ambas as famílias partilham arquiteturas como o transformador de difusão (DiT), orientação sem classificador e amostradores ODE.
  • Fluxo retificado: Usa a mesma interpolação em linha reta e a mesma perda de velocidade, pelo que, para o caminho linear, os dois nomes são praticamente sinónimos. O artigo sobre fluxo retificado acrescenta o procedimento de reflow para endireitar ainda mais as trajetórias.
  • Fluxos normalizantes: Os fluxos normalizantes discretos empilham camadas invertíveis e treinam com verosimilhança exata. Os fluxos normalizantes contínuos, uma forma de ODE neural, definem a transformação com uma ODE, mas eram treinados por máxima verosimilhança, o que resolve a ODE em cada passo de treinamento. O matching de fluxo treina o mesmo tipo de modelo ODE por regressão, sem essa resolução.
  • Fluxo ótico: Não tem relação, apesar do nome. O fluxo ótico é o movimento aparente dos píxeis entre fotogramas de vídeo, enquanto o matching de fluxo move amostras pelo espaço dos dados possíveis.

Onde o matching de fluxo é usado#

  • Geração de imagens: A Stability AI treinou o Stable Diffusion 3 com um transformador de fluxo retificado e escolheu os instantes de treinamento por amostragem de uma distribuição logit-normal que favorece níveis de ruído intermédios; o FLUX.1 da Black Forest Labs é um transformador de fluxo retificado com 12 mil milhões de parâmetros. As imagens destes modelos de texto para imagem servem de dados sintéticos que acrescentam objetos raros, condições meteorológicas e pontos de vista aos conjuntos de dados usados para treinar modelos de deteção YOLO26.
  • Geração de vídeo: O Movie Gen da Meta é um transformador com 30 mil milhões de parâmetros, treinado com matching de fluxo, que gera vídeos de 1080p com até 16 segundos de duração a 16 fotogramas por segundo.
  • Fala: O Voicebox da Meta treinou um modelo de matching de fluxo não autorregressivo com mais de 50.000 horas de fala e, na conversão de texto em fala zero-shot, atingiu uma taxa de erro por palavra de 1,9%, contra 5,9% do VALL-E, funcionando até 20 vezes mais depressa. Mais tarde, o F5-TTS combinou matching de fluxo com um transformador de difusão.
  • Controle de robôs: O π0 da Physical Intelligence acrescenta um «especialista em ações» de matching de fluxo com 300 milhões de parâmetros a um modelo de visão e linguagem com 3 mil milhões de parâmetros, produzindo blocos de 50 ações futuras com 10 passos de integração e controlando robôs a até 50 Hz.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina