神经网络中的激活函数

article/2025/9/27 6:54:41

文章目录

  • 引言
  • 什么是激活函数?
  • 为什么我们要在神经网络中使用激活函数?
  • 线性激活函数
  • 非线性激活函数
    • 1. Sigmoid(逻辑激活函数)
    • 2. Tanh(双曲正切激活函数)
    • 3. ReLU(线性整流单元)激活函数
    • 4. Leaky ReLU
  • 为什么使用导数/微分
  • 参考


引言

本文是对《Activation Functions in Neural Networks》(神经网络中的激活函数)一文的翻译。

什么是激活函数?

它只是一个用来获取节点输出的函数,也常被称为传递函数

为什么我们要在神经网络中使用激活函数?

激活函数被用来确定神经网络的输出,如 YES 或 NO 。它将结果值映射到 0 到 1 或 -1 到 1 等之间(视函数而定)。

激活函数基本上可以分为两种类型:

  1. 线性激活函数(Linear Activation Function)
  2. 非线性激活函数(Non-linear Activation Function)

线性激活函数

如下图,函数是直线或线性的。因此,函数的输出不会被限制在任何范围内。
Fig: Linear Activation Function

  • 方程 f ( x ) = x f(x)=x f(x)=x

  • 范围 ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)

它对输入神经网络的数据的复杂性或各种参数没有帮助。

非线性激活函数

非线性激活函数是使用最多的激活函数。非线性有助于使图看起来像下面这样:
Fig: Non-linear Activation Function
它使得模型可以很容易地泛化或适应各种数据,并区分输出。

导数或微分:y轴相对于x轴的变化,它也被称为斜率。
单调函数:一种函数,它要么是完全不增的,要么是完全不减的。

非线性激活函数主要根据其范围曲线进行划分:

1. Sigmoid(逻辑激活函数)

Sigmoid 激活函数曲线看起来像一个 S 形。我们使用 Sigmoid 函数的主要原因是它存在于 (0, 1) 之间。因此,它特别适用于我们必须将概率作为输出进行预测的模型。因为任何事物的概率都只存在于 0 和 1 之间,所以 Sigmoid 是正确的选择。
Fig: Sigmoid Function

  • 这个函数是可微的,也就是说,我们可以求出 S 型曲线上任意两点的斜率。

  • 函数是单调的,但函数的导数不是单调的。

  • 逻辑 Sigmoid 函数会导致神经网络在训练时陷入停滞。

  • Softmax 函数是一种用于多分类的更广义的逻辑激活函数。

2. Tanh(双曲正切激活函数)

Tanh 和逻辑 Sigmoid 类似,但更好。Tanh 函数的范围是从(-1, 1)。Tanh 也是 S 形的。
Fig: tanh v/s Logistic Sigmoid

  • 优点是负输入将被映射为强负值,而零输入将被映射到在 Tanh 图中接近 0 的位置。

  • 这个函数是可微的。

  • 函数是单调的,但函数的导数不是单调的。

  • Tanh 函数主要用于二分类问题。

Tanh 和逻辑 Sigmoid 激活函数都用于前馈网络。

3. ReLU(线性整流单元)激活函数

ReLU 是目前世界上使用最多的激活函数,几乎所有的卷积神经网络或深度学习都使用它。正如你所看到的,ReLU 被修正了一半(从底部开始)。 当 z 小于零时,f(z) 为零,当 z 大于或等于零时 f(z) 等于 z。
Fig: ReLU v/s Logistic Sigmoid

  • 范围 ( 0 , + ∞ ) (0, +\infty) (0,+)

  • 函数及其导数都是单调的。

但问题是,所有的负值都立即变为零,这降低了模型正确拟合或训练数据的能力。这意味着给 ReLU 激活函数的任何负输入都将立即将值转换为零,这反过来通过不适当地映射负值来影响产生的图。

4. Leaky ReLU

