DeepLearning: 归纳几种常用的激活函数(activation)
Deep Learning中常用的激活函数(activation)
1. sigmoid
表达式:
a=sigmoid(z)=11+e−za = sigmoid(z) = \frac {1} {1 + e^{-z}} a=sigmoid(z)=1+e−z1
函数图像:
适用范围:
\quad sigmoidsigmoidsigmoid 函数适用于刚接触机器学习的同学,使用sigmoidsigmoidsigmoid函数可以很容易的与逻辑回归等算法结合,进行代价损失函数J(θ)J(\theta)J(θ)的优化。
\quad对于高阶的深度学习开发者而言, 会很少使用sigmoidsigmoidsigmoid 函数作为激活函数,因为有很多其他激活函数,比如,tanhtanhtanh的表现几乎总是要比sigmoidsigmoidsigmoid 好。
\quad只有在二分类时,最后的输出层才会用 sigmoidsigmoidsigmoid 函数,因为其函数取值范围为:0≤sigmoid(z)≤10 \leq sigmoid(z) \leq 10≤sigmoid(z)≤1。
2. tanh(双曲正切函数)
表达式:
a=tanh(z)=ez−e−zez+e−za = tanh(z) = \frac {e^z - e^{-z} } {e^z + e^{-z}} a=tanh(z)=ez+e−zez−e−z
函数图像:
适用范围:
\quad tanhtanhtanh是较为常用的激活函数,但它的缺点是在导数值接近“0”时,学习速率会降低,这会直接导致更长的训练时间。
3. ReLU(修正线性单元)
表达式:
a=max(0,z)a = max(0, z) a=max(0,z)
函数图像:
适用范围:
\quad ReLU线性修正单元是目前最为常用和流行的激活函数,尤其是其大量的应用于卷积神经网络中,还有就是,ReLU函数构成简单,易于实现。
\quad 我们从它的函数图像可以看出,在z > 0时,其导数值恒为1,所以,相较于其他激活函数而言,它可以极大的提高训练速度,降低算法的运行时间。
\quad 注
: 当z = 0时,由于此点导数未定义,所以将此点的导数值赋为0或1。
4. Leaky-ReLU(带泄露的ReLU)
表达式:
a=max(0.01z,z)a = max(0.01z, z) a=max(0.01z,z)
函数图像:
适用范围:
\quad Leaky-ReLU能够出现原因是因为,当z < 0时,ReLU的导数值为0,这不利于神经网络进行学习。所以,在z < 0时,为其赋予一定的斜率(导数)。
\quad 如果你问,为什么在z < 0时取斜率值 = 0.01?
\quad 实际上,你可以把这个斜率作为参数输入,但是实际上,很少有人会这么做;所以,如果你想用Leaky-ReLU,那么在z < 0时,取斜率值 = 0.01,即可。
\quad 注
:但,实际上,神经网络中有足够多的隐藏单元使z > 0,所以,在大多数情况下,还是ReLU更加常用。
最后,还要说明的一点是,为什么神经网络一定要使用非线性激活函数?
答:
\quad根据吴恩达(Andrew Ng)老师的神经网络与深度学习课程中讲到的,如果使用线性激活函数(activation)或者不使用激活函数(activation),那么神经网络只是对输入做线性组合,则只会得到经线性变换
后的函数,无法很好的拟合数据集,无法通过反向传播学习到有趣的函数。
\quad而且,若习得的函数为线性函数,那么实际上隐藏层并没有做什么,莫不如去除隐藏层,降低训练时间。
\quad 因此,在神经网络中一定要使用非线性激活函数,才能更好的拟和数据集,这样,神经网络才能学到有趣的东西。
DeepLearning: 归纳几种常用的激活函数(activation)相关推荐
- 常用激活函数activation function(Softmax、Sigmoid、Tanh、ReLU和Leaky ReLU) 附激活函数图像绘制python代码
激活函数是确定神经网络输出的数学方程式. 激活函数的作用:给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数. 1.附加到网络中的每个神经元,并根据每个神经元的输入来确定是否应激活. 2 ...
- 深度学习中几种常见的激活函数理解与总结
学习神经网络的时候我们总是听到激活函数这个词,而且很多资料都会提到常用的激活函数,比如Sigmoid函数.tanh函数.Relu函数.肯定很多人刚开始和我一样一头雾水,接下来就让我们详细了解一下激活函 ...
- 常用的激活函数(Sigmoid、Tanh、ReLU等)
目录 一.激活函数定义 二.梯度消失与梯度爆炸 1.什么是梯度消失与梯度爆炸 2.梯度消失的根本原因 3.如何解决梯度消失与梯度爆炸问题 三.常用激活函数 1.Sigmoid 2.Tanh 3.ReL ...
- 常用的激活函数汇总-Sigmoid, tanh, relu, elu
激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...
- 深度学习常用的激活函数以及python实现(Sigmoid、Tanh、ReLU、Softmax、Leaky ReLU、ELU、PReLU、Swish、Squareplus)
2022.05.26更新 增加SMU激活函数 前言 激活函数是一种添加到人工神经网络中的函数,类似于人类大脑中基于神经元的模型,激活函数最终决定了要发射给下一个神经元的内容. 此图来自百度百科,其中s ...
- 超越ReLU!SMU:一种新的激活函数,让CNN性能涨点!
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:集智书童 SMU: smooth activation function for deep netw ...
- 基于 Python 的 8 种常用抽样方法
抽样是统计学.机器学习中非常重要,也是经常用到的方法,因为大多时候使用全量数据是不现实的,或者根本无法取到.所以我们需要抽样,比如在推断性统计中,我们会经常通过采样的样本数据来推断估计总体的样本. 上 ...
- DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略
DL之AF:机器学习/深度学习中常用的激活函数(sigmoid.softmax等)简介.应用.计算图实现.代码实现详细攻略 目录 激活函数(Activation functions)相关配图 各个激活 ...
- 激活函数 activation function
文章目录 激活函数 activation function Sigmoid Sigmoid 反向传播 Tanh ReLU Dead ReLU Problem 产生的原因 激活函数 activation ...
最新文章
- 关于Java为什么配置好环境变量但是不能在命令行cmd运行javac的问题
- MySQL 中的运算符
- otf和ctf的意义_光学信息技术原理及应用 OTF与CTF的比较与计算.ppt
- iOS中改变部分字体颜色
- 计算机简单游戏有什么用,简单又好玩的互动游戏 简单又好玩的互动游戏有哪些...
- ubuntu 查看进程信息
- idea 创建java文件_idea创建java文件 格式不对
- Boruta特征筛选
- 模拟tcp_TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?
- 内置函数的数据聚合NumpyPandas
- 倍加福二维码测试2——C#界面程序开发
- 如何使用QT?步骤详解
- 如何理解 图像傅里叶变换的频谱图
- photoshop 调用扫描仪扫描证件至电脑
- C位流行语言,“2018年十大流行语”
- 尚硅谷周阳学习微服务《二》
- origin python控制台怎么用_如何在标准python控制台中访问BPY?BPY是python的混合器...
- Gnosis Safe 的使用
- Win10默认输入法切换中英文标点
- oracle建用户之前是否必须建表空间,Oracle数据库-建库、建表空间,建用户
热门文章
- 无法访问其他计算机共享打印机,想共享别人的打印机,但显示无法连接到打印机怎么处理?高手来!...
- ROS入门(九)——机器人自动导航(介绍、地图、定位和路径规划)
- python 字符串输出报错 'utf-8' codec can't encode characters in position
- 除了欧拉公式,这8个数学公式也足够美丽且神奇
- 澎湃新闻网站全站新闻爬虫及各大新闻平台聚合爬虫发布
- 至强服务器性能视频,至强E5 V4性能表现测试
- 作为计算机专业学生,最应该学习的课程前五位是什么?(2021 年更新)
- 大型连锁药店管理系统源码
- 英文影视网站视频资讯文章采集批量翻译发布
- 【数据结构与算法】之深入解析“K站中转内最便宜的航班”的求解思路与算法示例