深度学习中的四种激活函数

AI 内容分享(十八):秒懂AI-深度学习四种常用激活函数:Sigmoid、Tanh、ReLU和Softmax Softmax是一种常用的激活函数,主要用于多分类问题中,可以将输入的神经元转化为概率分布。ReLU的输出范围是[0, +∞),而输入值为负数时输出为0,这导致ReLU输出的分布不对称,限制了生成的多样性。Leaky ReLU在输入小于或等于0时,输出一个较小的斜率,避免了完全的“死亡神经元”问题。当输入值小于或等于0时,ReLU的输出为0,导致该神经元失效,这种现象称为“死亡神经元”。与Leaky ReLU不同的是,PReLU的斜率不是固定的,而是可以根据数据进行学习优化。 阅读详情

图片

这篇文章用来整理一下入门深度学习过程中接触到的四种激活函数,下面会从公式、代码以及图像三个方面介绍这几种激活函数,首先来明确一下是哪四种:

  • Sigmoid函数

  • Tahn函数

  • ReLu函数

  • SoftMax函数

激活函数的作用

下面图像A是一个线性可分问题,也就是说对于两类点(蓝点和绿点),你通过一条直线就可以实现完全分类。

图片

当然图像A是最理想、也是最简单的一种二分类问题,但是现实中往往存在一些非常复杂的线性不可分问题,比如图像B,你是找不到任何一条直线可以将图像B中蓝点和绿点完全分开的,你必须圈出一个封闭曲线。

而激活函数就是帮助"绘制"这个封闭曲线的非线性函数,有了激活函数的帮助,很多算法的处理能力会得到加强,也可以处理线性不可分问题。

Sigmoid函数

Sigmoid函数曾在介绍逻辑回归时提起过,它的数学表达式为:

其中 e 为纳皮尔常数,其值为2.7182... 它的图像如下:

图片

可以观察出图像的一些特点:

  • 曲线的值域为(0,1)

  • 当x = 0时,Sigmoid函数值为0.5

  • 随着 x 不断增大,Sigmoid函数值无限趋近于1

  • 随着 x 不断减小,Sigmoid函数值无限趋近于0

对于梯度下降法而言,信息的更新很大程度上都取决于梯度,而Sigmoid函数一个很明显的缺点就是当函数值特别靠近0或1这两端时,因为它的曲线已经近乎平缓,所以此时的梯度几乎为0,这样非常不利于权重的更新,从而就会导致模型不收敛。

Sigmoid函数的代码如下:

import numpy as np
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

Tanh函数

Tanh函数是双曲正切函数,它的的数学表达式为:

Tanh函数和Sigmoid函数非常相近,这点从图像上可以很好的体现:

图片

这两个函数相同的是,当输入的 x 值很大或者很小时,对应函数输出的 y 值近乎相等,同样的缺点也是梯度特别小,非常不利于权重的更新;不同的是Tanh函数的值域为(-1,1),并且当 x = 0 时,输出的函数值为0。

 

Tanh函数的代码如下:

import numpy as np
def tanh(x):
    return (exp(x)-exp(-x))/(exp(x)+exp(-x))

ReLu函数

ReLu是线性整流函数,又称为修正性线性单元,它的函数的数学表达式为

Tanh是一个分段函数,它的图像如下:

图片

图像很容易理解,若输入的 x 值小于0,则输出为也为0;若输入的 x 值大于0,则直接输出 x 值,需要注意的是ReLu函数在x = 0 处不连续(不可导),但同样也可以作为激活函数。

与Sigmoid函数和Tanh函数相比,ReLu函数一个很明显的优点就是在应用梯度下降法是收敛较快,当输入值为整数时,不会出现梯度饱和的问题,因为大于0的部分是一个线性关系,这个优点让ReLu成为目前应用较广的激活函数。

ReLu函数的代码如下:

import numpy as np
def relu(x):
    return np.maximum(0,x)

SoftMax函数

分类问题可以分为二分类问题和多分类问题,Sigmoid函数比较适合二分类问题,而SoftMax函数更加适合多分类问题。

SoftMax函数的数学表达式为:

其中表示分类器的输出,i表示类别索引,总的类别个数为C,表示当前元素的指数与所有元素指数和的比值。概括来说,SoftMax函数将多分类的输出值按比例转化为相对概率,使输出更容易理解和比较。

为了防止SoftMax函数计算时出现上溢出或者下溢出的问题,通常会提前对 V 做一些数值处理,即每个 V 减去 V 中的最大值,假设,SoftMax函数数学表达式更改为:

因为SoftMax函数计算的是概率,所以无法用图像进行展示,SoftMax函数的代码如下:

import numpy as np
def softmax(x):
    D = np.max(x)
    exp_x = np.exp(x-D)
    return exp_x / np.sum(exp_x)

 

深度学习笔记(7):几种常见的激活函数介绍,以及为什么必须要使用非线性函数作为激活函数 当前主流的激活函数主要有四种 ReLU 线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。 很显然,在正区域内,斜率为1,在负区域内,斜率为0,在零处,(发生概率极小),自行定义即可。 提出ReLU那篇论文,我记得是在11年发表的,号... 阅读详情

