动手学深度学习-21
卷积层的多输入多输出通道
当我们添加通道时,我们的输入和隐藏的表示都变成了三维张量。例如,每个RGB输入图像具有
多输入通道
当输入包含多个通道时,需要构造一个与输入数据具有相同输入通道数的卷积核,以便与输入数据进行互相关运算。假设输入的通道数为
然而,当
下面实现一下多输入通道互相关运算,简而言之,我们所做的就是对每个通道执行互相关操作,然后将结果相加
1 | import torch |
构造输入张量与核张量,验证互相关运算的输出
1 | X = torch.tensor([[[0.0, 1.0, 2.0], |
多输出通道
每一层有多个输出通道是至关重要的。在最流行的神经网络架构中,随着神经网络层数的加深,我们常会增加输出通道的维数,通过减少空间分辨率以获得更大的通道深度。直观地说,我们可以将每个通道看作对不同特征的响应。而现实可能更为复杂一些,因为每个通道不是独立学习的,而是为了共同使用而优化的。因此,多输出通道并不仅是学习多个单通道的检测器。
用
我们实现一个计算多个通道的输出的互相关函数
1 | def corr2d_multi_in_out(X, K): |
卷积层
毕竟,卷积的本质是有效提取相邻像素间的相关特征,而
尽管如此,
因为使用了最小窗口,
其实
我们可以将
因为这仍然是一个卷积层,所以跨像素的权重是一致的。
同时,
我们使用全连接层实现
1 | def corr2d_multi_in_out_1x1(X, k): |
小结
- 多输入多输出通道可以用来扩展卷积层的模型。
- 当以每像素为基础应用时,
卷积层相当于全连接层。 卷积层通常用于调整网络层的通道数量和控制模型复杂性。
QA
卷积后的输出就是特征图(feature map)
- 标题: 动手学深度学习-21
- 作者: 敖炜
- 创建于 : 2023-08-19 14:04:30
- 更新于 : 2024-04-19 09:28:42
- 链接: https://ao-wei.github.io/2023/08/19/动手学深度学习-21/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。