当前位置: 首页 > article >正文

深度学习模型常用激活函数集合

       激活函数是深度学习模型中的关键组成部分,用于引入非线性特性,使神经网络能够学习复杂的模式和映射关系;神经网络本质上是一个复合函数。如果没有激活函数,无论网络有多少层,其输出都只是输入的线性组合。激活函数通过引入非线性,使模型能够拟合复杂的非线性数据分布;激活函数决定了神经元在给定输入下的输出值,从而控制神经元是否被激活;一些激活函数(如ReLU)具有稀疏性和计算效率高的特点,有助于加快训练过程;下面是对一些常用激活函数的汇总介绍: 

一、激活函数

       激活函数一般分为两类,一类是嵌入到某个主干网络层的后面,例如卷积层+BN层的后面;一类是嵌入到模型最后的head层做具体的输出,例如分类、概率输出等;

1.1 嵌入主干网络

    1.1.1. Tanh(双曲正切函数)

    • 公式

    • 特点
      输出范围为 (-1, 1),是对称版本的Sigmoid函数。相比Sigmoid,梯度下降更快,但也容易出现梯度消失问题。
    • 应用场景
      常用于隐藏层。

    1.1.2. ReLU(Rectified Linear Unit)

    • 公式

    • 特点
      计算简单,能有效缓解梯度消失问题。但可能导致“神经元死亡”(部分神经元永远输出0)。
    • 应用场景
      是目前最常用的激活函数之一,广泛应用于卷积神经网络(CNN)和全连接网络。

    1.1.3. Leaky ReLU

    • 公式

    • (α 是一个小的正数)
    • 特点
      解决了ReLU的“神经元死亡”问题,允许负值输入有小的梯度。
    • 应用场景
      替代ReLU以避免梯度消失。

      1.1.4. ELU(Exponential Linear Unit)

      • 公式

      • 特点
        在负值区域平滑过渡,减少梯度消失问题。
      • 应用场景
        隐藏层。

      1.1.5. Swish

      • 公式

      • 特点
        自门控激活函数,由Google提出,在某些任务中表现优于ReLU。
      • 应用场景
        新兴的激活函数,适用于多种深度学习任务。

      1.1.6. GELU

      • 公式

      • 特点
        GELU 是一个连续且平滑的函数,避免了 ReLU 在 x=0x=0 处不可导的问题;GELU 的输出依赖于输入 xx 和其概率分布,具有自适应特性,能够更好地捕捉数据的非线性关系;类似于 ReLU 和 ELU,GELU 在负值区域也有一定的梯度,可以有效缓解梯度消失问题;由于涉及误差函数或双曲正切函数,GELU 的计算成本比 ReLU 稍高;
      • 应用场景
        GELU 是 Transformer 模型(如 BERT、GPT 等)中的默认激活函数之一,尤其适合处理文本数据,能够提升模型对语义的理解能力;

      1.2 嵌入head层

       1.2.1. Sigmoid(σ)

      • 公式

      • 特点
        输出范围为 (0, 1),适合用作二分类问题的概率输出。但存在梯度消失问题(当输入较大或较小时,导数接近零)。
      • 应用场景
        主要用于输出层的二分类任务。

       1.2.2. Softmax

      • 公式

      • 特点
        将多个类别的输出转化为概率分布,常用于多分类任务。
      • 应用场景
        输出层的多分类问题。

      二、总结

      激活函数的选择取决于具体任务和网络结构:

      • 分类问题:Sigmoid(二分类)、Softmax(多分类)。
      • 回归问题:通常不使用激活函数或选择线性激活函数。
      • 隐藏层:ReLU及其变体(Leaky ReLU、ELU等)是最常用的选择。

      通过合理选择激活函数,可以显著提升模型的性能和训练效率。


      http://www.kler.cn/a/552725.html

      相关文章:

    • 智能硬件定位技术发展趋势
    • HarmonyOS:使用List实现分组列表(包含粘性标题)
    • 中电金信:数字基础设施未来展望·行业定制与开源融合
    • JSON类型理解(前后端交互/内存对数据操作)
    • 微服务监控与Go服务性能分析
    • 级联选择器多选动态加载
    • 基于SpringBoot+Vue高校就业领航管理系统
    • ollama离线环境部署deepseek及对话网站开发
    • mybatis 结合oracle存储过程返回list
    • GPT-Sovits:语音克隆训练-遇坑解决
    • PostgreSQL认证指南
    • 力扣LeetCode: 931 下降路径最小和
    • 利用docker-compose一键创建并启动所有容器
    • Leetcode刷题面试2025
    • fastapi+vue实现按钮级别的权限控制
    • 深入理解同步与异步I/O:从原理到实战
    • SQL知识体系
    • DeepSeek系统架构的逐层分类拆解分析,从底层基础设施到用户端分发全链路
    • 【全栈】SprintBoot+vue3迷你商城-细节解析(2):分页
    • (9/100)每日小游戏平台系列