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


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

以上

相关推荐
糖果店的幽灵5 分钟前
大模型测评DeepEval快速入门-安全与通用指标详解
人工智能·安全·langgraph·大模型测评·deepeval
江畔柳前堤6 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
晓梦林6 小时前
BUUCTF findKey-学习笔记
笔记·学习
阿里云大数据AI技术6 小时前
分链路差异化设计的DSP准实时数仓|钛动科技基于阿里云实时计算 Flink 版 + DLF Paimon + EMR Serverless StarRocks 的实践
人工智能·flink
陕西企来客6 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
0566466 小时前
agent学习Day15——SQLAlchemy 查询过滤、分页与历史列表接口
python·学习·fastapi
阿里云大数据AI技术7 小时前
从算力到智能体,面向 Agentic AI 的基础设施演进
人工智能·agent
hangyuekejiGEO7 小时前
GEO技术服务选型指南
大数据·人工智能·python
阿里云大数据AI技术8 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
维基框架8 小时前
GitHub源码处理提速 一趟扫描反而更慢
人工智能·github