这是解决濒临死亡的ReLU问题的一次尝试。
Fig : ReLU v/s Leaky ReLU
相比于ReLU,你能看到 leak 吗?

  • Leak 有助于增加 ReLU 函数的范围。通常,a 的值是 0.01 左右。

  • 当 a 不是 0.01 时,则称其为随机 ReLU。

  • 因此,Leaky ReLU 的范围是 ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)

  • Leaky ReLU 函数和随机 ReLU 函数都是单调的,并且它们的导数本质上也是单调的。

为什么使用导数/微分

当更新曲线时,根据斜率才能知道向哪个方向改变以及改变或更新曲线的程度。这就是为什么我们在机器学习和深度学习的几乎每一个部分都使用微分的原因。

Fig: Activation Function Cheetsheet
Fig: Derivative of Activation Functions

参考

https://en.wikipedia.org/wiki/Activation_function


http://chatgpt.dhexx.cn/article/RJdK7DTQ.shtml

相关文章

激活函数简述

1、激活函数的作用 1.不带激活函数的单层感知机是一个线性分类器,不能解决线性不可分的问题 2.合并后的多个感知器本质上还是一个线性分类器,还是解决不了非线性的问题 3.激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力&a…

常用激活函数

文章目录 前言为什么需要激活函数什么样的函数可以做激活函数什么样的函数是好的激活函数常用激活函数sigmoidtanhReLULeaky ReLURandomized Leaky ReLUMaxout 参考文章 前言 今天这篇文章对一些常用激活函数做一下总结吧。在神经网络中激活函数还是很重要的,并且熟…

激活函数

深度学习中的激活函数导引 我爱机器学习(52ml.net) 2016年8月29日 0 作者:程程 链接:https://zhuanlan.zhihu.com/p/22142013 来源:知乎 著作权归作者所有,已联系作者获得转载许可。 深度学习大讲堂致力于推送人工智能&#xff0c…

详解激活函数

文章目录 0️⃣前言1️⃣Sigmoid2️⃣tanh3️⃣Relu4️⃣Leaky Relu5️⃣Softmax6️⃣总结 0️⃣前言 用了这么久的激活函数,抽空总结一下吧,不然总是忘记,这里介绍常用到的sigmoid,tanh,relu,leaky relu&…

常用激活函数(激励函数)理解与总结

引言 学习神经网络的时候我们总是听到激活函数这个词,而且很多资料都会提到常用的激活函数,比如Sigmoid函数、tanh函数、Relu函数。那么我们就来详细了解下激活函数方方面面的知识。本文的内容包括几个部分: 什么是激活函数?激活…

常用激活函数总结(深度学习)

前言   学习神经网络的时候我们总是听到激活函数这个词,而且很多资料都会提到常用的激活函数,比如Sigmoid函数、tanh函数、Relu函数。在经过一段时间学习后,决定记录个人学习笔记。 一、激活函数 1.激活函数定义?   在神经网…

【概念梳理】激活函数

一、引言 常用的激活函数如下: 1、Sigmoid函数 2、Tanh函数 3、ReLU函数 4、ELU函数 5、PReLU函数 6、Leaky ReLU函数 7、Maxout函数 8、Mish函数 二、激活函数的定义 多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,…

一文搞懂激活函数

目录 1、什么是激活函数 2、激活函数的用途(为什么需要激活函数)? 3、常见的激活函数介绍 3.1 Sigmoid函数 3.2 tanh函数 3.3.RelU函数 3.4 Leaky ReLU函数 和 PReLU 函数 --- ReLU 变体的提出 3.5 ELU (Exponential Linear Units) 函…

激活函数(Relu,sigmoid,Tanh,softmax)详解

