1 为什么需要激活函数

首先数据的分布绝大多数是非线性的,而一般神经网络的计算是线性的,引入激活函数,是在神经网络中引入非线性,强化网络的学习能力。所以激活函数的最大特点就是非线性。

不同的激活函数,根据其特点,应用也不同。

Sigmoid和tanh的特点是将输出限制在(0,1)和(-1,1)之间,说明Sigmoid和tanh适合做概率值的处理,例如LSTM中的各种门;

而ReLU就不行,因为ReLU无最大值限制,可能会出现很大值。同样,根据ReLU的特征,Relu适合用于深层网络的训练,而Sigmoid和tanh则不行,因为它们会出现梯度消失。

2 常见的激活函数

1 Sigmoid

sigmoid函数也称为Logistic函数,因为Sigmoid函数可以从Logistic回归(LR)中推理得到,也是LR模型指定的激活函数。

sigmod函数的取值范围在(0, 1)之间,可以将网络的输出映射在这一范围,方便分析。

激活函数 表达式 导形式 取值范围 图像 适用
Sigmoid f = 1 1 + e x f = \frac{1}{1+e^x} f=1+ex1​ f ′ = f ( 1 − f ) f'=f(1-f) f′=f(1−f) (0,1) 计算概率值

优缺点分析:

  1. 优点:
    易于求导,数据符合泊松分布
  2. 缺点:
    • 激活函数计算量大(在正向传播和反向传播中都包含幂运算和除法);
    • 反向传播求误差梯度时,求导涉及除法;
    • Sigmoid导数取值范围是[0, 0.25],由于神经网络反向传播时的“链式反应”,很容易就会出现梯度消失的情况。
    • Sigmoid的输出不是0均值(即zero-centered);这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入,随着网络的加深,会改变数据的原始分布。|

2 Tanh

tanh为双曲正切函数,其英文读作Hyperbolic Tangent。tanh和 sigmoid 相似,都属于饱和激活函数,区别在于输出值范围由 (0,1) 变为了 (-1,1),可以把 tanh 函数看做是 sigmoid 向下平移和拉伸后的结果。

激活函数 表达式 导形式 取值范围 图像 适用
tanh f = e x − e − x e x + e − x f = \frac{e^x-e^{-x}}{e^x+e^{-x}} f=ex+e−xex−e−x​ f ′ = 2 1 + e − 2 x − 1 f'=\frac{2}{1+e^{-2x}}-1 f′=1+e−2x2​−1 (-1,1)

Tanh的特点

  1. 优点

    • tanh的输出范围时(-1, 1),解决了Sigmoid函数的不是zero-centered输出问题;
  2. 缺点
    • 幂运算的问题仍然存在;
    • tanh导数范围在(0, 1)之间,相比sigmoid的(0, 0.25),梯度消失得到缓解,但仍然存在。

3 Relu及其变体(2012 AlexNet)

由于以上激活函数存在的梯度消失问题,所以2012年提出了整流线性单元(Relu)。

