4 多输入多输出通道
4.1 多输入通道
- 对每个通道分别进行互现观运算,然后按通道相加

1 | import torch |
tensor([[ 56., 72.],
[104., 120.]])
4.2 多输出通道
- 在流行的网络架构中,随着层数的加深,通常会增加输出通道的维数,通过减少空间分辨率以获得更大的通道深度。
- 可以将每个通道看作对不同特征的响应。而现实可能更为复杂,因为每个通道不是独立学习的,而是为了共同使用而优化的。
- 输入通道数
,输出通道数- 对于一个输入通道:卷积核:
,卷积后相加获得一个二维张量。 - 卷积核:
输出通道
- 对于一个输入通道:卷积核:
1 | def corr2d_multi_in_out(X,K): |
torch.Size([3, 2, 2, 2])
tensor([[[ 56., 72.],
[104., 120.]],
[[ 76., 100.],
[148., 172.]],
[[ 96., 128.],
[192., 224.]]])
4.3 1x1卷积层
- 1x1卷积失去了卷积层特有的能力(在高度和宽度维度上,识别相邻元素间相互作用的能力。)其实1x1卷积的唯一计算发生在通道上。

- 可以将1x1卷积层看作在每个像素位置应用的全连接层,以
个输入值转换成 个输出。 - 使用全连接层实现1x1卷积
1 | def corr2d_multi_in_out_1x1(X,K): |
- 上述函数相当于corr2d_multi_in_out函数
1 | X = torch.normal(0,1,(3,3,3)) |