《CNN笔记总结系列之三》激励层

-------本文仅为学习笔记,不做任何商业用途-------

前言

    《CNN笔记总结系列》前两部分简要介绍了CNN的数据输入层以及卷积计算层,这一部分紧接着上述内容进行激励层的介绍。

一、激励层简要介绍

    在神经网络中,神经元向后传递信息需要与阈值做比较来**神经元从而向后传递信息,而同样在CNN卷积神经网络中,在卷积后同样需要**过程,而把卷积层输出结果做非线性映射就是激励层的作用。

    为什么要用**函数?

    如果不用**函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。如果使用的话,**函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。除此之外,还可以获得更为强大的表达能力。
《CNN笔记总结系列之三》激励层

二、神经网络**函数

2.1 Sigmoid函数

    Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间。公式和图像如下:
《CNN笔记总结系列之三》激励层
《CNN笔记总结系列之三》激励层

  • 优点:取值范围(0,1)、比较简单且容易理解;
  • 缺点:容易出现饱和以及终止梯度传递,即死神经元,同时函数输出没有0中心化。

2.2 Tanh函数

    Tanh是双曲函数中的一个,Tanh()为双曲正切。在数学中,双曲正切“Tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。公式和图像如下:
《CNN笔记总结系列之三》激励层
《CNN笔记总结系列之三》激励层

  • 优点:取值范围(-1,1),容易理解且函数输出由0中心化;
  • 缺点:容易出现饱和以及终止梯度传递,即死神经元。

三、卷积神经网络**函数(ReLU)

    由于卷积神经网络的**函数众多,这里只介绍最基本的ReLU函数。
    Relu**函数(The Rectified Linear Unit),用于隐层神经元输出。公式和图像如下:
《CNN笔记总结系列之三》激励层
《CNN笔记总结系列之三》激励层

  • 优点:与上述两个函数相比提升了收敛速度,且梯度求解公式简单,不会产生梯度消失和梯度爆炸。pic_center
  • 缺点:没有边界,可以使用变种ReLU:min(max(0,x),6);且比较脆弱,容易陷入死神经元,可以通过较小学习率解决。

    与Sigmoid函数对比

  • 相对之下ReLU函数单侧可以起到抑制作用
  • ReLU具有相对更宽阔的兴奋边界
  • ReLU具有稀疏**性
  • ReLU具有更快的收敛速度

四、激励层总结

    CNN卷积神经网络尽量避免使用sigmoid函数,如需使用可以在全连接层使用;除此之外,CNN应首先考虑ReLU**函数,当效果不佳时,可考虑使用其他更为复杂的**函数。

Reference

[1]https://www.jianshu.com/p/1ea2949c0056
[2]https://baike.baidu.com/item/%E6%BF%80%E6%B4%BB%E5%87%BD%E6%95%B0/2520792?fr=aladdin
[3]https://blog.csdn.net/weixin_45407668/article/details/102888832

相关文章:

  • 2021-07-09
  • 2021-06-22
  • 2022-12-23
  • 2021-07-22
  • 2021-11-17
  • 2022-01-06
  • 2021-08-08
  • 2021-07-12
猜你喜欢
  • 2021-12-17
  • 2021-07-04
  • 2021-12-10
  • 2022-01-19
  • 2021-06-16
  • 2021-12-06
  • 2022-12-23
相关资源
相似解决方案