我被自动编码器迷住了,真的很喜欢卷积的想法。尽管Theano和TensorFlow都仅支持Conv2D从2D-RGB(N 3D数组)到一系列更高深度的图像。从传统的张量产品数学,c_ijkl = sum {a_ijk*b_klm}中,这是有意义的,但是意味着很难'de-convolve'图像。

在这两种情况下,如果我都有图像(以#batch,深度,高度,宽度形式),则可以进行转换(#batch,num_filters,高度/k,width/k)。我真的很想做相反的事情,例如从(#batch,some_items,height/k,width/k)到(#batch,depth,高度,宽度)。

TensorFlow具有隐藏的DECONV2D功能一段时间(我认为在0.6中,无证件),但是我想知道在卷积之后,我是否可以使用数学技巧来在最后两个维度中获得更大的输出。我会选择一系列可区分的操作,例如conv->调整大小,但是我想避免仅做一个密集的矩阵乘法 - >调整大小就像我到目前为止所做的那样。

编辑:截至今天(2016/02/17)TensorFlow 0.7具有tf.depth_to_space方法,该方法在这项工作中有很大帮助。 ((https://www.tensorflow.org/api_docs/python/tf/depth_to_space)我仍然会喜欢基于Theano的解决方案,以完成我对材料的理解。

有帮助吗?

解决方案

自从问这个问题以来,张力流的情况已经改变,但这是执行的链接 conv2d_transpose. 。我认为那是你在寻找的

其他提示

也许看看 这个 邮政。您可以进行卷积,该卷积产生相似大小的输出,然后“不明”这些特征地图。

不知道您是否正在寻找与相应的卷积层绑定的反向卷积层中的滤波器权重,但是在theano上运行的千层面是可能的。反卷积层的未连接的实现,该层输出的图像大于其输入: https://groups.google.com/forum/?hl = en#!

许可以下: CC-BY-SA归因
scroll top