【卷积计算公式】在深度学习和信号处理中,卷积是一种重要的数学操作,广泛应用于图像识别、自然语言处理等领域。卷积的核心思想是通过一个称为“卷积核”(或滤波器)的参数矩阵,对输入数据进行局部特征提取。本文将总结卷积的基本计算公式,并以表格形式展示其关键要素。
一、卷积计算的基本原理
卷积运算可以理解为两个函数之间的乘积积分,但在离散情况下,通常用点积的方式进行计算。对于二维图像,卷积过程如下:
1. 输入张量(Input Tensor):通常是图像的二维矩阵,也可以是三维(如RGB图像)。
2. 卷积核(Kernel / Filter):一个较小的权重矩阵,用于提取特征。
3. 步长(Stride):控制卷积核在输入上移动的步长。
4. 填充(Padding):在输入边缘添加零值,以保持输出尺寸一致。
5. 输出张量(Output Tensor):经过卷积后的结果。
二、卷积计算公式
假设输入为 $ I \in \mathbb{R}^{H \times W \times D} $,卷积核为 $ K \in \mathbb{R}^{k_h \times k_w \times D} $,步长为 $ s $,填充为 $ p $,则卷积输出 $ O \in \mathbb{R}^{H' \times W' \times M} $ 的计算公式如下:
$$
O[i][j][m] = \sum_{x=0}^{k_h-1} \sum_{y=0}^{k_w-1} \sum_{d=0}^{D-1} I[i + x][j + y][d] \cdot K[x][y][d][m
$$
其中:
- $ i, j $ 是输出位置的坐标;
- $ m $ 是第 $ m $ 个卷积核;
- $ k_h, k_w $ 是卷积核的高度和宽度;
- $ H', W' $ 是输出的高和宽,由以下公式决定:
$$
H' = \left\lfloor \frac{H + 2p - k_h}{s} \right\rfloor + 1 \\
W' = \left\lfloor \frac{W + 2p - k_w}{s} \right\rfloor + 1
$$
三、卷积计算关键要素对比表
| 项目 | 说明 |
| 输入张量 | 图像或特征图,维度为 $ H \times W \times D $ |
| 卷积核 | 权重矩阵,维度为 $ k_h \times k_w \times D $ |
| 步长 | 控制卷积核移动的步长,影响输出尺寸 |
| 填充 | 在输入边缘添加零值,保持输出大小 |
| 输出张量 | 经过卷积后得到的特征图,维度为 $ H' \times W' \times M $ |
| 计算方式 | 点积操作,逐元素相乘后求和 |
| 激活函数 | 可选,常用于非线性变换(如ReLU) |
四、示例说明
以一个简单的图像卷积为例:
- 输入图像:$ 5 \times 5 \times 1 $(灰度图像)
- 卷积核:$ 3 \times 3 \times 1 $
- 步长:1
- 填充:0
输出尺寸计算为:
$$
H' = \frac{5 + 0 - 3}{1} + 1 = 3 \\
W' = \frac{5 + 0 - 3}{1} + 1 = 3
$$
因此,输出为 $ 3 \times 3 \times 1 $。
五、总结
卷积计算是深度学习中的核心操作之一,通过合理设置卷积核、步长和填充,可以有效提取图像中的局部特征。掌握卷积公式及其应用场景,有助于更好地理解和设计神经网络模型。
如需进一步了解转置卷积、空洞卷积等变种,可继续阅读相关资料。


