第3.1章 卷积神经网络(CNN)——Conv、Pool、FC、Activation Function、BN各个层的作用及原理

【详见】卷积网络中三种类型的层

一、Convolution(CONV)

作用: 通过卷积层中卷积核运算,提取卷积核希望提取的特征

二、Pooling(POOL)

作用: Andrew Ng 对池化层的作用是这样解释的:“ConvNets often also use pooling layers to reduce the size of the representation, to speed the computation, as well as make some of the features that detects a bit more robust”。即减小图像大小、加速计算、使其检测出的特征更加健壮

三、Fully Connected(FC)

作用: 分类

四、Activation Function

【详见】第1.2章 神经网络中隐藏层、偏置单元、激活函数的作用(使用激活函数的原因)
作用: 为了得到更复杂的函数关系

五、Batch Normalization(BN)

【摘自】深度学习中 Batch Normalization为什么效果好?—— 答主:言有三
【摘自】帮助理解:参数优化方法

1)BN背景:

  • 在深度学习中,因为网络的层数非常多,如果数据分布在某一层开始有明显的偏移,随着网络的加深这一问题会加剧(这在BN的文章中被称之为internal covariate shift),进而导致模型优化的难度增加,甚至不能优化。所以,归一化就是要减缓这个问题。(防止“梯度弥散”
  • 随机梯度下降法(SGD)对于训练深度网络简单高效,但是需要人为选择参数,使用BN之后,可以不需要那么刻意的慢慢调整参数

2)BN的本质原理: 在网络的每一层输入的时候,插入了一个归一化层,也就是先做一个归一化处理(归一化至:均值0、方差为1),然后再进入网络的下一层。


如果是仅仅使用归一化公式,对网络某一层A的输出数据做归一化,然后送入网络下一层B,这样是会影响到本层网络A所学习到的特征的

比如网络中间某一层学习到特征数据本身就分布在S型激活函数的两侧,强制把它归一化处理后,相当于这一层网络所学习到的特征分布被搞坏了,这可怎么办?

于是文献使出了一招惊天地泣鬼神的招式:变换重构,引入了可学习参数γ、β,这就是算法关键之处。


3)BN作用: 通常BN网络层用在卷积层后,用于重新调整数据分布,解决传播过程中的梯度问题

4)BN带来的好处:

  • 减轻了对参数初始化的依赖,这是利于调参的朋友们的。
  • 训练更快,可以使用更高的学习率。
  • 一定程度上增加了泛化能力,dropout等技术可以去掉。
  • 8
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值