Junior — Senior
Qu'est-ce qu'une convolution 1x1 et à quoi sert-elle?
sobes.tech IA
Réponse de l'IA
Une convolution 1x1 est une opération de convolution avec un noyau de taille 1 par 1 pixel. Elle est utilisée dans les réseaux neuronaux convolutifs pour modifier le nombre de canaux (profondeur) du tenseur d'entrée sans changer les dimensions spatiales (largeur et hauteur).
Principales applications de la convolution 1x1:
- Réduction ou augmentation de la dimensionnalité des canaux, ce qui aide à réduire le nombre de paramètres et la charge de calcul.
- Introduction de non-linéarités entre les couches à l'aide de fonctions d'activation après la convolution 1x1.
- Mélange d'informations entre les canaux, améliorant la représentation des caractéristiques.
Exemple en PyTorch:
import torch
import torch.nn as nn
conv1x1 = nn.Conv2d(in_channels=64, out_channels=128, kernel_size=1)
input_tensor = torch.randn(1, 64, 32, 32) # lot=1, 64 canaux, 32x32
output = conv1x1(input_tensor)
print(output.shape) # torch.Size([1, 128, 32, 32])