SpatialDropout与Dropout区别

SpatialDropout是Tompson等人在图像领域提出的一种dropout方法。普通的dropout会随机地将部分元素置零,而SpatialDropout会随机地将部分区域置零,该dropout方法在图像识别领域实践证明是有效的。Dropout操作随机地将部分元素置零,并且对非零部分做了一个尺度变换。尺度变换的幅度跟初始化的drop_rate有关。
作用
一般,我们会将dropout理解为“一种低成本的集成策略”,这是对的,具体过程可以大概这样理解:
经过上述置零操作后,我们可以认为零的部分是被丢弃的,丢失了一部分信息。因而,逼着模型用剩下的信息去拟合目标。然而每次dropout是随机的。我们就不能侧重于某些节点,所以总的来说就是—每次逼着模型用少量的特征学习,每次被学习的特征又不同,那么就是说,每个特征都应该对
模型的预测有所贡献(而不是侧重于部分特征,导致过拟合)。
左:普通的dropout,右:SpatialDropout1D
通的dropout会随机独立地将部分元素置零,而SpatialDropout1D会随机地对某个特定的纬度全部置零。因此SpatialDropout1D需要指定Dropout维度,即对应dropout函数中的参数noise_shape。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码定义了一个 EEGNet 模型,它是一种用于脑电信号分类的神经网络。该模型使用了卷积层、批量归一化层、深度可分离卷积层、池化层、dropout层和全连接层等不同的层次。其中,输入层为一个形状为 (Chans, Samples, 1) 的张量,表示处理的脑电信号数据。下面是每个层次的具体操作: 1. Conv2D 层:使用大小为 (1, kernLength) 的卷积核对输入张量进行卷积操作,产生 F1 个特征图,padding 采用 'same' 模式,表示输出与输入具有相同的空间维度。使用 use_bias=False 取消偏置项,以避免过拟合。 2. BatchNormalization 层:对上一层的输出进行批量归一化操作,以加速训练过程并减少过拟合。 3. DepthwiseConv2D 层:使用大小为 (Chans, 1) 的深度可分离卷积核对输入张量进行卷积操作,产生 F1*D 个特征图,其中 D 是深度可分离卷积的深度乘数。使用 depth_multiplier=D 可以减少参数数量,提高运算效率。使用 depthwise_constraint=max_norm(1.) 对卷积核进行约束,以防止梯度爆炸。 4. Activation 层:使用激活函数 ELU 对上一层的输出进行激活操作,增强非线性表达能力。 5. AveragePooling2D 层:对上一层的输出进行平均池化操作,以减少特征图的空间维度,从而提取更加抽象的特征。 6. Dropout 层:对上一层的输出进行随机失活操作,以减少过拟合。 7. SeparableConv2D 层:使用大小为 (1, 16) 的可分离卷积核对上一层的输出进行卷积操作,产生 F2 个特征图,padding 采用 'same' 模式,表示输出与输入具有相同的空间维度。 8. BatchNormalization 层:对上一层的输出进行批量归一化操作,以加速训练过程并减少过拟合。 9. Activation 层:使用激活函数 ELU 对上一层的输出进行激活操作,增强非线性表达能力。 10. AveragePooling2D 层:对上一层的输出进行平均池化操作,以减少特征图的空间维度,从而提取更加抽象的特征。 11. Dropout 层:对上一层的输出进行随机失活操作,以减少过拟合。 12. Flatten 层:将上一层的输出展开为一维向量,以便进行全连接操作。 13. Dense 层:使用大小为 nb_classes 的全连接层对上一层的输出进行线性变换,产生 nb_classes 个输出。 14. Activation 层:使用 softmax 函数对上一层的输出进行激活操作,使得输出符合概率分布。返回最终的模型对象,包含输入和输出张量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值