Definition
Il kernel è la matrice dei pesi appresi in un layer convoluzionale, applicata a ciascun local receptive field (LRF) dell’input.
Ha dimensione , dove è la dimensionalità del dominio.
📌 I pesi del kernel sono condivisi tra tutti gli shift spaziali:
ogni volta che il kernel si sposta sull’input, applica la stessa matrice di pesi alla nuova regione locale.
🔁 Il kernel non deve avere forma cubica o ipercubica: può essere anche rettangolare o iperrettangolare (e.g. , , ecc.), in base alla struttura del dominio di input e alla natura dei pattern da apprendere.
Confronto con l'image processing classico
Nei contesto dell’ image processing, i kernel convoluzionali sono costruiti campionando funzioni note.
Esempio tipico: il kernel gaussiano, utilizzato per il blurring, è ottenuto campionando una funzione gaussiana continua.In quel contesto, i pesi del kernel non cambiano: sono scelti a priori e hanno un significato analitico preciso.
Al contrario, nelle reti neurali convoluzionali (CNN), i kernel non sono predefiniti:
i pesi che li compongono sono parametri appresi automaticamente dalla rete durante l’addestramento.📌 Per questo si parla di learnable convolutional kernel, ovvero kernel ottimizzati in funzione del task (es. classificazione, segmentazione, ecc.) anziché costruiti manualmente.