激活函数

1激活函数

1.激活函数(activation function):我们知道在多层的神经网络中,上一层的神经元(neuron)信号,即线性单元wx+b算出的结果,要输入到下一层,但是这个信号在输入到下一层之前需要一次激活f = sigmoid(wx+b),或f = ReLU(wx+b)。我们需要选择一些信号在下一层的神经元激活。如何表示激活呢?就是当激活函数的输出结果是0,就代表抑制,是1,就代表激活。因为按照下一层的线性单元wx+b的计算来看,如果x接近于0,那么就会阻止x对应的权重w起作用,如果接近1,这个权重w的作用会最大,这就是激活的含义。
2.sigmod函数形状在这里插入图片描述
函数表达式:
在这里插入图片描述
函数的性质:(很重要)导数可以用自身的形式来表达。
在这里插入图片描述
sigmod函数的优点:

1)实现简单,导数易获得。
2)输出在[0,1],所以可以用作输出层,表示概率。
3)最大熵模型,受噪声数据影响较小:
sigmod函数的缺点:

1)梯度饱和现象:指在sigmoid函数曲线的两段,(x>>0或x<<0)时,梯度接近0,从而在层级神经网络结构中,导致训练缓慢,以及梯度消失现象。

而ReLu从求解梯度的角度,避免了sigmoid映射的饱和现象,但是仍旧会存在“坏死神经元”现象。
3. tanh函数
tanh是双曲函数中的一个,tanh()为双曲正切。在数学中,双曲正切“tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。
在这里插入图片描述

ReLU函数其实是分段线性函数,把所有的负值都变为0,而正值不变,这种操作被成为单侧抑制。可别小看这个简单的操作,正因为有了这单侧抑制,才使得神经网络中的神经元也具有了稀疏激活性。尤其体现在深度神经网络模型(如CNN)中,当模型增加N层之后,理论上ReLU神经元的激活率将降低2的N次方倍。这里或许有童鞋会问:ReLU的函数图像为什么一定要长这样?反过来,或者朝下延伸行不行?其实还不一定要长这样。只要能起到单侧抑制的作用,无论是镜面翻转还是180度翻转,最终神经元的输出也只是相当于加上了一个常数项系数,并不影响模型的训练结果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值