神经网络常见的激活函数汇总
1.激活函数的作用
在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。
比如在下面的这个问题中:
如上图所示,这是一个简单的线性分类问题,只需要一条直线就可以很好地分类。当我们碰到下图问题时,无法通过一条直线将样本分类出来,需要我们加入非线性因素才可以将样本分类好,而我们的激活函数就是我们要加入的非线性因素。
2.常见的激活函数
在此之前要先弄明白什么是硬饱和什么是软饱和:https://blog.csdn.net/donkey_1993/article/details/81662065
a) Sigmoid函数
Sigmoid函数:
Sigmoid导数:
Sigmoid函数的优点:1.求导容易。 2.Sigmoid函数的输出映射在(0,1)之间,单调连续输出范围有限,优化稳定可以用作输出层。
缺点:1.由于其软饱和性,容易造成梯度消失问题。2.其输出没有以0为中心。
b) Tanh函数
Tanh函数:
Tanh函数导数:
Tanh函数的优点:1.收敛速度比Sigmoid函数快。 2. 其输出以0为中心。
缺点:还是出现软饱和现象,梯度消失问题并没有解决。
c)Relu函数
Relu函数:
Relu导数:
Relu函数的优点:1.在SGD(随机梯度下降算法)中收敛速度够快。2.不会出现像Sigmoid那样梯度消失问题。3.提供了网络稀疏表达能力。4.在 无监督训练中也有良好的表现。
缺点:1.不以0为中心。2.前向传导(forward pass)过程中,如果 x < 0,则神经元保持非激活状态,且在后向传导(backward pass)中「杀死」梯度。这样权重无法得到更新,网络无法学习。神经元死亡是不可逆的。
d)LReLU、PReLU与RReLU函数
通常在LReLU和PReLU中,我们定义一个激活函数。
LRelu函数:
公式:
LRelu的优点:缓解了Relu神经元死亡的问题。
PRelu函数:
公式:
其中是超参数。这里引入了一个随机的超参数,它可以被学习,因为你可以对它进行反向传播。这使神经元能够选择负区域最好的梯度,有了这种能力,它们可以变成 ReLU 或 Leaky ReLU。负值部分的斜率是根据数据来定的,而非预先定义的。
RRelu函数:
RReLU也是Leaky ReLU的一个变体。在RReLU中,负值的斜率在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,aji是从一个均匀的分布U(I,u)中随机抽取的数值。
RReLU中的aji是一个在一个给定的范围内随机抽取的值,这个值在测试环节就会固定下来。
e)ELU激活函数:
右侧的线性部分能够缓解梯度消失,左侧的软饱和能够对于输入变化鲁棒.而且收敛速度更快.
神经网络常见的激活函数汇总相关推荐
- 神经网络激活函数汇总(Sigmoid、tanh、ReLU、LeakyReLU、pReLU、ELU、maxout)
神经网络激活函数汇总(Sigmoid.tanh.ReLU.LeakyReLU.pReLU.ELU.maxout) 常规 sigmoid 和 tanh sigmoid 特点:可以解释,比如将0-1之间的 ...
- 神经网络中常见的激活函数
深度学习中已经成为了人工智能领域的必备工具,源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构.寻找隐藏层的权重参数和偏置的过程,就是常说的"学习"过程,其遵循的 ...
- 神经网络中中常见的激活函数
工作中常用的激活函数 Sigmoid:常应用于二分类场景的输出层 如上图所示: sigmoid 在定义域内处处可导,且两侧导数逐渐趋近于0. 如果X的值很大或者很小的时候,那么函数的梯度(函数的斜率) ...
- 神经网络中的激活函数的比较
常见激活函数 神经网络中,常见的激活函数有以下几种: 1. sigmoid f(x)=11+e−xf(x) = \frac{1}{1+e^{-x}}f(x)=1+e−x1 f′(x)=f(x)(1− ...
- 神经网络基础之激活函数
深度学习有两个非常重要的特性--多层和非线性 线性模型的局限性:只通过线性变换,任意层的全连接神经网络(Neural Network, NN)和单层NN模型的表达能力没有任何区别,而且它们都是线性模型 ...
- 基于Python实现神经网络中的激活函数图像绘制
神经网络中的激活函数图像绘制 在深度学习中,常用的激活函数主要有:Sigmoid函数,Tanh函数,ReLU函数等. 图像绘制效果: 图像绘制代码下载链接:激活函数绘制.py Sigmoid函数 该函 ...
- 深度学习:神经网络中的激活函数
http://blog.csdn.net/pipisorry/article/details/71157037 激活函数 神经网络神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数, ...
- 激活函数汇总及各优缺点
激活函数 1. 什么是激活函数 如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数 Activation Function. [img]http:// ...
- 常用的激活函数汇总-Sigmoid, tanh, relu, elu
激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...
最新文章
- [剑指Offer] 59.按之字形顺序打印二叉树
- Ubuntu 环境中多线程下载工具Axel的安装与使用
- c语言中函数可以有几个参数,C中子函数最多有几个形参
- 交换机开发(四)—— ARP 基础知识解析
- Installing Flex Data Services on JBoss
- Web之间跳转和信息共享、Servlet的三大作用域对象、动态网页JSP
- C++之指针探究(十):this指针
- C#反射机制详解(转)
- 由于域安全组嵌套导致SPS访问控制群组和用户配置文件搜索失败
- linux文件编程(二)
- 数据结构 经典面试题 用两个队列实现一个栈
- python列表找大写字母_使用Python实现将list中的每一项的首字母大写
- 新东方的负载均衡架构探索和实践
- 4.Mybatis 环境搭建
- OpenCV 透射变换
- 解决winrar压缩文件或文件夹时,文件拒绝访问问题
- OSChina 周一乱弹 —— 帅气的红薯为何迷倒了万千 OSCers ~~~
- hdmi怎么支持2k分辨率_选择2K显示器有没有必要?
- MultipartFile 上传文件工具类
- LPCSTR,LPCTSTR,LPCWSTR的区别