Ultralytics YOLO27:
Licenza YOLO
Torna al glossario di Ultralytics

Hypernetworks

Una iper-rete è una rete neurale che genera i pesi di un'altra rete a partire da un input, come l'embedding di un'attività. Panoramica sugli usi ed esempio in PyTorch.

Una iper-rete è una rete neurale la cui uscita consiste nei pesi di un'altra rete, detta rete target o principale. Invece di apprendere un unico insieme fisso di pesi del modello, la rete target riceve pesi calcolati dall'iper-rete a partire da un input di condizionamento, come l'identificatore di un compito, il profilo di un utente, una descrizione testuale o un'immagine di esempio. In questo modo, una sola iper-rete addestrata può generare un modello specializzato diverso per ogni input con un unico passaggio in avanti. Nell'articolo HyperNetworks, pubblicato da Google Brain nel 2016, David Ha, Andrew Dai e Quoc Le hanno usato piccole iper-reti per generare i pesi di reti convoluzionali e ricorrenti profonde; oggi questa idea compare nell'apprendimento continuo, nella personalizzazione dei modelli di diffusione e nella ricerca di architetture neurali.

Come funzionano gli iper-network#

Durante l'addestramento si apprendono solo i parametri propri dell'iper-rete. L'input di condizionamento, spesso un embedding appreso per attività o livello, attraversa l'iper-rete per generare i pesi della rete di destinazione; la rete di destinazione elabora i dati effettivi con questi pesi e la retropropagazione propaga il gradiente della funzione di perdita attraverso i pesi generati fino all'iper-rete:

Ha e colleghi hanno distinto le iper-reti statiche, che generano una sola volta i pesi di ogni livello a partire da un embedding del livello, dalle iper-reti dinamiche, che ricalcolano i pesi per ogni input o passo temporale, come faceva la loro HyperLSTM a ogni passo di una sequenza. In fase di esecuzione, i pesi generati sono tensori ordinari; la rete target può quindi avere qualsiasi architettura, compreso un livello Transformer le cui proiezioni di attenzione provengono dall'iper-rete. Il problema ingegneristico principale è la dimensione dell'uscita: un livello con milioni di pesi richiederebbe un'iper-rete con milioni di uscite per livello. Le soluzioni pratiche generano i pesi a blocchi, ciascuno a partire dal proprio embedding, generano solo piccoli fattori a rango ridotto per ogni aggiornamento dei pesi oppure generano solo una scala e uno spostamento per canale, come nella modulazione lineare per feature (FiLM).

Esempio di iper-rete in PyTorch#

Questo esempio PyTorch addestra un'iper-rete su una famiglia di compiti: onde sinusoidali con ampiezze e fasi diverse. Per ogni compito genera tutti i 97 pesi di una piccola rete target e addestra solo l'iper-rete:

import math

import torch
from torch import nn

torch.manual_seed(0)
x = torch.linspace(-math.pi, math.pi, 64)

# Hypernetwork: maps a task (amplitude, phase) to all 97 weights of a 1-32-1 target network
hyper = nn.Sequential(nn.Linear(2, 128), nn.ReLU(), nn.Linear(128, 97))
optimizer = torch.optim.Adam(hyper.parameters(), lr=1e-3)


def target(x, w):
    """Run the target network with weights w produced by the hypernetwork."""
    return torch.relu(x[:, None] * w[:32] + w[32:64]) @ w[64:96] + w[96]


# Train only the hypernetwork, on a new random sine task at every step
for step in range(5000):
    task = torch.rand(2) * torch.tensor([2.0, math.pi])
    loss = ((target(x, hyper(task)) - task[0] * torch.sin(x + task[1])) ** 2).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

# Unseen task: one forward pass of the hypernetwork produces the target network's weights
y = 1.5 * torch.sin(x + 1.0)
with torch.no_grad():
    mse = ((target(x, hyper(torch.tensor([1.5, 1.0]))) - y) ** 2).mean()
print(f"Unseen task MSE: {mse:.3f} with generated weights, {(y**2).mean():.3f} predicting zero")

Stampa Unseen task MSE: 0.010 with generated weights, 1.132 predicting zero. La rete target con ampiezza 1.5 e fase 1.0 non è mai stata addestrata: i suoi pesi provengono da una singola chiamata all'iper-rete, che ha appreso come variano i pesi appropriati nell'intera famiglia di compiti.

Applicazioni#

  • Apprendimento continuo: Un'iper-rete condizionata al compito memorizza un piccolo embedding per ogni compito e rigenera i relativi pesi quando serve. L'addestramento su un nuovo compito include una penalità che mantiene invariati gli output dell'iper-rete per gli embedding dei compiti precedenti, contrastando l'oblio catastrofico.
  • Personalizzazione dei modelli generativi: HyperDreamBooth prevede un piccolo insieme di pesi personalizzati per un modello di diffusione da testo a immagine partendo da una sola foto di un volto, poi li perfeziona brevemente. Personalizza il modello in circa 20 secondi, 25 volte più velocemente di DreamBooth, con pesi personalizzati 10.000 volte più piccoli di quelli di un modello DreamBooth.
  • Ricerca di architetture neurali: Le iper-reti a grafo leggono un'architettura candidata sotto forma di grafo e ne prevedono i pesi, così da poter classificare i candidati in base all'accuratezza di convalida con i pesi previsti, invece di addestrarli uno per uno.
  • Classificazione zero-shot: Gli autori di CLIP descrivono il suo codificatore testuale come un'iper-rete che genera i pesi di un classificatore lineare a partire dai nomi delle classi. Questo permette a CLIP di classificare immagini in categorie che non ha mai visto come etichette di addestramento.

I rilevatori a vocabolario aperto applicano la stessa idea al rilevamento. Ultralytics YOLOE-26, basato su YOLO26, codifica una sola volta ciascun nome di classe passato a set_classes() con MobileCLIP2, un codificatore testuale compatto in stile CLIP, e usa gli embedding risultanti come pesi per assegnare un punteggio a ogni regione candidata rispetto a ciascuna classe. L'esportazione incorpora questi embedding in una normale convoluzione 1x1 nella testa di rilevamento.

  • Perfezionamento: Adatta un unico insieme fisso di pesi a un nuovo compito applicando passi del gradiente sui dati del compito. Un'iper-rete addestrata genera i pesi per un nuovo compito con un singolo passaggio in avanti, usando solo l'input di condizionamento del compito.
  • Meta-apprendimento: L'obiettivo più ampio di imparare ad adattarsi rapidamente a nuovi compiti. Le iper-reti sono uno dei modi per realizzarlo: trasformano una descrizione del compito o pochi esempi direttamente in pesi.
  • Miscela di esperti (MoE): Indirizza ogni input verso alcuni tra numerosi sotto-modelli esperti con pesi fissi. Invece di selezionare tra pesi già memorizzati, un'iper-rete ne calcola di nuovi per ogni input o compito.
  • Programmatori di pesi rapidi: Reti che scrivono i pesi a breve termine di un'altra rete mentre viene elaborata una sequenza, un'idea risalente ai primi anni Novanta. La self-attention linearizzata nei Transformer equivale formalmente a un programmatore di pesi rapidi.

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