0

Je lisais un papier here. Les auteurs de l'article ont proposé un réseau de générateurs symétriques qui contient une pile de couches de convolution suivie d'un empilement de couches de convolution (convolution transposée). Il est également mentionné qu'une foulée de 1 avec un rembourrage approprié est utilisée pour s'assurer que la taille de la carte de caractéristiques est la même que la taille de l'image d'entrée. Ma question est de savoir s'il n'y a pas de sous-échantillonnage, alors pourquoi les couches de convergence transposées sont-elles utilisées? Le générateur ne peut-il pas être construit uniquement avec des couches de convolution? Ai-je manqué quelque chose à propos des couches de convolution transposées ici (est-ce qu'elle est utilisée à d'autres fins)? S'il vous plaît aider.nécessité de convolution transposée lorsque les cartes de caractéristiques ne sont pas sous-échantillonnées

Mise à jour: Je suis en train de rouvrir cette question, je suis tombé sur du papier this qui stipule dans la section 2.1.1 que « déconvolution est utilisé pour compenser les détails ». Cependant, je ne suis pas en mesure d'apprécier cela parce qu'il n'y a pas de sous-échantillonnage des cartes de caractéristiques dans le modèle proposé. Quelqu'un peut-il expliquer pourquoi la déconvolution est préférée à la convolution ici? Qu'est-ce qui rend la couche de déconvolution plus performante que la convolution dans ce cas?

Répondre

1

En théorie, la convolution spatiale peut être utilisée comme un remplacement de la convolution fractionnée. Typiquement, ceci est évité car, même sans un certain type de pool, les couches convolu- tionnelles peuvent produire des sorties plus petites que leurs entrées correspondantes (voir les formules pour owidth et oheight dans les documents here). En utilisant nn.SpatialConvolution pour produire des sorties plus grandes que, les entrées nécessiteraient une grande quantité de remplissage nul inefficace pour atteindre la taille d'entrée d'origine. Pour rendre le processus inverse plus facile, la torche functionality a été ajoutée pour la convolution fractionnée. Ceci étant dit, ce cas est un peu différent puisque la taille à chaque couche reste constante. Il est donc tout à fait possible que l'utilisation de nn.SpatialConvolution pour l'ensemble du générateur fonctionnera. Vous voulez toujours reproduire les motifs nInputPlane et nOutputPlane de l'encodeur pour passer avec succès de l'espace fonctionnel à l'espace d'entrée. Il est probable que les auteurs ont mentionné le processus de décodage comme utilisant une convolution de transposition pour des raisons de clarté et de généralité. L'article discute de la convolution et de la convolution fractionnée, et fournit de jolis graphismes que je ne souhaite pas copier ici.

+0

Salut, j'ai rouvert cette question après avoir lu un nouveau papier. Je vous demande de lire la question mise à jour s'il vous plaît. Je serai heureux si vous pouviez aider! – kunal18