質問

私は自動エンコーダーに魅了されており、畳み込みのアイデアが本当に好きです。ただし、TheanoとTensorflowの両方がConv2Dのみをサポートし、2D-RGB(N 3Dアレイ)の配列から高度な画像の配列に移動するように思われます。これは、従来のテンソル製品数学、c_ijkl = sum {a_ijk*b_klm}から理にかなっていますが、画像を「描写」するのは難しいことを意味します。

どちらの場合も、画像(#バッチ、深さ、高さ、幅形式)がある場合、CONVを実行することができます(#Batch、num_filters、height/k、width/k)。 (#batch、some_items、height/k、width/k)(#batch、depth、height、width)に移行するなど、反対のことをしたいです。

Tensorflowにはしばらくの間(0.6では、文書化されていないと思います)、Deconv2D機能が隠されていましたが、入力よりも畳み込みの後、最後の2つの次元でより大きな出力を得るために使用できる数学のトリックがあるかどうかを知りたい。 Conv-> Resizeのような一連の微分可能な操作に落ち着きますが、密なマトリックスの乗算を行うことを避けたい - >私がこれまで行ってきたようにサイズを変更したいと思います。

編集:今日(2016/02/17)Tensorflow 0.7の時点で、TF.DEPTH_TO_SPACEメソッドがあり、この努力に大いに役立ちます。 (https://www.tensorflow.org/api_docs/python/tf/depth_to_space)私はまだ、材料の理解を完了するために、シアノベースのソリューションも大好きです。

役に立ちましたか?

解決

この質問が尋ねられて以来、物事はTensorflowで変化しましたが、ここに行うことへのリンクがあります conv2d_transpose. 。それがあなたが探しているものだと思います

他のヒント

多分見てください これ 役職。同様のサイズの出力を生成し、それらの機能マップを「unpool」する畳み込みを行うことができます。

デコンボリューション層のフィルター重みを探しているかどうかはわかりませんが、対応する畳み込み層に結び付けられていますが、Theanoで走るLasagneではどちらも可能です。入力よりも大きい画像を出力するデコンボリューション層の解き放たれた実装: https://groups.google.com/forum/?hl=en#!topic/lasagne-users/9h6-mmnkhx0

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top