Qu'est-ce que Convolution ?

Opération qui inverse dans le temps l'une de deux suites, puis, tout en la décalant, la multiplie par l'autre et additionne les produits. En temps discret, elle s'écrit y[n] = Σx[k]h[n − k], et la sortie d'un système LTI est la convolution de l'entrée par la réponse impulsionnelle. La convolution de suites de longueurs L et M a une longueur L + M − 1. Une convolution dans le domaine temporel devient une multiplication dans le domaine fréquentiel : les longues convolutions se calculent donc rapidement avec la FFT. La « convolution » des réseaux de neurones convolutifs est calculée dans de nombreuses implémentations comme une corrélation croisée, sans retourner le filtre, mais comme les poids sont appris, les deux définitions fonctionnent de la même façon après l'entraînement. Le « repli de constantes » des compilateurs est une notion sans rapport.

Nom japonais: 畳み込み

« Convolution » apparaît dans 7 questions d'entraînement réparties sur 4 thèmes, dont Pile matérielle et logicielle de l'IA, Bases de l'apprentissage automatique, Bases du traitement numérique du signal.

Domaine: Bases du traitement numérique du signal

S'entraîner : questions sur Convolution

Dans les réseaux de neurones convolutifs, pourquoi le calcul de convolution est-il parfois converti en produit matriciel par une méthode comme im2col ?

  1. AParce que la conversion divise le nombre d'opérations par dix
  2. BParce qu'elle permet d'utiliser des bibliothèques de produit matriciel hautement optimisées et des unités de calcul matriciel comme les Tensor Cores
  3. CParce que la conversion réduit toujours la consommation mémoire
Afficher la réponse et l'explication

Réponse : B. Parce qu'elle permet d'utiliser des bibliothèques de produit matriciel hautement optimisées et des unités de calcul matriciel comme les Tensor Cores

im2col construit une grande matrice où les valeurs d'entrée de chaque fenêtre de convolution sont alignées en colonne, puis calcule la convolution par produit avec la matrice des filtres. Le chevauchement des fenêtres duplique les entrées et augmente la mémoire, mais les bibliothèques de produit matriciel optimisées depuis des décennies et les unités matricielles comme les Tensor Cores sont directement exploitables, ce qui accélère souvent l'ensemble. Il existe aussi des implémentations obtenant le même résultat sans duplication.

On applique à une image 28×28 à 1 canal une convolution avec un filtre 5×5 (pas 1, sans remplissage), puis un max-pooling 2×2 (pas 2). Quelles sont la hauteur et la largeur de la sortie ?

  1. A12×12
  2. B14×14
  3. C24×24
Afficher la réponse et l'explication

Réponse : A. 12×12

La taille de sortie d'une convolution vaut (N + 2P − F) ÷ S + 1, où N est la taille de l'entrée, F celle du filtre, P le remplissage (padding) et S le pas (stride). (28 + 0 − 5) ÷ 1 + 1 = 24 : après la convolution, on obtient 24×24. Le max-pooling 2×2 avec un pas de 2 ne garde qu'une valeur maximale par zone de 2×2, ce qui divise la hauteur et la largeur par deux : 12×12. Le pooling n'a pas de paramètres entraînables ; il réduit la taille des données et les calculs, et rend le réseau moins sensible aux petits décalages de position.

« Convolution » dans les explications

Questions mentionnant « Convolution » (7)

  1. Dans les réseaux de neurones convolutifs, pourquoi le calcul de convolution est-il parfois converti en produit matriciel par une méthode comme im2col ?
  2. On applique à une image 28×28 à 1 canal une convolution avec un filtre 5×5 (pas 1, sans remplissage), puis un max-pooling 2×2 (pas 2). Quelles sont la hauteur et la largeur de la sortie ?
  3. La suite x[n] = {1, 2, 3} (n = 0, 1, 2) est appliquée à un système LTI de réponse impulsionnelle h[n] = {1, −1} (n = 0, 1). Quelles sont les sorties y[0] à y[3] ?
  4. Lors de la mesure à l’AFM de tranchées très étroites ou de flancs abrupts, quelle est une source d’erreur fréquente ?
  5. Quelle définition du flux de données « weight stationary » (poids fixes), l'une des approches des accélérateurs d'IA, est correcte ?
  6. Quel ordre de la pile logicielle d'IA, de la couche la plus proche de l'utilisateur à la plus proche du matériel, est correct ?
  7. Combien de paramètres entraînables compte une couche entièrement connectée à 64 entrées et 32 sorties (avec un biais par sortie) ?

Termes associés

Réseau de neurones convolutif (CNN) Réponse impulsionnelle AFM (microscope à force atomique) Graphe de calcul GPU NPU (unité de traitement neuronal) Décimation Équation aux différences Filtre à moyenne mobile Filtre FIR

Retour au glossaire