一维卷积和二维卷积对比
时间: 2025-01-22 18:08:59 浏览: 37
### 卷积神经网络中的1D卷积与2D卷积
#### 1D卷积的应用场景
在一维数据处理中,比如时间序列分析或自然语言处理任务里,输入通常是单个向量形式的数据流。此时采用的一维卷积核仅在一个方向上滑动操作,能够有效地捕捉局部特征并减少参数数量[^1]。
```python
import torch.nn as nn
conv1d = nn.Conv1d(in_channels=16, out_channels=32, kernel_size=3, stride=1)
```
#### 2D卷积的应用场景
对于图像识别等领域而言,由于图片本身具有宽度和高度两个维度的信息结构,因此需要用到二维卷积来提取空间上的模式。这种类型的卷积可以在水平和垂直两个方向移动滤波器窗口完成多尺度的感受野构建。
```python
import torch.nn as nn
conv2d = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=(5, 5), stride=1)
```
#### 输入形状对比
- **1D Convolution**: `(batch_size, channels, length)`
- **2D Convolution**: `(batch_size, channels, height, width)`
这里`channels`表示通道数,在音频信号可能是单一声道的数量;而在彩色图像是RGB三原色分量。而`length`, `height`, 和`width`则对应于各自领域内的样本长度或者像素尺寸。
#### 参数差异
假设有一个大小为\(k\)的内核应用于一维数组,则它将拥有\((kernel\_size * input\_channel + 1)*output\_channel\)个可训练权重(包括偏置项)。当扩展到两维情况时,如果保持相同的感受野范围不变的话,那么相应的内核将会变成正方形矩阵\[k \times k\],从而使得总的自由度变为\(((kernel\_size)^2 * input\_channel + 1)*output\_channel)。
阅读全文
相关推荐


















