机器学习 | 算法模型 —— 常用激活函数(sigmod,Tanh,ReLU,LReLU,PReLU,RReLU,softmax,Maxout)

激活函数 Sigmod 及其导数 sigmod 是最常见的激活函数之一。其图像和导数如文章所示。 阅读详情
AI摘要

本文深入探讨了激活函数在神经网络中的重要性,包括为何需要它们,以及它们的常见特性。详细介绍了Sigmod、tanh、ReLU及其变种、Maxout、Softmax等多种激活函数的工作原理,优缺点及应用场景。

目录

1.为什么需要激活函数

2.激活函数通常的性质

3.Sigmod(隐层神经元输出)

4.tanh(隐层神经元输出)

5.ReLU函数(隐层神经元输出)

6.LReLU(隐层神经元输出)

7.PReLU(隐层神经元输出)

8.RReLU(隐层神经元输出)

9.ELU(隐层神经元输出)

10.Maxout(深度学习中的一层网络)

11.Softmax(多分类神经网络输出:多个神经元输出)


1.为什么需要激活函数

在神经网络或者逻辑回归当中都使用到了激活函数。在神经网络中,每个神经元节点接收上一层神经元的输出值作为本神经元的输入值,并将输出值继续向下层传递。那么,在上层神经元节点的输出与下层神经元节点的输入之间具有一个函数关系,这个函数被称为激活函数。

若不用激活函数或激活函数是线性函数(也就相当于激活函数f(x)=x,即恒等线性激活函数),则无论神经网络定义多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机,那么网络的逼近能力就相当有限了。正因为如此,才需要引入非线性函数作为激励函数,这样深层神经网络表达能力就更加的强大,几乎可以逼近任意函数。

2.激活函数通常的性质

(1)计算简单:激活函数的前向计算次数与神经元的个数成正比,因此,简单的激活函数效率更高。这也是ReLU之流比其他使用Exp等操作的激活函数更加受欢迎的原因之一。

(2)非线性:理由同1(同时,非线性激活函数能够使用平滑的曲线分割平面,没必要使用复杂的线性组合逼近平滑曲线来分割平面)

(3)可微性:当优化方法是基于梯度(偏导数的向量)的时候,该性质是必须的

(4)单调性:即导数符号不变。这个性质大部分激活函数都有,除了诸如sin、cos等。个人理解,单调性使得在激活函数处的梯度方向不会经常改变,从而让训练更容易收敛。

(5)输出值范围:有限的输出范围使得网络对极值(较大或较小)的处理更加的稳定,这也就是早期激活函数为此类函数的原因,如sigmod、tanh。但是在反向传播算法中需要计算激活函数导数,通过导数图像会发现如sigmod等激活函数从0开始很快就趋近于0了,很容易造成“梯度消失”现象;并且,强行将每一层的输出限制在一个输出层面上会限制网络的表达能力。

(6)非饱和性:即梯度消失,使得参数无法继续更新的问题。如:Sigmoid函数的导数在x为比较大的正值和比较小的负值时都会接近于0。更极端的例子是阶跃函数,由于它在几乎所有位置的梯度都为0,因此处处饱和,无法作为激活函数。ReLU在x>0时导数恒为1,因此对于再大的正值也不会饱和。但同时对于x<0,其梯度恒为0,这时候它也会出现饱和的现象(在这种情况下通常称为dying ReLU)。Leaky ReLU和PReLU的提出正是为了解决这一问题。

(7)部分接近恒等变换(f(x)≈x):这样的好处是是的输出的增幅不会出现随着深度的增加而发生明显的增加(如:指数爆炸),从而使得网络更加的稳定,同时梯度(导数)更容易回转。之所以称之为“部分”,是因为与(2)“非线性”相互矛盾,因此,激活函数基本只是部分满足这个条件。

3.Sigmod(隐层神经元输出)

sigmod函数是生物学中一种常见的S型函数,也称为S型生长曲线。在信息科学当中,其由于单调递增和反函数单调递增等性质,Sigmod函数常常被用作神经网络的阙值函数,将变量映射到(0,1)之间。主要适用于二分类。

特点:

能够将输入的连续的数值转换到[0,1]之间。特别,对于非常大的负数,转换成0,非常大的正数转换成1。

