### 学习目标 理解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 目标检测