步幅=2 的 2x2 解构内核如何工作?



例如,如果特征图是 8x8,那么我使用这样的 deconv 并且特征图变为 16x16,我很困惑以下两者之间的区别:

deconv(kernel_size=2, stride=2, padding='valid')

deconv(kernel_size=3, stride=2, padding='same')

由于它们都会使特征图大 2 倍,它们分别是如何工作的?

我想你会发现这个网页上的解释和交互式演示非常有帮助。

具体来说,无论内核大小如何,设置stride=2都会使输出形状加倍。
kernel_size确定每个输入像素影响多少输出像素。
设置stride=2kernel_size=2只是在输出上"复制"内核。考虑这个一维示例。假设你的内核是[a, b]的,你的输入是[A, B, ...]的,那么输出是

[A*a, A*b, B*a, B*b, ...]

对于kernel_size=3,输出变为

[A*a, A*b, A*c+B*a, B*b, B*c+C*a, ...] 

最新更新