我想了解反卷积后图像的形状如何变化?我试图从 neon 中理解卷积自动编码器的示例代码。
layers = [Conv((4, 4, 8), init=init_uni, activation=Rectlin()),
Pooling(2),
Conv((4, 4, 32), init=init_uni, activation=Rectlin()),
Pooling(2),
Deconv(fshape=(3, 3, 8), init=init_uni, strides=2, padding=1),
Deconv(fshape=(3, 3, 8), init=init_uni, strides=2, padding=1),
Deconv(fshape=(4, 4, 1), init=init_uni, strides=2, padding=0)]
每一层的input_shapes和output_shapes如下
Convolution Layer 'ConvolutionLayer': 1 x (28x28) inputs, 8 x (25x25) outputs, padding 0, stride 1
Pooling Layer 'PoolingLayer': 8 x (25x25) inputs, 8 x (12x12) outputs
Convolution Layer 'ConvolutionLayer': 8 x (12x12) inputs, 32 x (9x9) outputs, padding 0, stride 1
Pooling Layer 'PoolingLayer': 32 x (9x9) inputs, 32 x (4x4) outputs
Deconvolution Layer 'DeconvolutionLayer': 32 x (4x4) inputs, 8 x (7x7) outputs
Deconvolution Layer 'DeconvolutionLayer': 8 x (7x7) inputs, 8 x (13x13) outputs
Deconvolution Layer 'DeconvolutionLayer': 8 x (13x13) inputs, 1 x (28x28) outputs
我了解卷积后形状如何变化(“有效”)。(感谢http://cs231n.github.io/convolutional-networks/)当使用反卷积(全卷积)时,步幅如何影响矩阵的大小?