Glossario

Capsule Networks (CapsNet)

Scopri le reti a capsula (CapsNets): Un'architettura di rete neurale innovativa che eccelle nelle gerarchie spaziali e nelle relazioni tra le caratteristiche.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Le reti a capsula, spesso abbreviate in CapsNets, rappresentano un tipo innovativo di architettura di rete neurale (NN) progettata come alternativa alle tradizionali reti neurali convoluzionali (CNN). Introdotte per la prima volta dal ricercatore di AI Geoffrey Hinton e dal suo team, le CapsNets mirano a risolvere i limiti fondamentali del modo in cui le CNN elaborano le gerarchie spaziali e le relazioni tra le caratteristiche di un'immagine. Sebbene le CNN eccellano nell'estrazione delle caratteristiche, il loro utilizzo di strati di aggregazione può portare a una perdita di informazioni spaziali precise. Le CapsNets propongono un approccio diverso, utilizzando "capsule" - gruppi di neuroni che emettono vettori invece di singoli valori scalari. Questi vettori codificano informazioni più ricche sulle caratteristiche rilevate, tra cui proprietà come la posa (posizione, orientamento, scala) e la probabilità della presenza della caratteristica. Questa struttura consente alle CapsNet di modellare meglio le relazioni tra parti e interi e di mantenere la consapevolezza spaziale, il che porta a una potenziale maggiore resistenza ai cambiamenti di punto di vista nei compiti di computer vision (CV).

Concetti fondamentali

L'elemento centrale di una CapsNet è la "capsula". A differenza dei neuroni standard, ogni capsula rileva un'entità specifica all'interno di una regione dell'input e produce un vettore. La grandezza (lunghezza) del vettore indica la probabilità che l'entità rilevata esista, mentre il suo orientamento rappresenta i parametri di istanziazione dell'entità, come la sua posa precisa o i dettagli della texture. Questo output vettoriale contrasta nettamente con l'attivazione scalare tipica di molti altri modelli di deep learning (DL).

Le capsule degli strati inferiori generano previsioni per le uscite delle capsule degli strati superiori utilizzando matrici di trasformazione. Un meccanismo cruciale noto come "routing-by-agreement" determina dinamicamente le connessioni tra questi livelli. Se le previsioni di più capsule di livello inferiore si allineano (concordano) sulla presenza e sulla posa di una caratteristica di livello superiore, la capsula di livello superiore corrispondente diventa attiva. Questo processo di instradamento dinamico permette alla rete di riconoscere le parti e di capire come si assemblano in un insieme, preservando efficacemente le gerarchie spaziali. Le idee fondamentali sono illustrate nel documento"Dynamic Routing Between Capsules". Questo approccio è utile nei compiti che richiedono una comprensione approfondita della composizione degli oggetti, migliorando potenzialmente le prestazioni con una minore necessità di aumentare i dati.

Principali differenze rispetto alle reti neurali convoluzionali (CNN)

Le reti CapsNet offrono un paradigma diverso rispetto alle CNN ampiamente utilizzate, in particolare nella gestione dei dati spaziali e nella rappresentazione delle caratteristiche:

  • Gestione della gerarchia spaziale: Le CNN spesso perdono informazioni spaziali a causa dei livelli di pooling, che riassumono la presenza di caratteristiche su regioni. Le reti CapsNet sono progettate per preservare esplicitamente le relazioni gerarchiche di posa tra le caratteristiche, il che le rende intrinsecamente migliori nella comprensione della struttura degli oggetti.
  • Rappresentazione delle caratteristiche: Le CNN utilizzano tipicamente attivazioni scalari per rappresentare la presenza di una caratteristica. Le reti CapsNet utilizzano output vettoriali (capsule) che codificano sia la presenza che le proprietà (come la posa e la deformazione) di una caratteristica.
  • Equivarianza del punto di vista: Le reti CapsNet mirano all'equivarianza, ovvero la rappresentazione cambia in modo prevedibile con i cambiamenti del punto di vista, mentre le CNN spesso richiedono grandi quantità di dati di addestramento per imparare l'invarianza del punto di vista.
  • Meccanismo di instradamento: Le CNN utilizzano il max-pooling o altri metodi di pooling statici. Le CapsNet utilizzano un instradamento dinamico per accordo, che pondera le connessioni in base alla coerenza delle previsioni tra i livelli della capsula.

Vantaggi delle reti a capsule

Le CapsNet presentano diversi vantaggi potenziali rispetto alle architetture di rete neurale convenzionali:

  • Miglioramento della robustezza dei punti di vista: La loro struttura permette loro di generalizzarsi meglio a nuovi punti di vista, senza dover vedere quei punti di vista specifici durante l'addestramento.
  • Migliore modellazione delle relazioni parte-intero: Il meccanismo di routing aiuta CapsNets a capire come le parti si combinano per formare gli oggetti, un aspetto cruciale per le attività di riconoscimento di immagini complesse.
  • Efficienza dei dati: Potrebbero raggiungere un'elevata precisione con set di dati più piccoli rispetto alle CNN, in particolare per compiti sensibili alle relazioni spaziali.
  • Segmentazione di oggetti che si sovrappongono: La capacità di rappresentare più entità e le loro pose all'interno di una regione potrebbe aiutare in compiti come la segmentazione di istanze in cui gli oggetti si sovrappongono in modo significativo. La gestione dell'addestramento e della distribuzione può essere effettuata utilizzando piattaforme come Ultralytics HUB.

Applicazioni del mondo reale

Sebbene le CapsNet siano ancora un'area di ricerca attiva e meno comunemente impiegate rispetto a modelli consolidati come Ultralytics YOLO o YOLO11hanno dimostrato di essere promettenti in diversi ambiti:

  1. Riconoscimento dei caratteri: Le CapsNet hanno ottenuto risultati all'avanguardia sul dataset MNIST di cifre scritte a mano, dimostrando la loro capacità di gestire efficacemente le variazioni di orientamento e stile, superando i tradizionali approcci di classificazione delle immagini in alcuni benchmark.
  2. Analisi delle immagini mediche: La loro capacità di comprendere le configurazioni spaziali le rende adatte all'analisi di scansioni mediche. Ad esempio, la ricerca ha esplorato l'uso delle CapsNet per compiti come la segmentazione dei tumori cerebrali, dove l'identificazione della forma e della posizione precisa delle anomalie è fondamentale. Questo rientra nel campo più ampio dell'analisi delle immagini mediche.

Altre potenziali applicazioni includono il miglioramento del rilevamento degli oggetti, in particolare per le scene ingombre, il miglioramento della comprensione della scena nella robotica e il contributo a sistemi di percezione più robusti per i veicoli autonomi. Sebbene i requisiti computazionali rimangano una sfida, la ricerca in corso mira a ottimizzare l'efficienza di CapsNet per applicazioni di machine learning (ML) più ampie e per la potenziale integrazione in framework come PyTorch o TensorFlow. Puoi esplorare il confronto tra diversi modelli di rilevamento degli oggetti per capire dove CapsNet potrebbe inserirsi nel panorama futuro.

Leggi tutto