web-dev-qa-db-fra.com

Comment fonctionne le désengagement et la déconvolution dans DeConvNet

J'ai essayé de comprendre comment fonctionne le désengagement et la déconvolution dans DeConvNets.

Désengagement

Pendant la phase de désengagement, les activations sont restaurées aux emplacements des sélections d'activation maximales, ce qui est logique, mais qu'en est-il des activations restantes? Ces activations restantes doivent-elles également être restaurées ou interpolées d'une manière ou simplement remplies sous forme de zéros dans la carte non groupée.

Déconvolution

Après la section de convolution (c'est-à-dire la couche de convolution, Relu, Pooling), il est courant d'avoir plus d'une sortie de carte d'entités, qui serait traitée comme des canaux d'entrée pour les couches successives (Deconv ..). Comment ces cartes d'entités pourraient-elles être combinées ensemble pour obtenir la carte d'activation avec la même résolution que l'entrée d'origine?

12
VM_AI

1 Désengagement.

Dans le papier d'origine sur le désengagement, les activations restantes sont mises à zéro.

2 Déconvolution.

Une couche déconvolutionnelle n'est que la transposition de sa couche conv correspondante. Par exemple. si la forme de la couche conv est [height, width, previous_layer_fms, next_layer_fms], la couche deconv aura la forme [height, width, next_layer_fms, previous_layer_fms]. Les poids des couches conv et deconv sont partagés! (voir cet article par exemple)

13
etoropov

Désengagement

Comme l'a écrit etoropov, vous pouvez lire sur le désengagement dans Visualizing and Understanding Convolutional Networks par Zeiler et Ferguson:

Désengagement: Dans le convnet, l'opération de regroupement maximale n'est pas inversible, mais nous pouvons obtenir une inverse approximative en enregistrant les emplacements des maxima dans chaque région de regroupement dans un ensemble de variables de commutation. Dans le déconvnet, l'opération de désengagement utilise ces commutateurs pour placer les reconstructions de la couche au-dessus dans des emplacements appropriés, en préservant la structure du stimulus. Voir Fig. 1(bottom) pour une illustration de la procédure.

Déconvolution

La déconvolution fonctionne comme ceci:

  • Vous ajoutez un remplissage autour de chaque pixel
  • Vous appliquez une convolution

Par exemple, dans l'illustration suivante, l'image bleue d'origine est remplie de zéros (blanc), le filtre de convolution gris est appliqué pour obtenir la sortie verte.

Source: Que sont les couches déconvolutionnelles?

11
Martin Thoma