Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Residual Networks (ResNet)

Una rete residua (ResNet) somma l'input di ogni blocco al suo output tramite una connessione skip, consentendo di addestrare reti molto profonde. Include blocchi, varianti e codice.

Una rete residua (ResNet) è una profonda rete neurale convoluzionale (CNN) composta da blocchi residui, nei quali una connessione di scorciatoia aggiunge l'input di ogni blocco al suo output. Ogni blocco apprende quindi solo una correzione del proprio input, consentendo di addestrare in modo affidabile reti con 50, 152 o oltre 1.000 livelli. Kaiming He, Xiangyu Zhang, Shaoqing Ren e Jian Sun di Microsoft Research hanno presentato ResNet nel 2015, nell'articolo Deep Residual Learning for Image Recognition; un ensemble di reti residue ha vinto il compito di classificazione ILSVRC 2015 con un errore top-5 del 3,57% su ImageNet. Da allora, le connessioni residue sono diventate una componente standard della maggior parte delle architetture profonde, inclusi i transformer e i rilevatori di oggetti in tempo reale.

Il problema della degradazione#

Prima di ResNet, aggiungere livelli a una semplice sequenza di convoluzioni finiva per peggiorare i risultati. Gli autori di ResNet hanno mostrato che una rete semplice a 56 livelli aveva un errore di addestramento superiore a una rete a 20 livelli, quindi il calo non poteva essere spiegato dall'overfitting. La rete più profonda avrebbe potuto eguagliare quella più superficiale impostando i livelli aggiuntivi sull'identità, ma la discesa del gradiente non ha trovato quella soluzione. Gli autori hanno chiamato questo fenomeno problema della degradazione. Il problema del gradiente evanescente era già stato in gran parte affrontato con l'inizializzazione normalizzata dei pesi e la normalizzazione batch; le reti semplici profonde convergevano, ma verso soluzioni peggiori.

Come funzionano i blocchi residui#

Un blocco residuo calcola y = F(x) + x, dove x è l'input del blocco e F è una breve sequenza di livelli, in genere due o tre convoluzioni con normalizzazione batch e ReLU. Se la migliore mappatura per il blocco è vicina a una mappatura identità, ai livelli basta spingere F verso zero, un compito molto più semplice che apprendere l'identità da zero. La scorciatoia offre inoltre ai gradienti un percorso diretto a ritroso attraverso ogni blocco. Le scorciatoie identità non aggiungono parametri e richiedono pochissimo calcolo. Quando un blocco modifica il numero di canali o esegue un sottocampionamento con stride pari a 2, x non ha più la stessa forma di F(x) e una convoluzione 1×1 proietta la scorciatoia alla nuova forma.

ResNet-18 e ResNet-34 concatenano questo blocco base a due convoluzioni. ResNet-50, ResNet-101 e ResNet-152 usano un blocco collo di bottiglia con tre convoluzioni: una convoluzione 1×1 riduce il numero di canali, una convoluzione 3×3 li elabora e una seconda convoluzione 1×1 li ripristina, mantenendo gestibile il costo dei modelli profondi. ResNet-50 ha circa 25,6 milioni di parametri. Gli autori dell'articolo originale hanno anche addestrato su CIFAR-10 una rete a 1.202 livelli, portandone l'errore di addestramento sotto lo 0,1%; tuttavia, l'errore di test del 7,93% era peggiore del 6,43% ottenuto da una rete a 110 livelli, una differenza che gli autori hanno attribuito all'overfitting sul piccolo dataset.

