我们需要为以下 CNN 模型优化多少个模型参数?

How many model parameters do we need to optimize for the following CNN model?

我们使用以下卷积神经网络对一组 32×32 灰度图像进行分类(因此输入大小将为 32$\times$32$\times$1):

  1. 第 1 层:具有 ReLU 非线性激活函数的卷积层,100 个 5×5 过滤器,步幅为 1。

  2. 第 2 层:2×2 最大池化层

  3. 第 3 层:具有 ReLU 非线性激活函数的卷积层,50 个 3×3 滤波器,步幅为 1。

  4. 第 4 层:2×2 最大池化层

  5. 第5层:全连接层

  6. 第6层:分类层

我们需要在第一层和第二层优化多少个模型参数(假设使用偏差项)

可以使用tensorflow显示可训练参数的个数:

import tensorflow as tf
from tensorflow.keras import layers

def make_model():
    model = tf.keras.Sequential()
    model.add(layers.Conv2D(100, (5, 5), strides=1,input_shape=[32, 32, 1]))
    model.add(layers.LeakyReLU())
    model.add(layers.MaxPooling2D(pool_size=(2, 2)))

    return model

model=make_model()

model.summary()

这给出了 2600 个可训练参数和 0 个不可训练参数。