深度学习-李沐-第六节-填充、步幅、多输入多输出通道
填充、步幅、多输入多输出通道
填充
为什么要填充
由于我们通常使用小卷积核,因此对于任何单个卷积,我们可能只会丢失几个像素。 但随着我们应用许多连续卷积层,累积丢失的像素数就多了。 解决这个问题的简单方法即为填充(padding)。
填充定义以及举例
在输入图像的边界填充元素(通常填充元素是0)。

输出大小:(输入-卷积核+步幅+填充)/ 步幅
1 | import torch |
输出结果:
1 | torch.Size([6, 6]) |
填充与步幅小结
填充可以增加输出的高度和宽度。这常用来使输出与输入具有相同的高和宽。
步幅可以减小输出的高和宽,例如输出的高和宽仅为输入的高和宽的(是一个大于的整数)。
填充和步幅可用于有效地调整数据的维度。
多输入多输出通道
多通道输入
当输入包含多个通道时,需要构造一个与输入数据具有相同输入通道数的卷积核,以便与输入数据进行互相关运算。
代码实现
1 | import torch |
多通道输出
在最流行的神经网络架构中,随着神经网络层数的加深,通常会增加输出通道的维数,通过减少空间分辨率以获得更大的通道深度。
将每个通道看作是对不同特征的响应。而现实可能更为复杂一些,因为每个通道不是独立学习的,而是为了共同使用而优化的。因此,多输出通道并不仅是学习多个单通道的检测器。
在互相关运算中,每个输出通道先获取所有输入通道,再以对应该输出通道的卷积核计算出结果。
1 | def corr2d_multi_in_out(X, K): |
1×1卷积
1×1卷积,即Kh = Kw = 1。 1×1卷积的唯一计算发生在通道上。
卷积的本质是有效提取相邻像素间的相关特征
1 | def corr2d_multi_in_out_1x1(X, K): |
多输入多输出通道小结
多输入多输出通道可以用来扩展卷积层的模型。
当以每像素为基础应用时,卷积层相当于全连接层。
1×1卷积层通常用于调整网络层的通道数量和控制模型复杂性。
- 标题: 深度学习-李沐-第六节-填充、步幅、多输入多输出通道
- 作者: moye
- 创建于 : 2022-08-16 15:00:46
- 更新于 : 2025-12-11 14:39:48
- 链接: https://www.kanes.top/2022/08/16/深度学习-李沐-第六节-填充、步幅、多输入多输出通道/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论