Ultralytics YOLO27:
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Normalizing Flows

Fluxos normalizantes mapeiam ruído simples para dados complexos por meio de camadas invertíveis, permitindo que um modelo gere amostras e calcule verossimilhanças exatas. Saiba como funcionam.

Um fluxo normalizante é um modelo de IA generativa que transforma uma distribuição de base simples, geralmente uma distribuição gaussiana padrão, numa distribuição de dados complexa através de uma sequência de funções invertíveis e diferenciáveis. Como cada camada pode ser executada ao contrário e o seu efeito no volume é calculado exatamente, um único fluxo realiza duas tarefas que a maioria dos modelos generativos não consegue combinar: gera novas amostras ao passar ruído para a frente pelas camadas e calcula a verosimilhança exata de um ponto de dados observado ao passá-lo para trás até à distribuição de base. Esteban Tabak e colegas formularam fluxos para estimar densidades em 2010 e 2013, e Danilo Rezende e Shakir Mohamed, da DeepMind, introduziram o termo na aprendizagem profunda com Variational Inference with Normalizing Flows, na ICML de 2015. «Normalizante» refere-se a transformar a distribuição dos dados numa distribuição normal, ou gaussiana, e não tem relação com a normalização por lotes.

Fórmula da mudança de variáveis#

Se uma função invertível f mapeia um ponto de dados x para um ponto latente z = f(x), a log-verosimilhança dos dados é log p(x) = log p_z(f(x)) + log |det J|, em que J é a matriz jacobiana de f e o determinante mede quanto f estica ou comprime o volume em torno de x. Para uma função geral de D variáveis, calcular esse determinante exige uma ordem de D³ operações, demasiado lento para imagens com centenas de milhares de dimensões. Por isso, as camadas de fluxo são concebidas com jacobianas triangulares, cujo determinante é simplesmente o produto dos elementos diagonais. A composição de muitas dessas camadas encadeia as transformações e soma os log-determinantes, e o treino maximiza diretamente a log-verosimilhança dos dados de treino.

A camada de acoplamento afim do RealNVP é o desenho clássico. Metade da entrada passa sem alterações e alimenta uma pequena rede neuronal que define uma escala e um desvio para a outra metade, como nesta camada de PyTorch:

import torch
from torch import nn

torch.manual_seed(0)
# Affine coupling layer (RealNVP): x1 passes through unchanged and sets the scale and shift for x2
net = nn.Sequential(nn.Linear(2, 32), nn.Tanh(), nn.Linear(32, 4))


def coupling(x):
    """Map data x to z and return log|det J|, which is just the sum of the log-scales."""
    x1, x2 = x.chunk(2, dim=-1)
    log_s, t = net(x1).chunk(2, dim=-1)
    return torch.cat([x1, x2 * log_s.exp() + t], dim=-1), log_s.sum(dim=-1)


x = torch.randn(4)
z, log_det = coupling(x)
jacobian = torch.autograd.functional.jacobian(lambda v: coupling(v)[0], x)
print(f"log|det J|: {log_det:.4f} from the formula, {torch.logdet(jacobian):.4f} from the full 4x4 Jacobian")

# Inverse: z1 equals x1, so the same scale and shift can be recomputed and undone
z1, z2 = z.chunk(2)
log_s, t = net(z1).chunk(2)
x_rec = torch.cat([z1, (z2 - t) * (-log_s).exp()])
print(f"Largest reconstruction error: {(x_rec - x).abs().max():.1e}")

A fórmula simples e a jacobiana completa dão ambas um log-determinante de 0.1489, e a inversa recupera a entrada com uma diferença de apenas 1.2e-07, devido ao arredondamento float32. A rede dentro da camada nunca precisa de ser invertida, pelo que pode ter complexidade arbitrária.

Arquiteturas de fluxo#

  • Fluxos de acoplamento: NICE (2014), de Laurent Dinh e colegas, e RealNVP (2016) alternam a metade transformada, e o Glow (2018), da OpenAI, acrescentou convoluções 1 x 1 invertíveis aprendidas e gerou rostos realistas de 256 x 256. Tanto a amostragem como a avaliação de densidade são rápidas.
  • Fluxos autorregressivos: transformam cada dimensão condicionada pelas dimensões anteriores. Os fluxos autorregressivos mascarados avaliam densidades numa só passagem, mas geram amostras uma dimensão de cada vez; os fluxos autorregressivos inversos fazem o contrário. O TarFlow (2024), da Apple, empilha blocos de Transformer autorregressivo sobre recortes de imagem e foi o primeiro fluxo autónomo cujas amostras igualaram a qualidade dos modelos de difusão.
  • Fluxos contínuos: definem a transformação como a solução de uma equação diferencial ordinária, eliminando as restrições de desenho das camadas; o FFJORD (2018) acompanha a alteração da log-densidade com um estimador estocástico do traço.

Aplicações#

  • Deteção de anomalias: DifferNet (2021), CFLOW-AD e FastFlow ajustam fluxos às características de uma rede neuronal convolucional pré-treinada, usando imagens de produtos sem defeitos, e assinalam como defeituosas as imagens com baixa verosimilhança. Em 2021, o FastFlow comunicou uma AUC de 99.4% na deteção de anomalias no benchmark de inspeção industrial MVTec AD.
  • Síntese de fala: o WaveGlow (2018), da NVIDIA, gerou áudio de fala a partir de espetrogramas mel numa única passagem paralela.
  • Amostragem científica: os geradores de Boltzmann (2019), de Frank Noé e colegas, amostram estados de equilíbrio de moléculas e proteínas, usando a verosimilhança exata para reponderar as amostras de acordo com a distribuição física real.

Estes detetores modelam características em vez de píxeis por uma razão demonstrada por Eric Nalisnick e colegas em 2019: um modelo Glow treinado com fotografias do CIFAR-10 atribui uma verosimilhança superior a imagens de números de casas do SVHN que nunca viu, uma falha posteriormente atribuída ao facto de os fluxos modelarem mais as correlações locais entre píxeis do que o conteúdo das imagens. Para a deteção de defeitos, a entrada do fluxo pode ser constituída por embeddings de qualquer backbone pré-treinado: o método embed do Ultralytics YOLO26 devolve um vetor de características com pooling médio por imagem, por predefinição da camada imediatamente anterior à cabeça de deteção.

Explore solutions

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 aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
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
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 aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
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
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 aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
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