相关推荐

浅谈神经网络中常用的激活函数

激活函数对于神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。首先,数据的分布绝大多数是非线性的,而一般神经网络的计算是线性的,引入激活函数,是在神经网络中引入非线性,强化网络的学习能力。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。

徐丢丢的博客 3281

Relu简介

Relu(Linear rectification function)是深度学习中的一种激活函数

qq_55126913的博客 5447

深度学习(激活函数)

目录 1 神经元的一般模型 ​2 激活函数的特点 3 常见激活函数 3.1 sigmoid及其改进型 3.1.1sigmoid介绍 3.1.2 sigmoid的导数介绍 3.1.3 Mesh 3.1.4 swish 3.2 relu及其改进型 3.2.1relu 介绍 3.2.2 relu的导数介绍 3.2.3 Leaky relu 3.2.4 Prelu 3.2.5 ELU 4 软饱和硬饱和 5 激活函数的选择 1 神经元的一般模型 一个基本的架构就是多个...

weixin_65089713的博客 4042

深度学习——激活函数

当 x0 时,则不存在饱和问题。所以,ReLU 能够在 x>0 时保持梯。ReLU 激活函数将小于 0 的值映射为 0,而大于 0 的值则保持不变,它。即:Softmax 就是将网络输出的。通过 softmax 函数,就。(也就是值对应最大的)节。,这种激活函数运算更为。,那么我们将它理解成。

batian123的博客 5260

HttpClient vs OkHttpClient:哪个更适合你的Java项目?(附性能对比实测)

本文深度对比了Apache HttpClient与OkHttpClient在Java项目中的性能表现与适用场景。通过实际性能测试,OkHttp在连接复用、高并发吞吐量及内存占用方面表现更优,尤其适合现代微服务与Spring生态。HttpClient则凭借其高度可配置性,在需要精细控制HTTP协议细节的场景中更具优势。文章提供了清晰的选型指南,帮助开发者根据项目需求做出最佳决策。

onion的博客 510

Neo4j 智能供应链应用源代码简析

本文简析Neo4j智能供应链应用的源代码,让你也可以快速开发自己的供应链应用。

Neo4j 开发者博客 1681

深度学习中常见的10种激活函数(Activation Function)总结

​ 激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端,旨在帮助网络学习数据中的复杂模式。 ​

不想学习的打工人的博客 12万+

汽车软件工程师必看:ASPICE开发流程全解析(附各阶段交付物清单)

本文全面解析了汽车行业广泛采用的ASPICE开发流程,详细介绍了从需求挖掘到系统架构设计、软件工程及测试验证各阶段的关键操作和交付物清单。针对汽车软件工程师,提供了实用的协作指南和工具推荐,帮助团队提升开发效率并降低项目风险,是掌握ASPICE标准的必备指南。

weixin_30733003的博客 651

深度学习之激活函数

PiexpθiTx∑k1KexpθiTxPi∑k1K​expθiT​xexpθiT​x​​ 其中,$ \theta_i $ 和 $ x $ 是列向量,$ \theta_i^T x $ 可能被换成函数关于 $ x $ 的函数 $ f_i(x) $​ 通过 softmax 函数,可以使得 $ P(i) $ 的范围在 $ [0,1] $ 之间。

weixin_43775295的博客 1692

Odoo 入门 | 什么是 Odoo?

Odoo是一套全球开源的ERP/CRM系统,最初的名字为TinyERP,08年5月之后称之为OpenERP,之后又改为Odoo。

洛阳泰山的博客 6209

电机控制基础,小白入门篇

电机,这个藏在风扇、电动车、机器人里的“动力心脏”,如何精准控制它的转速、方向甚至力量?这篇博客专为完全零基础的小白打造,用“说人话”的方式拆解电机控制的底层逻辑,帮你从“看不懂电路图”到“能调个简单电机”。 电机控制不是“大神专属”,只要掌握“电生磁、磁生力”的底层逻辑,加上动手实践,小白也能快速入门。这篇博客会陪你从“看电机转”到“让电机听话”,把复杂的控制原理变成能上手玩的“小实验”。准备好你的面包板和电机,我们一起开启“电控之旅”吧!

汽车电子软件领域知识分享 5625

深度学习的四种激活函数

深度学习的激活函数一般使用四种:分别为sigmoid、tanh、ReLu 、Leaky Relu。ReLu(Z) = max(0,Z)Leaky Relu(Z) = max(Z * 0.01,Z)sigmoid 激活函数:除了输出层是一个二分类问题基本不会用它。 tanh 激活函数:tanh 是非常优秀的,几乎适合所有场合。 ReLu 激活函数:最常用的默认函数,,如果不确定用哪个激活函数,就使用...

沁馨缘 2273

WorkBuddy最新更新特性(2026-07-21)

WorkBuddy最新更新特性

AI人人懂 583

神经网络中的激活函数

欢迎点击「算法与编程之美」↑关注我们!本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。欢迎加入团队圈子!与作者面对面!直接点击!问题描述激活函......

