神经网络激活函数汇总(Sigmoid、tanh、ReLU、LeakyReLU、pReLU、ELU、maxout)
神经网络激活函数汇总(Sigmoid、tanh、ReLU、LeakyReLU、pReLU、ELU、maxout)
常规 sigmoid 和 tanh
sigmoid
特点:可以解释,比如将0-1之间的取值解释成一个神经元的激活率(firing rate)
缺陷:
- 有饱和区域,是软饱和,在大的正数和负数作为输入的时候,梯度就会变成零,使得神经元基本不能更新。
- 只有正数输出(不是zero-centered),这就导致所谓的zigzag现象:
详细说明:
3 . 计算量大(exp)
tanh
tanh函数定义如下:
激活函数形状:
tanh和sigmoid函数是具有一定的关系的,可以从公式中看出,它们的形状是一样的,只是尺度和范围不同。
tanh是zero-centered,但是还是会饱和。
ReLU 大家族
ReLU
CNN中常用。对正数原样输出,负数直接置零。在正数不饱和,在负数硬饱和。relu计算上比sigmoid或者tanh更省计算量,因为不用exp,因而收敛较快。但是还是非zero-centered。
relu在负数区域被kill的现象叫做dead relu,这样的情况下,有人通过初始化的时候用一个稍微大于零的数比如0.01来初始化神经元,从而使得relu更偏向于激活而不是死掉,但是这个方法是否有效有争议。
LeakyReLU
为了解决上述的dead ReLU现象。这里选择一个数,让负数区域不在饱和死掉。这里的斜率都是确定的。
PReLU
parametric rectifier:
f(x) = max(ax,x)
但是这里的a不是固定下来的,而是可学习的。
ELU
具有relu的优势,且输出均值接近零,实际上prelu和LeakyReLU都有这一优点。有负数饱和区域,从而对噪声有一些鲁棒性。可以看做是介于relu和LeakyReLU之间的一个东西。当然,这个函数也需要计算exp,从而计算量上更大一些。
大一统:Maxout
maxout是通过分段线性函数来拟合所有可能的凸函数来作为激活函数的,但是由于线性函数是可学习,所以实际上是可以学出来的激活函数。具体操作是对所有线性取最大,也就是把若干直线的交点作为分段的界,然后每一段取最大。
maxout可以看成是relu家族的一个推广。
缺点在于增加了参数量。
更多相关见以前整理的一篇:深度学习中的各种tricks_2.0_maxout
2018年04月22日21:53:22
神经网络激活函数汇总(Sigmoid、tanh、ReLU、LeakyReLU、pReLU、ELU、maxout)相关推荐
- 常用的激活函数汇总-Sigmoid, tanh, relu, elu
激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...
- 常见激活函数持续更新)sigmoid Tanh Relu Leaky-ReLU RReLU
激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线. sigmoid 公式: 函数图像: Sigmoid函数也叫 Logistic 函数,用于隐层神经元输出,取值范 ...
- 激活函数总结sigmoid,tanh,relu,Leaky ReLU,RRelu,ELU,PRelu,SELU,swish
本文总结深度学习的损失函数及其优缺点. 激活函数是深度学习模型的重要成分,目的是将线性输入转换为非线性.常见的激活函数有sigmoid,tanh,ReLU等 1.sigmoid Sigmoid 非线性 ...
- 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)
首先需要知道为什么要引入激活函数:激活函数是用来加入非线性因素的,因为线性模型的表达能力不够.引入非线性激活函数,可使深层神经网络的表达能力更加强大. 在深度学习中,线性模型只需要简单的全连接层就能实 ...
- 激活函数 逻辑回归_神经网络激活函数:sigmoid、tanh、ReLU、softmax
神经网络激活函数:sigmoid.tanh.ReLU.softmax 发布时间:2018-10-07 21:32, 浏览次数:874 , 标签: sigmoid tanh ReLU softmax 激 ...
- 三种激活函数——Sigmoid,Tanh, ReLU以及卷积感受野的计算
1. 三种激活函数--Sigmoid, Tanh, ReLU 1.1 Sigmoid 1.1.1 公式 S ( x ) = 1 1 + e − x S(x) = \frac{1}{1 + e^{-x} ...
- A.深度学习基础入门篇[四]:激活函数介绍:tanh、sigmoid、ReLU、PReLU、ELU、softplus、softmax、swish等
[深度学习入门到进阶]必看系列,含激活函数.优化策略.损失函数.模型调优.归一化算法.卷积模型.序列模型.预训练模型.对抗神经网络等 专栏详细介绍:[深度学习入门到进阶]必看系列,含激活函数.优化策略 ...
- 【Pytorch神经网络理论篇】 07 激活函数+Sigmoid+tanh+ReLU+Swish+Mish+GELU
①激活函数:主要通过加入非线性因素,你不线性模型表达能力不足的缺陷,因为神经网络中的数学基础是处处可微分的函数,故要求激活函数也应该保证数据的输入与输出是可微分. ②激活函数可以分为饱和激活函数与不饱 ...
- 激活函数--Sigmoid,tanh,RELU,RELU6,Mish,Leaky ReLU等
激活函数 目前自己使用比较多的激活函数RELU, RELU6; LeakyReLU; SELU; Mish :激活函数看:计算量:准确率: 大多数激活函数pytorch里有已经包装好了: Non-li ...
最新文章
- AIphaCode 并不能取代程序员,而是开发者的工具
- ArrayList和LinkedList区别
- 前端如何转换 schema 和 xml
- [HAOI2007] 理想的正方形 (单调队列)
- Win10系统,安装虚拟机,是微软自家的 Hyper-V ?还是轻量级的 Virtual Box ?
- 使用一个命令执行单个Java源文件
- CVPR 2019 Oral | 视觉识别新范式:开放世界下的大规模长尾识别
- PAIP.MYSQL数据库比较
- 深度学习——PReLU激活
- 软件测试和软件开发学哪个好呢
- 用GZIPOutputStream流压缩出现H4sIAAAAAAAAAA==
- html中的abbr有什么作用,HTML中abbr元素的使用介绍
- Vertica的那些事
- 【不收藏一定后悔】超智能三子棋——和电脑比一把
- MySQL 时间戳操作
- 【硬见小百科】看完这篇,请不要再说不懂MOSFET!
- series去重_python去重函数是什么
- java valueOf()方法
- encodeURI 和 decodeURI 用法
- 全媒体运营师胡耀文教你:大规模用户运营体系背后的3大子系统