À propos de CNN, des noyaux et de l'invariance d'échelle / rotation

18

J'ai quelques questions qui me portent à confusion concernant le CNN.
1) Les caractéristiques extraites à l'aide de CNN sont invariantes d'échelle et de rotation?
2) Les noyaux que nous utilisons pour la convolution avec nos données sont déjà définis dans la littérature? quel genre de ces grains sont? est-ce différent pour chaque application?

Aadnan Farooq A
la source

Réponses:

17

1) Les caractéristiques extraites à l'aide de CNN sont invariantes d'échelle et de rotation?

Une caractéristique en soi dans un CNN n'est pas invariante à l'échelle ou à la rotation. Pour plus de détails, voir: Deep Learning. Ian Goodfellow et Yoshua Bengio et Aaron Courville. 2016: http://egrcc.github.io/docs/dl/deeplearningbook-convnets.pdf ; http://www.deeplearningbook.org/contents/convnets.html :

La convolution n'est pas naturellement équivalente à certaines autres transformations, telles que les changements d'échelle ou de rotation d'une image. D'autres mécanismes sont nécessaires pour gérer ces types de transformations.

C'est la couche de regroupement maximale qui introduit de tels invariants:

entrez la description de l'image ici

2) Les noyaux que nous utilisons pour la convolution avec nos données sont déjà définis dans la littérature? quel genre de ces grains sont? est-ce différent pour chaque application?

Les noyaux sont appris pendant la phase de formation de l'ANN.

Franck Dernoncourt
la source
Je ne peux pas parler des détails en termes de l'état actuel de la technique, mais au sujet du point 1, j'ai trouvé cela intéressant.
GeoMatt22
@Franck 1) Cela signifie que nous ne prenons aucune mesure spéciale pour rendre la rotation du système invariante? et qu'en est-il de l'invariant d'échelle, est-il possible d'obtenir l'invariant d'échelle à partir du pool max?
Aadnan Farooq A
2) Les noyaux sont les caractéristiques. Je n'ai pas compris ça. [Ici] ( wildml.com/2015/11/… ) Ils ont mentionné que "Par exemple, dans la classification d'images, un CNN peut apprendre à détecter les bords des pixels bruts dans la première couche, puis utiliser les bords pour détecter des formes simples dans le deuxième couche, puis utilisez ces formes pour dissuader les entités de niveau supérieur, telles que les formes faciales dans les couches supérieures. La dernière couche est alors un classificateur qui utilise ces entités de haut niveau. "
Aadnan Farooq A
2
Notez que le pool dont vous parlez est appelé pool cross-canal et n'est pas le type de pool auquel on fait généralement référence lorsque l'on parle de "max-pooling", qui regroupe uniquement les dimensions spatiales (pas les différents canaux d'entrée ).
Soltius
1
Cela implique-t-il qu'un modèle qui n'a pas de couches de pool maximal (la plupart des architectures SOTA actuelles n'utilisent pas le regroupement) dépend entièrement de l'échelle?
shubhamgoel27
6

Je pense qu'il y a deux ou trois choses qui vous prêtent à confusion, donc tout d'abord.

X[n]h[n]X[n]h[n]y[n]=(Xh)[n]

y[n]=m=-X[m] h[n-m]

Ce qui précède est valable pour les signaux unidimensionnels, mais il en va de même pour les images, qui ne sont que des signaux bidimensionnels. Dans ce cas, l'équation devient:

jenew[r,c]=u=-v=-jeol[u,v] k[r-u,c-v]

Sur le plan graphique, voici ce qui se passe:

entrez la description de l'image ici

Quoi qu'il en soit, la chose à garder à l'esprit est que le noyau , en fait, a été appris lors de la formation d'un réseau neuronal profond (DNN). Un noyau va juste être ce avec quoi vous convoluez votre entrée. Le DNN apprendra le noyau, de sorte qu'il fait ressortir certaines facettes de l'image (ou image précédente), qui seront bonnes pour réduire la perte de votre objectif cible.

C'est le premier point crucial à comprendre: Traditionnellement, les gens ont conçu des noyaux, mais dans le Deep Learning, nous laissons le réseau décider du meilleur noyau. La seule chose que nous précisons cependant, ce sont les dimensions du noyau. (Ceci est appelé un hyperparamètre, par exemple, 5x5 ou 3x3, etc.).

Tarin Ziyaee
la source
Belle explication. Pouvez-vous répondre à la première partie de la question? À propos du CNN, l'échelle / rotation est-elle invariante?
Aadnan Farooq A
1
@AadnanFarooqA Je vais le faire ce soir.
Tarin Ziyaee
2

De nombreux auteurs dont Geoffrey Hinton (qui propose Capsule net) tentent de résoudre le problème, mais qualitativement. Nous essayons de résoudre ce problème de manière quantitative. En faisant en sorte que tous les noyaux de convolution soient symétriques (symétrie dièdre d'ordre 8 [Dih4] ou rotation de l'incrément de 90 degrés symétrique, et al) dans le CNN, nous fournirions une plate-forme pour le vecteur d'entrée et le vecteur résultant sur chaque couche cachée par convolution soit tourné synchrone avec la même propriété symétrique (c.-à-d. Dih4 ou rotation à 90 incréments symétriques, et al). De plus, en ayant la même propriété symétrique pour chaque filtre (c.-à-d. Entièrement connecté mais pesant en partageant avec le même motif symétrique) sur la première couche aplatie, la valeur résultante sur chaque nœud serait quantitativement identique et conduirait au vecteur de sortie CNN de la même manière ainsi que. Je l'ai appelé CNN identique à la transformation (ou TI-CNN-1). Il existe d'autres méthodes qui peuvent également construire un CNN à transformation identique en utilisant une entrée ou des opérations symétriques à l'intérieur du CNN (TI-CNN-2). Sur la base du TI-CNN, un CNN à engrenage à rotation identique (GRI-CNN) peut être construit par plusieurs TI-CNN avec le vecteur d'entrée tourné d'un petit angle de pas. En outre, un CNN composé quantitativement identique peut également être construit en combinant plusieurs GRI-CNN avec divers vecteurs d'entrée transformés.

  1. «Transformationally Identical and Invariant Convolutional Neural Networks through Symmetric Element Operators» https://arxiv.org/abs/1806.03636 (juin 2018)

  2. «Réseaux neuronaux convolutifs transformationnels identiques et invariants en combinant des opérations symétriques ou des vecteurs d'entrée» https://arxiv.org/abs/1807.11156 (juillet 2018)

  3. «Systèmes de réseaux neuronaux convolutifs à rotation rotationnelle identiques et invariants» https://arxiv.org/abs/1808.01280 (août 2018)

Ben Lo
la source
-1

Je pense que la mise en commun maximale peut réserver des invariances de translation et de rotation uniquement pour les traductions et les rotations inférieures à la taille de la foulée. Si supérieur, pas d'invariance

feynman
la source
1
pourriez-vous développer un peu? Nous encourageons les réponses sur ce site à être un peu plus détaillées que cela (en ce moment, cela ressemble plus à un commentaire). Je vous remercie!
Antoine