在"ResNet50 模型 for Keras "中,为什么使用 1x1 卷积,步幅 = 2?



ResNet50 在这里: https://github.com/fchollet/deep-learning-models/blob/master/resnet50.py

在"conv_block"中,第一层是这样的:

x = Conv2D(filters1 = 64,           # number of filters
kernel_size=(1, 1),      # height/width of filters
strides=(2, 2)           # stride
)(input_tensor)

我的问题是:

这一层不会错过一些像素吗?
这个 1x1 卷积只看 1 个像素,然后移动 2 个像素(步幅=2(。

在Resnet的原始论文中提到:

卷积层大多有3×3个滤波器和 遵循两个简单的设计规则:(i( 对于相同的输出 要素地图大小,图层具有相同数量的过滤器;(ii(如果特征图大小减半,则过滤器的数量增加一倍,以保持每层的时间复杂度。我们直接通过以下方式执行下采样 步幅为 2 的卷积层

因此,您可以将其视为池化层的替代品,与计算整个激活图然后池化相比,它还降低了整个模型的计算复杂度。

最新更新