缺点:

(1)在神经网络中梯度(导数)反向传播时,很容易造成“梯度消失”(w∈[0,1])或有很小的可能产生“梯度爆炸”(w初始化为(1,+∞))

(2)sigmod的输出并不是是以0为中心,使得权重的更新效率降低。

(3)函数式中含有幂运算,计算机求解时相对来说比较耗时。对于大规模的较大的深度网络,这会较大的增加训练时间。

sigmod函数公式: 

sigmod导数:

sigmod与sigmod_derivatrive对比图:

4.tanh(隐层神经元输出)

tanh是sigmod函数的一个优化变形,其解决了sigmod未过(0,0)点的问题,然而,sigmod存在的“梯度消失”和“幂运算效率低下”问题并没有解决。

tanh公式:

tanh导数:

tanh和tank_derivatrive对比图

5.ReLU函数(隐层神经元输出)

ReLU(Rectified Linear Unit)函数是目前比较火的激活函数。

优点:相比于tanh和sigmod

(1)当x>0时不存在“梯度消失”问题(梯度饱和问题)

(2)无论是前向计算,还是后向误差调整,不存在“幂运算效率低下”问题(收敛速度快)

缺点:

(1)ReLU的输出要么是0要么是正数,因此其不是以0为中心的

(2)当输入值为负数,ReLU完全不被激活,即ReLU会死掉。正向和反向传播都是如此

(3)当学习速率过大,权重调节过大,同样会使得网络节点不被激活(w = w - r*df(wx+b)*x)

ReLU公式:

ReLU导数:

ReLU与ReLU_derivatrive对比:

6.LReLU(隐层神经元输出)

优点:

(1)理论上来说,具备ReLU的全部优点

(2)解决了原有ReLU算法在x<0区间上的神经元节点死亡问题(αx),并且缓解了ReLU不是0中心的问题

缺点:

(1)实际的操作过程中,并没有完全证明PReLU要比ReLU要好

(2)α需要依据先验经验进行判断

LReLU公式:

LReLU导数:

LReLU与LReLU_derivatrive对比:

7.PReLU(隐层神经元输出)

对于 LReLU 中的α,通常都是通过先验知识人工赋值的。 然而可以观察到,损失函数对α的导数我们是可以求得的,因此可以将α作为一个参数进行训练。Kaiming He的论文《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》指出,不仅可以训练,而且效果更好,最终的效果比人工赋值提高了1.03%。

8.RReLU(隐层神经元输出)

RReLU也是Leaky ReLU的一个变体。在RReLU中,负值的斜率α在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,αij是从一个均匀分布U(I,u)中随机抽取的数值。测试阶段,最终的α为(l+u)/2。

优点:

(1)具有LReLU的全部优点

(2)α并不是根据先验经验确定的,而是在一个给定范围内的均匀分布随机值,在测试环节中被固定下来

RReLU公式:

RReLU导数:

RReLU和RReLU_derivatrive对比:

9.ELU(隐层神经元输出)

ELU也是为了解决ReLU存在的问题而提出的。

优点:

(1)当x>0时不存在“梯度消失”问题(梯度饱和问题)

(2)当x<0是不存在神经元死亡现象

(3)输出的均值接近0,zero-centered

缺点:

(1)幂运算计算量稍大.

(2)α需要依据先验经验进行选择

(2)理论上由于ReLU,但是实际使用中并没有好的证据证明ELU总是优于ReLU.

ELU公式:

 ELU导数:

ELU和ELU_derivatrive对比图: 

10.Maxout(深度学习中的一层网络)

maxout是深度学习网络中的一层网络,类似于池化层、卷积层一样,这里即是将maxout看成网络的激活层函数,假设网络的某一层的输入特征为:X=(x1,x2,...,xd),输入神经元为d个,则隐藏层神经元计算公式如下:

传统的神经网络模型在第i层到i+1层时,只需要计算一组参数,而maxout则在该层训练了k组参数(w\b),然后选择最大的激活值作为下一层神经元的激活值,此时max(z)函数充当了激活函数。

优点:

(1)计算简单

(2)不会出现“梯度消失”现象

(3)不会出现节点死亡现象