算法与编程之美 6625

Logstash安装部署

1. 部署及安装所用的用户不能是root。

lmj3732018的博客 4296

深入浅出讲解外部服务提供者 OAuth 2.0 帐户客户端创建与 ABAP 系统集成

本文详细介绍了在SAP ABAP平台配置OAuth 2.0客户端以安全调用外部Web服务的完整流程。主要内容包括:首先需要在外部服务提供者平台注册OAuth客户端,获取client ID和client secret;其次需特别注意重定向URI必须是公开可访问的地址;然后在ABAP系统中通过事务码OA2C_CONFIG配置OAuth客户端信息;最后阐述了常见的错误排查方法。文章强调了OAuth 2.0作为SAP系统与外部服务安全集成的标准协议,正确配置客户端是确保后续API调用安全可靠的关键前提。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1735

常用的激活函数和python实现

深度学习 常见的几种激活函数及python实现 ... 激活函数深度学习soft一、基础概念总结 soft 一、基础概念   独热码,在英文称为one-hot code,直观来看,如果是分类问题就是有多少个类别就有多少个bit,并且只有一个bit为1,其余的都为0的一种码制。   假如只有一个特征是离散值:{fruits:{apple,pear,other}},该特征总共包含了3个不同的分类值,此时需要3个bit位表示该特征的什么值,bit位为1的位置对应原特征的值,此时得到的独热码为:{100}

CltCj的博客 4968

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【吴恩达深度学习】【神经网络和深度学习】 第三章 第六节 激活函数

一、激活函数定义 我们在研究一个神经元的时候(这里指生物学中的神经元),我们知道其有轴突和树突,可以传导冲动,同时我们还知道,冲动在传导的时候有一个阈值,低于某个值的冲动无法被传导或者传道的时候减弱了,所以其实神经冲动的传导是一个非线性的过程,我们在这里引入激活函数,也就是为了模拟这个非线性的过程,使得我们最终得到的神经网络是一个非线性的网络。 我们常见的relu函数和这个过程基本一致,而别的...

cx0627year的博客 374

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深度学习×第6卷:激活函数全解析——她学会弯腰从背后抱紧你

本卷作为「深度学习×人工神经网络」系列的激活函数专题,系统拆解了神经网络非线性建模的关键机制。卷中分别详述了 Sigmoid、Tanh、ReLU、Softmax 四种经典激活函数的数学定义、值域、梯度特性与典型应用场景,辅以 PyTorch 可运行示例对函数曲线与导数进行可视化演示。通过对比不同函数的优缺点与适用位置,帮助读者理解神经网络如何通过引入非线性能力实现多层结构的表达力提升,并为后续参数初始化、网络构建与优化器策略奠定可复现、可对比的理论与实操基础。

猫猫与狐狐会一起讲AI学习、贴贴行为、情绪建模,还有所有你偷偷写进代码里的温柔。欢迎进入她们的修炼日记,听她们用拟人语气讲解算法如何爱你。 1010

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

DL\ML--深度学习之非线性激励函数--概念题(4)

此系列是记录DL、ML相关的一些基础概念,便于理解和回顾!一天两道!哈哈哈~~,水滴石穿!小白水平,若有错误,欢迎指正! 文章目录深度学习之非线性激励函数 深度学习之非线性激励函数 ...

qq_33948796的博客 576

4种激活函数详解,学到即赚到!

作者:奶糖猫来源:喵说Python这篇文章用来整理一下入门深度学习过程中接触到的四种激活函数,下面会从公式、代码以及图像三个方面介绍这几种激活函数,首先来明确一下是哪四种:S...

Python数据之道 535

吴恩达深度学习--激活函数

四种常用的激活函数 (1)sigmoid函数 函数的表达式为:a=11+e−z" role="presentation" style="position: relative;">a=11+e−za=11+e−za=\frac{1}{1+e^{-z}} 导函数:g′(z)=a(1−a)" role="presentation" style="p

huanhuan_Coder的博客 798

激活函数的选择

深度学习神经网络有四种常用激活函数,分别为sigmod,tanh,softmax,relu.下面总结了他们的优缺点以及如何选择。 sigmod函数 函数形式 函数图像如下 对其求导有 tanh 函数形式: 图形为 其导函数为: 在隐藏层使用的效果优于sigmod 相同的缺点在x特别大或者特别小的时候,函数梯度会接近0,使得梯度下降的速度变慢。一般用在二...

gzj_1101的专栏 3455

【Deel learning之一 】激活函数

玩深度学习第一步,首先是了解下激活函数 激活函数:说白了,就是深度学习计算过程中的阀门,如果阀门控制不好的话,所有的数据都是不存在的。 激活函数形式: 常用的激活函数有 relu、tanh、sigmoid、linear relu tanh sigmoid linear https://blog.youkuaiyun.com/zhuiyuanzhongjia/articl...

pupilheart 280
上一篇: 25条最简单却最有用的代码,看了能少走几年弯路!
下一篇: 最详细的六种装饰器写法,学不会你找我!
python阿喵
博客等级 码龄6年 169粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值