终于把神经网络中的激活函数搞懂了!!!

今天给大家分享神经网络中的一个关键概念,激活函数激活函数是神经网络中的核心组件之一,其主要作用是在每个神经元中为输入信号提供非线性变换。 如果没有激活函数,神经网络将充当简单的线性模型。 激活函数的作用激活函数的引入使得神经网络可以学习和表示复杂的非线性关系,从而解决一些线性模型无法处理的问题。

今天给大家分享神经网络中的一个关键概念,激活函数

激活函数是神经网络中的核心组件之一,其主要作用是在每个神经元中为输入信号提供非线性变换。如果没有激活函数,神经网络将充当简单的线性模型。

激活函数的作用

激活函数的引入使得神经网络可以学习和表示复杂的非线性关系,从而解决一些线性模型无法处理的问题。

终于把神经网络中的激活函数搞懂了!!!图片

  1. 非线性化神经网络的每一层通常是线性运算(如线性变换),如果不加入激活函数,整个网络将只是线性模型的堆叠,无论多少层都仍是线性的。激活函数通过引入非线性因素,使网络能够逼近任意复杂的非线性函数。
  2. 控制神经元的激活激活函数对输入信号进行处理后输出,控制着每个神经元的激活程度。某些激活函数会将输出压缩到一定范围内,从而使网络的输出更加稳定。
  3. 梯度传递在反向传播中,激活函数还会影响梯度的传递。合适的激活函数能够使梯度在网络中有效传播,避免梯度消失或爆炸的问题(如 ReLU 激活函数在深度网络中有显著优势)。

常见的激活函数

下面,我们一起来看一下神经网络中常见的激活函数。

1.Sigmoid

Sigmoid 是一种 S 形曲线函数,将输入压缩到 (0,1) 之间,通常用于二分类问题。

终于把神经网络中的激活函数搞懂了!!!图片

终于把神经网络中的激活函数搞懂了!!!

优点

  • 将输入值映射到 (0, 1) 范围内,非常适合二分类问题中的概率输出。

缺点

  • 容易出现梯度消失问题,在反向传播中,当输入较大或较小时,导数趋近于零,使得梯度传递较慢,导致深层网络的训练效率降低。
  • 不以零为中心,导致梯度更新不平衡。
复制
import numpy as np
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

2.Tanh

Tanh 是 Sigmoid 的改进版本,输出范围在 (-1, 1),对称于零。

终于把神经网络中的激活函数搞懂了!!!图片

终于把神经网络中的激活函数搞懂了!!!

优点

  • 输出范围在 (-1, 1) 之间,使得正负值更加均衡,适合用作隐藏层的激活函数。
  • 零点对称,可以更好地解决梯度消失问题,收敛速度比 Sigmoid 更快。

缺点

  • 在输入值较大或较小时,依然存在梯度消失的问题,导致深层网络的训练困难。
复制
def tanh(x):
    return np.tanh(x)

3.ReLU

ReLU 是最常用的激活函数之一,对正数直接输出,对负数输出零。

终于把神经网络中的激活函数搞懂了!!!图片

优点

  • 简单高效,且在正数区梯度始终为 1,能够缓解梯度消失问题。
  • 计算速度快,常用于深层神经网络。

缺点

  • 存在“死亡神经元”问题,输入为负时输出为零,可能导致某些神经元永远不被激活。
复制
def relu(x):
    return np.maximum(0, x)

4.Leaky ReLU

Leaky ReLU 是 ReLU 的改进版,负数区域的输出为输入的一个小比例,以解决“死亡神经元”问题。

终于把神经网络中的激活函数搞懂了!!!图片

其中 是一个很小的正数,通常取 0.01。

优点

  • 保留负数区域的小梯度,减少神经元死亡的风险。
  • 保持 ReLU 的大部分优势。

缺点

  • 引入了一个额外的参数 ,需要手动设置。
复制
def leaky_relu(x, alpha=0.01):
    return np.where(x > 0, x, alpha * x)

5.PReLU

PReLU 是 Leaky ReLU 的变体,负区域的斜率参数 可以在训练中自动学习。

终于把神经网络中的激活函数搞懂了!!!图片

优点

  • 负区域的斜率参数 可学习,模型能够自动适应数据特性。

缺点

  • 增加了模型复杂性和计算成本,因为需要学习额外的参数。
复制
def prelu(x, alpha):
    return np.where(x > 0, x, alpha * x)

6.ELU

ELU 是 ReLU 的另一种改进版本,ELU 在正值区域与 ReLU 相同,但在负值区域应用指数函数进行变换。

终于把神经网络中的激活函数搞懂了!!!图片

终于把神经网络中的激活函数搞懂了!!!

优点

  • 在负区域输出接近零,有助于加快收敛。
  • 可以减少梯度消失的现象。

缺点

  • 计算开销较高,不如 ReLU 高效。
复制
def elu(x, alpha=1.0):
    return np.where(x > 0, x, alpha * (np.exp(x) - 1))

7.Swish

Swish 是一种平滑的激活函数,常常在深层网络中表现优于 ReLU 和 Sigmoid。

终于把神经网络中的激活函数搞懂了!!!图片

终于把神经网络中的激活函数搞懂了!!!

其中 是 Sigmoid 函数。

优点

  • 平滑且输出无界,有更好的梯度流动性质,性能上往往优于 ReLU。
  • 在深层神经网络中表现良好,可以提高模型准确性。

缺点

  • 计算量大于 ReLU,尤其在大规模神经网络中。
复制
def swish(x):
    return x * sigmoid(x)

8.Softmax

Softmax 通常用于多分类任务的输出层,将输出值归一化到 [0, 1] 范围,总和为 1,可以理解为概率分布。

终于把神经网络中的激活函数搞懂了!!!图片

终于把神经网络中的激活函数搞懂了!!!

优点

  • 将输出值转换为概率,便于多分类任务。
  • 可以通过最大值索引确定类别。

缺点

  • 仅适合用于输出层,而不适合隐藏层。
  • 对输入值的极端变化敏感。
复制
def softmax(x):
    exp_x = np.exp(x - np.max(x))  # 减去最大值避免指数爆炸
    return exp_x / np.sum(exp_x, axis=0)

相关资讯

哥大和耶鲁团队开发新算法,阐明结肠癌耐药机制

编辑 | 萝卜皮信号通路活性异常是肿瘤发生和进展的标志,30 多年来一直指导着靶向抑制剂的设计。然而,由快速、特定环境的信号网络重新布线诱导的适应性抵抗机制继续挑战治疗效果。利用蛋白质组学技术和神经网络,哥伦比亚大学和耶鲁大学的研究团队引入了 VESPA(Virtual Enrichment-based Signaling Protein-activity Analysis),一种旨在阐明细胞响应和适应药物扰动机制的算法;并用它来分析用临床相关抑制剂和对照介质处理的结直肠癌细胞的 7-point 磷酸化蛋白质组时间

防不胜防:黑客可利用 AI 通过 HDMI 线远程窃取屏幕信息

乌拉圭的研究人员发现,黑客可以使用人工智能通过拦截电脑显示器和主机之间 HDMI 线缆泄露的电磁辐射来窥探屏幕内容。他们表示,这种攻击可能已经存在,但普通家庭电脑用户不必过于担心。图源 Pexels据AI在线了解,攻击者可以通过多种方式实施攻击,包括使用放置在建筑物外的天线来拦截 HDMI 线缆的信号,这种间谍活动通过拦截从电脑 HDMI 线缆泄露的电磁辐射进行。研究人员表示,虽然数字视频传输比模拟信号复杂得多,但仍然存在可乘之机。乌拉圭共和国大学的费德里科・拉罗卡和他的团队开发了一种人工智能模型,可以从几米外的泄

中国科学院利用人工智能,发现迄今为止距其主星最近的最小行星

感谢由中国科学院上海天文台葛健教授带领的国际团队,研发了一种结合 GPU 相位折叠和卷积神经网络的深度学习算法,并在开普勒(Kepler)2017 年释放的恒星测光数据中发现了五颗直径小于地球、轨道周期短于 1 天的超短周期行星。▲ 已知行星半径和行星轨道半长轴分布以及五个新发现的超短周期行星(红点)其中四颗是迄今为止发现的距其主星最近的最小行星,类似火星大小。这是天文学家首次利用人工智能一次性完成搜寻疑似信号和识别真信号的任务。