Strati di Convoluzione
Scorri per mostrare il menu
Comprendere i Layer di Convoluzione
I layer di convoluzione sono il nucleo delle reti neurali convoluzionali (CNN). Applicano la convoluzione, in cui una piccola matrice chiamata filtro (o kernel) scorre su un'immagine per rilevare bordi, texture e forme. Questo permette alle CNN di elaborare le immagini in modo più efficiente rispetto alle reti tradizionali.
Invece di analizzare un'intera immagine in una sola volta, le CNN la suddividono in sezioni più piccole, rilevando caratteristiche a diversi livelli. I primi layer riconoscono pattern semplici come i bordi, mentre i layer più profondi rilevano strutture complesse.
Come Funziona la Convoluzione
La convoluzione prevede che un filtro (kernel) si muova su un'immagine, seguendo questi passaggi:
- Applicare il kernel nell'angolo in alto a sinistra dell'immagine.
- Eseguire la moltiplicazione elemento per elemento tra il kernel e i valori dei pixel.
- Somma dei prodotti per generare un pixel di output.
- Spostare il kernel secondo lo stride e ripetere.
- Generare una feature map che evidenzia i pattern rilevati.
Filtri multipli permettono alle CNN di catturare diverse caratteristiche, come bordi verticali, curve e texture.
Filtri (Kernel):
I filtri svolgono un ruolo fondamentale nell'estrazione di pattern significativi dalle immagini. Tipi diversi di filtri sono specializzati nell'identificazione di varie caratteristiche:
-
Filtri per il rilevamento dei bordi: identificano i contorni degli oggetti rilevando bruschi cambiamenti di intensità (ad esempio, filtri Sobel, Prewitt e Laplacian);
-
Filtri per la texture: catturano pattern ripetitivi come onde o griglie (ad esempio, filtri Gabor);
-
Filtri di nitidezza: migliorano i dettagli dell'immagine amplificando le componenti ad alta frequenza;
-
Filtri di sfocatura: riducono il rumore e rendono le immagini più uniformi (ad esempio, filtro di sfocatura gaussiana);
-
Filtri emboss: evidenziano i bordi e aggiungono un effetto 3D enfatizzando la profondità.
Ogni filtro viene addestrato per rilevare schemi specifici e contribuisce alla costruzione di rappresentazioni gerarchiche delle caratteristiche nelle CNN profonde.
I livelli di convoluzione riutilizzano lo stesso filtro su tutta l'immagine, riducendo i parametri e rendendo le CNN efficienti. Tuttavia, i livelli localmente connessi specializzati utilizzano filtri diversi per regioni differenti quando necessario.
Sovrapponendo più livelli di convoluzione, le CNN estraggono schemi dettagliati, risultando potenti per la classificazione di immagini, il rilevamento di oggetti e le attività di visione artificiale.
Iperparametri:
- Stride: controlla di quanto si sposta il filtro ad ogni passo;
- Padding: aggiunge pixel per controllare la dimensione dell'output (il padding "same" preserva la dimensione, il padding "valid" la riduce);
- Numero di filtri (profondità): più filtri migliorano il rilevamento delle caratteristiche ma aumentano il calcolo.
Esempio: Per un'immagine in scala di grigi 24×24 utilizzando un kernel 3×3 con 64 filters, la dimensione dell'output è 22×22×64, calcolata come:
Dove:
- W: larghezza dell'immagine di input = 24;
- H: altezza dell'immagine di input = 24;
- F: dimensione del filtro (kernel) = 3 (considerando un kernel quadrato 3×3);
- D: numero di filtri (profondità dell'output) = 64.
Prima del prossimo capitolo
Sebbene i layer convoluzionali possano ridurre la dimensione dell'output, il loro scopo principale è l'estrazione delle caratteristiche, non la riduzione della dimensionalità. I layer di pooling, invece, riducono esplicitamente la dimensionalità mantenendo le informazioni importanti, garantendo efficienza negli strati più profondi.
1. Qual è il ruolo principale di un layer convoluzionale in una CNN?
2. Quale iperparametro determina di quanto si sposta un filtro durante la convoluzione?
3. Qual è lo scopo dell'applicazione di più filtri in uno strato di convoluzione?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione