深度学习|表示学习|为什么要有激活函数?|03

如是我闻: 激活函数赋予神经网络非线性能力,从而使其能够处理复杂的任务。以下是我们为什么需要激活函数:


1. 引入非线性

  • 问题
    • 如果没有激活函数,神经网络的每一层实际上只是线性变换(矩阵乘法和加法)。
    • 线性变换的组合仍然是线性,因此无论网络有多少层,最终输出仍然是输入的线性函数。
  • 解决
    • 激活函数引入非线性,使神经网络能够近似复杂的非线性函数。
    • 这使得神经网络可以学习更复杂的映射,比如图像分类、语音识别等。

2. 增强表达能力

  • 神经网络的目标是通过学习参数来逼近输入和输出之间的映射。
  • 激活函数帮助网络捕获数据的复杂模式,例如分类边界或特征关系。
  • 线性网络 无法表示非线性边界,而非线性网络(通过激活函数)可以轻松表示复杂边界。

3. 提供梯度流

  • 在神经网络训练过程中,需要通过反向传播算法计算梯度以更新参数。
  • 激活函数决定了梯度流的特性:
    • 非饱和激活函数(如 ReLU)可以缓解梯度消失问题。
    • 平滑激活函数(如 sigmoid 或 tanh)可以帮助梯度变化更平滑,但可能导致梯度消失。

4. 类型多样化以适应不同任务

不同的激活函数适用于不同任务和场景:

  • Sigmoid
    • 将输出映射到 (0, 1),适合二分类任务。
  • Tanh
    • 输出范围为 (-1, 1),适合对称的数据分布。
  • ReLU
    • 简单高效,广泛用于深层网络,能缓解梯度消失问题。
  • Leaky ReLU / Parametric ReLU
    • 解决了 ReLU 的"死亡神经元"问题。
  • Softmax
    • 用于多分类任务,将输出转化为概率分布。

5. 控制输出范围

  • 激活函数可以对网络的输出进行约束,使其更易于解释或适配特定任务:
    • Sigmoid 和 Softmax 输出概率值(0 到 1)。
    • Tanh 输出在 -1 到 1 范围内,适合正负对称的数据。

例子对比:没有激活函数 vs. 有激活函数

  • 没有激活函数的网络
    f ( x ) = W 2 ( W 1 x + b 1 ) + b 2 f(x) = W_2(W_1x + b_1) + b_2 f(x)=W2(W1x+b1)+b2

    是一个简单的线性函数,无法解决复杂的分类或回归问题。

  • 有激活函数的网络
    f ( x ) = W 2 σ ( W 1 x + b 1 ) + b 2 f(x) = W_2\sigma(W_1x + b_1) + b_2 f(x)=W2σ(W1x+b1)+b2

    其中 σ \sigma σ 是激活函数(如 ReLU 或 sigmoid),可以通过分段非线性实现复杂映射。


激活函数的存在赋予神经网络非线性能力,使其可以建模复杂的关系。它增强了网络的表达能力,控制了输出范围,并确保了梯度流动,最终使深度学习成为解决现实问题的强大工具。

以上

相关推荐
Qdgr_10 分钟前
价值实证:数字化转型标杆案例深度解析
大数据·数据库·人工智能
c++服务器开发13 分钟前
一文详解Character AI:实用指南+ ChatGPT、Gemini对比分析
人工智能·chatgpt
hanniuniu1315 分钟前
AI时代API挑战加剧,API安全厂商F5护航企业数字未来
人工智能·安全
nicepainkiller1 小时前
anchor 智能合约案例3 之 journal
人工智能·智能合约·solana·anchor
nicepainkiller1 小时前
anchor 智能合约案例2 之 vote
人工智能·智能合约·solana·anchor
孤水寒月1 小时前
给自己网站增加一个免费的AI助手,纯HTML
前端·人工智能·html
Akttt1 小时前
【T2I】R&B: REGION AND BOUNDARY AWARE ZERO-SHOT GROUNDED TEXT-TO-IMAGE GENERATION
人工智能·深度学习·计算机视觉·text2img
大模型服务器厂商1 小时前
武汉大学机器人学院启航:一场颠覆性的产教融合实验,如何重塑中国智造未来?
人工智能
ytttr8731 小时前
matlab通过Q学习算法解决房间路径规划问题
学习·算法·matlab
wx_ywyy67982 小时前
推客系统小程序终极指南:从0到1构建自动裂变增长引擎,实现业绩10倍增长!
大数据·人工智能·短剧·短剧系统·推客系统·推客小程序·推客系统开发