缺点:

增加了网络的复杂程度,计算效率低

11.Softmax(多分类神经网络输出:多个神经元输出)

在数学当中,尤其是在概率论和相关领域当中,SoftMax函数(归一化指数函数)是逻辑函数的一种推广。

优点:

(1)将一个含有任意实数的K维向量Z“压缩”到另外一个K维实向量P中,使得每个元素的值都在[0, 1]之间

(2)压缩后的向量的所有元素之和为1

(3)对向量进行归一化,凸显其中最大的值并抑制远低于最大值的其他分量

缺点:

(1)函数式中含有幂运算,计算机求解时相对来说比较耗时。对于大规模的较大的深度网络,这会较大的增加训练时间

(2)softmax处理多分类问题时要求类别之间互斥,即一个输入智能被归为一类。不能出现,“苹果”既输入“水果”也属于“3C”的情况出现。

softmax公式:

 

数据库顶级会议 SIGMOD和另外两大数据库会议VLDB、ICDE构成了数据库领域的三个顶级会议。相对而言,SIGMOD比另外两个会议的含金量更高,被录取的难度更大。         ACM SIGMOD的论文录取率是很低的,平均录取率大约仅为15%-17%。以ACM SIGMOD 2007年在中国北京举行的那次为例,会议共收到论文480篇,录用了70篇。录用率仅为14.6%。而同为顶级会议的VLDB和ICDE 阅读详情

相关推荐

数据库领域顶会SIGMOD背后的故事,这篇文章全部告诉你~

SIGMOD数据管理国际会议(Special Interest Group on Management Of Data.)是由美国计算机协会(ACM)数据管理专业委员会(SIGMOD)发起、在数据库领域具有最高学术地位的国际性学术会议,所收录的论文代表了行业内的最高水平。会议的目的是在全球范围内为数据库领域的研究者、开发者以及用户提供一个探索最新学术思想和研究方法、交流开发技巧、工具以及经验的平台,引导和促进数据库学科的发展。 SIGMOD第一届会议于1974年在美国密西根(Michigan)召开,传统上

巨杉数据库技术社区 2316

从0到1 激活函数(一)sigmod函数

引言 本节主要是介绍神经网络中常见的激活函数-----sigmod函数。 sigmod的函数 简介 sigmod的函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,常被用作神经网络的激活函数,将变量映射到0,1之间。-------------摘自《百度百科》 sigmod函数也叫作Log...

秋水顽石 8万+

【激活函数】PReLU 激活函数

PReLU(Parametric Rectified Linear Unit)激活函数是ReLU(Rectified Linear Unit)激活函数的一种改进。它是由 He et al. 在 2015 年提出的,旨在解决ReLU激活函数的一些局限性。

Next_SummerAgain的博客 3399

PReLU, LReLU, ReLU

PReLU 新的激活函数 (Parametric Rectified Linear Unit),该激活函数可以自适应地学习矫正线性单元的参数,并且能够在增加可忽略的额外计算成本下提高准确率。 允许不同通道的激活函数不一样。当时a=0,PReLU就变成了ReLU,而且a 是一个可以学习的参数。 如果 a是一个小的固定值,PReLU就变成了LReLU (Leaky ReLU)。 LReLU目的是为了避免零梯度,实验表明LReLU相较ReLU对准确率几乎没有提高,但是PReLU的参数a可...

tangweirensheng的博客 8756

【区块链论文整理】SIGMOD篇(一)

SIGMOD(Special Interest Group On Management Of Data)是数据库三大顶会之一,近几年也发表了不少水平很高的文章。本文主要针对SIGMOD会议中区块链相关的论文进行简单整理。 ACM SIGMOD Conference 2021: Virtual Event, China SharPer: Sharding Permissioned Blockchains Over Network Clusters. Permissioned Blockchains..

RenLJ1895的博客 7882

五分钟搞懂游戏开发中的抗锯齿算法

