Les conversions vers les CNN: des opérations de série à l'apprentissage en profondeur

Nous étudierons la convulsion, qui est une opération populaire de l'ensemble qui est utilisée sous diverses formes dans le traitement des signaux, l'enregistrement numérique, le traitement des images, le traitement vidéo et la vision par ordinateur.

· Dev Rishi Khare

Dans ces domaines d'application, la convolutions est souvent effectuée comme un filtre qui transforme les signaux et les pixels en valeurs plus souhaitables.

Dans l'informatique haute performance, le modèle de convolutions est souvent appelé calcul de stencil. La convolutions implique généralement un nombre important d'opérations arithmétiques sur chaque élément de données. Chaque élément de données de sortie peut être calculé indépendamment les uns des autres, ce qui est souhaitable pour le calcul parallèle. D'autre part, il existe un niveau substantiel de partage des données d'entrée entre les éléments de données de sortie avec des conditions limites quelque peu difficiles. Cela fait de la convolutions un cas d'utilisation important des méthodes de planchage sophistiquées et des méthodes de mise en phase des données d'entrée.

Convolution est une opération d'un tableau où chaque élément de données de sortie est une somme pondérée d'un ensemble d'éléments d'entrée voisins. Les poids utilisés dans le calcul de la somme pondérée sont définis par un tableau de masque d'entrée, communément appelé noyau de convolutions. Nous allons parler de ces matrices de masques comme des masques de convolutions. Le même masque de convolutions est généralement utilisé pour tous les éléments de l'ensemble

Ci-dessous est indiqué un exemple de convolutions pour les données 1D où un tableau de masque de convolutions de 5 éléments M est appliqué à un tableau d'entrée de 7 éléments N.

Pour le traitement d'images et la vision par ordinateur, les données d'entrée sont généralement des matrices bidimensionnelles, avec des pixels dans un espace x-y. Les convolutions d'image sont donc des convolutions en 2D. Le masque ne doit pas être carré.


1. De la convulsion 1D à la convulsion 2D

Vous connaissez la convolutions 1D:

Pour les images, l'entrée est 2D (hauteur × largeur), donc:

C'est la même idée que vous connaissez déjà, mais:


Il y a deux. Des canaux multiples (p. ex., RGB)

Les images réelles ne sont pas seulement en 2D, elles ont souvent des canaux:

étape de convulsion:

Donc conceptuellement: convolution 3D sur l'espace + canaux, mais toujours juste summe pondérée de voisins.


3°. Filtres (noyaux) et cartes de fonctionnalités

Dans les CNN, on n'utilise pas un seul noyau; on utilise beaucoup de noyaux:

Donc si la forme d'entrée est:

et vous utilisez F noyaux, la forme de sortie devient:

Chacun de ces canaux de sortie F capture un type différent de schéma:

Réfléchissez: Une couche CNN = appliquer plusieurs convolutions (filtres) différentes sur l'entrée.


4°. Les éclaboussures et les rembourrages

Deux autres détails relatifs au tableau:

Mathématiquement, il s'agit toujours de fenêtres coulissantes et de produits à pointes, mais avec le contrôle de:


5°. Non linéaire: ajout de fonctions d'activation

Jusqu'à présent, tout est linéaire: des sommes pondérées. Une couche CNN ajoute non-linéaire:

Donc une seule couche de conve est:

  1. Convolution (sommes pondérées linéaires).
  2. Activation (non linéaire).

Cette combinaison permet aux CNN d'apprendre des cartographies complexes et non linéaires.


6°. Les couches d'empilement → hiérarchies de caractéristiques profondes

Un CNN complet est juste ** plusieurs couches ** de:

L'intuition:

Tout cela est toujours construit à partir du même principe que vous comprenez: prenez les quartiers locaux et calculer les sommes pondérées.


7°. Connexion à des couches entièrement connectées (dense)

Une couche entièrement connectée est aussi une somme pondérée:

La différence:

Vous pouvez voir les CNN comme:


Conclusion: de l'exploitation simple aux réseaux puissants

"At each position, take neighbors and compute a weighted sum with a kernel,"

alors vous êtes déjà sur l'idée fondamentale derrière les CNN.

Les CNN prennent ce simple bâtiment et:

La magie des CNN n'est pas une nouvelle sorte de mathématiques, c'est la composition de nombreuses petites opérations de convolutions locales dans une architecture profonde qui peut apprendre de puissantes représentations visuelles.

Prêt à recruter avec précision ?

Commencez gratuitement, invitez toute votre équipe et voyez votre premier candidat noté en 15 minutes.

fr