美文网首页
激活函数

激活函数

作者: 只为此心无垠 | 来源:发表于2018-12-21 14:35 被阅读9次

1、是否0均值
2、梯度消失问题
3、运算速度

sigmiod

优点:

(1)便于求导的平滑函数;
(2)能压缩数据,保证数据幅度不会有问题;
(3)适合用于前向传播。

缺点:

(1)梯度消失
(2)Sigmoid的输出不是0均值(zero-centered)的:这会导致后层的神经元的输入是非0均值的信号,这会对梯度产生影响。以 f=sigmoid(wx+b)为例, 假设输入均为正数(或负数),那么对w的导数总是正数(或负数),这样在反向传播过程中要么都往正方向更新,要么都往负方向更新,导致有一种捆绑效果,使得收敛缓慢。
(3)幂运算相对耗时

tanh正切

tanh函数将输入值压缩到 -1~1 的范围,因此它是0均值的,解决了Sigmoid函数的非zero-centered问题,但是它也存在梯度消失和幂运算的问题。

ReLU

优点:

(1)ReLU本质上是分段线性模型,前向计算非常简单,无需指数之类操作;
(2)ReLU的偏导也很简单,反向传播梯度,无需指数或者除法之类操作;
(3)ReLU不容易发生梯度发散问题,Tanh和Logistic激活函数在两端的时候导数容易趋近于零,多级连乘后梯度更加约等于0;
(4)ReLU关闭了右边,从而会使得很多的隐层输出为0,即网络变得稀疏,起到了类似L1的正则化作用,可以在一定程度上缓解过拟合。

缺点:

(1)ReLU的输出不是zero-centered;
(2)Dead ReLU Problem(神经元坏死现象):某些神经元可能永远不会被激活,导致相应参数永远不会被更新(在负数部分,梯度为0)。产生这种现象的两个原因:参数初始化问题;learning rate太高导致在训练过程中参数更新太大。 解决方法:采用Xavier初始化方法,以及避免将learning rate设置太大或使用adagrad等自动调节learning rate的算法;左边全部关了很容易导致某些隐藏节点永无翻身之日,所以后来又出现pReLU、random ReLU等改进
(3)而且ReLU会很容易改变数据的分布,因此ReLU后加Batch Normalization也是常用的改进的方法。
始终没想通。 很多地方说,使用ReLU激活函数会有神经元死亡的问题,死亡的神经元,其参数将不再更新,且输出恒为0,并且无法救活,所以才有了LeakyReLU这种投机取巧跟pReLU这种正儿八经有用的工作的存在。 那么,为啥ReLU激活函数导致死掉的神经元救不回来呢?死亡问题主要是因为ReLU的输出进入平坦区,因此导数为0无法更新权重。但ReLU的输出是权重W跟数据X共同决定的呀,WX+b<0才会进入平坦区的,如果对一些X,使得WX+b>0,这种情况下参数还是能得到更新的。 所以,只有对训练集的所有输入,WX+b<0,一个神经元才会真正的死亡,而且救不活。 但是这个事情发生的概率很大吗?我觉得没有动不动30%~40%的致死率吧

leakly Relu

用来解决ReLU带来的神经元坏死的问题,可以将0.01设置成一个变量a,其中a由后向传播学出来。但是其表现并不一定比ReLU好。

参考文章:
深度学习中激活函数的优缺点

相关文章

  • 激活函数softmax-P2分类任务

    激活函数种类激活函数作用 激活函数 深度学习常用激活函数之— Sigmoid & ReLU & Softmax 深...

  • 6.神经网络训练细节part1

    一、激活函数 前边我们学到,一个节点的输出会进入激活函数进行处理 常见的激活函数有以下 sigmoid激活函数 s...

  • tanh函数&logistic函数

    传统Sigmoid系激活函数 传统Sigmoid系激活函数 传统Sigmoid系激活函数,Sigmoid系(Log...

  • 机器学习之神经网络

    什么是神经网络 就是使用了平滑的激活函数的多层感知机 激活函数 什么是激活函数呢? 激活函数就是从输入值到对应输出...

  • [Machine Learning From Scratch]-

    激活层激活函数定义 封装激活层

  • 2019-10-09

    深度学习第三天 激活函数: 激活函数是...

  • 理解激活函数

    一、何为激活函数? 深度学习中,激活函数通常指能够实现非线性映射的函数 二、为什么需要非线性激活函数? 定义:这里...

  • 03 多层感知机

    激活函数 ReLU ReLU(x)=max(x,0) Sigmoid函数 tanh函数 激活函数的选择 多层感知机...

  • 非线性激活函数的作用

    一直有个疑问 为什么需要非线性激活函数?如果没有激活函数g(z),即g(z)=z,就叫线性激活函数,或者叫恒等激活...

  • Machine Learning基础:激活函数(Activiat

    Machine Learning基础:激活函数(Activiation Function)   激活函数通常有如下...

网友评论

      本文标题:激活函数

      本文链接:https://www.haomeiwen.com/subject/jobmkqtx.html