Nell’esempio sugli LRF, l’ insieme dei valori (pesi) associato alle connessioni :

(ovvero una griglia ) viene riutilizzato invariato ogni volta che il local receptive field si sposta su una nuova posizione del dominio del layer (ciò ovviamente sussiste mutatis mutandis qualsiasi sia la dimensionalità dei dati).

Stante la condivisione dei parametri (parameters sharing), ogni neurone nel layer riceve in ingresso un local receptive field (LRF) dal layer precedente e applica sempre gli stessi 25 pesi (nella figura, ) per calcolare la propria attivazione.

Dunque, l’operazione svolta da ciascun neurone del layer è una combinazione pesata delle attivazioni locali nel layer , a cui si somma un termine di bias, e il tutto viene passato a una funzione di attivazione .


Relazione con la convoluzione classica

L’operazione appena descritta è, a tutti gli effetti, una correlazione discreta tra i pesi e l’input locale:

  • nella definizione matematica classica di convoluzione, i pesi sarebbero riflessi (flipped) rispetto al centro: ;
  • nella correlazione, invece, non c’è riflessione: i pesi si applicano direttamente come sono.

Warning

💡 **Nelle CNN, si parla comunemente di “convoluzione” anche se **formalmente è una correlazione.

ℹ️ Convoluzione o Correlazione?

Sebbene l’operazione implementata nei layer convoluzionali sia formalmente una correlazione (anziché una convoluzione matematica con flipping dei pesi), ciò non rappresenta un limite pratico.

Durante l’addestramento, la rete è infatti in grado di apprendere automaticamente la disposizione dei pesi più efficace, incluso il flipping, se necessario.
Di conseguenza, l’orientamento dei pesi non deve essere imposto: emerge dai dati.

Ciò che conta è la capacità della rete di apprendere relazioni locali e di rilevarle in qualunque posizione del dominio.

📌 Recap

L’attivazione di un neurone convoluzionale è calcolata come una correlazione pesata su un blocco locale dell’input, usando gli stessi pesi condivisi in ogni posizione.
Questa operazione è del tutto analoga a una convoluzione discreta, a meno di una riflessione che non ha conseguenze pratiche nel contesto dell’apprendimento automatico.

📉 Riduzione del numero di parametri

In un layer fully connected classico (MLP), ogni neurone è connesso a tutti quelli del layer precedente.
Il numero di parametri sarebbe quindi:

Con un layer convoluzionale, invece, ogni neurone vede solo un local receptive field di dimensione ,
e tutti i neuroni condividono lo stesso set di pesi. Il numero di parametri si riduce quindi a:

(con l’1 che rappresenta il bias).
📌 Questo rende il paradigma convoluzionale molto più efficiente.

🔁 Equivarianza a traslazione

La condivisione dei pesi introduce una proprietà chiamata equivarianza a traslazione.

📌 Se uno stesso pattern locale è presente in posizioni diverse dell’input,
allora il kernel convoluzionale risponde allo stesso modo, generando la stessa attivazione.

In altre parole: il kernel riconosce quel pattern ovunque lo incontri nel dominio di input,
perché applica gli stessi pesi per ogni local receptive field.