dropout层_神经网络pooling层、dropout层、BN层、全连接层

dropout层

  • 要解决的问题:在机器学习的一些模型中,如果模型的参数太多,而训练样本又太少的话,这样训练出来的模型很容易产生过拟合现象。
  • 内容:在训练时, 每个神经元以概率p保留, 即以1-p的概率停止工作, 每次前向传播保留下来的神经元都不同。
  • 好处:1. 多模型的平均: 不同的固定神经网络会有不同的过拟合, 多个取平均则有可能让一些相反的拟合抵消掉, 而Dropout每次都是不同的神经元失活, 可以看做是多个模型的平均, 类似于多数投票取胜的策略。 2. 减少神经元间的依赖: 由于两个神经元不一定同时有效, 因此减少了特征之间的依赖, 迫使网络学习有更为鲁棒的特征, 因为神经网络不应该对特定的特征敏感, 而应该从众多特征中学习更为共同的规律,这也起到了正则化的效果。 3. 生物进化: Dropout类似于性别在生物进化中的角色, 物种为了适应环境变化, 在繁衍时取雄性和雌性的各一半基因进行组合, 这样可以适应更复杂的新环境, 避免了单一基因的过拟合, 当环境发生变化时也不至于灭绝。

0f6235c8adf970e32870bfbf72aad605.png

pytorch举例:

# PyTorch将元素置0来实现Dropout层, 第一个参数为置0概率, 第二个为是否原地操作
dropout = nn.Dropout(0.5, inplace=False)

pooling层

  • 本质:降采样
  • 作用:降低特征图的参数量, 提升计算速度, 增加感受野。可以使模型更关注全局特征而非局部出现的位置。可以保留一些重要的特征信息, 提升容错能力, 并且还能在一定程度上起到防止过拟合的作用 。
  • 分类:最大值池化,平均值池化
  • 参数:kernel_size, stride

pytorch举例:

max_pooling = nn.MaxPool2d(2, stride=2)
aver_pooling = nn.AvgPool2d(2, stride=2)

BN层

  • 要解决的问题: 卷积网络被设计得越来越深, 然而网络却变得难以训练收敛与调参
  • 内容:1. 对每一个batch的输入特征进行白化操作, 即去均值方差过程。

56fec69d4bf011086f5f4a0d8aea8846.png

ab49690f5823bb2ff8ef16807af8ed25.png
  • 进行线性变换操作

665973326f471542bbc80d05c00fafde.png

γ与β为新引进的可学习参数

  • 优点:缓解梯度消失, 加速网络收敛。简化调参, 网络更稳定。防止过拟合。

pytorch使用:

1 import torch
 2 from torch import nn
 3 # 使用BN层需要传入一个参数为num_features, 即特征的通道数
 4 bn = nn.BatchNorm2d(64)
 5 print(bn)
 6 >> BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
 7 
 8 # eps为公式中的є, momentum为均值方差的动量, affine为添加可学习参数
 9 input = torch.randn(4, 64, 224, 224)
10 output = bn(input)
11 # BN层不改变输入、 输出的特征大小
12 print(output.shape)
13 >>  torch.Size([4, 64, 224, 224])

全连接层

  • 内容: 每一个节点都与上下层的所有节点相连, 输入与输出都被延展成一维向量
  • 缺点:最致命的问题在于其参数量的庞大。存在着大量的参数冗余, 也容易发生过拟合的现象。

参考链接:(神经网络基本组成 - 池化层、Dropout层、BN层、全连接层 13)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值