model3=models.Sequential()
model3.add(Conv2D(32,
(3,3),padding='same',kernel_regularizer=reg,input_shape=X_train.shape[1:]))
model3.add(BatchNormalization(axis=-1))
model3.add(Activation(activation='relu'))
model3.add(Dropout(0.2))
model3.add(Conv2D(32,(3,3),padding='same',kernel_regularizer=reg))
model3.add(BatchNormalization(axis=-1))
model3.add(Activation(activation='relu'))
model3.add(Dropout(0.2))
我很想知道两个卷积层之间的 dropout 是如何工作的。L
如果层中特征图的维度是(m, n_h, n_w, n_c)
,并且大小的过滤器(f, f, n_c)
在其上进行卷积,我们是否在执行卷积之前随机关闭n_c
层中通道中的一些单元L
?MaxPool 层上的 Dropout 很简单。
批量标准
conv2d_1 (Conv2D) (None, 32, 32, 32) 896
_________________________________________________________________
batch_normalization_1 (Batch (None, 32, 32, 32) 128
________________________________________________________________
第三列是层的参数个数。对于 batchnorm 层,我们是否对批次中的每个特征图进行规范化,以便对于每个特征图我们将有 4 个参数,因此在我的情况下,我有32*4 = 128
参数?如果我错了,有人可以纠正我。我假设我的假设是错误的,因为我在某个地方读到了我们在整个渠道中标准化的内容。但这并没有计算层的参数数量。