【问题标题】:Does a maxpooling layer reduce the number of parameters in a network?最大池化层是否会减少网络中的参数数量?
【发布时间】:2019-04-28 09:18:09
【问题描述】:

我定义了一个简单的网络:

model = Sequential()
model.add(Conv1D(5, 3, activation='relu', input_shape=(10, 1),name="conv1",padding="same"))
model.add(MaxPooling1D())
model.add(Conv1D(5, 3, activation='relu',name="conv2",padding="same"))
model.add(MaxPooling1D())
model.add(Dense(1, activation='relu',name="dense1"))
model.compile(loss='mse', optimizer='rmsprop')

图层的形状如下:

conv1-(None, 10, 5)

max1-(None, 5, 5)

conv2-(None,5,5)

max2-(None,2,5)

dense1-(None,2,1)

该模型共有 106 个参数,但是如果我删除最大池化层,则模型摘要如下所示:

conv1-(None, 10, 5) 

conv2-(None,10,5)

dense1-(None,10,1)

在这两种情况下,总参数仍然是 106,但为什么通常写最大池化层减少参数数量?

【问题讨论】:

    标签: keras conv-neural-network max-pooling


    【解决方案1】:

    哪种网络?这完全取决于你。

    • 转换层数:无
    • 密集层:
      • 直接在转换或池化之后:
        • 使用“channels_last”:否
        • 使用“channels_first”:是
      • 展平图层后:是
      • 在 GlobalPooling 层之后:否

    您的网络:没有。

    说明

    • Poolings 和 GlobalPoolings 改变图像大小,但不改变通道数
    • Conv 层是固定大小的过滤器,沿着图像移动。过滤器大小与图像大小无关,因此没有变化。过滤器取决于内核大小和通道
    • 密集层仅适用于最后一个维度。
      • 如果最后一个维度是通道,则池化层不会影响它
      • 如果最后一个维度是图像面,则会受到影响
    • 扁平层将图像大小和通道转换为单一维度。

    【讨论】:

      猜你喜欢
      • 2020-07-27
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多