Varianti di ResNet#

  • ResNet con pre-attivazione: In un articolo del 2016, gli stessi autori hanno spostato la normalizzazione batch e ReLU prima di ogni convoluzione, lasciando il percorso della scorciatoia come pura identità, e hanno addestrato una rete a 1.001 livelli su CIFAR-10.
  • ResNeXt: Suddivide ogni blocco collo di bottiglia in molti percorsi paralleli a larghezza ridotta, una proprietà chiamata cardinalità, aumentando così l'accuratezza a parità di costo computazionale.
  • Wide ResNet: Usa un numero inferiore di blocchi più larghi, mostrando che una maggiore larghezza può sostituire parte della profondità.
  • ResNet modernizzate: ConvNeXt (2022) ha aggiornato il design di ResNet con kernel più ampi, normalizzazione dei livelli e attivazioni GELU, per competere con i transformer per la visione.

Uso di una ResNet preaddestrata#

Le ResNet preaddestrate restano comuni come baseline e backbone per il transfer learning. I modelli ResNet di torchvision includono i pesi ImageNet e la preelaborazione corrispondente, perciò bastano poche righe per classificare un'immagine:

import urllib.request

import torch
from torchvision.io import decode_image
from torchvision.models import ResNet50_Weights, resnet50

# Load ResNet-50 with ImageNet weights and its matching preprocessing
weights = ResNet50_Weights.DEFAULT
model = resnet50(weights=weights).eval()
preprocess = weights.transforms()

# Download and decode a sample image
data = urllib.request.urlopen("https://ultralytics.com/images/bus.jpg").read()
image = decode_image(torch.frombuffer(bytearray(data), dtype=torch.uint8))

# Classify the image and report the most likely ImageNet class
with torch.no_grad():
    probs = model(preprocess(image).unsqueeze(0)).softmax(dim=1)
score, index = probs.max(dim=1)
print(f"{weights.meta['categories'][index.item()]}: {score.item():.2f}")

Stampa minibus: 0.25, la classe più vicina tra le 1.000 classi di ImageNet all'autobus urbano nella foto. Per un'attività personalizzata, sostituire il livello finale completamente connesso e ottimizzarlo sui nuovi label consente di riutilizzare le caratteristiche apprese dagli stadi residui su ImageNet.

  • Reti semplici come VGG: VGG concatena convoluzioni 3×3 senza scorciatoie e arriva al massimo a 19 livelli con pesi. ResNet-152 è otto volte più profonda e meno complessa di VGG-19.
  • Reti Highway: Sviluppate parallelamente a ResNet, aggiungono gate appresi che possono chiudere la scorciatoia. Le scorciatoie identità di ResNet non vengono mai chiuse e non aggiungono parametri.
  • DenseNet: Concatena gli output di tutti i livelli precedenti di un blocco anziché aggiungere una singola scorciatoia, riutilizzando così le caratteristiche al costo di un aumento del numero di canali.
  • U-Net: Le sue connessioni di salto trasferiscono le mappe delle caratteristiche dell'encoder al decoder, dove vengono concatenate, collegando stadi distanti invece di racchiudere singoli blocchi.
  • Transformer per la visione (ViT): Sostituiscono le convoluzioni con la self-attention, ma mantengono connessioni residue attorno a ogni sottolivello di attenzione e feed-forward, come fanno tutti i transformer.

Connessioni residue nei modelli moderni#

L'idea residua è sopravvissuta alle specifiche architetture ResNet. Ogni livello di un modello linguistico di grandi dimensioni (LLM) aggiunge gli output di attenzione e feed-forward a un flusso residuo in evoluzione, e la maggior parte dei rilevatori CNN costruisce i propri backbone a partire da blocchi residui. In YOLO26, i blocchi C3k2 sono composti da moduli collo di bottiglia che restituiscono x + F(x) quando il numero di canali in ingresso e in uscita coincide; il pacchetto Ultralytics include anche configurazioni di RT-DETR di Baidu con backbone ResNet-50 e ResNet-101. L'articolo su ResNet ha vinto il premio per il miglior articolo al CVPR 2016 e un'analisi di Nature del 2025 lo ha classificato come l'articolo più citato del ventunesimo secolo.

Esplora le soluzioni

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 aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
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