Scopri il ruolo dei backbone nell'apprendimento profondo, esplora le architetture di punta come ResNet e ViT e apprendi le loro applicazioni reali nell'AI.
Nell'apprendimento profondo, in particolare nel campo della computer vision (CV), la "spina dorsale" si riferisce all'insieme iniziale e fondamentale di strati di un modello di rete neurale (NN). Il suo scopo principale è l'estrazione di caratteristiche: l'elaborazione di dati di input grezzi, come un'immagine, e la loro trasformazione in una rappresentazione compatta e informativa. Questa rappresentazione, spesso chiamata mappe di caratteristiche, cattura i modelli, le texture e le forme essenziali dell'input. Pensa alla spina dorsale come agli occhi dell'intelligenza artificiale, che esegue l'interpretazione iniziale prima che avvenga il ragionamento di livello superiore. Questa elaborazione di base è fondamentale per la capacità complessiva del modello di comprendere e interpretare le informazioni visive per i compiti successivi.
Una tipica struttura portante consiste in una sequenza di livelli, che di solito includono livelli convoluzionali, livelli di pooling (che riducono le dimensioni spaziali) e funzioni di attivazione (che introducono la non linearità). Man mano che i dati di input passano attraverso questi strati, la rete apprende progressivamente caratteristiche gerarchiche. I primi strati possono rilevare elementi semplici come bordi e angoli, mentre gli strati più profondi combinano queste caratteristiche più semplici per riconoscere strutture più complesse, parti di oggetti e infine oggetti interi. L'output generato dalla struttura portante è un insieme di mappe di caratteristiche di alto livello che riassumono le informazioni cruciali dell'input originale. Questo processo riduce efficacemente la dimensionalità dei dati preservandone il significato semantico, costituendo la base di molti modelli di deep learning di successo.
Nei sofisticati modelli di computer vision progettati per attività come il rilevamento di oggetti, la segmentazione di istanze o la stima della posa, la spina dorsale fornisce la rappresentazione essenziale delle caratteristiche. I componenti successivi, spesso chiamati "collo" (che raffina e aggrega le caratteristiche) e "testa" (che esegue la previsione finale del compito), si basano sulle caratteristiche estratte dalla struttura portante. Ad esempio, una testa di rilevamento utilizza queste caratteristiche raffinate per prevedere i riquadri di delimitazione degli oggetti rilevati e le classi corrispondenti. La struttura portante si distingue da queste fasi successive; il suo unico obiettivo è quello di generare una rappresentazione potente e spesso generica delle caratteristiche dai dati di input. Una pratica comune è quella di utilizzare backbone pre-addestrati su dataset di grandi dimensioni come ImageNet e poi perfezionarli per compiti specifici a valle utilizzando l'apprendimento per trasferimento, accelerando in modo significativo il processo di formazione.
Diverse architetture di reti neurali consolidate vengono spesso utilizzate come backbone grazie alla loro comprovata efficacia nell'estrazione di caratteristiche:
La scelta della struttura portante influisce in modo significativo sulle caratteristiche prestazionali di un modello, tra cui la velocità, il costo computazionale(FLOPs) e l'accuratezza, come evidenziato in vari confronti tra modelli. Quadri come PyTorch e TensorFlowinsieme a librerie come OpenCV, sono strumenti essenziali per l'implementazione e l'utilizzo di queste strutture portanti. Piattaforme come Ultralytics HUB semplificano ulteriormente il processo di utilizzo di modelli con diverse strutture portanti.
È importante non confondere la spina dorsale con l'intera rete neurale o con altri componenti specifici:
I backbone sono componenti fondamentali in innumerevoli applicazioni di intelligenza artificiale: