=== 卷积维度总结 ===
类型 | 输入维度 | 卷积核移动 | 主要应用 | 典型输入形状 |
---|---|---|---|---|
Conv1D | 3D | 1维(时间) | 序列、音频、文本 | [B,C,L] |
Conv2D | 4D | 2维(空间) | 图像、2D数据 | [B,C,H,W] |
Conv3D | 5D | 3维(时空) | 视频、3D数据 | [B,C,D,H,W] |
记忆要点:
- 'nD'指的是卷积核滑动的空间维度数
- 不是指输入张量的维度数
- 选择根据数据的空间/时间结构特性
- 这里的B,是指batch,即一次处理多少
如果不考虑批次,那么conv2D的输入实际上是3维的,加上batch这个维度之后多了1维才变成4维。由于batch相当于任务数,因此无论是几D的卷积,输入和输出在这个维度上是不会发生变化的。
例如:
对100张一张64x64灰度图进行2D卷积(卷积核的形状是2维),那么输入张量的形状是
[100,1,64,64](64是宽和高,1是因为灰度图只有一“层”,即一个channel,或者说1种只描述亮度的特征, 100则是说我们这批任务有100张图都要做这个操作),假设期望输出的特征数量维20(即对应的输入的维度中的那个1,输出后则变为20)
那么,输出的形状则是
[100,20,,]
可以看出,输出依然是4维,第一个维度的那个100保持不变,因为它就是任务数,第二个维度的1变成了20,对应的预期输出特征数,最后那2个星星实际上跟卷积核的大小以及卷的方式有关系,但不影响输出依然是4维,以及张量形状=[B,C,..]的特点。