0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解十种激活函数的优缺点

深度学习自然语言处理 来源:机器之心 作者:机器之心 2021-03-05 16:15 次阅读

激活函数是神经网络模型重要的组成部分,本文作者Sukanya Bag从激活函数的数学原理出发,详解了十种激活函数的优缺点。

b15119da-7c22-11eb-8b86-12bb97331649.png

激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,激活函数最终决定了要发射给下一个神经元的内容。 在人工神经网络中,一个节点的激活函数定义了该节点在给定的输入或输入集合下的输出。标准的计算机芯片电路可以看作是根据输入得到开(1)或关(0)输出的数字电路激活函数。因此,激活函数是确定神经网络输出的数学方程式,本文概述了深度学习中常见的十种激活函数及其优缺点。 首先我们来了解一下人工神经元的工作原理,大致如下:

b172c7ce-7c22-11eb-8b86-12bb97331649.png

上述过程的数学可视化过程如下图所示:

b1b42b38-7c22-11eb-8b86-12bb97331649.png

1. Sigmoid 激活函数

b21b8076-7c22-11eb-8b86-12bb97331649.png

Sigmoid 函数的图像看起来像一个 S 形曲线。 函数表达式如下:

b23e4d0e-7c22-11eb-8b86-12bb97331649.png

在什么情况下适合使用 Sigmoid 激活函数呢?

Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化;

用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适;

梯度平滑,避免「跳跃」的输出值;

函数是可微的。这意味着可以找到任意两个点的 sigmoid 曲线的斜率;

明确的预测,即非常接近 1 或 0。

Sigmoid 激活函数有哪些缺点?

倾向于梯度消失;

函数输出不是以 0 为中心的,这会降低权重更新的效率;

Sigmoid 函数执行指数运算,计算机运行得较慢。

2. Tanh / 双曲正切激活函数

b2893b8e-7c22-11eb-8b86-12bb97331649.png

tanh 激活函数的图像也是 S 形,表达式如下:

b2c9a2be-7c22-11eb-8b86-12bb97331649.png

tanh 是一个双曲正切函数。tanh 函数和 sigmoid 函数的曲线相对相似。但是它比 sigmoid 函数更有一些优势。

b3075dde-7c22-11eb-8b86-12bb97331649.png

首先,当输入较大或较小时,输出几乎是平滑的并且梯度较小,这不利于权重更新。二者的区别在于输出间隔,tanh 的输出间隔为 1,并且整个函数以 0 为中心,比 sigmoid 函数更好;

在 tanh 图中,负输入将被强映射为负,而零输入被映射为接近零。

注意:在一般的二元分类问题中,tanh 函数用于隐藏层,而 sigmoid 函数用于输出层,但这并不是固定的,需要根据特定问题进行调整。 3. ReLU 激活函数

b33e4402-7c22-11eb-8b86-12bb97331649.png

ReLU 激活函数图像如上图所示,函数表达式如下:

b3655d1c-7c22-11eb-8b86-12bb97331649.png

ReLU 函数是深度学习中较为流行的一种激活函数,相比于 sigmoid 函数和 tanh 函数,它具有如下优点:

当输入为正时,不存在梯度饱和问题。

计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。

当然,它也有缺点:

Dead ReLU 问题。当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题;

我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。

4. Leaky ReLU 它是一种专门设计用于解决 Dead ReLU 问题的激活函数:

b38eadde-7c22-11eb-8b86-12bb97331649.png

ReLU vs Leaky ReLU 为什么 Leaky ReLU 比 ReLU 更好?

b3bcabe4-7c22-11eb-8b86-12bb97331649.png

Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题;

leak 有助于扩大 ReLU 函数的范围,通常 a 的值为 0.01 左右;

Leaky ReLU 的函数范围是(负无穷到正无穷)。

注意:从理论上讲,Leaky ReLU 具有 ReLU 的所有优点,而且 Dead ReLU 不会有任何问题,但在实际操作中,尚未完全证明 Leaky ReLU 总是比 ReLU 更好。 5. ELU

b3f5188a-7c22-11eb-8b86-12bb97331649.png

ELU vs Leaky ReLU vs ReLU ELU 的提出也解决了 ReLU 的问题。与 ReLU 相比,ELU 有负值,这会使激活的平均值接近零。均值激活接近于零可以使学习更快,因为它们使梯度更接近自然梯度。

b435ac06-7c22-11eb-8b86-12bb97331649.png

