Rete neurale convoluzionale (CNN)
Scopri come le reti neurali convoluzionali (CNN) rivoluzionano la computer vision, potenziando l'IA nella sanità, nelle auto a guida autonoma e altro ancora.
Una rete neurale convoluzionale (CNN) è una classe specializzata di architettura di
architettura di apprendimento profondo (DL) progettata per
dati che hanno una topologia a griglia, come le immagini digitali. Ispirate alla struttura biologica della corteccia
della corteccia visiva animale, le CNN sono in grado di apprendere automaticamente
di apprendere automaticamente gerarchie spaziali di caratteristiche. A differenza delle reti neurali tradizionali, che trattano i dati in ingresso come un elenco
come un elenco piatto di numeri, le CNN conservano le relazioni spaziali tra i pixel, diventando così la tecnologia alla base della maggior parte delle
tecnologia alla base della maggior parte delle moderne
applicazioni di computer vision (CV). Filtrando
filtrando in modo efficiente gli input per estrarre schemi significativi, queste reti sono alla base di progressi che vanno dal riconoscimento facciale negli
riconoscimento facciale sugli smartphone agli strumenti diagnostici
analisi delle immagini mediche.
Come funzionano le reti neurali convoluzionali
L'efficacia di una CNN risiede nella sua capacità di ridurre le immagini in una forma più facile da elaborare, senza perdere le caratteristiche critiche per ottenere una buona previsione.
caratteristiche critiche per ottenere una buona previsione. Ciò si ottiene attraverso una serie di strati specializzati:
-
Strato convoluzionale: È il blocco centrale. Impiega una serie di filtri apprendibili, spesso chiamati
chiamati kernel, che scorrono sull'immagine in ingresso. Questo processo matematico, noto come
convoluzione, produce
mappe di caratteristiche che evidenziano modelli specifici come
come bordi, curve o texture. È possibile visualizzare questo processo attraverso
spiegazioni interattive della CNN per vedere come i filtri estraggono
dati visivi.
-
Funzione di attivazione: Dopo la convoluzione, alle mappe di caratteristiche viene applicata una funzione non lineare. La scelta più
scelta più comune è la
ReLU (Unità lineare rettificata), che
sostituisce i valori negativi dei pixel con lo zero. In questo modo si introduce la non linearità, permettendo alla rete di apprendere relazioni complesse
relazioni complesse piuttosto che semplici combinazioni lineari.
-
Livello di pooling: Conosciuto anche come downsampling, questo livello riduce la dimensionalità della mappa delle caratteristiche.
mappa. Tecniche come il max pooling selezionano le caratteristiche più prominenti in una regione.
più importanti in una regione, riducendo il carico computazionale e aiutando il modello a generalizzarsi evitando l'overfitting.
overfitting.
-
Strato completamente connesso: Nelle fasi finali, le caratteristiche di alto livello vengono appiattite e inserite in una rete neurale standard (NN).
rete neurale standard (NN). Questo strato
esegue la classificazione o la regressione finale sulla base delle caratteristiche estratte dai livelli precedenti.
Importanza e applicazioni nel mondo reale
Le CNN hanno rivoluzionato il campo dell'intelligenza artificiale, eliminando la necessità di estrarre manualmente le caratteristiche.
La loro capacità di apprendere caratteristiche distintive direttamente dai
dati di addestramento ha portato a un'adozione diffusa in
diversi settori.
-
Rilevamento di oggetti per sistemi autonomi: Nell'industria automobilistica, le CNN sono fondamentali per consentire alle
di auto a guida autonoma di percepire l'ambiente
ambiente. Modelli come YOLO11 utilizzano una struttura basata su CNN
CNN per detect pedoni, i segnali stradali e gli altri veicoli in tempo reale con
veicoli in tempo reale con un'elevata precisione.
-
Diagnostica sanitaria: Le CNN aiutano i radiologi a identificare le anomalie nelle scansioni mediche. Per esempio
ad esempio, i modelli di deep learning possono analizzare le radiografie o le risonanze magnetiche per detect tumori o fratture più velocemente della sola ispezione umana.
umano. Una ricerca del
Istituti Nazionali di Sanità (NIH)
dimostra come questi strumenti automatizzati migliorino significativamente la coerenza diagnostica.
-
Gestione del commercio al dettaglio e dell'inventario: Sistemi di cassa automatizzati e gestione
gestione intelligente dell'inventario
si affidano alle CNN per riconoscere i prodotti sugli scaffali, track livelli delle scorte e prevenire le perdite, semplificando le operazioni per i grandi rivenditori.
grandi rivenditori.
Differenziare le CNN dai concetti correlati
Sebbene siano spesso utilizzate in modo intercambiabile con termini generali di IA, le CNN hanno caratteristiche distinte rispetto ad altre architetture.
architetture:
-
CNN vs. Reti neurali standard: Una rete neurale tradizionale completamente connessa collega ogni neurone di ingresso
ogni neurone di ingresso a ogni neurone di uscita. Quando viene applicata alle immagini, questo porta a un numero enorme di parametri e a una perdita di struttura spaziale.
struttura spaziale. Al contrario, le CNN utilizzano la condivisione dei parametri (utilizzando lo stesso filtro per l'intera immagine), che le rende altamente efficienti.
immagine), il che le rende altamente efficienti per i dati visivi.
-
CNN vs. Vision Transformers (ViT): Mentre le CNN si concentrano sulle caratteristiche locali attraverso la convoluzione,
I trasformatori di visione (ViT) elaborano le immagini
come sequenze di patch utilizzando un meccanismo di
meccanismo di autoattenzione per catturare
contesto globale. I ViT spesso richiedono set di dati più grandi per essere addestrati in modo efficace, mentre le CNN hanno un forte "bias
induttivo" che li fa funzionare bene anche con insiemi di dati più piccoli. I modelli ibridi spesso combinano entrambi, come si vede in
architetture come RT-DETR.
Esempio di implementazione
Le librerie moderne consentono di sfruttare facilmente la potenza delle CNN. Il ultralytics pacchetto fornisce
l'accesso a modelli all'avanguardia come YOLO11, che presentano dorsali CNN ottimizzate per una rapida inferenza.
L'esempio seguente mostra come caricare un modello preaddestrato basato su CNN ed eseguire una previsione:
from ultralytics import YOLO
# Load a YOLO11 model, which uses a highly optimized CNN architecture
model = YOLO("yolo11n.pt")
# Run object detection on an image to identify features and objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the prediction results
results[0].show()
Strumenti e strutture per lo sviluppo
Lo sviluppo delle CNN è supportato da un robusto ecosistema di strumenti open-source. Ricercatori e ingegneri utilizzano tipicamente
framework come PyTorch o
TensorFlow per costruire architetture personalizzate da zero. Queste librerie
forniscono le operazioni tensor di basso livello necessarie per la convoluzione e la retropropagazione.
Per coloro che desiderano semplificare il ciclo di vita dei progetti di computer vision, dalla gestione dei dati all'implementazione, la piattaforma
Ultralytics Platform offre una soluzione completa. Semplifica i complessi flussi di lavoro
di formazione dei modelli e consente ai team di concentrarsi sull'applicazione delle
applicare le CNN per risolvere i problemi aziendali piuttosto che gestire l'infrastruttura. Inoltre, l'implementazione di questi modelli su dispositivi
dispositivi edge è facilitata da formati come ONNX e
TensorRTgarantendo elevate prestazioni in ambienti di produzione.
ambienti.