Le reti neurali convoluzionali (note anche come CNN) sono un tipo di rete neurale artificiale utilizzata nella computer vision e nell'apprendimento automatico. Sono progettate per identificare le caratteristiche nelle immagini e in altri tipi di dati.
Le CNN si basano sull'idea di uno strato convoluzionale, che prende un'immagine in ingresso e la passa attraverso una serie di filtri o kernel per identificare caratteristiche specifiche. Ad esempio, un livello convoluzionale può rilevare bordi e forme in un'immagine. L'output del livello convoluzionale è un vettore di caratteristiche che viene utilizzato per identificare gli oggetti e classificarli.
L'architettura di una CNN è composta da livelli convoluzionali, livelli di pooling e livelli completamente connessi. Gli strati convoluzionali sono responsabili dell'identificazione delle caratteristiche di un'immagine. I livelli di pooling sono utilizzati per ridurre la dimensionalità del vettore di caratteristiche. Gli strati completamente connessi sono utilizzati per apprendere le relazioni tra le caratteristiche identificate e le classi.
Le CNN sono comunemente utilizzate in compiti legati alle immagini, come il riconoscimento facciale, il rilevamento di oggetti e la segmentazione delle immagini. Possono essere utilizzate anche nell'elaborazione del linguaggio naturale per l'analisi dei sentimenti, la classificazione dei testi e i sistemi di risposta alle domande.
Oltre alle applicazioni nella visione artificiale e nell'elaborazione del linguaggio naturale, le CNN sono state utilizzate anche nella sanità, nella robotica, nei veicoli autonomi e nel data mining. Le potenziali applicazioni delle CNN sono virtualmente illimitate.
Le reti neurali convoluzionali sono uno strumento potente per la visione artificiale e l'apprendimento automatico. Identificando modelli e caratteristiche nelle immagini, consentono di sviluppare innumerevoli applicazioni legate alla visione, dal riconoscimento facciale alla navigazione autonoma dei veicoli.