激活函数 表达式 导形式 取值范围 图像 适用
Relu f = m a x ( 0 , x ) f =max(0,x) f=max(0,x) f ′ = 1 , 0 f'=1, 0 f′=1,0 [0,1) 避免了梯度消失,适用于深度网络
P R e l u ( a i 变量 ) / / L e a k y R e l u ( a i = 0.01 ) PRelu(a_i变量)//LeakyRelu(a_i=0.01) PRelu(ai​变量)//LeakyRelu(ai​=0.01) f ( x ) = { a i x , x < 0 x , x > = 0 f(x)=\left\{\begin{aligned}a_ix, x<0 \\x,x>=0\end{aligned}\right. f(x)={ai​x,x<0x,x>=0​ f ′ ( x ) = { a i , x < 0 1 , x > = 0 f'(x)=\left\{\begin{aligned}a_i, x<0 \\1,x>=0\end{aligned}\right. f′(x)={ai​,x<01,x>=0​ (-1,1) 改善Relu的0梯度,为一个很小的负值,防止神经元死亡
RRelu y = { x , x ≥ 0 a ( e x − 1 ) , x < 0 y=\left\{\begin{array}{lc}x, & x \geq 0 \\ a\left(e^{x}-1\right), & x<0\end{array}\right. y={x,a(ex−1),​x≥0x<0​ (-1,1) 在负数部分的ai是从一个均匀的分布U(I,u)中随机抽取的数值

总结:

  1. Leaky ReLU中的为常数,一般设置 0.01。这个函数通常比 Relu 激活函数效果要好,但是效果不是很稳定,所以在实际中 Leaky ReLu 使用的并不多。

  2. PRelu(参数化修正线性单元) 中作为一个可学习的参数,会在训练的过程中进行更新。

  3. RReLU(随机纠正线性单元)也是Leaky ReLU的一个变体。在RReLU中,负值的斜率在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,aji是从一个均匀的分布U(I,u)中随机抽取的数值。

4 Softmax

Softmax函数是用于多类分类问题的激活函数,在多类分类问题中,超过两个类标签则需要类成员关系。对于长度为K的任意实向量,Softmax函数可以将其压缩为长度为K,值在[ 0 , 1 ] 范围内,并且向量中元素的总和为1的实向量。

Softmax函数的分母结合了原始输出值的所有因子,这意味着Softmax函数获得的各种概率彼此相关。

为何叫做softmax,适合max函数比较得到的,max只会返回一个最大值,而忽略了其余值,softmax的方式就略显soft,按照归一化的方式保留每一个较小的值。

s o f t m a x ( x ) = e x p ( x i ) ∑ i e x p ( x i ) softmax(x) = \frac{exp(x_i)}{\sum_{i}exp(x_i)} softmax(x)=∑i​exp(xi​)exp(xi​)​

Softmax激活函数的特点:

  • 在零点不可微。
  • 负输入的梯度为零,这意味着对于该区域的激活,权重不会在反向传播期间更新,因此会产生永不激活的死亡神经元,梯度消失。

深度学习常用激活函数总结相关推荐

  1. 深度学习常用激活函数

    在感知器模型.神经网络模型.深度学习模型中均会看见激活函数的声影.激活函数又被称为转移函数.激励函数.传输函数或限幅函数,其作用就是将可能的无限域变换到一指定的有限范围内输出,这类似于生物神经元具有的 ...

  2. 趣谈深度学习核心----激活函数

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 当你在苦扒图像处理方法得时候 他在用深度学习 当你在干瞪切片像素得 ...

  3. 深度学习(二)——深度学习常用术语解释, Neural Network Zoo, CNN, Autoencoder

    Dropout(续) 除了Dropout之外,还有DropConnect.两者原理上类似,后者只隐藏神经元之间的连接. 总的来说,Dropout类似于机器学习中的L1.L2规则化等增加稀疏性的算法,也 ...

  4. 自动驾驶深度学习常用中英文对照表

    自动驾驶深度学习常用中英文对照表 A B C D E F G H I J K L M N O P Q R S T U V W Z A 英文 中文 词性 activation 激活值 n,名词 acti ...

  5. DL:关于深度学习常用数据集中训练好的权重文件(Deeplab v3、MobileNet、InceptionV3、VGG系列、ResNet、Mask R-CNN )下载地址集合(持续更新)

    DL:关于深度学习常用数据集中训练好的权重文件(Deeplab v3.MobileNet.InceptionV3.VGG系列.ResNet.Mask R-CNN )下载地址集合(持续更新) 目录 基于 ...

  6. 深度学习常用性能评价指标

    深度学习常用性能评价指标 前言 基于准确度的指标 基于排名的指标 基于图数据的指标 前言 深度学习性能指标是用于评价深度学习模型性能的依据,是设计模型的重要依据. 基于准确度的指标 对于模型而言仅统计 ...

  7. 深度学习常用python库学习笔记

    深度学习常用python库学习笔记 常用的4个库 一.Numpy库 1.数组的创建 (1)np.array() (2)np.zeros() (3)np.ones() (4)np.empty() (5) ...

  8. 深度学习常用评价指标

    版权声明:本文为CSDN博主「ZONG_XP」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/zong59 ...

  9. Paper:机器学习、深度学习常用的国内/国外引用(References)论文参考文献集合(建议收藏,持续更新)

    Paper:机器学习.深度学习常用的国内/国外引用(References)论文参考文献集合(建议收藏,持续更新) References 1.国外格式 [1] D. E. Rumelhart, G. E ...

最新文章

  1. 利用棋盘格重新校正摄像头,求取Apriltag取向
  2. vs2017python找不到包_关于Python在VS2017版中编译C源代码出现的各种问题解决方法...
  3. 小米菲的Tableau学习日记01:Tableau学习资料、安装及学生版申请
  4. 两台电脑服务器文件同步,多台电脑怎么实现数据同步
  5. AIDA64 Extreme Edition(硬件检测)多国语言绿色特别版
  6. Tomcat——通过.bat批处理程序重启Tomcat
  7. python爬虫豆瓣网的模拟登录实现
  8. 威富通对账单下载并且解析为对象列表展示
  9. 【python爬虫】反反爬之破解js加密--入门篇:谷歌学术镜像搜索(scmor.com)
  10. 搜狗浏览器怎么翻译英文网页
  11. 百度404.html,百度标准死链(404页面)官方文档全解析
  12. 用Html实现世纪佳缘交友注册页面是什么体验?
  13. Silverlight 结构
  14. Spring自定义参数解析器
  15. 第十六周学习周报20181224-20181230
  16. 最长匹配括号子序列问题
  17. odoo11在win10环境搭建
  18. c语言blackjack设计思路,blackjack基本策略.doc
  19. 用MATLAB进行余弦信号频谱分析
  20. java许愿墙_许愿墙的实现

热门文章

  1. Win7游戏全屏设置
  2. C县宏站网络优化及开福区Volte分析报告
  3. linux ifstat 网卡流量,linux 使用ifstat查看网络使用情况
  4. 2 月份浏览器市场排行榜出炉
  5. 分治法求金块问题java_十、用分治法求金块问题.doc
  6. middlebury立体匹配评估使用方法总结(一)——网站说明
  7. 硬核拆解100W车充应用—拓尔微一站式快充解决方案全程在线
  8. 【机器学习】多标签分类怎么做?(Python)
  9. java 双向链表的示例
  10. js判断运行环境是手机还是 PC