デコンボリューション(畳み込み転置)

デコンボリューションの計算ステップ

そのイメージは、だから、

 

コンボリューションカーネルです

 

 

 

ケース1

あなたがしたい場合は、出力サイズは5×5、ステップストライド= 2の数、tensorflowコマンドです。

transpose_conv = tf.nn.conv2d_transpose(値= 入力、
                                        フィルタ= カーネル、
                                        output_shape = [1,5,5,1 ]、
                                        進歩= 2  パディング= 'SAME')

transpose_convコマンドを実行するとき、tensorflowは、最初のエラーを指示する、確立されていない場合に、確立された畳み込みタイプ、入力サイズ、出力サイズおよびステップの数との関係を計算し、確立された場合、次の操作を行います。

N =ストライド:1ステップの数は今や充填ストライドの内部に入るように進み、ここで進歩、すなわち、充填数との間のN個の各入力要素との間の0,0ストライドの関係は、入力増幅器の倍数であると理解しました-1

ここでは、例えば、ストライドを例示= 2、すなわち充填0との間の各入力要素:

[公式]

2.次に、コンボリューションは、入力の入力満たすカーネルパッド畳み込みステップフォワードストライド= 1のために、フォワード畳み込み式に従って出力サイズは:  [公式] 出力サイズが5×5であり得るため、我々は、以下の式をデコンボリューションoutput_shape出力サイズパラメータが両方とも同じ、それを計算することができ、5のように与えられ、結果は次のとおり

[公式]

tensorflowの業績と同じ。

ケース2

私たちは6に変更し、出力サイズoutput_shapeで1ケなり、他のパラメータは、コマンドtensorflow、変更されていません。

transpose_conv = tf.nn.conv2d_transpose(値= 入力、
                                        フィルタ= カーネル、
                                        output_shape = [1,6,6,1 ]、
                                        進歩= 2  パディング= 'SAME')

コンボリューションの種類が同じである、我々は最初の0を中心に周辺部に記入する必要があります。

[公式]

見つかった、3x3の畳み込みカーネルと充填後の入力出力サイズの大きさを埋めるために続けて0を必要とする6×6のoutput_shapeに達していない、5×5のコンボリューションされ、次に、優先度算出ルールtensorflow左および上側に充填されています行0、入力充填は次のようになります。

[公式]

次に、3×3の充填後に再び入力コンボリューションカーネルのコンボリューション結果です。

[公式]

tensorflowの業績と同じ。

 

参考文献:

https://zhuanlan.zhihu.com/p/48501100

おすすめ

転載: www.cnblogs.com/Peyton-Li/p/11982474.html