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.
Nel regno del deep learning, in particolare nell'ambito della computer vision, il termine "spina dorsale" si riferisce a una parte cruciale di una rete neurale che è responsabile dell'estrazione delle caratteristiche. La si consideri come la base su cui viene costruito il resto della rete. La spina dorsale prende i dati grezzi in ingresso, come le immagini, e li trasforma in un formato strutturato, noto come mappe di caratteristiche, che possono essere utilizzate efficacemente dalle parti successive della rete. Queste mappe di caratteristiche catturano informazioni essenziali sull'input, come bordi, texture e forme, consentendo al modello di comprendere e interpretare dati visivi complessi. Per gli utenti che hanno familiarità con i concetti di base dell'apprendimento automatico, la struttura portante può essere intesa come gli strati iniziali di una rete neurale che apprendono rappresentazioni gerarchiche dei dati in ingresso.
La struttura portante gioca un ruolo fondamentale nel determinare le prestazioni complessive e l'efficienza di un modello di apprendimento profondo. In genere consiste in più livelli di operazioni convoluzionali, pooling e attivazioni. Gli strati convoluzionali sono responsabili dell'estrazione delle caratteristiche dai dati di input, mentre gli strati di pooling riducono le dimensioni spaziali delle mappe di caratteristiche, rendendo il modello più efficiente dal punto di vista computazionale. Le funzioni di attivazione introducono una non linearità nella rete, consentendole di apprendere modelli complessi. L'output della struttura portante, le mappe di caratteristiche, viene poi inviato alle parti successive della rete, come le teste di rilevamento per il rilevamento degli oggetti o i moduli di segmentazione per la segmentazione delle immagini. La qualità delle caratteristiche estratte dalla struttura portante influisce direttamente sulla capacità del modello di svolgere con precisione il compito che si prefigge.
Diverse architetture backbone hanno guadagnato popolarità nella computer vision grazie alla loro efficacia in vari compiti. Alcuni esempi degni di nota sono:
I backbone sono fondamentali per un'ampia gamma di applicazioni di intelligenza artificiale del mondo reale, in quanto consentono alle macchine di "vedere" e interpretare i dati visivi in modo simile agli esseri umani. Ecco due esempi concreti:
Nelle auto a guida autonoma, i backbone vengono utilizzati per elaborare i dati visivi provenienti da telecamere e altri sensori, consentendo al veicolo di percepire l'ambiente circostante. Ad esempio, Ultralytics YOLO i modelli utilizzano backbone efficienti per rilevare in tempo reale oggetti come pedoni, altri veicoli e segnali stradali. Queste informazioni sono fondamentali per il sistema di navigazione del veicolo per prendere decisioni informate e garantire una guida sicura.
Nell'analisi delle immagini mediche, i dorsali vengono impiegati per estrarre caratteristiche da immagini mediche come radiografie, risonanze magnetiche e TAC. Queste caratteristiche possono poi essere utilizzate per compiti come la diagnosi di malattie, il rilevamento di anomalie e la segmentazione di strutture anatomiche. Ad esempio, un backbone può essere addestrato su un dataset di immagini di tumori cerebrali, come il dataset di rilevamento dei tumori cerebrali, per apprendere caratteristiche rilevanti che aiutano a identificare e localizzare i tumori.
La scelta del backbone giusto per un'applicazione specifica dipende da diversi fattori, tra cui la complessità dell'attività, le risorse computazionali disponibili e la precisione desiderata. Per gli ambienti con risorse limitate, come i dispositivi mobili o le applicazioni di intelligenza artificiale, possono essere preferiti backbone più leggeri con meno parametri. D'altro canto, per le attività che richiedono un'elevata precisione, potrebbero essere necessari backbone più profondi e complessi.
È importante distinguere la struttura portante dagli altri componenti di una rete neurale. Mentre la struttura portante estrae le caratteristiche, le altre parti della rete, come la testa di rilevamento o il modulo di segmentazione, sono responsabili di fare previsioni basate su tali caratteristiche. La struttura portante è come gli occhi della rete, che forniscono le informazioni visive grezze, mentre gli altri componenti sono come il cervello, che interpreta queste informazioni per eseguire compiti specifici. Inoltre, il concetto di apprendimento per trasferimento viene spesso applicato ai backbone, dove un backbone pre-addestrato su un grande set di dati come ImageNet viene utilizzato come punto di partenza per l'addestramento su un nuovo compito. In questo modo il modello può sfruttare le conoscenze apprese dal dataset di pre-addestramento, migliorando le prestazioni e riducendo i tempi di addestramento. Strumenti come Ultralytics HUB semplificano il processo di sperimentazione di diversi backbone e di formazione di modelli personalizzati.