Una rete neurale convoluzionale (CNN o ConvNet) è un’architettura di rete per il Deep Learning che apprende direttamente dai dati.
Le CNN sono particolarmente utili per trovare dei pattern nelle immagini in modo tale da riconoscere oggetti, classi e categorie. Sono anche abbastanza efficaci nella classificazione di dati audio, segnali e serie storiche.
Una rete neurale convoluzionale (CNN o ConvNet) è un’architettura di Deep Learning che apprende direttamente dai dati. È particolarmente utile per individuare schemi nelle immagini e riconoscere oggetti, classi e categorie.
Gli strati convoluzionali applicano filtri alle immagini di addestramento a diverse risoluzioni, con ogni filtro che attiva determinate caratteristiche. L’output di ciascuna immagine convoluta viene utilizzato come input per lo strato successivo, partendo da caratteristiche semplici come la luminosità e i bordi fino ad arrivare a caratteristiche più complesse.
ReLU (Rectified Linear Unit) consente un addestramento più rapido ed efficace azzerando i valori negativi e mantenendo quelli positivi, garantendo che solo le caratteristiche attivate vengano propagate allo strato successivo.
Il pooling semplifica l’output eseguendo un sottocampionamento non lineare, riducendo il numero di parametri che la rete deve apprendere.
I pesi e bias condivisi significano che tutti i neuroni di uno stesso strato rilevano la stessa caratteristica in diverse regioni dell’immagine, rendendo la rete robusta alle traslazioni degli oggetti (ad esempio, riconoscere automobili in qualsiasi posizione nell’immagine).
Le reti neurali convoluzionali sono utilizzate nell’imaging medico per rilevare cellule tumorali, nell’elaborazione audio per il riconoscimento di parole chiave, nella rilevazione di oggetti per la guida autonoma e nella generazione di dati sintetici tramite GAN.
Le reti neurali convoluzionali sono particolarmente adatte quando si dispone di grandi quantità di dati complessi, come immagini, oppure quando si lavora con segnali o serie temporali opportunamente preprocessati per essere compatibili con la struttura della rete.
Il transfer learning utilizza una rete preaddestrata per apprendere un nuovo compito, richiedendo meno dati e risorse computazionali rispetto all’addestramento da zero. La rete preaddestrata ha già appreso un insieme ricco di caratteristiche che possono essere adattate a nuovi compiti di classificazione.