常见抗锯齿算法总结锯齿由来抗锯齿算法SSAAMSAACSAA 锯齿由来 场景的定义在三维空间中是连续的,而最终显示的像素则是一个离散的二维数组,这是计算机屏幕产生锯齿的原因。在计算机处理图形的过程中(渲染管线了解一下),有一个非常重要的阶段,就是光栅化,光栅化主要的作用是将顶点数据的不连续性通过插值计算,将两个顶点之间不存在的点进行弥补,然后实现到屏幕像素点上的一一映射。如图,现在要在屏幕上绘制一...

绿洲守望者 1万+

深度学习中的激活函数(一)

一、激活函数的意义: 先简单介绍一下什么是激活函数~ 单一神经元模型如下图所示: 神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。 下面进入正题,激活函数存在的意义是什么呢,为什么不直接将神经元的输入输出直接进行连接呢? 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况

qq_52302919的博客 1831

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1681

Sigmod/Softmax变换

softmax建模使用的分布是多项式分布,而logistic则基于伯努利分布。多个logistic回归通过叠加也同样可以实现多分类的效果,但是 softmax回归进行的多分类,类与类之间是互斥的,即一个输入只能被归为一类;多个logistic回归进行多分类,输出的类别并不是互斥的,即"苹果"这个词语既属于"水果"类也属于"3C"类别。

皮皮blog 1万+

知识图谱中的 Ontology(本体论)

本文的部分图片和内容来自中国科学院自动化研究所刘康老师的课件 Ontology(本体论) Ontology 是(特定领域)信息组织的一种形式,是领域知识规范的抽象和描述,是表达、共享、重用知识的方法。 Ontology 是知识体系构建的关键技术,知识图谱是一种人工智能技术,它的关键在于让计算机能够处理人类的知识。然而,人类脑海中的知识通常是直觉性的,我们无法将这种直觉性的知识直接输入给计算机,On...

P01son的博客 2万+

数学建模学习(78):多输入多输出回归预测模型(结合XGBoost实现)

多输入多输出回归预测问题求解

全栈川川 8130

ReLU、LReLU、PReLU、CReLU、ELU、SELU

ReLU LReLU PReLU CReLU ELU SELUReLU tensorflow中:tf.nn.relu(features, name=None)LReLU(Leaky-ReLU) 其中aia_i是固定的。ii表示不同的通道对应不同的aia_i. tensorflow中:tf.nn.leaky_relu(features, alpha=0.2, name=None)PReLU

luxiaohai学习专栏 7万+

SDR 和 DDR 的区别

SDR 和 DDR 的差别,最明显提现在传输速率和频率上。DDR SDRAM与SDRAM的基本结构是相似的,最根本的区别在于DDR 支持在一个时钟周期内传输两次数据,,SDR 只能传输一次数据。

串起点滴 1960

神经网络——sigmod函数、激活函数、损失函数

sigmod函数通常作为激活函数 sigmod函数 导数 sigmod函数作用 这个看了很久一直不明白,但是多看几次总没错,因为在看了n次之后的现在我明白了。 简单的理解就是:将输入的值收敛起来(光滑和约束)。 如果是发散的,那就没有规律了 让一些没有规律的数字展现出规律来, 而函数的作用就是将输入转为另外一种输入,将问题转为另一个问题 这就是我的理解...

pageTan的小基地 9051

【全网最新OD题库】2026华为 OD 机试C卷 机考真题库清单(全真题库)含考点说明(华为OD+2025年C卷+2025年B卷+2025年A卷+E卷+D卷+C卷)

华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备战华为od,华为od算法,华为od手撕代码,华为OD机试2024年最新题库,一文带你读懂华为OD,华为机试e卷,华为OD2025B卷、华

KJ.JK 3万+

CloudCompare 二次开发(9)——半径滤波

基于PCL对CloudCompare软件进行二次开发,实现的算法功能是半径滤波

点云侠的博客 1401

PReLU激活函数

PReLU激活 PReLU(Parametric Rectified Linear Unit), 顾名思义:带参数的ReLU 对ReLU来说,x > 0,时f(y) = x, 而x < 0时,f(y) = 0 而PReLU:x > 0时,f(y) = x(i), x < 0时, f(y) = a(i)x(i) i为不同的通道 如果ai=0,那么PReLU退化为ReLU;如果ai是一个很小的固定值(如ai=0.01),则PReLU退化为Leaky ReLU(LReLU)。 ReLU相

perfectzxiny的博客 6498

一种基于机载LiDAR点云电力线自动提取方法

文章目录一、引言二、算法实现2.1实现步骤2.2实现代码 一、引言 二、算法实现 2.1实现步骤 (1)首先采用首先采用高程滤波方法去除地面点和低矮地物点,滤波后的点云数据中除电力线点云外还含部分杆塔点、高植被点和噪声点。 (2)根据点云空间维度特征提取电力线点,使用空间密度聚类的方法实现单根电力线精确分离。 2.2实现代码 在这里插入代码片 ...

dayuhaitang1的博客 5171

Day4_深度学习常见的激活函数选择

激活函数

qq_45912513的博客 1849

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ReLU,PReLU和LReLUD的区别

PReLU的参数a可以自适应学习,从而可以获得不同通道的专门的激活函数,可以提高准确率。实验表明LReLU相较ReLU对准确率几乎没有提高,LReLU目的是为了避免零梯度。首先介绍PReLU激活函数,如图中所示,其中a是一个可以学习的参数(即可变)=0)是一个固定值时,PReLU就变成了LReLU。当a=0时,PReLU就变成了ReLU。......

weixin_46568462的博客 1159

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

逻辑回归_sigmod函数

逻辑回归_sigmod函数

weixin_42471573的博客 2901

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

AI:sigmod函数详解

摘要:Sigmoid函数是深度学习中经典的激活函数,表达式为σ(x)=1/(1+e^-x)。其核心特性包括值域(0,1)、严格单调递增、平滑可微,且导数具有自指性质σ'(x)=σ(x)(1-σ(x))。主要应用于二分类输出层、概率建模和门控循环网络。虽然输出表示概率直观,但存在梯度消失、非零中心化、计算成本高等缺陷。现代深度学习中,Sigmoid多用于输出层和门控机制,隐藏层推荐使用ReLU等更高效的激活函数。理解Sigmoid的数学特性及局限性对网络设计具有重要意义。

xyzroundo的专栏 644

深度学习之激活函数——PReLU

参数整流线性激活函数(PReLU),全称Parametric ReLU,在解决ReLU激活函数会出现的dead relu神经元死亡的现象的同时,引入一个新的可学习的参数对激活函数进行控制。

m0_61787307的博客 1854

浅谈深度学习中的激活函数

激活函数的作用 首先,激活函数不是真的要去激活什么。在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。 比如在下面的这个问题中: 如上图(图片来源),在最简单的情况下,数据是线性可分的,只需要一条直线就已经能够对样本进行很好地分类。 但如果情况变得复杂了一点呢?在上图中(图片来源),数据就变成了线性不可分的情况。在这种情况

778

神经网络常见的激活函数汇总

1.激活函数的作用 在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。 比如在下面的这个问题中: 如上图所示,这是一个简单的线性分类问题,只需要一条直线就可以很好地分类。当我们碰到下图问题时,无法通过一条直线将样本分类出来,需要我们加入非线性因素才可以将样本分类好,而我们的激活函数就是我们要加入的非线性因素。 2.常见的激活函数...

donkey_1993的博客 2万+

激活函数(sigmoid、tanh、ReLU、softmax)

文章目录1.1、sigmoid函数1.2、tanh函数1.3、ReLU函数1.4、softmax函数 激活函数在神经网络中的作用有很多,主要作用是给神经网络提供非线性建模能力。如果没有激活函数,那么再多层的神经网络也只能处理线性可分问题。常用的激活函数有sigmoid、tanh、relu、softmax等。 1.1、sigmoid函数 sigmoid函数将输入变换为(0,1)上的输出。它将范围(-inf,inf)中的任意输入压缩到区间(0,1)中的某个值: sigmoid(x)=11+exp(−x)sigm

tcn760的博客 12万+
上一篇: Tensorflow调用tf.train.shuffle_batch函数报错“OutOfRangeError: RandomShuffleQueue”
下一篇: 科研学习|论文解读——智慧农业——AI在农业领域的应用与展望
博士僧小星
博士僧小星 新星创作者: 人工智能技术领域 新星创作者: 人工智能技术领域
博客等级 码龄10年 4638粉丝 351原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博士僧小星

技术不易,奶茶鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值