初始化:从 docx 拆分为独立 Markdown 章节

将《设计人工智能:基础与应用》拆分为 38 个 Markdown 文件,
按 11 个部分(上篇6部分+下篇5部分)+ 3 个附录组织。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-25 10:32:58 +08:00
commit e58b95d227
42 changed files with 4857 additions and 0 deletions
+221
View File
@@ -0,0 +1,221 @@
### 学习目标
理解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](http://neuralnetworksanddeeplearning.com/chap1.html)
[Yes you should understand backprop](https://medium.com/@karpathy/yes-you-should-understand-backprop-e2f06eab496b) \# 01.3 编程工具与Vibe Coding