深度学习笔记(4)——Sigmoid和Relu激活函数的对比 https://blog.csdn.net/qq_21190081/article/details/64127103

Relu是一个非常优秀的激活哈数,相比较于传统的Sigmoid函数,有三个作用: 
1. 防止梯度弥散 
2. 稀疏激活性 
3. 加快计算 
首先我们看下sigmoid和relu的曲线


 
然后可以得到sigmoid的导数

以及relu的导数


 
结论就是sigmoid的导数只有在0附近的时候有比较好的激活性,在正负饱和区的梯度都接近于0,所以这会造成梯度弥散,而relu函数在大于0的部分梯度为常数,所以不会产生梯度弥散现象。

第二,relu函数在负半区的导数为0 ,所以一旦神经元激活值进入负半区,那么梯度就会为0,也就是说这个神经元不会经历训练,即所谓的稀疏性。

第三,relu函数的导数计算更快,程序实现就是一个if-else语句,而sigmoid函数要进行浮点四则运算。综上,relu是一个非常优秀的激活函数

这里也小结一下ReLU函数相对于tanh和sigmoid函数好在哪里:

第一,采用sigmoid等函数,算激活函数是(指数运算),计算量大;反向传播求误差梯度时,求导涉及除法,计算量相对大。而采用Relu激活函数,整个过程的计算量节省很多。

第二,对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0),这种情况会造成信息丢失,梯度消失在网络层数多的时候尤其明显,从而无法完成深层网络的训练。

第三,ReLU会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。

Sigmoid和Relu激活函数的对比相关推荐

  1. 3 神经网络基础(阶跃、sigmoid、relu激活函数的代码实现)

    目录 1. 输入权重计算 2.与门的实现 3.非门的实现 4.或门的实现 5.感知机可以实现与.或.非门的逻辑 6.阶跃函数的实现 7.sigmoid 函数的实现 8.阶跃函数和sigmoid函数相比 ...

  2. 多角度理解sigmoid,relu和tanh激活函数

    sigmoid激活函数 函数表达式: 函数图像: 通过该图,可以看出对于sigmoid激活函数的一下几个特点: 1.当输入大于零时,输出一定大于0.5 2.当输入超过6时,输出将会无限接近于1,该函数 ...

  3. relu激活函数对比sigmoid的优势

    1. 为什么要激活函数 原理上来说,神经网络模型的训练过程其实就是拟合一个数据分布(x)可以映射到输出(y)的数学函数,即 y= f(x).拟合效果的好坏取决于数据质量及模型的结构,像逻辑回归.感知机 ...

  4. 【深度学习】——神经网络中常用的激活函数:sigmoid、Relu、Tanh函数

    激活函数   实际中的很多事情并不能简单的用线性关系的组合来描述.在神经网络中,如果没有激活函数,那么就相当于很多线性分类器的组合,当我们要求解的关系中存在非线性关系时,无论多么复杂的网络都会产生欠拟 ...

  5. DL之DNN优化技术:采用三种激活函数(sigmoid、relu、tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化

    DL之DNN优化技术:采用三种激活函数(sigmoid.relu.tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化 目录

  6. 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)

    首先需要知道为什么要引入激活函数:激活函数是用来加入非线性因素的,因为线性模型的表达能力不够.引入非线性激活函数,可使深层神经网络的表达能力更加强大. 在深度学习中,线性模型只需要简单的全连接层就能实 ...

  7. 激活函数(sigmoid和ReLU)

    激活函数给神经元引入了非线性因素,如果不用激活函数,神经网络每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合. 比如对于一个二分类问题: 如果用线性分类,那就只能按照下图 ...

  8. Matlab绘制激活函数sigmoid,Relu

    激活函数主要是神经网络中用到,它的公式为: 下面用matlab来绘制一下 clc clear all x = linspace(-10.0,10.0); % 设置x范围为-10到10 sigmoid ...

  9. 常见激活函数持续更新)sigmoid Tanh Relu Leaky-ReLU RReLU

     激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线. sigmoid 公式: 函数图像:  Sigmoid函数也叫 Logistic 函数,用于隐层神经元输出,取值范 ...

最新文章

  1. python pandas DataFrame 排序
  2. 使用 GNU profiler 来提高代码运行速度
  3. awk之特征相同行的合并 ~转
  4. 题目3:文本文件单词的检索与计数(实验准备)
  5. pytorch torch.item()(返回此张量的值作为标准Python数字。 这仅适用于具有一个元素的张量。)
  6. windows环境下C语言socket编程
  7. shell 提示符个性化设置
  8. NYOJ82-迷宫寻宝1
  9. 详解Go语言的计时器
  10. 代数学笔记5: 群论(一)
  11. Unity+SenseAR教程 | 用手势发射爱心2:加入发射方向【源码】
  12. 学计算机的普通学生那里就业,学计算机我后悔了 现在好就业吗
  13. Notification小案例
  14. 含有百分数的简便运算_青岛版三年级上册数学6.1不含括号的混合运算(一)微课知识点精讲+练习...
  15. pandownload获取bdstoken失败怎么回事_巴菲特点透中国股市:假如你手中持有的股票早上快速拉高然后慢慢下跌,你晓得是怎么回事吗?...
  16. 干货来袭!几行代码实现pdf添加水印和去除水印
  17. 打印服务Print Spooler自动停止解决方案
  18. arnold和redshift渲染器
  19. c 语言 todo 用法,Tip:iOS开发中关于TODO的用法
  20. 基于哈夫曼编码的文件压缩解压

热门文章

  1. 3D模型欣赏:《转变》次时代 写实 战争 【3D游戏建模教程】
  2. 升级nodejs后vue打包失败
  3. 获取CPS,CPA,CPD等非SDK联运渠道的逻辑渠道号
  4. 1.安装并运行Eclipse-Hono
  5. 造物致知,硬见致用 | 第四届硬见开发者论坛成功举行
  6. JDK17.0.2下载与安装教程,超级详细
  7. USB3.0接口的工业相机应用
  8. ft2815/ft2835支付盒子、扫码盒子、蓝牙音响提高音量,人声清晰
  9. MSDE2008安装备忘
  10. 江山易改本性难移之ZYNQ SDK API函数笔记(UART)