Sigmoid函数:

特性:

1.当变量值远离中心轴时,梯度几乎为0,在神经网络的反向传播过程中,链式求导导致经过sigmoid函数之后的梯度

很小,权重值更新较慢

2.计算机执行指数运算较慢

3.sigmoid在压缩数据幅度方面有优势,在深度网络中,在前向传播中,sigmoid可以保证数据幅度在[0,1]内,这样数据幅度稳住了,不会出现数据扩散,不会有太大的失误。

4.定义域(0, 1) 可以表示作概率,或者用于输入的归一化,如Sigmoid交叉熵损失函数。

5.如图像所示其值域在[0,1]之间,函数输出不是0均值的,权重更新效率降低,因为这会导致后层的神经元的输入是非0均值的信号,这会对梯度产生影响:假设后层神经元的输入都为正(e.g. x>0 elementwise in ),那么对w求局部梯度则都为正,这样在反向传播的过程中w要么都往正方向更新,要么都往负方向更新,导致有一种捆绑的效果,使得收敛缓慢。 当然了,如果你是按batch去训练,那么每个batch可能得到不同的符号(正或负),那么相加一下这个问题还是可以缓解。因此,非0均值这个问题虽然会产生一些不好的影响,不过跟上面提到的 kill gradients 问题相比还是要好很多的。

Tanh函数:

特性:

1.Tanh 网络的收敛速度要比 Sigmoid 快。因为 Tanh 的输出均值为 0,SGD 会更接近 natural gradient(一种二次优化技术),从而降低所需的迭代次数。

2.Tanh 激活函数与sigmoid函数一样也具有软饱和性,没有改变Sigmoid函数的最大问题——由于饱和性产生的梯度消失。

Relu函数(Rectified linear unit):

特性:

1.当输入值小于0时,出现硬饱和,梯度消失为0;

2.解决了梯度消失的问题 :在正区间当输入值大于0时,梯度保持不变,没有sigmoid及Tanh函数的梯度消失的问题。

3.计算速度快,只需要判断输入是否大于0

4.收敛速度远快于sigmoid和tanh

5.输出不是zero-centered

6.Dead ReLU Problem:
Dead ReLU Problem指的是某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。有两个主要原因可能导致这种情况产生: (1) 非常不幸的参数初始化,这种情况比较少见 (2) 学习速率太高导致在训练过程中参数更新太大,不幸使网络进入这种状态。

Leaky ReLU函数

Leaky ReLU是为了解决ReLU函数的Dead ReLU Problem而提出的激活函数。为了解决Dead ReLU Problem,Leaky ReLU提出了将ReLU的前半段设为0.01x0.01x而非0。另外一种直观的想法是基于参数的方法,即Parametric ReLU:


其中α可由back propagation学出来。理论上来讲,Leaky ReLU有ReLU的所有优点,外加不会有Dead ReLU问题,但是在实际操作当中,并没有完全证明Leaky ReLU总是好于ReLU。

ELU函数


特性:

ELU(Exponential Linear Units)函数也是为解决ReLU存在的问题而提出,显然,ELU有ReLU的基本所有优点,以及:

  • 不会有Dead ReLU问题
  • 输出的均值接近0,zero-centered

它的一个小问题在于计算量稍大。类似于Leaky ReLU,理论上虽然好于ReLU,但在实际使用中目前并没有好的证据ELU总是优于ReLU。

