Question

Je suis captivé par autoencoders et vraiment comme l'idée de convolution. Il semble bien que les deux Théano et tensorflow que conv2d soutien pour aller d'un tableau 2D-RVB (n tableaux 3D) à un tableau d'images plus approfondies. Cela est logique du calcul tenseur-produit traditionnel, c_ijkl = {somme a_ijk * b_klm}, mais signifie qu'il est difficile de « de-convolve » une image.

Dans les deux cas, si j'ai une image (en #BATCH, profondeur, hauteur, largeur forme), je peux faire une conv pour obtenir (#BATCH, num_filters, hauteur / k, largeur / k). Je voudrais vraiment faire le contraire, comme allant de (#BATCH, some_items, hauteur / k, largeur / k) (#BATCH, profondeur, hauteur, largeur).

tensorflow avait la fonction deconv2d cachée pendant un certain temps (en 0,6, je pense, non documentée), mais je voudrais savoir s'il y a un truc de maths que je peux utiliser pour obtenir une plus grande production dans les deux dernières dimensions après une convolution que l'entrée. Je me contenterais d'une série d'opérations différentiables, comme conv -> Redimensionnement, mais je veux éviter de faire juste une multiplication matricielle dense -.> Redimensionnement comme je l'ai fait jusqu'à présent

EDIT: A ce jour (17/02/2016) tensorflow 0,7 a la méthode tf.depth_to_space, ce qui contribue grandement à cet effort. ( https://www.tensorflow.org/api_docs/python/tf/depth_to_space) J'aime toujours une solution Théano, aussi, pour compléter ma compréhension de la matière.

Était-ce utile?

La solution

Les choses ont changé depuis tensorflow cette question a été posée, mais voici un lien à faire conv2d_transpose . Je pense que c'est ce que vous cherchez

Autres conseils

ont peut-être un coup d'oeil à ce poste . Vous pouvez faire une convolution qui produit une sortie de taille similaire et « unpool » les cartes de fonction.

Je ne sais pas si vous cherchez des poids de filtre dans la couche deconvolutional être liée à la couche convolutionnel correspondante, mais soit il est possible lasagne qui fonctionne sur Théano. Une mise en œuvre de la couche non liée deconvolutional qui délivre en sortie une image plus grande que son entrée: https://groups.google.com/forum/?hl=en#!topic/lasagne-users/9H6-mmnkHX0

Licencié sous: CC-BY-SA avec attribution
scroll top