显然,ELU 具有 ReLU 的所有优点,并且:

没有 Dead ReLU 问题,输出的平均值接近 0,以 0 为中心;

ELU 通过减少偏置偏移的影响,使正常梯度更接近于单位自然梯度,从而使均值向零加速学习;

ELU 在较小的输入下会饱和至负值,从而减少前向传播的变异和信息

一个小问题是它的计算强度更高。与 Leaky ReLU 类似,尽管理论上比 ReLU 要好,但目前在实践中没有充分的证据表明 ELU 总是比 ReLU 好。 6. PReLU(Parametric ReLU)

b45f86d4-7c22-11eb-8b86-12bb97331649.png

PReLU 也是 ReLU 的改进版本:

b4bbf5e0-7c22-11eb-8b86-12bb97331649.png

看一下 PReLU 的公式:参数α通常为 0 到 1 之间的数字,并且通常相对较小。

如果 a_i= 0,则 f 变为 ReLU

如果 a_i> 0,则 f 变为 leaky ReLU

如果 a_i 是可学习的参数,则 f 变为 PReLU

PReLU 的优点如下:

在负值域,PReLU 的斜率较小,这也可以避免 Dead ReLU 问题。

与 ELU 相比,PReLU 在负值域是线性运算。尽管斜率很小,但不会趋于 0。

7. Softmax

b4d0365e-7c22-11eb-8b86-12bb97331649.png

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

b4f3cfec-7c22-11eb-8b86-12bb97331649.png

Softmax 与正常的 max 函数不同:max 函数仅输出最大值,但 Softmax 确保较小的值具有较小的概率,并且不会直接丢弃。我们可以认为它是 argmax 函数的概率版本或「soft」版本。 Softmax 函数的分母结合了原始输出值的所有因子,这意味着 Softmax 函数获得的各种概率彼此相关。 Softmax 激活函数的主要缺点是:

在零点不可微;

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

8. Swish

b50f8ef8-7c22-11eb-8b86-12bb97331649.png

函数表达式:y = x * sigmoid (x) Swish 的设计受到了 LSTM 和高速网络中 gating 的 sigmoid 函数使用的启发。我们使用相同的 gating 值来简化 gating 机制,这称为 self-gating。 self-gating 的优点在于它只需要简单的标量输入,而普通的 gating 则需要多个标量输入。这使得诸如 Swish 之类的 self-gated 激活函数能够轻松替换以单个标量为输入的激活函数(例如 ReLU),而无需更改隐藏容量或参数数量。 Swish 激活函数的主要优点如下:

「无界性」有助于防止慢速训练期间,梯度逐渐接近 0 并导致饱和;(同时,有界性也是有优势的,因为有界激活函数可以具有很强的正则化,并且较大的负输入问题也能解决);

导数恒 > 0;

平滑度在优化和泛化中起了重要作用。

9. Maxout

在 Maxout 层,激活函数是输入的最大值,因此只有 2 个 maxout 节点的多层感知机就可以拟合任意的凸函数。 单个 Maxout 节点可以解释为对一个实值函数进行分段线性近似 (PWL) ,其中函数图上任意两点之间的线段位于图(凸函数)的上方。

b59cad06-7c22-11eb-8b86-12bb97331649.png

Maxout 也可以对 d 维向量(V)实现:

假设两个凸函数 h_1(x) 和 h_2(x),由两个 Maxout 节点近似化,函数 g(x) 是连续的 PWL 函数。

b5cba674-7c22-11eb-8b86-12bb97331649.png

因此,由两个 Maxout 节点组成的 Maxout 层可以很好地近似任何连续函数。

10. Softplus

b614c44e-7c22-11eb-8b86-12bb97331649.png

Softplus 函数:f(x)= ln(1 + exp x) Softplus 的导数为 f ′(x)=exp(x) / ( 1+exp⁡ x ) = 1/ (1 +exp(−x )) ,也称为 logistic / sigmoid 函数。 Softplus 函数类似于 ReLU 函数,但是相对较平滑,像 ReLU 一样是单侧抑制。它的接受范围很广:(0, + inf)。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4732

    浏览量

    100395
  • 函数
    +关注

    关注

    3

    文章

    4276

    浏览量

    62303
  • 神经元
    +关注

    关注

    1

    文章

    363

    浏览量

    18431