目录 1 激活函数的定义 2 激活函数在深度学习中的作用 3 选取合适的激活函数对于神经网络有什么样的重要意义 4 常用激活函数 4.1 Relu 激活函数 4.2 sigmoid 激活函数 4.3 Tanh激活函数 4.4 softmax 激活函数 1 激活函数的定义 激活函数(Activation Funct…

激活函数(Activation Function)

目录 1 激活函数的概念和作用 1.1 激活函数的概念 1.2 激活函数的作用 1.3 通俗的理解一下激活函数(图文结合) 1.3.1 无激活函数的神经网络 1.3.2 带激活函数的神经网络 2 神经网络梯度消失与梯度爆炸 2.1 简介梯度消失与梯度爆炸 2.2 梯度不稳定问题 2.3 产生梯度消…

常用的激活函数合集(详细版)

目录 一、定义以及作用 二、常用激活函数解析 1、Sigmoid函数 1.1 公式 1.2 对应的图像 1.3 优点与不足之处 1.4 对应pytorch的代码 2、Tanh函数 2.1 公式 2.2 对应的图像 2.3 优点与不足之处 2.4 对应pytorch的代码 3、ReLU 3.1 公式 3.2 对应的图像 3.3 优点与不…

优化算法——FTRL

ctr预测中,单个样本由向量x表示,w是模型参数,预测样本x被点击的概率psigmoid(w * x),sigmoid(x) 1/(1exp(x))。样本label为{0, 1}表示是否被点击。模型损失函数为交叉熵损失: L -ylog - (1-y)log(1-p),梯…

【深度学习】优化算法-Ftrl

脑图 代码实现 DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSEVersion 2, December 2004Copyright (C) 2004 Sam Hocevar <samhocevar.net>Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is all…

谷歌13年提出来的类似于lr的算法 - ftrl论文翻译(七)

论文链接&#xff1a;https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41159.pdf 概要 预测广告点击率&#xff08;CTR&#xff09;是一个巨大的规模学习问题&#xff0c;是在线广告业数十亿美元的核心问题。 我们从最近的实验中选择出…

FTRL 算法

本文会尝试总结FTRL的发展由来&#xff0c;总结从LR -> SGD -> TG -> FOBOS -> RDA -> FTRL 的发展历程。本文的主要目录如下&#xff1a; 一、 反思魏则西事件。 二、 LR模型 三、 SGD算法 四、 TG算法 五、 FOBOS算法 六、 RDA算法 七、 FTRL算法 注&…

排序模型进阶-FMFTRL

日萌社 人工智能AI&#xff1a;Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战&#xff08;不定时更新&#xff09; 5.8 排序模型进阶-FM&FTRL 学习目标 目标 无应用 无 5.8.1 问题 在实际项目的时候&#xff0c;经常会遇到训练数据非常大导致一些算法实际…

以我视角深入理解FTRL模型原理

以我视角深入理解FTRL模型原理 FTRL算法是吸取了FOBOS算法和RDA算法的优点而衍生而来的算法。 1.FOBOS算法 小结&#xff1a; 2. RDA算法 RDA也叫正则对偶平均算法&#xff0c;特征权重更新如下&#xff1a; 小结&#xff1a; 3.FTRL算法原理 从loss function的形式来看&am…

FTRL实战之LR+FTRL(代码采用的稠密数据)

理解要点&#xff1a;主要是梯度更新的方法使用了FTRL。即更改了梯度的update函数。 相关参考&#xff1a;https://github.com/wan501278191/OnlineLearning_BasicAlgorithm/blob/master/FTRL.py FTRL&#xff08;Follow The Regularized Leader&#xff09;是一种优化…

DL基本知识(七)FTRL优化器

契机 最近工作方向为缩减模型规模&#xff0c;切入点为L1正则化&#xff0c;选择该切入点的理由如下&#xff0c; 众所周知&#xff0c;L1正则化能令权重矩阵更稀疏。在推荐系统中特征多为embedding&#xff0c;权重矩阵稀疏意味着一些embedding_weight为0&#xff0c;模型部…

FTRL算法详解

一、算法原理 二、算法逻辑 三、个人理解 从loss function的形式来看&#xff1a;FTRL就是将RDA-L1的“梯度累加”思想应用在FOBOS-L1上&#xff0c;并施加一个L2正则项。【PS&#xff1a;paper上是没有加L2正则项的】这样达到的效果是&#xff1a; 累积加和限定了新的迭代结果…