美文网首页
关于神经网络中激活函数的看法

关于神经网络中激活函数的看法

作者: cheng2pj | 来源:发表于2018-03-08 03:47 被阅读0次

    参考资料

    激活函数

    一个神经元就是计算输入的权重之和,增加bias,决定神经元是否被激活(这个就是激活函数干的)
    考虑神经元有如下的表达式:


    神经元表达式

    Y的值可以从负无穷到正无穷,那么如何决定这个神经元是否被激活呢?这就需要我们用到激活函数。

    step function

    考虑到神经元的激活,最简单的方式就是设置一个阈值。当Y的值大于这个阈值的时候,这个神经元被激活;当Y的值小于这个阈值的时候,这个神经元就不被激活。


    Step function

    Linear function

    A=cx
    这个激活函数的输出是与输出成比例的。但是如果神经网络都是线性激活函数,那个整个网络都是线性,也就说无论多少层的神经网络都可以被一层的神经网络取代。这也不是我们希望看到的。

    sigmoid函数

    Sigmoid function Sigmoid function

    从函数的图像看出来,在区间[-2,2]之间,函数变化非常快,这也就意味着一点细微的变化都会引起函数值发生很大的变化。这个实际上对于分类问题是一个非常好的性质。在函数末端的梯度变化是非常缓慢的,也就意味着会有“梯度消失”的问题出现。当梯度消失的时候,整个网络训练速度非常慢

    Tanh function

    tanh.png tanh tanh is a scaled sigmoid function

    从函数图像看来,这个函数和Sigmoid函数非常相似。它能够保证非线性,tanh梯度下降速度高于sigmoid函数,同样tanh存在梯度下降的问题。对于循环神经网络来说,不存在梯度下降的问题,所以LSTM一般默认tanh为激活函数

    ReLU

    A(x)=max(0,x)


    ReLU

    ReLU函数有点类似于线性,实际上它是非线性的,以及ReLU函数组合也是非线性的(实际上这个函数是一个比较好的近似函数,任何函数都可以组合ReLU函数来近似)。

    softmax

    归一化指数函数,对向量进行归一化,凸显其中最大的值并抑制远低于最大值的其他分量,很好应用于基于概率的分类问题

    相关文章

      网友评论

          本文标题:关于神经网络中激活函数的看法

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