深度学习中常用的激活函数详解及对比分析(sigmoid)相关推荐

  1. 深度学习中的gelu激活函数详解

    论文:gaussian error linear units (一).什么是激活函数? 激活函数的本质就是给网络模型增加非线性,也就是在wTx+bw^Tx+bwTx+b等线性变换后面加一个非线性变换, ...

  2. DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略

    DL之AF:机器学习/深度学习中常用的激活函数(sigmoid.softmax等)简介.应用.计算图实现.代码实现详细攻略 目录 激活函数(Activation functions)相关配图 各个激活 ...

  3. 深度学习中的正则化技术详解

    目录 基本概念 1. 参数范数惩罚 1.1 \(L^2\)正则化 1.2 \(L^1\)正则化 1.3 总结\(L^2\)与\(L^1\)正则化 2. 作为约束的范数惩罚 3. 欠约束问题 4. 数据 ...

  4. 深度学习中的线性代数知识详解

    1. 基础概念 标量(scalar) 一个标量就是一个单独的数,一般用小写的的变量名称表示. 向量(vector) 一个向量就是一列数,这些数是有序排列的: ⎡⎣⎢⎢⎢⎢x1x2...x5⎤⎦⎥⎥⎥⎥ ...

  5. 8个深度学习中常用的激活函数

    激活函数,又称转换函数,是设计神经网络的关键.激活函数在某种意义上是重要的,因为它被用来确定神经网络的输出.它将结果值映射为0到1或-1到1等(取决于函数).激活函数还有另一个名称,称为Squashi ...

  6. 【基础知识】深度学习中各种归一化方式详解

    本文转载自 https://blog.csdn.net/qq_23981335/article/details/106572171 仅作记录学习~ 总结 BN,LN,IN,GN,WS 从学术上解释差异 ...

  7. Keras深度学习实战(4)——深度学习中常用激活函数和损失函数详解

    Keras深度学习实战(4)--深度学习中常用激活函数和损失函数详解 常用激活函数 Sigmoid 激活函数 Tanh 激活函数 ReLU 激活函数 线性激活函数 Softmax 激活函数 损失函数 ...

  8. 【AI初识境】深度学习中常用的损失函数有哪些?

    这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,有了目 ...

  9. 深度学习中常用的误差方法

    深度学习中常用的误差方法有: 标准差(Standard Deviation): 标准差也叫均方差,是方差的算术平方根,反应数据的离散程度 ,标准差越小,数据偏离平均值越小,反之亦然 . 公式为: py ...

最新文章

  1. python之模块csv之CSV文件的写入(按行写入)
  2. Java 依赖注入标准(JSR-330)简介
  3. 小强学Python+OpenCV之-1.4.4掩膜mask及位运算
  4. 关于分布式锁的面试题都在这里了
  5. python replace函数 成功 失败_请教下调用python string模块的replace方法出错的原因
  6. 中大计算机考研爆冷,中山大学计算机“爆冷”,321分排名第二,网友:“锦鲤”附体!...
  7. 制造业数据分析存在哪些问题
  8. MODIS植被覆盖度
  9. ffmpeg转码文件输出rtsp流
  10. python获取工作目录路径为C:\Users\用户名\AppData\Local\Temp...解决方案
  11. C++ Concurrency in Action 2nd Edition
  12. C语言如何获取ipv6地址
  13. 网络安全学习小结--kali基本工具、webshell、代码审计
  14. Elasticsearch Ingest-Attachment
  15. 配置静态路由——默认路由
  16. 摄像头8mm可以看多远_视频监控摄像头焦距、角度、距离参考值
  17. PYTHON爬虫爬取
  18. spring boot框架常用的一些玩意儿
  19. spss中如何处理极端值、错误值
  20. kali下mysql重置密码

热门文章

  1. 2011Google校园招聘笔试题
  2. ASP.Net_配置文件
  3. 算法2:邻居好说话:冒泡排序
  4. [转]Oracle DB 管理ASM实例
  5. PHP LOG使用心得(2)
  6. VC6++ output :error executing c:\windows\system32\cmd.exe.
  7. 安卓下的免费离线地图导航软件(老虎地图)测试及网盘下载
  8. C#(WinForm) + MySQL的中文编码问题(MySQL中文编码的终极解决方案)
  9. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及
  10. [网络安全自学篇] 五十一.恶意样本分析之HGZ进程和网络行为动态分析及防御