动手学习深度学习(10)卷积层和池化层
卷积神经网络(convolutional neural networks,CNN)是机器学习利用自然图像中一些已知结构的创造性方法。
两个原则:平移不变性,局部性
详细讲解了为什么要使用卷积,以及如何从全连接层推理至卷积层。建议完整观看视频。
- 卷积层将输入和核矩阵进行交叉相关,加上偏移后得到输出
- 核矩阵和偏移是可学习的参数
- 核矩阵的大小是超参数
图像卷积
互相关运算
1 |
|
实现二维卷积层
1 |
|
填充与步幅
填充:在输入的周围添加额外的行/列
步幅:卷积核的滑动步长
1 |
|
多个输入和输出通道
多个输入通道:
- 每个通道都有一个卷积核,结果是所有通道卷积结果的和。
多个输出通道:
- 我们可以有多个三维卷积核,每个核生成一个输出通道。
多个输入输出通道:
- 每个输出通道可以识别特定的模式
- 输入通道核始别并组合输入中的模式
1x1卷积层:不识别空间模式,只是融合通道。
假设输入为,卷积核大小为,填充为,步幅为。
- 前向传播的计算成本(乘法和加法):
MATHJAX-SSR-0 - 参数内存占用:
实现
1 |
|
池化层
我们的机器学习任务通常会跟全局图像的问题有关(例如,“图像是否包含一只猫呢?”),所以我们最后一层的神经元应该对整个输入的全局敏感。通过逐渐聚合信息,生成越来越粗糙的映射,最终实现学习全局表示的目标,同时将卷积图层的所有优势保留在中间层。
本节将介绍汇聚(pooling)层,它具有双重目的:降低卷积层对位置的敏感性,同时降低对空间降采样表示的敏感性。
- 池化层与卷积层类似,都具有填充和步幅
- 没有可学习参数
- 在每个输入通道应用池化层以获得相应的输出通道
- 输出通道数 = 输入通道数
最大池化层:每个窗口中最强的模式信号
平均池化层:将最大池化层中的“最大”操作替换为“平均”
实现
1 |
|
- Title: 动手学习深度学习(10)卷积层和池化层
- Author: 茴香豆
- Created at : 2022-10-30 16:34:07
- Updated at : 2022-10-31 16:14:51
- Link: https://hxiangdou.github.io/2022/10/30/DL_10/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments