激活函数(Activation Function)小结

一、 什么是激活函数

    百度百科:所谓激活函数,就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。

    维基百科:在计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路 可以 看作是根据输入得到开(1)或关(0)输出的数字电路激活函数。这与神经网络中的线性感知机的行为类似。然而,只有非线性激活函数才允许这种网络仅使用少量节点来计算非平凡问题。 在人工神经网络中,这个功能也被称为传递函数。

                                                           

二、激活函数的作用(为什么要引入激活函数)

    最原始的感知机:不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。

    神经网络中:每一层输出的都是上一层输入的线性函数,所以无论网络结构怎么搭,输出都是输入的线性组合。线性模型的表达能力不够,引入激活函数就是为了添加非线性因素。在神经网络中,为了避免单纯的线性组合,我们在每一层的输出后面都添加一个激活函数(sigmoid、tanh、ReLu等等)。激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,使神经网络就可以应用到众多的非线性模型中。

三、几种常用的激活函数介绍

1、Sigmoid函数: 

        

        

【导数】:

         

【优点】:

1.Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可以用作输出层。
2.求导容易。

【缺点】:

1.由于其软饱和性,容易产生梯度消失,导致训练出现问题。(梯度饱和:当输入远离了坐标原点,函数的梯度就变得很小,几乎为零。在神经网络反向传播的过程中,通过微分的链式法则来计算各个权重w的微分。当反向传播经过了sigmod函数,这个链条上的微分就很小很小,并且可能经过多个sigmod函数,最后会导致权重w对损失函数影响几乎为零,这样不利于权重的优化。

 2.其输出并不是以0为中心的,使权重更新效率降低。

3.sigmod函数要进行指数运算,速度较慢的。

2、sogftmax函数(输入为多个变量):

【导数】:

【分析】:softmax函数将压缩每个类在0到1之间,并除以输出总和。它实际上可以表示某个类的输入概率。

3、Tanh函数:

Tanh函数与Sigmoid函数的数学关系】:Tanh(x) = 2Sigmoid(2x) - 1

【导数】:

【优点】:
1.比Sigmoid函数收敛速度更快。
2.相比Sigmoid函数,其输出以0为中心。

【缺点】:
并没有改变Sigmoid函数的最大问题——由于饱和性产生的梯度消失。

4、ReLU函数:

【导数】:

【优点】:

1.相比起Sigmoid和tanh,ReLU在SGD中能够快速收敛。ReLU函数只有线性关系,不管是前向传播还是反向传播,都比sigmod和tanh要快很多。

2.较之于Sigmoid和tanh,ReLU可以更加简单的实现。

3.有效缓解了梯度消失的问题。在输入为正数的时候,不存在梯度饱和问题。

4.在没有无监督预训练的时候也能有较好的表现。

5.提供了神经网络的稀疏表达能力。ReLU不会同时激活所有的神经元。如果输入值是负的,ReLU函数会转换为0,而神经元不被激活。这意味着,在一段时间内,只有少量的神经元被激活,神经网络的这种稀疏性使其变得高效且易于计算。

【缺点】:

1.ReLU函数也存在着梯度为零的问题。x<0时,梯度是零,这意味着在反向传播过程中,权重没有得到更新。这就会产生死神经元,而这些神经元永远不会被激活。(如果神经网络中出现死神经元,那么PReLU函数就是最好的选择。)

2.ReLU函数不是以0为中心的函数。ReLU函数的输出要么是0,要么是正数。

四、激活函数的比较与选择

1.用于分类器时,Sigmoid函数及其组合通常效果更好。

2.softmax函数最好在分类器的输出层使用。用于多分类神经网络输出。

3.一般二分类问题中,隐藏层用tanh函数,输出层用sigmod函数。

4.由于梯度消失问题,有时要避免使用sigmoid和tanh函数。

5.ReLU函数是一个通用的激活函数,目前在大多数情况下使用。请记住,ReLU函数只能在隐藏层中使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值