激活函数(Activation functions)

1、sigmoid函数

特点:

  • sigmoid函数在x处导数是可以由sigmoid在x处的函数值计算得到的,不需要求导操作,这可以减少在反向传播中的计算量。

  • 将输入特征值压缩到0~1之间,使得在深层网络中可以保持数据幅度不会出现较大的变化;
    (在机器学习中常利用(0, 1)区间的数值来表示以下意义:

    1. 概率分布:根据概率公理化定义知道,概率的取值范围在[0, 1]之间,Sigmoid函数的(0, 1)区间的输出和概率分布的取值范围[0, 1]契合。因此可以利用Sigmoid函数将输出转译为概率值的输出。这也是Logistic(逻辑回归)使用Sigmoid函数的原因之一;

    2. 信号强度:一般可以将0~1理解成某种信号的强度。由于RNN循环神经网络只能够解决短期依赖的问题,不能够解决长期依赖的问题,因此提出了LSTM、GRU,这些网络相比于RNN最大的特点就是加入了门控制,通过门来控制是否允许记忆通过,而Sigmoid函数还能够代表门控值(Gate)的强度,当Sigmoid输出1的时候代表当前门控全部开放(允许全部记忆通过),当Sigmoid输出0的时候代表门控关闭(不允许任何记忆通过)。)

  • 在物理意义上最为接近生物神经元;

  • 其输出可以直接看作概率分布,使得神经网络可以更好地和统计学习模型进行结合。

  • 其可以看作一个软性门(Soft Gate),用来控制其他神经元输出信息的数量。

缺点:

  • 当输入非常大或非常小的时候,输出基本为常数,即变化非常小,进而导致梯度接近于0;(Sigmoid函数是连续可导函数,在零点时候导数最大,并在向两边逐渐降低,可以简单理解成输入非常大或者非常小的时候,梯度为0没有梯度,如果使用梯度下降法,参数得不到更新优化。)

  • 输出不是0均值,进而导致后一层神经元将得到上一层输出的非0均值的信号作为输入。随着网络的加深,会改变原始数据的分布趋势;

  • 梯度可能会过早消失,进而导致收敛速度较慢

  • 幂运算相对耗时。

2、Tanh函数

特点:

  • Tanh函数的输出范围在-1~1之间;解决了输出不是0均值导致随着网络的加深会改变原始数据的分布趋势的问题;

  • Tanh函数的导数取值范围在01之间,优于sigmoid函数的0.25,一定程度上缓解了梯度消失的问题;

  • Tanh函数在原点附近与y=x函数形式相近,当输入的激活值较低时,可以直接进行矩阵运算,训练相对容易;

  • tanh的输出和输入能够保持非线性单调上升和下降的关系,符合反向传网络梯度的求解,容错性好,有界;

缺点:

  • 梯度消失问题仍然存在

  • 幂运算的相对耗时问题仍然存在

3、ReLU

特点:

  • 在输入为负值时,输出均为0值,在输入大于0的区间,输出y=x,可见该函数并非全区间可导的函数

  • 相较于sigmoid函数以及Tanh函数来看,在输入为正时,Relu函数不存在饱和问题,即解决了梯度消失问题,使得深层网络可训练

  • 计算速度非常快,只需要判断输入是否大于0值;计算量变小。ReLU函数和Sigmoid函数相比少了复杂的幂运算,计算量变小;

  • 收敛速度远快于sigmoid以及Tanh函数;

  • Relu输出会使一部分神经元为0值,在带来网络稀疏性的同时,也减少了参数之间的关联性,一定程度上缓解了过拟合的问题;

  • 增大了网络的稀疏性。当输入值x < 0的时候,该层的输出为0,训练完成后为0的神经元越来越多,稀疏性会变大,网络的协同性会被破坏,更够迫使网络学习到更一般性的特征,泛化能力会变强。这也正是dropout的原理;

缺点:

  • Relu函数的输出也不是以0为均值的函数;

  • 存在Dead Relu Problem,即某些神经元可能永远不会被激活,进而导致相应参数一直得不到更新,产生该问题主要原因包括参数初始化问题以及学习率设置过大问题;

  • 当输入为正值,导数为1,在“链式反应”中,不会出现梯度消失,但梯度下降的强度则完全取决于权值的乘积,如此可能会导致梯度爆炸问题;

以前保存在本地的笔记,应该参考了其他博主的博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值