神经网络 激励函数
激励函数:作用是提供规模化的非线性化能力,使得神经网络可以任意逼近任何非线性函数,模拟神经元被激发的状态变化。如果不用激励函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。目前主要有三种常用的激励函数:
1. Sigmoid激励函数 :也叫 Logistic 函数,用于隐层神经元输出,取值范围为(0,1),可以用来做二分类。
而Sigmoid函数的缺点有:
- 反向传播时,很容易就会出现梯度消失的情况(导数重0开始又消失于0),从而无法完成深层网络的训练。
- 函数输出并不是0均值(zero-centered),输出值恒大于0.
- 幂运算相对来讲比较耗时
2. Thah激励函数 :读作Hyperbolic Tangent,也称为双切正切函数,取值范围为[-1,1]。
thah(x)=2sigmoid(2x)-1
Tanh是Sigmoid的变形,与 sigmoid 不同的是,tanh 是0均值的。但是,梯度消失和幂运算的问题仍然存在。实际应用中,tanh 会比 sigmoid 更好。
3. ReLU激励函数(Rectified Linear Unit):输入信号 <0 时,输出都是0,>0 的情况下,输出等于输入。
优点:
ReLU 使得SGD的收敛速度会比 sigmoid/tanh 快很多。相比于 sigmoid/tanh,ReLU 只需要一个阈值就可以得到激活值。
ReLU解决了梯度消失的问题。
缺点:
ReLU的输出不是0均值。
learning rate太高导致在训练过程中参数更新太大,训练的时候很容易就”die”了。某些神经元可能永远不会被激活,导致相应的参数永远不能被更新,那么这个神经元的梯度就永远都会是0了。
如何选择合适的激活函数?
1. 一般情况下,使用ReLU会比较好。采用Relu激活函数,整个过程的计算量节省很多。使用 ReLU,就要注意设置 learning rate,不要让网络训练过程中出现很多 “dead” 神经元;如果“dead”无法解决,可以尝试 Leaky ReLU、PReLU 、RReLU等Relu变体来替代ReLU。
2、不建议使用 sigmoid,如果一定要使用,也可以用 tanh来替代,因为后者解决了0均值的输出问题。
神经网络 激励函数相关推荐
- 【Python-ML】神经网络激励函数-双曲正切(hyperbolic tangent,tanh)函数
# -*- coding: utf-8 -*- ''' Created on 2018年1月27日 @author: Jason.F @summary: 前馈神经网络激励函数-双曲正切(hyperbo ...
- 【Python-ML】神经网络激励函数-Softmax
# -*- coding: utf-8 -*- ''' Created on 2018年1月27日 @author: Jason.F @summary: 前馈神经网络激励函数-softmax函数,评估 ...
- 【Python-ML】神经网络激励函数-Sigmoid
# -*- coding: utf-8 -*- ''' Created on 2018年1月27日 @author: Jason.F @summary: 前馈神经网络激励函数-Sigmoid,逻辑斯蒂 ...
- 神经网络激励函数的作用是什么?有没有形象的解释?
来自 | 知乎 地址 | https://www.zhihu.com/question/22334626/answer/103835591 神经网络激励函数的作用是什么?有没有形象的解释? 颜沁睿 h ...
- 通俗理解神经网络之激励函数(Activation Function)
本文整理自博客.知乎上关于激励函数的博客和回答.部分图片引用自知乎,如有侵权,请联系作者. 关于神经网络激励函数的作用,常听到的解释是:不使用激励函数的话,神经网络的每层都只是做线性变换,多层输入叠加 ...
- 通俗理解神经网络之激励函数
关于神经网络激励函数的作用,常听到的解释是:不使用激励函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线性变换.因为线性模型的表达能力不够,激励函数可以引入非线性因素. 其实很多时候我们 ...
- 神经网络相关的笔试题目集合(一)
在找工作的过程中发现好多公司没有专门的.传统的图像处理岗位,所以只能参加算法类的笔试甚至AI类的笔试.在AI的笔试中几乎全是关于神经网络的问题,其实也都是很基础的一些问题,如果事先做了准备,可以从容应 ...
- 教你如何用Keras搭建分类神经网络
摘要:本文主要通过Keras实现了一个分类学习的案例,并详细介绍了MNIST手写体识别数据集. 本文分享自华为云社区<[Python人工智能] 十七.Keras搭建分类神经网络及MNIST数字图 ...
- pytorch中的激励函数(详细版)
初学神经网络和pytorch,这里参考大佬资料来总结一下有哪些激活函数和损失函数(pytorch表示) 首先pytorch初始化: import torch import torch.nn.fun ...
- 基于卷积神经网络实现图片风格的迁移 1
卷积神经网络详解 一.实验介绍 1.1 实验内容 Prisma 是最近很火的一款APP,它能够将一张普通的图像转换成各种艺术风格的图像.本课程基于卷积神经网络,使用Caffe框架,探讨图片风格迁移背后 ...
最新文章
- 计算机语言中display翻译,display的意思在线翻译,解释display中文英文含义,短语词组,音标读音,例句,词源,同义词,反义词【澳典网ODict.Net】...
- 在南京 学计算机 高职学校,2018南京专科学校有哪些 最新高职院校名单
- mysql数据库基本操作总结与归纳
- thinkphp mysql函数_thinkphp对数据库操作有哪些内置函数
- 解决struts2标签在HTML中错位的问题
- 熊海cms v1.0 SQL注入漏洞复现
- autojs通用拾色器
- JAVA能写大型游戏么?不能?
- 计算机相关的著名的期刊和会议
- 计算机回收站设置大小,电脑怎么设置回收站容量 电脑回收站的数据文件位置在哪...
- Specification for the Lab VIEW Measurement File
- iOS推送之远程推送
- 修复iPhone系统白苹果问题
- 揭开AI产品PRD的面纱 | 浅谈其和互联网产品PRD的异同
- android 蓝牙4.2.2分析研究
- python训练营 朋友圈点赞收费吗_千万不要随便在朋友圈点赞!
- THUWC2019 游记
- Python 实现FIR低通滤波器设计
- android 短信转发设置权限,用Tasker实现Android手机短信转发到钉钉
- 【01】 冯·诺依曼体系结构:计算机组成的金字塔