激活函数总结(一):ReLU及其变体

news/2024/7/16 10:26:12

激活函数总结(一)

  • 1 引言
  • 2 常用激活函数介绍
    • 2.1 Sigmoid激活函数
    • 2.2 Tanh激活函数
    • 2.3 ReLU激活函数
    • 2.4 Leaky ReLU激活函数
    • 2.5 Parametric ReLU(PReLU)激活函数
    • 2.6 Swish激活函数
  • 3. 总结

总结的激活函数都在目录中有所展示,如果找不到你想查看的激活函数,请去这里寻找:激活函数总结(二)!!!

1 引言

激活函数是神经网络模型重要的组成部分。在神经网络模型中,激活函数提供了非线性建模能力(不带激活函数的感知元是线性的),进而帮助网络学习数据中的复杂模式
在这里插入图片描述

2 常用激活函数介绍

2.1 Sigmoid激活函数

Sigmoid激活函数将输入值压缩到0到1之间的范围,公式和数学图片分别如下所示:
f ( x ) = 1 / ( 1 + e − x ) f(x) = 1 / (1 + e^{-x}) f(x)=1/(1+ex)在这里插入图片描述Sigmoid函数在早期的神经网络中广泛使用。然而,它有一些问题,如梯度消失梯度爆炸,导致在深层网络中训练困难,因此现在使用较少。
当前更多的是用于二分类中。

2.2 Tanh激活函数

Tanh激活函数是Sigmoid的改进版,将输入值映射到一个范围在-1到1之间的值,公式和数学图像分别如下所示:
f ( x ) = ( 2 / ( 1 + e − 2 x ) ) − 1 f(x) = (2 / (1 + e^{-2x})) - 1 f(x)=(2/(1+e2x))1在这里插入图片描述相较于Sigmoid激活函数,Tanh激活函数的输出范围更广,因此在某些情况下,它能带来更好的表现。然而,类似于Sigmoid,Tanh仍然存在梯度消失问题,特别是对于较深的神经网络。
当前更多的是用于类似于LSTM网络结构的后面

2.3 ReLU激活函数

ReLU(Rectified Linear Unit)是目前使用最广泛的激活函数之一。ReLU函数在输入为正数时直接输出输入值,而在输入为负数时输出为0,公式和数学图像分别如下所示:
f ( x ) = m a x ( 0 , x ) f(x) = max(0, x) f(x)=max(0,x)在这里插入图片描述相比于SigmoidTanhReLU的梯度更大,且在深层网络中具有较快的训练速度。然而,ReLU也存在一个问题,当输入为负数时,梯度为0,导致对应的神经元无法更新权重,这被称为"神经元死亡"问题。
当前在各种任务下广泛使用(不包括多分类任务)。

2.4 Leaky ReLU激活函数

为了解决ReLU的"神经元死亡"问题,Leaky ReLU引入了一个小的斜率(通常为0.01)来保证在输入为负数时仍然有梯度。Leaky ReLU函数的定义和数学图像分别如下所示:
f ( x ) = m a x ( a x , x ) f(x) = max(ax, x) f(x)=max(ax,x)在这里插入图片描述其中,a是一个小于1的常数。这使得Leaky ReLU在某些场景下表现更好,但对于a的选择需要小心,过大的值可能导致函数失去非线性特性
当前已没有特定使用情况,同等情况下(PReLU 和Swish 激活函数可能会有更好的表现)。

2.5 Parametric ReLU(PReLU)激活函数

Parametric ReLU是Leaky ReLU的扩展版本,它允许斜率参数a成为可学习的参数,这样网络可以自动调整斜率。这一特性使得Parametric ReLU更加适应不同的数据分布和任务,减少了手动调整的需求。

2.6 Swish激活函数

Swish激活函数在近年来被提出,它是一个平滑的激活函数。Swish函数在输入为正数时与ReLU相似,在输入为负数时逐渐趋近于0。Swish函数的表现相对于ReLU在一些情况下更好,但在某些场景下可能受到影响,因此使用时需谨慎权衡。函数公式和数学图像分别如下所示:
f ( x ) = x ⋅ s i g m o i d ( β x ) f(x)=x⋅sigmoid(βx) f(x)=xsigmoid(βx)在这里插入图片描述 其中, β β β 是一个常量或一个可学习的参数。

  • β = 1 β = 1 β=1 f ( x ) = x ⋅ s i g m o i d ( x ) f(x)=x⋅sigmoid(x) f(x)=xsigmoid(x),相当于Sigmoid-weighted Linear Unit (SiL)
  • β = 0 β = 0 β=0,Swish 变成了缩放线性函数 f ( x ) = x / 2 f(x) = x/2 f(x)=x/2
  • β → ∞ β → ∞ β,sigmoid 分量接近 0-1 函数,因此 Swish 变得像 ReLU 函数

3. 总结

到此,使用 激活函数总结(一) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数也可以在评论区提出,后续会对其进行添加!!!!

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。


http://www.niftyadmin.cn/n/4924503.html

相关文章

@MapperScan 和 @Mapper 源码解读

一.从开发中遇到的问题开始 问题描述 : 在一个springbootmybatis的项目中,在dao也就是Mapper接口上配置了Mapper注解,其他同事在启动类还配置了MapperScan注解(包扫描没有配全面),进行批量指定所生成的Mapper接口动态代理接口类&a…

wsl(在windows中使用呢linux系统)适用于windows的linux子系统

步骤可参考微软官方文档https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package 在这里主要列举一些需要注意的点 wsl2的要求 一定要检查下windows版本,版本不对的先升级版本不然无法使用wsl2 wsl支持…

MyBatis和MyBatis-plus配置多数据源和操作多数据库

一,学习MyBatis和MyBatis-plus: mybatis:官网文档:mybatis – MyBatis 3 | 简介 mybatis-plus:官网文档:MyBatis-Plus 二,MyBatis来实现多数据源的查询: 配置文件的格式: spring:datasource: db1:driv…

APT80DQ40BG-ASEMI快恢复二极管APT80DQ40BG

编辑:ll APT80DQ40BG-ASEMI快恢复二极管APT80DQ40BG 型号:APT60DQ20BG 品牌:ASEMI 封装:TO-3P 恢复时间:≤50ns 正向电流:80A 反向耐压:400V 芯片个数:双芯片 引脚数量&…

计算机视觉应用方向

计算机视觉可以大致有以下几个方向(更详细的可以参考papers with code): 图像分类目标检测图像分割图像生成风格迁移超分辨率 1. 图像分类 图像分类是是视觉识别中的一项基本任务,目的是分辨整个图像并将其分类。 1.1 常用数据…

MySQL DCL 数据控制

文章目录 1.新建用户2.删除用户3.用户授权4.撤销用户权限5.查看用户权限6.修改用户密码7.权限类型参考文献 1.新建用户 连接到 MySQL 服务器后,管理员或特权用户可以使用 CREATE USER 语句创建新用户。 CREATE USER usernamehost IDENTIFIED BY password;# 示例 C…

《Python入门到精通》os模块详解,Python os标准库

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 os模块详解 1、文件目录操作os.stat() 获取文件状态os.utime() 修改文件时间os.r…

【构建卷积神经网络】

构建卷积神经网络 卷积网络中的输入和层与传统神经网络有些区别,需重新设计,训练模块基本一致 全连接层:batch784,各个像素点之间都是没有联系的。 卷积层:batch12828,各个像素点之间是有联系的。 impor…