Files
2026_DesignAI/02-foundations/01.2-mlp-basics.md
T
pengxiao e58b95d227 初始化:从 docx 拆分为独立 Markdown 章节
将《设计人工智能:基础与应用》拆分为 38 个 Markdown 文件,
按 11 个部分(上篇6部分+下篇5部分)+ 3 个附录组织。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 10:32:58 +08:00

6.5 KiB
Raw Blame History

学习目标

理解MLP的基本结构

掌握前向传播的计算过程

了解激活函数的作用和类型

理解反向传播的基本思想

MLP结构

什么是MLP

MLP (Multi-Layer Perceptron):多层感知机,是最基础的神经网络结构。

网络架构

输入层`` ``隐藏层`` ``输出层
┌─────────┐ ┌─────────────┐ ┌─────────┐
│ x₁ │ │ h₁ │ │ y₁ │
│ x₂ │───→│ h₂ │───→│ y₂ │
│ x₃ │ │ h₃ │ │ y₃ │
│ ... │ │ ... │ │ ... │
│ xₙ │ │ hₘ │ │ yₖ │
└─────────┘ └─────────────┘ └─────────┘
│ │ │
└───────────────┴────────────────┘
``全连接(每个神经元相连)

层次说明


层类型 作用 神经元数量


输入层 接收原始数据 取决于特征数

隐藏层 特征变换与组合 自由设计

输出层 产生最终结果 取决于任务

前向传播

单个神经元

# ``线性部分
z ``=`` ``w₁x``₁ ``+`` ``w₂x``₂ ``+`` ... ``+`` ``wₙx``ₙ ``+`` b

# ``激活函数
h ``=`` σ(z)

完整网络

对于L层网络:

# ``第``1``层

h₁ ``=`` σ``₁(``W₁x`` ``+`` b₁)

# ``第``2``层

h₂ ``=`` σ``₂(``W₂h``₁ ``+`` b₂)

# ...

# ``第``L``层

y = σₗ(Wₗh_{l-1} + bₗ)

数据流动

输入向量`` x₀

├─→ W₁, b₁ ──→ z₁ = ``W₁x``₀ + b₁
│ │
│ └─→ σ₁(z₁) = h₁
│ │
└──────────────────────────────├─→ W₂, b₂ ──→ z₂ = ``W₂h``₁ + b₂
│ │
└─→ σ₂(z₂) = h₂

└─→ ... → y

激活函数

为什么需要激活函数?

没有激活函数,多层网络就等价于单层线性变换:

y = W₂(``W₁x``) = (W₂W``₁)x`` = ``W'x

激活函数引入非线性,使网络能够学习复杂模式。

常用激活函数


激活函数 公式 特点 应用场景


Sigmoid σ(z) = 1/(1+e⁻ᶻ) 输出(0,1) 二分类输出层

ReLU ReLU(z) = max(0,z) 简单高效 隐藏层首选

Softmax softmax(zᵢ) = eᶻⁱ/Σeᶻʲ 输出和为1 多分类输出层

Tanh tanh(z) = (eᶻ-e⁻ᶻ)/(eᶻ+e⁻ᶻ) 输出(-1,1) 循环网络

视觉对比

ReLU``: Sigmoid: Tanh:
↑ ___ ___
│ / ╲
│ / ╲
│____ / ╲___
│ ______ / │
└──────── / └──
-``∞ 0`` +∞ -∞ 0 +∞ -∞ 0 +∞

损失函数与优化

损失函数

损失函数衡量模型预测与真实值的差距:


任务 损失函数 公式


回归 均方误差 MSE = Σ(ŷ-y)²/n

二分类 交叉熵 CE = -y·log(ŷ)

多分类 交叉熵 CE = -Σyᵢ·log(ŷᵢ)

优化目标

最小化损失函数:
min L(f(x; θ), y)

其中`` θ = {W₁, b₁, W₂, b₂, ...} ``是所有可学习参数

梯度下降

重复直到收敛:
θ = θ - α·∇L(θ)

其中:
θ``:参数
α``:学习率
∇L(θ)``:损失函数的梯度

反向传播

核心思想

从输出层向输入层反向计算梯度:

输出层误差`` → ``隐藏层误差`` → ... → ``输入层误差

链式法则

∂L/∂W₁ = (∂L/∂y) · (∂y/∂h₂) · (∂h₂/∂z₂) ·
`` (``∂z₂/∂h₁) · (∂h₁/∂z₁) · (∂z₁/∂W₁)

直观理解

1.前向传播:计算每个神经元的输出

2.计算误差:比较输出与真实值

3.反向传播:将误差反向传递

4.更新权重:根据误差调整参数

MLP vs 传统模型


特性 MLP 传统机器学习


特征工程 自动学习 人工设计

非线性能力 强 中/弱

数据需求 大量 中等

可解释性 低 高

训练时间 长 短

思考与练习

1.为什么隐藏层越多,网络表达能力越强?

2.ReLU为什么比Sigmoid更适合隐藏层?

3.如果所有权重初始化为0,会发生什么?

关键术语


中文 英文 说明


前向传播 Forward Pass 数据从输入到输出的计算过程

反向传播 Backpropagation 计算梯度的算法

损失函数 Loss Function 衡量预测误差的函数

梯度下降 Gradient Descent 优化算法

学习率 Learning Rate 参数更新的步长

延伸阅读

Neural Networks and Deep Learning - Chapter 1

Yes you should understand backprop # 01.3 编程工具与Vibe Coding