Ultralytics YOLO27:
Licenza YOLO
Torna al glossario di Ultralytics

Normalizing Flows

I flussi di normalizzazione trasformano rumore semplice in dati complessi tramite livelli invertibili, consentendo a un unico modello di generare campioni e calcolare verosimiglianze esatte. Scopri come funzionano.

Un normalizing flow è un modello di IA generativa che trasforma una distribuzione di base semplice, di solito una gaussiana standard, in una distribuzione di dati complessa attraverso una sequenza di funzioni invertibili e differenziabili. Poiché ogni livello può essere eseguito al contrario e il suo effetto sul volume viene calcolato esattamente, un flow svolge due compiti che la maggior parte dei modelli generativi non può svolgere contemporaneamente: genera nuovi campioni propagando il rumore in avanti attraverso i livelli e calcola la verosimiglianza esatta di un punto dati osservato propagandolo all’indietro verso la distribuzione di base. Esteban Tabak e i suoi colleghi hanno formulato i flow per la stima della densità nel 2010 e nel 2013; Danilo Rezende e Shakir Mohamed di DeepMind hanno introdotto il termine nel deep learning con Variational Inference with Normalizing Flows a ICML 2015. «Normalizing» si riferisce alla trasformazione della distribuzione dei dati in una distribuzione normale, o gaussiana, e non ha a che fare con la normalizzazione batch.

La formula del cambio di variabili#

Se una funzione invertibile f mappa un punto dati x in un punto latente z = f(x), la log-verosimiglianza dei dati è log p(x) = log p_z(f(x)) + log |det J|, dove J è la matrice jacobiana di f e il determinante misura quanto f espande o comprime il volume intorno a x. Per una funzione generica di D variabili, il calcolo di questo determinante richiede un numero di operazioni dell’ordine di D³, troppo lento per immagini con centinaia di migliaia di dimensioni. I livelli dei flow vengono quindi progettati con jacobiane triangolari, il cui determinante è semplicemente il prodotto degli elementi diagonali. La composizione di molti livelli combina le loro trasformazioni e somma i loro log-determinanti; l’addestramento massimizza direttamente la log-verosimiglianza dei dati di addestramento.

Il livello di accoppiamento affine di RealNVP è il design classico. Metà dell’input passa invariata e alimenta una piccola rete neurale che determina la scala e lo spostamento per l’altra metà, come in questo livello 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}")

La formula semplificata e la jacobiana completa restituiscono entrambe un log-determinante di 0.1489, e l’inversa recupera l’input con uno scarto massimo di 1.2e-07, dovuto all’arrotondamento float32. Non è necessario invertire la rete all’interno del livello, quindi la rete può avere una complessità arbitraria.

Architetture dei flow#

  • Flow di accoppiamento: NICE (2014) e RealNVP (2016) di Laurent Dinh e colleghi alternano la metà da trasformare; Glow (2018) di OpenAI ha aggiunto convoluzioni 1 x 1 invertibili apprese e generato volti realistici di 256 x 256 pixel. Sia il campionamento sia la valutazione della densità sono rapidi.
  • Flow autoregressivi: Trasformano ogni dimensione condizionandola a quelle precedenti. I masked autoregressive flow valutano le densità in un solo passaggio, ma campionano una dimensione alla volta; gli inverse autoregressive flow fanno il contrario. TarFlow (2024) di Apple sovrappone blocchi transformer autoregressivi su patch di immagini ed è stato il primo flow autonomo i cui campioni hanno rivaleggiato con i modelli di diffusione per qualità.
  • Flow continui: Definiscono la trasformazione come soluzione di un’equazione differenziale ordinaria, eliminando i vincoli di progettazione dei livelli; FFJORD (2018) tiene traccia della variazione della log-densità con uno stimatore stocastico della traccia.

Applicazioni#

  • Rilevamento delle anomalie: DifferNet (2021), CFLOW-AD e FastFlow adattano i flow alle caratteristiche di una rete neurale convoluzionale preaddestrata su immagini di prodotti privi di difetti e segnalano come difettose le immagini con bassa verosimiglianza. Nel 2021 FastFlow ha riportato un’AUC del 99.4% per il rilevamento delle anomalie nel benchmark di ispezione industriale MVTec AD.
  • Sintesi vocale: WaveGlow (2018) di NVIDIA generava audio vocale da spettrogrammi mel in un unico passaggio parallelo.
  • Campionamento scientifico: I generatori di Boltzmann (2019) di Frank Noé e colleghi campionano stati di equilibrio di molecole e proteine, usando la verosimiglianza esatta per ripesare i campioni in modo che corrispondano alla distribuzione fisica reale.

Questi rilevatori modellano le caratteristiche anziché i pixel per un motivo dimostrato da Eric Nalisnick e colleghi nel 2019: un modello Glow addestrato su foto CIFAR-10 assegna una verosimiglianza maggiore a immagini di numeri civici SVHN che non ha mai visto, un problema poi ricondotto al fatto che i flow modellano le correlazioni locali tra pixel più del contenuto dell’immagine. Per il rilevamento dei difetti, l’input del flow può essere costituito da embedding ottenuti da qualsiasi backbone preaddestrato: il metodo embed di Ultralytics YOLO26 restituisce un vettore di caratteristiche con pooling medio per ogni immagine, per impostazione predefinita dal livello appena prima della testa di rilevamento.

  • Flow matching e rectified flow: Addestrano un flow continuo regredendo il suo campo di velocità, senza log-determinante durante l’addestramento, e oggi alimentano grandi generatori di immagini.
  • Autoencoder variazionali e modelli di diffusione: Vengono addestrati su un limite inferiore della verosimiglianza.
  • GAN: Imparano a ingannare un discriminatore e non forniscono alcuna verosimiglianza.
  • Reti di flusso generativo (GFlowNets): Condividono la parola «flow», ma costruiscono oggetti discreti passo dopo passo con una probabilità proporzionale a una ricompensa.

Explore solutions

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning