45 votes

Que fait l'opération `conv2d_transpose()` de TensorFlow ?

La documentation relative à la conv2d_transpose() n'explique pas clairement ce qu'il fait :

La transposition de conv2d.

Cette opération est parfois appelée "déconvolution" après que Réseaux déconvolutionnels mais c'est en fait la transposition (gradient) de conv2d plutôt qu'une déconvolution réelle.

J'ai parcouru le document que le doc indique, mais cela n'a pas aidé.

Que fait cette opération et quels sont les exemples de raisons pour lesquelles vous voudriez l'utiliser ?

1voto

jodag Points 4478

Toute transformation linéaire, y compris la convolution, peut être représentée par une matrice. Une convolution transposée peut être interprétée comme une transposition de la matrice de convolution avant son application. Par exemple, considérons la convolution 1D simple avec une taille de noyau de 3 et un pas de 2.

enter image description here

Si nous transposons la matrice de convolution et l'appliquons à un vecteur à 3 éléments, nous obtenons l'opération de convolution transposée.

enter image description here

Au premier abord, cela ne ressemble plus à une opération de convolution. Mais si nous insérons d'abord quelques zéros dans le vecteur y, nous pouvons réécrire ceci de manière équivalente comme suit

enter image description here

Cet exemple démontre que la transposition d'un opérateur de convolution en strides est équivalente à un sur-échantillonnage d'un facteur du stride en insérant des zéros, puis en ajoutant un peu de remplissage supplémentaire, et enfin en effectuant une convolution non striée (c'est-à-dire stride=1).

Pour les convolutions transposées de dimension supérieure, la même méthode d'upsampling-by-inserting-zeros est appliquée à chaque dimension avant d'effectuer une convolution unstridée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X