Identity Mapping
Esplora le mappature identità nel deep learning. Scopri come le connessioni residue impediscono la scomparsa dei gradienti nelle reti neurali come Ultralytics YOLO26.
In matematica e algebra lineare, un'applicazione identità o matrice identità è una funzione che restituisce esattamente lo stesso valore ricevuto in input. Nel contesto dell'intelligenza artificiale (AI) e del deep learning, la mappatura identità indica una specifica tecnica architetturale che passa i dati di input direttamente ai livelli successivi di una rete neurale convoluzionale (CNN), senza trasformazioni non lineari. Il concetto è diventato molto noto con l'introduzione delle reti residue (ResNet) nel 2015, che hanno rivoluzionato la struttura e l'addestramento dei modelli di visione artificiale (CV) profondi.
Come funziona la mappatura identità#
Le reti neurali profonde soffrono spesso del problema del gradiente evanescente. Durante la retropropagazione, i segnali di errore usati per aggiornare i pesi della rete diventano esponenzialmente più piccoli man mano che risalgono i livelli, impedendo ai primi livelli di apprendere in modo efficace. La mappatura identità risolve il problema creando "connessioni residue" o "connessioni shortcut".
Invece di costringere i livelli sequenziali ad apprendere una mappatura completamente nuova e priva di riferimenti, questi vengono progettati per apprendere una funzione residua. Matematicamente, se l'input di un blocco è x, il livello apprende una trasformazione F(x). La mappatura identità aggiunge l'input originale x direttamente all'output della trasformazione, ottenendo l'output finale F(x) + x. In questo modo, anche nelle reti estremamente profonde, i gradienti possono propagarsi senza ostacoli direttamente attraverso il backbone del modello. Organizzazioni di ricerca sull'IA autorevoli come Google DeepMind e OpenAI sfruttano spesso queste scorciatoie architetturali per stabilizzare l'addestramento di enormi modelli fondazionali.
Mappatura identità vs. preservazione dell'identità#
È fondamentale distinguere la mappatura identità dalla preservazione dell'identità, che ha un nome simile.
La mappatura identità è una caratteristica strutturale di codifica di una rete neurale, progettata per ottimizzare il flusso di addestramento dell'apprendimento automatico (ML), mentre la preservazione dell'identità è una distinta attività di visione artificiale. La preservazione dell'identità mira a mantenere la coerenza visiva di una specifica persona o di uno specifico oggetto tra i diversi fotogrammi di un video nel tracciamento degli oggetti, oppure tra immagini generate nei flussi di lavoro di IA generativa.
Applicazioni nel mondo reale#
La mappatura identità è un elemento fondamentale di molti modelli altamente accurati oggi usati in produzione:
- Rilevamento avanzato degli oggetti: le architetture moderne in tempo reale, tra cui l'ultimo YOLO26 di Ultralytics, usano blocchi residui avanzati con mappe identità nei livelli di estrazione delle caratteristiche. In questo modo possono eseguire rilevamenti precisi e ad alta velocità in ambienti complessi come la guida autonoma, senza perdere prestazioni all'aumentare della profondità della rete.
- Modelli di classificazione delle immagini: le architetture di visione all'avanguardia, descritte ampiamente in archivi accademici come arXiv e la biblioteca digitale IEEE Xplore, si affidano alle mappature identità per addestrare con successo modelli con centinaia di livelli. I framework di alto livello come TensorFlow usano queste scorciatoie per estrarre caratteristiche gerarchiche molto complesse da enormi dataset.
Implementare la mappatura identità in PyTorch#
Quando crei reti neurali personalizzate, i framework di deep learning come PyTorch offrono strumenti nativi per implementare facilmente queste scorciatoie. Puoi usare esplicitamente il modulo PyTorch nn.Identity oppure applicare semplicemente un'addizione matematica nel passaggio forward di nn.Module.
Il seguente frammento mostra un blocco residuo di base che usa una mappa identità. Gli sviluppatori che utilizzano la Ultralytics Platform basata sul cloud per gestire i dataset e addestrare i modelli possono contare automaticamente su queste strutture architetturali altamente ottimizzate.
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# Un semplice livello convoluzionale per l'estrazione delle caratteristiche
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Modulo esplicito di mappatura identità
self.identity = nn.Identity()
def forward(self, x):
# L'output del blocco è la somma delle caratteristiche apprese e della mappa identità
return self.conv(x) + self.identity(x)








