La couche convolutive est le bloc fonctionnel principal d’un CNN ; c’est là que se produit la majorité des calculs. Elle nécessite quelques composants, à savoir des données d’entrée, un filtre et une carte de caractéristiques (ou « feature map »). Supposons que l’entrée soit une image couleur, composée d’une matrice de pixels en 3D. Cette entrée aura alors trois dimensions (hauteur, largeur et profondeur) qui correspondent à la combinaison RVB dans une image. Nous disposons également d’un détecteur de caractéristiques, également connu sous le nom de noyau ou de filtre, qui se déplacera sur les champs réceptifs de l’image pour vérifier si la caractéristique est présente. Ce processus est appelé convolution.
Le détecteur de caractéristiques est une matrice de poids bidimensionnelle (2D), qui représente une partie de l’image. Bien que la taille puisse varier, le filtre est généralement une matrice 3x3 ; cela détermine également la taille du champ réceptif. Le filtre est ensuite appliqué à une zone de l’image et un produit scalaire est calculé entre les pixels d’entrée et le filtre. Ce produit scalaire est ensuite intégré dans une matrice de sortie. Puis, le filtre se décale d’un cran pour répéter le processus jusqu’à ce que le noyau ait balayé toute l’image. La sortie finale de la série de produits scalaires issus de l’entrée et du filtre est connue sous le nom de carte de caractéristiques, carte d’activation, feature map ou caractéristique convoluée.
Notez que les pondérations dans le détecteur de caractéristiques restent fixes lorsqu’il se déplace sur l’image, ce qui est également connu sous le nom de partage de paramètres. Certains paramètres, comme les valeurs de pondérations, s’ajustent pendant l’entraînement grâce au processus de rétropropagation et de descente de gradient. Cependant, il existe trois hyperparamètres qui affectent la taille du volume de sortie et qui doivent être définis avant le début de l’entraînement du réseau neuronal. On trouve notamment :
1. Le nombre de filtres affecte la profondeur de la sortie. Par exemple, trois filtres distincts donneraient trois cartes de caractéristiques différentes, créant une profondeur de trois.
2. Le pas est la distance, ou le nombre de pixels, que le noyau parcourt sur la matrice d’entrée. Bien que des valeurs de pas égales ou supérieures à deux soient rares, un pas plus grand produit une sortie plus faible.
3. La marge, ou zero-padding est généralement utilisée lorsque les filtres ne correspondent pas à l’image d’entrée. Cela met à zéro tous les éléments qui se trouvent en dehors de la matrice d’entrée, produisant une sortie plus grande ou de taille égale. Il existe trois types de marges :
- Marge valide : il s’agit de l’absence de marge. Dans ce cas, la dernière convolution est supprimée si les dimensions ne s’alignent pas.
- Marge identique : cette marge garantit que la couche de sortie a la même taille que la couche d’entrée.
- Marge pleine : ce type de marge augmente la taille de la sortie en ajoutant des zéros à la bordure de l’entrée.
Après chaque opération de convolution, un CNN applique une transformation ReLU (unité de rectification linéaire) sur la carte d'activation, ce qui permet d'introduire une non-linéarité dans le modèle.