• 常用激活函数


    Sigmoid

    $sigma left( z ight) = frac{1}{{1 + {e^{ - z}}}}$,${sigma ^`}left( z ight) = sigma left( z ight)left( {1 - sigma left( z ight)} ight)$

    优点:求导容易,单调连续,输出范围在0到1之间。

    缺点:导数小于0.25,在大部分区间都饱和,容易造成梯度消失。

    tanh

    $ anh left( z ight) = frac{{{e^z} - {e^{ - z}}}}{{{e^z} + {e^{ - z}}}} = 2sigmoidleft( {2z} ight) - 1$,${t^`}left( z ight) = 1 - {left( {tleft( z ight)} ight)^2}$

    优点:比sigmoid收敛快,在0附近近似为线性,以0为中心。

    缺点:梯度小于等于1,还是容易造成梯度消失。

    ReLU

    $ReLUleft( z ight) = max left( {0,z} ight)$

    优点:大于0部分梯度恒为1,不容易造成梯度消失和梯度爆炸,收敛速度快,提供了网络的稀疏表达能力。

    缺点:可能会造成神经元死亡,输出不是以0为中心的。

    softplus

    $softplusleft( z ight) = log left( {1 + {e^z}} ight)$

    softmax

    $softmax left( {{z_i}} ight) = frac{{{e^{{z_i}}}}}{{sumlimits_{j = 1}^n {{e^{{z_j}}}} }}$,$frac{{partial {S_i}}}{{{z_j}}} = left{ {egin{array}{*{20}{c}}
    {{S_i}left( {1 - {S_j}} ight),i = j}\
    { - {S_j}{S_i},i e j}
    end{array}} ight.$

    softmax并不会改变输出层的相对大小,所以为了减少计算量,神经网络在推理阶段一般不会计算softmax值,只在学习阶段计算softmax值。

  • 相关阅读:
    Spring中配置和读取多个Properties文件
    Eclipse 常用快捷键
    static 静态导包
    CDN 备胎技巧
    org.apache.commons.lang3.ArrayUtils 学习笔记
    深入浅出 妙用Javascript中apply、call、bind
    URL详解与URL编码
    Chrome DevTools good good study day day up
    Java反射机制
    第一篇:《UNIX 环境高级编程》编译环境的搭建
  • 原文地址:https://www.cnblogs.com/xumaomao/p/11078099.html
Copyright © 2020-2023  润新知