Reti neurali convoluzionali (CNN): cosa sono, come funzionano e a cosa servono
Le reti neurali convoluzionali (CNN) sono il motore della visione artificiale: scopri cosa sono, come funzionano strato dopo strato e a cosa servono.
Ogni volta che il telefono riconosce il tuo volto per sbloccarsi, che un’auto individua un pedone sulla strada o che un software segnala un’anomalia in una radiografia, dietro le quinte lavora quasi sempre lo stesso tipo di tecnologia: la rete neurale convoluzionale. È l’architettura che ha reso le macchine capaci di vedere, ed è il motivo per cui negli ultimi anni la visione artificiale è passata da promessa da laboratorio a strumento presente in migliaia di prodotti di uso quotidiano.
In questa guida scopri cosa sono le reti neurali convoluzionali, come funzionano strato dopo strato e a cosa servono davvero, con un linguaggio chiaro ma senza rinunciare alla sostanza. Se è la prima volta che ti avvicini a questi temi non serve alcuna matematica avanzata: ti basta la curiosità di capire come una macchina impara a distinguere un gatto da un cane.
Cosa sono le reti neurali convoluzionali
Una rete neurale convoluzionale, spesso indicata con la sigla CNN dall’inglese Convolutional Neural Network, è un tipo particolare di rete neurale artificiale progettata per elaborare dati organizzati a griglia, come le immagini. Fa parte della grande famiglia del deep learning, cioè quell’insieme di tecniche in cui la rete è composta da molti strati sovrapposti che apprendono in modo gerarchico.
Il nome deriva dall’operazione matematica che ne è il cuore, la convoluzione. Non lasciarti spaventare dal termine: si tratta di un modo sistematico per far scorrere un piccolo filtro sull’immagine e misurare, punto per punto, quanto una certa forma sia presente in quella zona.
L’idea di fondo è ispirata al funzionamento della corteccia visiva degli esseri viventi, dove alcuni neuroni si attivano solo in presenza di stimoli molto specifici, come una linea inclinata in una certa direzione. Le CNN riprendono questo principio e lo traducono in numeri.
In poche parole, una CNN è una rete che ha imparato da sola quali forme cercare in un’immagine per riconoscere ciò che rappresenta.
Perché le immagini mettono in difficoltà le reti tradizionali
Per capire perché le CNN sono state una svolta, conviene guardare il problema che risolvono. Una rete neurale classica, detta completamente connessa, collega ogni singolo pixel dell’immagine a ogni neurone dello strato successivo. Con una fotografia anche piccola, diciamo di 200 per 200 pixel a colori, parliamo già di oltre centomila valori in ingresso: il numero di collegamenti da gestire cresce a dismisura e diventa impraticabile.
C’è un secondo problema, più sottile. Una rete completamente connessa tratta ogni pixel come indipendente dagli altri e perde l’informazione più preziosa di un’immagine, cioè la relazione spaziale tra punti vicini. Un occhio ha senso solo accanto a un altro occhio e sopra una bocca, non isolato nel vuoto.
Le reti convoluzionali nascono proprio per superare questi due limiti. Sfruttano il fatto che in un’immagine le informazioni utili sono locali e tendono a ripetersi, e questo permette loro di usare molti meno parametri restando molto più efficaci.
Come funziona una rete neurale convoluzionale
Una CNN si può immaginare come una catena di montaggio: l’immagine entra da un lato sotto forma di griglia di numeri e attraversa una serie di stazioni, ognuna delle quali estrae informazioni sempre più astratte. Vediamo le stazioni principali una alla volta.
Lo strato convoluzionale e i filtri
Il cuore della rete è lo strato convoluzionale. Qui entra in gioco il filtro, chiamato anche kernel: una piccola griglia di numeri, per esempio di tre pixel per tre, che scorre su tutta l’immagine. In ogni posizione il filtro si confronta con la porzione di immagine sottostante e produce un valore che indica quanto quella zona somiglia al motivo che il filtro cerca.
Facendo scorrere il filtro sull’intera immagine si ottiene una nuova griglia, chiamata mappa delle caratteristiche o feature map, che evidenzia dove quel particolare motivo compare. Un filtro può essere sensibile ai bordi verticali, un altro alle linee orizzontali, un altro ancora a una specifica transizione di colore.
L’aspetto sorprendente è che questi filtri non vengono scritti a mano dai programmatori. La rete li scopre da sola durante l’addestramento, regolando i numeri al loro interno finché non diventano bravi a cogliere le forme utili.
Ogni strato convoluzionale applica molti filtri in parallelo, così da produrre molte mappe diverse a partire dalla stessa immagine.
La funzione di attivazione
Dopo la convoluzione, ogni valore passa attraverso una funzione di attivazione, che nella grande maggioranza delle CNN è la ReLU. Il suo compito è semplice: azzera i valori negativi e lascia passare quelli positivi. Questo introduce la non linearità che permette alla rete di rappresentare relazioni complesse, invece di limitarsi a semplici somme.
Senza questo passaggio, per quanti strati aggiungessi, la rete si comporterebbe come un unico calcolo lineare, incapace di distinguere schemi davvero articolati.
Il pooling, ovvero ridurre per generalizzare
Tra uno strato e l’altro si inserisce spesso un’operazione di pooling, cioè di sottocampionamento. In pratica si prende una piccola area della mappa, per esempio un quadrato di due per due, e la si riassume con un solo valore, di solito il massimo presente in quell’area, tecnica nota come max pooling.
Il pooling ha due vantaggi. Riduce la quantità di dati da elaborare, alleggerendo la rete, e rende il riconoscimento più robusto: se un dettaglio si sposta di qualche pixel, il risultato non cambia. La rete impara così a riconoscere un oggetto a prescindere dalla sua posizione esatta nell’immagine.
Dagli strati profondi alla decisione finale
Impilando molti strati convoluzionali si crea una gerarchia. I primi strati riconoscono elementi molto semplici, come bordi e macchie di colore. Quelli intermedi combinano questi elementi in forme più ricche, come angoli, trame e parti di oggetti. Gli strati più profondi arrivano a rappresentare concetti complessi, come un volto, una ruota o la sagoma di un animale.
È questa la vera potenza del deep learning applicato alle immagini: la rete costruisce la comprensione per livelli, partendo dal semplice per arrivare al complesso.
Alla fine della catena, le mappe delle caratteristiche vengono distese in una lista di valori e passate a uno o più strati completamente connessi, gli stessi di una rete neurale tradizionale. È qui che avviene la decisione vera e propria: la rete traduce tutte le caratteristiche estratte in una risposta, per esempio la probabilità che nell’immagine ci sia un gatto piuttosto che un cane.
Come impara una rete convoluzionale
Una CNN appena creata non sa riconoscere nulla: i suoi filtri contengono numeri casuali. Impara attraverso l’addestramento, un processo in cui le si mostrano moltissimi esempi già etichettati, per esempio migliaia di foto accompagnate dall’indicazione di ciò che contengono.
Per ogni immagine la rete formula una previsione e la confronta con la risposta corretta. L’errore che ne risulta viene usato per correggere leggermente tutti i filtri, tramite un meccanismo chiamato retropropagazione. Ripetendo questo ciclo un enorme numero di volte, i filtri si affinano e la rete diventa via via più precisa.
La qualità dei dati conta più di ogni altra cosa. Una CNN è brava quanto gli esempi che ha visto: se il materiale di addestramento è vario e ben etichettato la rete generalizza bene, se è ristretto o sbilanciato la rete eredita gli stessi limiti.
Questo spiega anche perché servano molte immagini e una notevole potenza di calcolo. Il salto di qualità delle CNN è arrivato quando sono diventati disponibili grandi archivi di immagini e schede grafiche capaci di eseguire questi calcoli in parallelo.
A cosa servono le reti neurali convoluzionali
Le CNN sono la tecnologia dominante in gran parte della visione artificiale, cioè il campo che si occupa di far interpretare alle macchine il contenuto di immagini e video. Le loro applicazioni sono ormai ovunque, spesso senza che ce ne accorgiamo.
Nel riconoscimento delle immagini permettono di classificare una foto, distinguendo un paesaggio da un ritratto o identificando la razza di un cane. Nel rilevamento di oggetti individuano e localizzano più elementi contemporaneamente nella stessa scena, funzione essenziale per le auto a guida autonoma, che devono riconoscere pedoni, semafori e altri veicoli in tempo reale.
In medicina le CNN analizzano radiografie, risonanze e altre immagini diagnostiche per aiutare i medici a individuare anomalie che a occhio nudo potrebbero sfuggire. Nel riconoscimento facciale sono alla base dei sistemi di sblocco degli smartphone e di molti strumenti di sicurezza.
L’elenco continua: lettura automatica di testo scritto a mano, controllo qualità nelle fabbriche, analisi delle immagini satellitari per l’agricoltura e il monitoraggio ambientale, filtri ed effetti nelle applicazioni di fotografia. Ogni volta che un software deve capire cosa mostra un’immagine, con buona probabilità c’è una CNN al lavoro.
CNN e Transformer: cosa sta cambiando
Per anni le reti convoluzionali sono state la scelta obbligata per qualunque compito legato alle immagini. Negli ultimi tempi è emersa un’architettura alternativa, quella dei Transformer, nata nel campo del linguaggio e poi adattata alla visione con i cosiddetti Vision Transformer.
Questi modelli, quando dispongono di un numero enorme di immagini, in certi compiti raggiungono o superano le prestazioni delle CNN. Ciò non ha reso obsolete le reti convoluzionali, anzi.
Le CNN restano spesso più efficienti quando i dati a disposizione sono limitati e richiedono meno risorse per essere addestrate, il che le rende preferibili in molte situazioni pratiche, soprattutto sui dispositivi con poca potenza di calcolo. Non a caso molte soluzioni moderne combinano i due approcci, unendo la capacità delle CNN di cogliere i dettagli locali con la visione d’insieme dei Transformer.
Per te che vuoi orientarti nel settore, il messaggio è semplice: le CNN non sono un capitolo chiuso, ma un mattone fondamentale che continua a convivere con le architetture più recenti.
Conclusioni
Le reti neurali convoluzionali hanno insegnato alle macchine a vedere, e lo hanno fatto con un’idea tanto elegante quanto potente: cercare piccole forme ricorrenti e combinarle, livello dopo livello, fino a comprendere immagini intere. Capire come funzionano, dai filtri al pooling fino agli strati finali, ti dà le basi per leggere con occhio critico gran parte delle notizie sull’intelligenza artificiale applicata alle immagini e ai video.
Se vuoi approfondire, il passo successivo è naturale: parti dai fondamenti delle reti neurali e del deep learning, poi esplora la visione artificiale nel suo insieme e le architetture emergenti. Continua a seguire le nostre guide per costruire, un concetto alla volta, una comprensione solida di come funziona davvero l’intelligenza artificiale.