Glossario

Reti residue (ResNet)

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

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

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 aumento dell'errore di formazione, 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 diverse attività di computer vision (CV).

Come funzionano le Resnet: Saltare le connessioni

L'idea alla base di ResNet è l'introduzione di "connessioni di salto" o "connessioni di scorciatoia". Nelle reti profonde tradizionali, ogni strato alimenta in sequenza quello successivo. ResNet modifica questo aspetto consentendo di aggiungere l'input di un blocco di livelli all'output di quel blocco. In questo modo si crea un "blocco residuo" in cui gli strati imparano una mappatura residua (la differenza tra l'input e l'output desiderato) 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 (portando 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 retropropagazione, attenuando il problema del gradiente che spesso affligge le reti molto profonde. Questo permette 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, composta da alcuni strati convoluzionali e da una connessione di salto che aggiunge l'ingresso del blocco alla sua uscita.
  • Connessione saltata (scorciatoia): Una connessione diretta che bypassa uno o più livelli, consentendo un apprendimento più semplice del flusso di gradienti e della mappatura dell'identità.
  • Identity Mapping: 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 ottengono risultati peggiori (errori di formazione e di test più elevati) 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 di oggetti: Molti modelli di rilevamento, come Faster R-CNN e alcune varianti utilizzate nei sistemi confrontati con Ultralytics YOLO di Ulralytics (ad es, RT-DETR), utilizzano le colonne portanti di ResNet per l'estrazione delle caratteristiche(glossario Object Detection).
  • Segmentazione delle immagini: Architetture come la 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 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 complessi indicativi di malattie, aiutando i radiologi nella diagnosi. Puoi 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: Mentre VGGNet ha 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 tutti gli altri strati 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).
  • Vision Transformers (ViT): Le architetture più recenti, come la ViT, utilizzano meccanismi di attenzione che si discostano 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 PyTorchPyTorch sito ufficiale diPyTorch ) e TensorFlowTensorFlow ). 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, tra cui quelle basate su ResNet, per addestrare modelli personalizzati e distribuirliUltralytics documentazione diUltralytics HUB). Puoi trovare ulteriori risorse didattiche sulle CNN presso Stanford CS231n o attraverso corsi come quelli offerti da DeepLearning.AI.

Leggi tutto