Glossario

Reti residue (ResNet)

Scoprite come le ResNet rivoluzionano l'apprendimento profondo risolvendo i gradienti che svaniscono e consentendo reti ultra-profonde per l'analisi delle immagini, l'NLP e altro ancora.

Le Residual Networks, comunemente note come ResNet, rappresentano un'architettura innovativa di rete neurale convoluzionale (CNN) sviluppata da Kaiming He e colleghi di Microsoft Research. Presentata nel loro articolo del 2015,"Deep Residual Learning for Image Recognition", ResNet affronta una delle principali sfide del deep learning (DL): il problema della degradazione. Questo problema si verifica quando l'aggiunta di più livelli a una rete molto profonda porta a un errore di addestramento più elevato, contrariamente all'aspettativa che i modelli più profondi dovrebbero avere prestazioni migliori. L'innovazione di ResNet ha permesso di addestrare con successo reti molto più profonde di quanto fosse possibile in precedenza, facendo progredire in modo significativo lo stato dell'arte in diversi compiti di computer vision (CV).

Come funzionano le Reti Resiste: Saltare le connessioni

L'idea centrale di ResNet è l'introduzione di "connessioni saltate" o "connessioni scorciatoia". Nelle reti profonde tradizionali, ogni strato alimenta in sequenza il successivo. ResNet modifica questo aspetto consentendo di aggiungere l'ingresso di un blocco di strati all'uscita di quel blocco. In questo modo si crea un "blocco residuo" in cui gli strati imparano una mappatura residua (la differenza tra l'ingresso e l'uscita desiderata) piuttosto che cercare di imparare direttamente l'intera mappatura sottostante. Se la funzione ottimale è più vicina a una mappatura di identità (in cui l'uscita dovrebbe essere uguale all'ingresso), è più facile per la rete imparare a rendere il residuo nullo (guidando i pesi degli strati sovrapposti verso lo zero) piuttosto che imparare la mappatura di identità stessa attraverso strati non lineari.

Queste connessioni saltate facilitano il flusso del gradiente durante la retropagazione, attenuando il problema del gradiente che spesso affligge le reti molto profonde. Ciò consente di costruire e addestrare efficacemente reti con centinaia o addirittura migliaia di strati, ottenendo notevoli miglioramenti di precisione su dataset di riferimento impegnativi come ImageNet.

Concetti chiave

  • Blocco residuo: L'unità fondamentale di una ResNet, costituita da alcuni strati convoluzionali e da una connessione di salto che aggiunge l'ingresso del blocco alla sua uscita.
  • Connessione di salto (scorciatoia): Una connessione diretta che bypassa uno o più strati, consentendo un più facile apprendimento del flusso di gradienti e della mappatura dell'identità.
  • Mappatura dell'identità: Quando un livello o un blocco si limita a far passare il suo ingresso senza modifiche. Le connessioni a salto rendono più facile per i blocchi residui approssimare le mappature di identità, se necessario.
  • Problema della degradazione: il fenomeno per cui le reti più profonde hanno prestazioni peggiori (errore di addestramento e di test più elevato) rispetto alle controparti meno profonde, affrontato dall'apprendimento residuale di ResNet.

Rilevanza nella visione artificiale

Le architetture ResNet sono diventate rapidamente una struttura portante standard per molti compiti di computer vision oltre alla classificazione delle immagini, tra cui:

  • Rilevamento degli oggetti: Molti modelli di rilevamento, come Faster R-CNN e alcune varianti utilizzate nei sistemi confrontati con i modelli YOLO di Ultralytics (ad esempio, RT-DETR), utilizzano le dorsali ResNet per l'estrazione delle caratteristiche(glossario Object Detection).
  • Segmentazione delle immagini: Architetture come Mask R-CNN impiegano spesso ResNet per estrarre le caratteristiche spaziali necessarie per la classificazione a livello di pixel(glossario sulla segmentazione delle immagini).

La sua capacità di estrarre potenti caratteristiche dalle immagini l'ha resa un'architettura estremamente versatile e ampiamente adottata.

Applicazioni del mondo reale

  1. Analisi di immagini mediche: Le reti ResNet sono ampiamente utilizzate nell'analisi di scansioni mediche (radiografie, TAC, risonanza magnetica) per rilevare anomalie come tumori o retinopatia diabetica. La profondità consentita da ResNet permette al modello di apprendere modelli intricati indicativi di malattie, aiutando i radiologi nella diagnosi. È possibile esplorare le applicazioni correlate all'IA in radiologia e saperne di più sul campo dell'analisi delle immagini mediche. Iniziative come il programma Bridge2AI del NIH fanno spesso leva su questi modelli avanzati.
  2. Guida autonoma: I sistemi di percezione delle auto a guida autonoma si affidano spesso ad architetture basate su ResNet per il rilevamento e il riconoscimento in tempo reale di pedoni, veicoli, semafori e segnali stradali. La robustezza e l'accuratezza dei modelli ResNet profondi sono fondamentali per la sicurezza in scenari di guida complessi(soluzioni AI in campo automobilistico). Aziende come Waymo sottolineano l'importanza di sistemi di percezione robusti.

Confronto con altre architetture

  • VGGNet: Sebbene VGGNet abbia dimostrato i vantaggi della profondità utilizzando semplici convoluzioni 3x3, ha avuto problemi di convergenza per le reti molto profonde a causa dei gradienti che svaniscono. ResNet ha affrontato direttamente questa limitazione(blog Vision AI History, documento VGG).
  • DenseNet: Le DenseNet collegano ogni strato a ogni altro strato in modo feed-forward, promuovendo il riutilizzo delle caratteristiche. Questo differisce dalle connessioni a salto additivo di ResNet. Entrambe mirano a migliorare il flusso di informazioni, ma utilizzano meccanismi diversi(documento DenseNet).
  • Trasformatori di visione (ViT): Architetture più recenti, come i ViT, utilizzano meccanismi di attenzione, discostandosi dall'approccio convoluzionale delle ResNet, e hanno dimostrato prestazioni competitive o superiori in molti benchmark, anche se le ResNet rimangono influenti e ampiamente utilizzate.

Strumenti e implementazione

Le architetture ResNet sono facilmente disponibili nei principali framework di deep learning come PyTorch(sito ufficiale di PyTorch) e TensorFlow(sito ufficiale di TensorFlow). I modelli pre-addestrati, spesso addestrati su ImageNet, sono accessibili attraverso librerie come torchvision, che consentono un efficace apprendimento per trasferimento. Piattaforme come Ultralytics HUB consentono agli utenti di sfruttare varie architetture, comprese quelle basate su ResNet, per addestrare modelli personalizzati e distribuirli(documentazione di Ultralytics HUB). È possibile trovare ulteriori risorse didattiche sulle CNN presso Stanford CS231n o attraverso corsi come quelli offerti da DeepLearning.AI.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti
OSZAR »