首页 > 其他分享 >《深度学习》—— 神经网络中常用的激活函数

《深度学习》—— 神经网络中常用的激活函数

时间:2024-09-25 20:20:00浏览次数:3  
标签:输出 函数 Sigmoid ReLU 神经网络 激活 表达式

文章目录


激活函数(Activation Function)是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。它在神经网络中扮演着至关重要的角色,主要作用是对所有的隐藏层和输出层添加一个非线性的操作,使得神经网络的输出更为复杂、表达能力更强。

1. Sigmoid 激活函数

  • 函数定义:Sigmoid函数是一种S型函数,也称为S型生长曲线或Logistic函数。其数学表达式为:
    在这里插入图片描述
  • 特点:
    • 能够将输入的连续实值变换为0和1之间的输出,适合用作二分类的输出层
    • 函数平滑且易于求导
  • 缺点:
    • 激活函数计算量大,反向传播求误差梯度时涉及除法运算
    • 反向传播时容易出现梯度消失的情况,影响深层网络的训练
  • 函数图像:
    在这里插入图片描述

2. Softmax 激活函数

  • 函数定义:Softmax函数通常用于多分类问题的输出层,其数学表达式为:
    在这里插入图片描述
  • 特点:
    • 将输出转化为概率分布,所有输出值之和为1
    • 非常适合多分类问题
  • 函数图像:
    在这里插入图片描述

3. ReLU 激活函数

  • 函数定义:ReLU函数是线性整流函数,其数学表达式为:
    在这里插入图片描述
  • 特点:
    • 解决了梯度消失问题
    • 计算速度非常快,收敛速度远快于Sigmoid和Tanh
  • 缺点:
    • 输出的不是以0为中心
    • 某些神经元可能永远不会被激活(Dead ReLU)
  • 函数图像:
    在这里插入图片描述

4. Leaky ReLU 激活函数

  • 函数定义:Leaky ReLU函数是ReLU函数的改进版,其数学表达式为:
    在这里插入图片描述
    • α 是一个很小的常数
  • 特点:
    • 继承了ReLU函数的优点
    • 解决了Dead ReLU问题
  • 函数图像:
    在这里插入图片描述

5. ELU 激活函数

  • 函数定义:ELU函数是另一种ReLU函数的改进版,其数学表达式为:
    在这里插入图片描述
  • 特点:
    • 解决了ReLU的Dead ReLU问题
    • 在所有点上都是连续且可微的
    • 相比ReLU及其变体,在某些情况下能提高训练速度和准确度
  • 函数图象:
    在这里插入图片描述

6. Tanh 激活函数

  • 函数定义:Tanh函数是双曲正切函数,其数学表达式为:
    在这里插入图片描述
  • 特点:
    • 解决了Sigmoid函数不以0为中心输出的问题
    • 函数输出范围在-1到1之间,更接近数据真实分布
  • 缺点:
    • 仍然存在梯度消失的问题
    • 涉及幂运算,计算相对复杂
  • 函数图像:
    在这里插入图片描述

标签:输出,函数,Sigmoid,ReLU,神经网络,激活,表达式
From: https://blog.csdn.net/weixin_73504499/article/details/142467619

相关文章

  • Day1 c++(发展历史,特点,面向对象核心术语,开发环境,新建项目,引用,窄化,输入,字符串,函数)
    1.C++发展历史(了解)1983年,贝尔实验室(BellLabs)的BjarneStroustrup发明了C++。C++在C语言的基础上进行了扩充和完善,是一种面向对象程序设计(OOP)语言。Stroustrup说:“这个名字象征着源自于C语言变化的自然演进”。还处于发展完善阶段时被称为“newC”,之后被称为“Cwi......
  • 经典sql题(十二)UDTF之Explode炸裂函数
    1.EXPLODE:UDTF函数1.1功能说明EXPLODE函数是Hive中的一种用户定义的表函数(UDTF),用于将数组或映射结构中的复杂的数据结构每个元素拆分为单独的行。这在处理复杂数据时非常有用,尤其是在需要将嵌套数据“打散”以便更好地分析时。1.2使用示例假设我们有一个存储用......
  • golang学习笔记13-函数(二):init函数,匿名函数,闭包,defer
    注:本人已有C,C++,Python基础,只写本人认为的重点。这个知识点基本属于go的特性,比较重要,需要认真分析。一、init函数每个文件都可以定义init函数,它会在main函数执行前被调用,无论它的定义位置是在main后还是前。而全局变量的优先级又高于init,所以优先级是这样的:全局变量>init......
  • 类和对象(2)(六个默认成员函数)
     个人主页:Jason_from_China-CSDN博客所属栏目:C++系统性学习_Jason_from_China的博客-CSDN博客所属栏目:C++知识点的补充_Jason_from_China的博客-CSDN博客类的默认成员函数概念概述默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。一个......
  • 阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
    前言阿里云函数计算(FunctionCompute,FC)是一种无服务器(Serverless)计算服务,允许用户在无需管理底层基础设施的情况下,直接运行代码。与传统的计算架构相比,函数计算具有高灵活性和弹性扩展的特点,用户只需专注于业务逻辑的开发,系统自动处理计算资源的分配、扩展和维护。同时,函数计算......
  • python调用另一个.py文件中的类和函数或直接运行另一个.py文件
    同一文件夹下的调用1.调用函数A.py文件如下:defadd(x,y):print('和为:%d'%(x+y))在B.py文件中调用A.py的add函数如下:importAA.add(1,2)或fromAimportaddadd(1,2)2.调用类A.py文件如下:classA:def__init__(self,xx,yy):self.x=xxself.y=y......
  • 线性判别分析 (LDA)中目标函数的每个部分的具体说明
    公式:F=∥w......
  • PHP读取文件内容的几种方法和函数
    在PHP中,读取文件内容是一个常见的操作,它可以通过多种函数和方法来实现。每种方法都有其特定的用途和性能考量。1.file_get_contents()file_get_contents()函数是最简单、最直接的方式来读取整个文件的内容到一个字符串中。这个函数对于读取较小的文件非常有效,但对于大文件......
  • C和指针:函数
    函数定义函数体就是一个代码块,它在函数被调用时执行。类型函数名(形式参数)代码块与函数定义相反,函数声明出现在函数被调用的地方。函数声明编译器是如何知道该函数期望接受的是什么类型和多少数量的参数。原型int*find_int(intkey,intarray[1,intlen);原型告诉编译器函数......
  • C++考试题带部分答案函数模板
    【1】写出下面程序的运行结果。#include<iostream>   usingnamespacestd;template<classType1,classType2>classmyclass{public:myclass(Type1a,Type2b){i=a;j=b;}voidshow(){cout<<i<<′′<<j<<′\n′;}private:Type1i;T......