• 深度学习 激活函数


    参考:http://www.cnblogs.com/rgvb178/p/6055213.html

    Sigmoid函数

    Sigmoid函数曾被广泛地应用,但由于其自身的一些缺陷,现在很少被使用了。Sigmoid函数被定义为:

    函数对应的图像是:

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

    缺点:
    1.由于其软饱和性,容易产生梯度消失,导致训练出现问题。
    2.其输出并不是以0为中心的。

    tanh函数

    现在,比起Sigmoid函数我们通常更倾向于tanh函数。tanh函数被定义为

    函数位于[-1, 1]区间上,对应的图像是:

    优点:
    1.比Sigmoid函数收敛速度更快。
    2.相比Sigmoid函数,其输出以0为中心。
    缺点:
    还是没有改变Sigmoid函数的最大问题——由于饱和性产生的梯度消失。

    ReLU

    ReLU是最近几年非常受欢迎的激活函数。被定义为

    对应的图像是:

    但是除了ReLU本身的之外,TensorFlow还提供了一些相关的函数,比如定义为min(max(features, 0), 6)的tf.nn.relu6(features, name=None);或是CReLU,即tf.nn.crelu(features, name=None)。其中(CReLU部分可以参考这篇论文)。
    优点:
    1.相比起Sigmoid和tanh,ReLU(e.g. a factor of 6 in Krizhevsky et al.)在SGD中能够快速收敛。例如在下图的实验中,在一个四层的卷积神经网络中,实线代表了ReLU,虚线代表了tanh,ReLU比起tanh更快地到达了错误率0.25处。据称,这是因为它线性、非饱和的形式。

    2.Sigmoid和tanh涉及了很多很expensive的操作(比如指数),ReLU可以更加简单的实现。
    3.有效缓解了梯度消失的问题。
    4.在没有无监督预训练的时候也能有较好的表现。

    5.提供了神经网络的稀疏表达能力。

    缺点:
    随着训练的进行,可能会出现神经元死亡,权重无法更新的情况。如果发生这种情况,那么流经神经元的梯度从这一点开始将永远是0。也就是说,ReLU神经元在训练中不可逆地死亡了。

    Softmax - 用于多分类神经网络输出

    为什么要取指数,第一个原因是要模拟 max 的行为,所以要让大的更大。
    第二个原因是需要一个可导的函数。

  • 相关阅读:
    向量代数与空间解析几何(前篇)
    操作系统(笔试系列)-第七讲设备管理
    win10系统IIS服务器配置
    IIS本地部署Arcgis for js API开发文档
    IIS本地部署Arcgis for js API
    vue中使用mockjs服务器测试项目
    vue动态配置嵌套页面(含iframe嵌套)可实现白天夜间皮肤切换
    如何在vue项目打包去掉console
    Vue之element table 后端排序实现
    D3.tsv与D3.csv加载数据
  • 原文地址:https://www.cnblogs.com/home123/p/7484558.html
Copyright © 2020-2023  润新知