神经网络

激活函数

激活函数ReLUSigmoidSoftmax非线性
一句话摘要

神经网络中引入非线性的关键组件,没有激活函数,再多层的网络也只是线性模型。

为什么需要激活函数?

神经元的计算分两步:

  1. 线性加权求和:z = w₁x₁ + w₂x₂ + ... + b
  2. 激活函数:a = f(z)

如果没有激活函数,多层网络的组合结果仍然是线性的——无论堆多少层,效果等同于单层网络。激活函数引入非线性,让网络能学习复杂的模式。

常见激活函数

ReLU(Rectified Linear Unit)

公式:f(x) = max(0, x)

  • x > 0 时输出 x,x ≤ 0 时输出 0
  • 计算简单,训练速度快
  • 目前最常用的激活函数
  • 作用:引入非线性

Sigmoid

公式:f(x) = 1 / (1 + e^(-x))

  • 输出范围 (0, 1)
  • 常用于二分类的输出层(逻辑回归)
  • 缺点:容易梯度消失

Softmax

公式:P(i) = e^(xᵢ) / Σe^(xⱼ)

  • 将一组数值转化为概率分布(所有输出之和为1)
  • 用于多分类的输出层
  • 数值越大,对应概率越高

Softmax计算示例

输入 [2.0, 1.0, 1.0],对应猫、狗、鸟:

  • e^2.0 ≈ 7.389, e^1.0 ≈ 2.718
  • 分母 = 7.389 + 2.718 + 2.718 = 12.825
  • 猫 = 7.389/12.825 ≈ 0.576
  • 狗 = 2.718/12.825 ≈ 0.212
  • 鸟 = 2.718/12.825 ≈ 0.212

Tanh

公式:f(x) = (e^x - e^(-x)) / (e^x + e^(-x))

  • 输出范围 (-1, 1)
  • 输出以0为中心,有时比Sigmoid更好

三个函数的区别

函数作用典型位置
ReLU引入非线性隐藏层
Sigmoid输出概率(二分类)输出层
Softmax输出概率分布(多分类)输出层
交叉熵损失计算预测与真实标签的误差损失计算

考试要点

  • 激活函数的核心作用是非线性映射
  • ReLU → 引入非线性
  • Softmax → 转化为概率分布
  • 交叉熵损失函数 → 计算误差
  • Softmax输出的概率之和为1
微信二维码

扫码备注【NOAI】加交流群