Files
2026_DesignAI/03-computer-vision/02.1-cnn-foundation.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

146 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 学习目标
理解CNN的核心思想:局部连接与权重共享
掌握卷积、激活、池化三大组件
了解CNN与MLP的区别和联系
### 为什么需要CNN
MLP的问题
将图像展平成一维向量输入MLP
`28×28``图像`` → 784``维向量`` → MLP`
**问题** 1. 参数量巨大:784×1000 = 784,000个参数 2. 忽略空间结构:相邻像素的关系被破坏 3. 缺乏平移不变性:物体移位后需要重新学习
#### CNN的解决方案
------------------------------------------------------------
特性 说明 优势
------------ -------------------------- --------------------
局部连接 每个神经元只连接局部区域 符合图像局部相关性
权重共享 同一卷积核扫描全图 大幅减少参数
层次化特征 低层→高层特征抽象 自动学习特征表达
------------------------------------------------------------
### CNN三大组件
#### 1. 卷积层 (Convolution)
**卷积操作**:用卷积核(Filter)在图像上滑动,计算局部特征
`输入图像`` ``卷积核`` ``特征图`\
`┌─────────┐ ┌─────┐ ┌─────────┐`\
`│ 1 2 3 │ │ 1 0 │ │ 8 10 │`\
`│ 4 5 6 │ ⊗ │ 0 -1 │ = │ 14 16 │`\
`│ 7 8 9 │ │ │ │ │`\
`└─────────┘ └─────┘ └─────────┘`
**计算示例**
`输出``(1,1) = 1×1 + 2×0 + 4×0 + 5×(-1) = 1 - 5 = -4`
**多通道卷积**
`RGB``图像`` (3``通道``) + ``卷积核`` (3×3×3) → ``特征图`` (``单通道``)`
#### 2. 激活层 (Activation)
通常使用ReLU
`output ``=`` ``max``(``0``, ``feature_map``)`
作用:引入非线性,使网络能学习复杂模式
#### 3. 池化层 (Pooling)
**最大池化** (Max Pooling)
`2×2``窗口`` → ``取最大值`\
`┌─────┐ ┌───┐`\
`│3 1 │ │ 3 │`\
`│2 5 │ → │ │`\
`└─────┘ │ 5 │`\
` └───┘`
作用: - 降低维度,减少计算量 - 增强平移不变性 - 扩大感受野
### CNN架构示例
#### LeNet-5 (经典架构)
`输入``(32×32) → ``卷积层`` → ``池化层`` → ``卷积层`` → ``池化层`\
` ↓`\
` ``全连接层`` → ``输出`
#### VGG-16 (深层架构)
`输入`` → [Conv×3 + Pool] ×2 → [Conv×3 + Pool] ×3`\
` → [Conv×3 + Pool] ×3 → FC×3 → ``输出`
### CNN vs MLP
-------------------------------------
特性 MLP CNN
---------- -------------- -----------
连接方式 全连接 局部连接
权重 每个连接独立 同层共享
空间结构 忽略 保留
参数量 大 小
适用任务 结构化数据 图像/语音
-------------------------------------
### 经典网络架构演进
`LeNet`` (1998) → ``首次定义``CNN``结构`\
` ↓`\
`AlexNet`` (2012) → ``深度学习爆发,``ReLU``激活`\
` ↓`\
`VGG (2014) → ``更深网络,``3×3``小卷积核`\
` ↓`\
`GoogLeNet`` (2014) → Inception``模块,多尺度`\
` ↓`\
`ResNet`` (2015) → ``残差连接,``152``层`\
` ↓`\
`EfficientNet`` (2019) → ``复合缩放,高效`
### 思考与练习
1.为什么卷积核通常选择奇数尺寸(3×3, 5×5)?
2.感受野如何随着网络深度增加?
3.设计一个简单的CNN用于手写数字识别
### 关键术语
-------------------------------------------------------
中文 英文 说明
-------- ----------------- ----------------------------
卷积核 Kernel/Filter 用于特征提取的小矩阵
步幅 Stride 卷积核滑动的步长
填充 Padding 边缘补零以保持尺寸
感受野 Receptive Field 神经元响应的输入区域
通道 Channel 图像的颜色维度或特征图数量
-------------------------------------------------------
### 延伸阅读
[CS231n: Convolutional Neural Networks](http://cs231n.stanford.edu/)
[Understanding CNNs](https://poloclub.github.io/cnn-explainer/) \# 02.2 目标检测