原文标题:【基础】深度学习最常用的10个激活函数!(数学原理+优缺点)

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    雪崩晶体管有哪些优缺点

    雪崩晶体管作为一特殊的半导体器件,在电子领域具有其独特的优缺点
    的头像 发表于 09-23 18:05 179次阅读

    十种常见硬件电路,你都用过没(下)

    十种电路已经列举完成了,分别是电源电路、放大电路、滤波电路、振荡电路、调制解调电路、逻辑电路、开关电源电路、传感器电路、混合信号电路、射频电路。
    的头像 发表于 08-01 18:55 2058次阅读
    <b class='flag-5'>十种</b>常见硬件电路,你都用过没(下)

    AI大模型与小模型的优缺点

    在人工智能(AI)的广阔领域中,模型作为算法与数据之间的桥梁,扮演着至关重要的角色。根据模型的大小和复杂度,我们可以将其大致分为AI大模型和小模型。这两模型在定义、优缺点及应用场景上存在着显著的差异。本文将从多个维度深入探讨AI大模型与小模型的特点,并分析其各自的
    的头像 发表于 07-10 10:39 2158次阅读

    前馈神经网络的基本结构和常见激活函数

    激活函数的非线性变换,能够学习和模拟复杂的函数映射,从而解决各种监督学习任务。本文将详细阐述前馈神经网络的基本结构,包括其组成层、权重和偏置、激活
    的头像 发表于 07-09 10:31 461次阅读

    BP神经网络激活函数怎么选择

    中,激活函数起着至关重要的作用,它决定了神经元的输出方式,进而影响整个网络的性能。 一、激活函数的作用 激活
    的头像 发表于 07-03 10:02 500次阅读

    卷积神经网络激活函数的作用

    卷积神经网络(Convolutional Neural Networks, CNNs)是深度学习中一重要的神经网络结构,广泛应用于图像识别、语音识别、自然语言处理等领域。在卷积神经网络中,激活函数
    的头像 发表于 07-03 09:18 628次阅读

    神经网络中激活函数的定义及类型

    引言 神经网络是一模拟人脑神经元结构的计算模型,广泛应用于图像识别、自然语言处理、语音识别等领域。在神经网络中,激活函数起着至关重要的作用,它决定了神经元的输出值,进而影响整个网络的性能。本文将
    的头像 发表于 07-02 10:09 402次阅读

    nbiot和lora的优缺点是什么?

    nbiot和lora的优缺点
    发表于 06-04 06:37

    PyTorch中激活函数的全面概览

    为了更清晰地学习Pytorch中的激活函数,并对比它们之间的不同,这里对最新版本的Pytorch中的激活函数进行了汇总,主要介绍激活
    的头像 发表于 04-30 09:26 481次阅读
    PyTorch中<b class='flag-5'>激活</b><b class='flag-5'>函数</b>的全面概览

    光耦隔离 电容隔离 磁隔离这三隔离方式各有什么优缺点

    光耦隔离、电容隔离和磁隔离是三常见的隔离方式,它们各有优缺点,适用于不同的应用场景。
    的头像 发表于 01-30 15:38 4934次阅读

    电动机调速方式的优缺点

    电动机调速方式的优缺点  电动机调速是指根据负载的要求调整电动机转速的过程,可分为机械调速和电子调速两方式。机械调速主要使用机械装置来调整电动机的速度,而电子调速则利用电子器件对电动机进行精确
    的头像 发表于 01-04 11:26 1102次阅读

    WLAN和蜂窝网络的优缺点

    WLAN和蜂窝网络的优缺点 WLAN(无线局域网)和蜂窝网络(Cellular Network)是我们日常生活中广泛使用的两无线通信技术。它们在连接设备和提供网络服务方面有着不同的优缺点。下面将
    的头像 发表于 12-11 11:26 2076次阅读

    常见开关电源优缺点对比

    常见开关电源优缺点对比
    的头像 发表于 12-07 15:30 648次阅读
    常见开关电源<b class='flag-5'>优缺点</b>对比

    十种精密全波整流电路原图分享

    十种精密全波整流电路原图,大家点评下
    发表于 11-27 06:47

    PCB表面处理工艺OSP的优缺点

    PCB加工过程中的一常见的表面处理工艺。万物皆不十全十美,OSP也不例外,接下来深圳PCB板厂为大家介绍下PCB制板表面处理工艺OSP的优缺点
    的头像 发表于 11-15 09:16 1633次阅读