Comment configurer une couche de pooling (type POOL ou POOLING) dans un réseau de neurones ?

Maîtrise du Sous-Échantillonnage Spatial

Une couche de pooling, de type POOL ou POOLING, est utilisée pour réduire les dimensions spatiales de la représentation en entrée. Les paramètres clés sont :

  • height : Hauteur de la fenêtre de pooling 2D (obligatoire).
  • width : Largeur de la fenêtre de pooling 2D (obligatoire).
  • pool : Type de pooling. Les options incluent :
    • AVERAGE : Pooling moyen.
    • FIXED : Pooling fixe.
    • MAX : Pooling maximal (par défaut).
    • MIN : Pooling minimal.
    • RANDOM : Pooling aléatoire.
  • stride : Pas horizontal et vertical (par défaut 1, minimum 1). Peut être spécifié séparément via strideHorizontal (alias strideHorz, strideWidth) et strideVertical (alias strideVert, strideHeight).
  • padding : Dimensions de padding pour la largeur et la hauteur (minimum 0). Peut être spécifié séparément via paddingHeight et paddingWidth.
  • dropout : Taux de dropout (par défaut 0, entre 0 et 1 exclus).

Exemples pour l'action addLayer

1. Ajout de la couche d'entrée (INPUT)
Schéma conceptuel de l'exemple : 1. Ajout de la couche d'entrée (INPUT)

Cet exemple définit la couche INPUT (tenseurs RGB 3x32x32). Le paramètre scale (1/255) normalise les pixels dans [0,1], une étape critique pour stabiliser la descente de gradient.

2. Ajout d'une couche de convolution (CONVO)
Schéma conceptuel de l'exemple : 2. Ajout d'une couche de convolution (CONVO)

Cet exemple intègre une couche CONVO (16 filtres 3x3, stride=1). L'activation ReLU introduit la non-linéarité, et l'initialisation XAVIER préserve la variance des gradients.

Assemblage d'un réseau CNN de bout en bout
Schéma conceptuel de l'exemple : Assemblage d'un réseau CNN de bout en bout

Cet exemple finalise le CNN : Max Pooling (réduction spatiale), FC (dropout 0.2) et OUTPUT Softmax (entropie croisée).