通常在 CNN 的第一个时期设置的过滤器是什么

What is the filter normally set to at the first epoch of a CNN

默认情况下,对于一个简单的 CNN(如下图所示的第一层),通常在第一个 epoch 设置的过滤器是什么?

model = Sequential()
model.add(Conv2D(filters=16, kernel_size=2, input_shape=(num_rows, num_columns, num_channels), activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))

CNN 与 Keras 中的其他层没有什么不同。与其他层一样,它们是随机初始化的。但是有很多不同类型的函数来初始化它们。你可以像下面的语法一样初始化一个 CNN

model.add(Conv2D(number_of_filters, (3, 3), activation='relu', input_shape=input_shape, kernel_initializer=your_function, data_format='channels_first'))

这是 Keras 内置的一些函数,用于初始化 CNN

tf.keras.initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None)
tf.keras.initializers.RandomUniform(minval=-0.05, maxval=0.05, seed=None)
tf.keras.initializers.TruncatedNormal(mean=0.0, stddev=0.05, seed=None)
tf.keras.initializers.Zeros()
tf.keras.initializers.Ones()
tf.keras.initializers.GlorotNormal(seed=None)
tf.keras.initializers.GlorotUniform(seed=None)

有关更多信息,请查看 https://keras.io/api/layers/initializers/