Que signifie la taille du noyau?

13

Quand les gens parlent de réseaux de neurones, que veulent-ils dire quand ils disent "taille du noyau"? Les noyaux sont des fonctions de similitude, mais qu'est-ce que cela dit sur la taille du noyau?

quil
la source
1
Dans un contexte CNN, les gens utilisent parfois «taille du noyau» pour désigner la taille d'un filtre convolutionnel, et de même un «noyau» est le filtre lui-même.
Sycorax dit Réintégrer Monica

Réponses:

18

Les réseaux de neurones profonds, plus concrètement les réseaux de neurones convolutifs (CNN), sont essentiellement un empilement de couches qui sont définies par l'action d'un certain nombre de filtres sur l'entrée. Ces filtres sont généralement appelés noyaux.

Par exemple, les noyaux de la couche convolutionnelle sont les filtres convolutionnels. En fait, aucune convolution n'est effectuée, mais une corrélation croisée. La taille du noyau se réfère ici à la largeurxhauteur du masque de filtre.

La couche de regroupement maximale, par exemple, renvoie le pixel avec la valeur maximale à partir d'un ensemble de pixels dans un masque (noyau). Ce noyau est balayé à travers l'entrée, le sous-échantillonnant.

Donc rien à voir avec le concept de noyaux dans les machines à vecteurs de support ou les réseaux de régularisation. Vous pouvez les considérer comme des extracteurs de fonctionnalités.

jpmuc
la source
18

entrez la description de l'image ici

Comme vous pouvez le voir ci-dessus, le noyau, également connu sous le nom de matrice de noyau, est la fonction intermédiaire et sa taille, ici 3, est la taille du noyau (où la largeur du noyau est égale à la hauteur du noyau).

Notez que le noyau ne doit pas nécessairement être symétrique, et nous pouvons le vérifier en citant ce texte du doc de Conv2D dans Tensorflow :

kernel_size: Un entier ou tuple / liste de 2 entiers, spécifiant la hauteur et la largeur de la fenêtre de convolution 2D. Peut être un seul entier pour spécifier la même valeur pour toutes les dimensions spatiales.

Mais généralement, nous faisons juste la largeur et la hauteur égales, et sinon la taille du noyau devrait être un tuple de 2. Le noyau peut être asymétrique par exemple dans Conv1D (voir cet exemple , et la taille du noyau peut être supérieure à 2 nombres, par exemple (4, 4, 3) dans l'exemple ci-dessous Conv3D :

entrez la description de l'image ici

Les gifs impressionnants viennent d' ici et d' ici .

Lerner Zhang
la source
Est-il nécessaire que la taille du noyau soit symétrique?
Ben
1
@Ben Non, ce n'est pas nécessaire, la taille du noyau peut donc être un tuple de 1, 2 ou 3 chiffres.
Lerner Zhang