Sobes.tech
Middle

À quoi sert une couche de pooling?

sobes.tech IA

Réponse de l'IA

La couche de pooling dans les réseaux neuronaux est utilisée pour réduire la dimensionnalité des données d'entrée, ce qui aide à diminuer la charge de calcul et à réduire le nombre de paramètres du modèle. Elle favorise également la mise en évidence des caractéristiques les plus importantes, augmentant la robustesse du modèle face aux décalages et déformations des données d'entrée.

Les types de pooling les plus courants :

  • Max pooling — sélectionne la valeur maximale dans une région.
  • Average pooling — calcule la moyenne.

Exemple de max pooling avec une taille de fenêtre 2x2 et un pas de 2 :

import torch
import torch.nn as nn

input_tensor = torch.tensor([[[[1, 2, 3, 4],
                               [5, 6, 7, 8],
                               [9, 10, 11, 12],
                               [13, 14, 15, 16]]]], dtype=torch.float32)

pool = nn.MaxPool2d(kernel_size=2, stride=2)
output = pool(input_tensor)
print(output)

Le résultat contiendra les maxima de chaque bloc 2x2, réduisant la dimension de 4x4 à 2x2.