Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Reti Residuali (ResNet)

Scopri la potenza delle reti residue (ResNet). Scopri come le connessioni skip risolvono il problema del gradiente svanente per consentire l'apprendimento profondo nella visione artificiale.

Le reti residue, comunemente note come ResNet, sono un tipo specifico di architettura di rete neurale artificiale (ANN) progettata per consentire l'addestramento di reti estremamente profonde. Introdotta dai ricercatori di Microsoft 2015, ResNet ha risolto un collo di bottiglia critico nel deep learning noto come problema del gradiente svanente. Nelle reti tradizionali , l'aggiunta di più livelli spesso portava alla saturazione o al degrado delle prestazioni perché il segnale necessario per aggiornare i pesi del modello si attenuava man mano che si propagava all'indietro attraverso i livelli. ResNet ha introdotto le "connessioni skip" (o connessioni residue), che consentono ai dati di bypassare uno o più livelli e fluire direttamente alle fasi di elaborazione successive. Questa innovazione ha dimostrato che le reti più profonde potevano essere addestrate in modo efficace, portando a significative innovazioni nella visione artificiale (CV) e diventando un concetto fondamentale per le architetture moderne.

Il concetto fondamentale: apprendimento residuale

La caratteristica distintiva di una ResNet è il "blocco residuo". In una rete neurale convoluzionale (CNN) standard, ogni strato cerca di apprendere una mappatura diretta dall'input all'output. Man mano che le reti diventano più profonde, l'apprendimento di questa mappatura diretta diventa sempre più difficile.

ResNet cambia questo approccio formulando l'obiettivo di apprendimento in modo diverso. Invece di sperare che ogni stack di livelli apprendano l'intera mappatura sottostante, il blocco residuo costringe i livelli ad apprendere il "residuo", ovvero la differenza tra l'input e l'output desiderato. L'input originale viene quindi aggiunto nuovamente al residuo appreso attraverso una connessione skip. Questo cambiamento strutturale implica che se una mappatura identitaria (che passa l'input invariato) è ottimale, la rete può facilmente imparare a spingere i residui a zero. Ciò rende i modelli di deep learning (DL) molto più facili da ottimizzare, consentendo loro di scalare da decine a centinaia o addirittura migliaia di livelli.

Varianti architetturali principali

Sin dal suo inizio, diverse varianti di ResNet sono diventate benchmark standard nella comunità dell'intelligenza artificiale.

  • ResNet-50: Una versione a 50 livelli che utilizza un design "bottleneck". Questo design utilizza convoluzioni 1x1 per ridurre e poi ripristinare le dimensioni, rendendo la rete efficiente dal punto di vista computazionale pur mantenendo un'elevata precisione.
  • ResNet-101 e ResNet-152: varianti più profonde con rispettivamente 101 e 152 livelli. Queste sono spesso utilizzate quando le risorse computazionali consentono una maggiore complessità per acquisire mappe di caratteristiche più intricate .
  • ResNeXt: un'evoluzione di ResNet che introduce una dimensione di "cardinalità", suddividendo il blocco residuo in più percorsi paralleli, migliorando così l'efficienza e le prestazioni.

Applicazioni nel mondo reale

La robustezza delle architetture ResNet le ha rese la scelta ideale per un'ampia gamma di attività visive.

  • Analisi delle immagini mediche: Nel settore sanitario, è fondamentale identificare anomalie sottili nelle scansioni ad alta risoluzione. I modelli basati su ResNet sono spesso utilizzati per detect quali la presenza di tumori nelle immagini mediche, dove la profondità della rete aiuta a discernere modelli dettagliati nei dati MRI o CT.
  • Veicoli autonomi: Le auto a guida autonoma richiedono un'estrazione affidabile delle caratteristiche dalle immagini delle telecamere per identificare pedoni, segnali stradali e ostacoli. Le reti ResNet fungono spesso da backbone per i sistemi di rilevamento degli oggetti nell' intelligenza artificiale nelle applicazioni automobilistiche, fornendo le ricche caratteristiche visive necessarie per una navigazione sicura.

ResNet vs. Altre Architetture

È utile distinguere ResNet dalle altre architetture più diffuse per comprenderne l'utilità specifica.

  • ResNet vs. VGG: anche le reti VGG (Visual Geometry Group) sono CNN profonde, ma prive di connessioni residue. Di conseguenza, sono molto più difficili da addestrare a profondità paragonabili a ResNet e sono generalmente più costose dal punto di vista computazionale a causa dei loro grandi livelli completamente connessi.
  • ResNet vs. Inception: le reti Inception si concentrano sulla larghezza, utilizzando filtri di diverse dimensioni all'interno dello stesso livello per catturare caratteristiche su scale diverse. ResNet si concentra sulla profondità. Le architetture moderne come Inception-ResNet combinano entrambi i concetti.
  • ResNet vs. Vision Transformer (ViT): Mentre i ViT utilizzano meccanismi di auto-attenzione per elaborare le immagini a livello globale, i ResNet si basano su convoluzioni locali. Tuttavia, i ResNet rimangono una solida base di riferimento e sono spesso più veloci per set di dati più piccoli o inferenze in tempo reale .

Esempio di implementazione

Le moderne librerie di deep learning come PyTorch l'accesso ai modelli ResNet pre-addestrati. Questi modelli sono preziosissimi per il transfer learning, dove un modello addestrato su un grande set di dati come ImageNet viene messo a punto per un compito specifico.

Il seguente Python mostra come caricare un modello ResNet-50 pre-addestrato utilizzando torchvision (parte PyTorch ) ed eseguire un semplice passaggio in avanti. Mentre gli utenti del Piattaforma Ultralytics potrebbe usare spesso YOLO26 Per il rilevamento, comprendere i concetti fondamentali alla base come ResNet è fondamentale per una personalizzazione avanzata.

import torch
import torchvision.models as models

# Load a pre-trained ResNet-50 model
resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)
resnet50.eval()  # Set model to evaluation mode

# Create a dummy input tensor (batch_size, channels, height, width)
input_tensor = torch.randn(1, 3, 224, 224)

# Perform a forward pass to get predictions
with torch.no_grad():
    output = resnet50(input_tensor)

print(f"Output shape: {output.shape}")  # Expect [1, 1000] for ImageNet classes

Significato nell'IA moderna

Sebbene le architetture più recenti come YOLO26 utilizzino strutture altamente ottimizzate per garantire la massima velocità e precisione, i principi dell'apprendimento residuale rimangono onnipresenti. Il concetto di connessioni skip è ormai un componente standard in molte reti avanzate, compresi i trasformatori utilizzati nell' elaborazione del linguaggio naturale (NLP) e negli ultimi modelli di rilevamento degli oggetti. Consentendo alle informazioni di fluire più liberamente attraverso la rete, ResNet ha aperto la strada a modelli profondi e complessi che alimentano l'intelligenza artificiale odierna.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora