深度学习|表示学习|为什么要有激活函数?|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),可以通过分段非线性实现复杂映射。


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

以上

相关推荐
华舞灵瞳10 分钟前
学习FPGA(七)正弦信号合成
学习·fpga开发
白白要坚持12 分钟前
本地部署jina-bert
人工智能·bert·jina
救救孩子把16 分钟前
51-机器学习与大模型开发数学教程-4-13 EM算法与混合模型
人工智能·算法·机器学习
im_AMBER18 分钟前
weather-app开发手记 04 AntDesign组件库使用解析 | 项目设计困惑
开发语言·前端·javascript·笔记·学习·react.js
Fuly102421 分钟前
多模态大模型应用技术栈
人工智能·深度学习·计算机视觉
Brduino脑机接口技术答疑28 分钟前
TDCA 算法在 SSVEP 场景中的训练必要性
人工智能·算法·机器学习·脑机接口
悟道心38 分钟前
1.自然语言处理NLP - 入门
人工智能·自然语言处理
雪花desu1 小时前
深度解析RAG(检索增强生成)技术
人工智能·深度学习·语言模型·chatgpt·langchain
咚咚王者1 小时前
人工智能之数学基础 离散数学:第四章 离散概率
人工智能
阿标在干嘛1 小时前
科力辰平台:作为一个科技查新平台,其核心能力边界在哪里?
人工智能·科技