本文我们来学习卷积的变种和相关的数学性质,为后面学习卷积神经网络做准备,有些概念可能不好理解,可以先了解其概念,然后慢慢理解、逐步深入。
在卷积的标准定义基础上,还可以引入卷积核的滑动步长和零填充来增加卷积的多样性,可以更灵活地进行特征抽取。
一、步长(Stride)
是指卷积核在滑动时的时间间隔,下图给出了步长为 2 的卷积示例:
二、填充
1、零填充(Zero Padding)
是在输入向量两端进行补零,下图5给出了输入的两端各补一个零后的卷积示例:
2、窄卷积(Valid Convolution)、宽卷积(Full Convolution)和等宽卷积(Same Convolution)
以上三种是标准卷积的三种不同填充策略。它们的主要区别在于输入输出的尺寸关系,而非卷积操作本身的结构创新。
(一)核心定义与数学关系
类型 | 填充策略 | 输出尺寸公式(输入尺寸nn,核大小kk,步幅s=1s=1) | 直观解释 |
---|---|---|---|
窄卷积 | 无填充(padding=0 ) | n−k+1 | 只处理输入的有效区域,输出缩小 |
宽卷积 | 全填充(padding=k-1 ) | n+k−1 | 覆盖输入的所有可能位置,输出扩大 |
等宽卷积 | 对称填充(padding=(k-1)/2 ) | n | 保持输入输出尺寸一致 |
(二)与卷积变种的本质区别
1. 改进目标不同
-
窄/宽/等宽卷积:调整输入输出的空间关系,解决尺寸匹配问题(如保持分辨率、扩大感受野)。
-
卷积变种(如空洞卷积、可分离卷积):改进特征提取方式或参数效率(如扩大感受野、减少计算量)。
2. 技术手段不同
类型 | 技术手段 | 是否改变卷积核结构 |
---|---|---|
窄/宽/等宽卷积 | 调整填充量 | 否(仅改变输入边界处理) |
空洞卷积 | 插入空洞间隔 | 是(改变采样方式) |
可分离卷积 | 分解为深度+逐点卷积 | 是(改变操作流程) |
(三)具体示例对比
场景:输入信号长度为5(n=5
),卷积核大小3(k=3
)
-
窄卷积(无填充):
-
输出长度 = 5−3+1=3
-
计算区域:
[1-3], [2-4], [3-5]
(忽略边界外数据)
-
-
宽卷积(填充2,零填充):
-
输出长度 = 5+3−1=7
-
计算区域扩展至输入外(如填充后的输入为
[0,0,1,2,3,4,5,0,0]
)
-
-
等宽卷积(填充1,对称填充):
-
输出长度保持5
-
填充后的输入为
[0,1,2,3,4,5,0]
-
(四)为何不属于卷积变种?
-
不涉及结构创新:
窄/宽/等宽卷积仅通过填充控制输入输出的尺寸,未改变卷积核的权重共享机制或特征提取方式。例如,无论选择哪种填充方式,标准卷积的局部连接和权重共享特性均保持不变。 -
通用性:
这三种填充策略可应用于任何标准卷积或变种卷积。例如,空洞卷积可以选择窄填充或等宽填充,分组卷积也可搭配宽卷积使用。 -
参数无关性:
填充策略不影响卷积核的参数学习,而变种卷积(如可变形卷积)会直接调整核的采样位置或参数生成方式。
(五)实际应用场景
填充类型 | 典型应用场景 |
---|---|
窄卷积 | 特征图尺寸逐步缩减的网络(如VGG) |
宽卷积 | 信号恢复任务(如去噪、超分辨率重建) |
等宽卷积 | 需保持分辨率的任务(如语义分割、风格迁移) |
窄卷积、宽卷积、等宽卷积是标准卷积的不同填充模式,属于卷积操作的基础配置选项,而非结构上的变种。它们的核心作用是控制输入输出的空间映射关系,而非改进特征提取能力或效率。理解这一点有助于避免混淆基础操作与高级改进方法。
三、卷积的变种
卷积神经网络(CNN)的变种在标准卷积的基础上进行改进,以解决不同任务中的特定需求。以下是对几种常见卷积变种的通俗解析:
1. 空洞卷积(Dilated Convolution)
问题:标准卷积的感受野有限,难以捕捉大范围上下文信息。
改进:在卷积核中插入“空洞”,扩大覆盖范围而不增加参数。
比喻:像用“望远镜”观察数据,跳过中间细节直接看远处特征。
例子:
-
输入序列:
[A, B, C, D, E, F]
-
空洞率=2的3核卷积:
A ? C ? E
→ 实际覆盖A, C, E
(?
表示跳过的位置)
应用场景:
-
语义分割(如识别图像中的大型物体)
-
时间序列预测(捕捉长期依赖)
2. 可分离卷积(Separable Convolution)
问题:标准卷积参数多、计算量大,尤其对移动设备不友好。
改进:将卷积分解为深度卷积(逐通道) + 逐点卷积(1x1),减少计算量。
数学对比:
-
标准卷积参数量:Cin×Cout×K×K
-
可分离卷积参数量:Cin×K×K+Cin×Cout
(假设输入输出通道数均为64,3x3卷积核:标准需 64x64x9=36,864 参数,可分离仅需 64x9 + 64x64=4,672 参数)
应用场景:
-
移动端模型(如MobileNet)
-
实时视频处理
3. 转置卷积(Transposed Convolution)
问题:标准卷积会缩小特征图尺寸,但某些任务需要放大输出(如生成图像)。
改进:通过“反向滑动”实现上采样,填充间隔后做标准卷积。
操作示例:
-
输入:2x2矩阵
-
转置卷积核:3x3,步长=2
-
输出:5x5矩阵(通过插值扩大尺寸)
应用场景:
-
图像生成(GAN生成高分辨率图片)
-
语义分割(恢复原始图像尺寸)
4. 分组卷积(Grouped Convolution)
问题:标准卷积要求所有通道全连接,计算成本高且缺乏并行性。
改进:将输入通道分为多组,每组独立卷积后再合并。
对比:
-
标准卷积:所有通道混合计算
-
分组卷积:分组处理(如将64通道分为4组,每组16通道)
优势:
-
参数减少为 1/组数
-
并行加速(不同组可分配到不同GPU核心)
应用场景:
-
高效模型设计(如ResNeXt)
-
多任务学习(不同组学习不同特征)
5. 可变形卷积(Deformable Convolution)
问题:标准卷积核形状固定,无法适应不规则物体(如弯曲的动物)。
改进:让卷积核的采样点位置可学习,动态调整形状。
效果演示:
-
标准3x3卷积:固定覆盖9个点
-
可变形卷积:9个点根据输入内容偏移(如聚焦在弯曲的鱼骨上)
应用场景:
-
目标检测(处理变形物体)
-
医学图像分析(器官形状不规则)
6. 动态卷积(Dynamic Convolution)
问题:静态卷积核难以适应输入内容的变化。
改进:根据输入数据动态生成卷积核参数。
例子:
-
输入一张猫图 → 生成“猫耳检测核”
-
输入一张车图 → 生成“车轮检测核”
应用场景:
-
多模态数据处理
-
少样本学习
变种卷积的核心价值
变种类型 | 解决的核心问题 | 关键技术手段 |
---|---|---|
空洞卷积 | 感受野受限 | 间隔采样扩大覆盖范围 |
可分离卷积 | 参数冗余、计算量大 | 分解为深度+逐点卷积 |
转置卷积 | 输出尺寸缩小 | 反向滑动实现上采样 |
分组卷积 | 计算成本高、缺乏并行性 | 通道分组独立处理 |
可变形卷积 | 几何形变适应差 | 可学习的采样点偏移 |
动态卷积 | 静态核泛化能力不足 | 输入相关的动态参数生成 |
核心思想:所有卷积变种都围绕两个方向改进:
-
增强特征表达能力(扩大感受野、适应形变等)
-
提升计算效率(减少参数量、加速计算等)
通过灵活组合这些变种,现代CNN能够应对从图像分类到自动驾驶等复杂任务的需求。
四、如何理解卷积的数学性质:交换性和导数?
卷积在数学和深度学习中有一些重要的性质,理解这些性质有助于更深入地掌握其工作原理,尤其是在神经网络中的应用。下面从交换性和导数两个角度进行解析:
(一)卷积的交换性
1. 数学定义中的交换性
严格数学卷积(信号处理中的定义)是可交换的,即:
证明:
例子:
-
信号处理:用滤波器 f 处理信号 g,与用信号 g 处理滤波器 f,结果相同。
-
图像处理:用边缘检测核 K 卷积图像 I,等价于用图像 I 卷积核 K。
2. 深度学习中的“卷积”是否满足交换性?
在深度学习中,实际使用的是互相关(Cross-Correlation)而非严格卷积。互相关操作不满足交换性:
原因:
互相关不翻转核,因此核的位置敏感。例如,检测猫耳朵的核放在图像左上角和右下角,结果不同。
实际意义:
-
在训练中,网络通过反向传播自动学习核的方向性特征(如左边缘或右边缘检测器)。
-
交换性在深度学习中不重要,因为核的参数是数据驱动的。
(二)卷积的导数
1. 卷积的导数规则
在反向传播中,卷积层的导数计算遵循以下规则:
直观理解:
-
对输入的导数 = 核的导数与输入信号的卷积。
-
对核的导数 = 输入信号与输入梯度的卷积。
2. 反向传播中的具体计算
假设卷积层的输入为 X,核为 K,输出为 Y=X∗K,损失函数为 L。
反向传播时:
-
输入梯度:
-
核梯度:
例子:
-
输入的梯度:
(三)交换性和导数的实际意义
1. 交换性的意义
-
数学理论:简化计算(如傅里叶变换中 F(f∗g)=F(f)⋅F(g))。
-
深度学习:无直接应用,因为实际使用互相关,但参数学习自动适应方向性。
2. 导数的意义
-
参数更新:通过梯度计算优化核权重。
-
特征可视化:通过梯度反传理解网络关注的特征(如显著图生成)。
(四)总结与记忆
性质 | 数学卷积 | 深度学习中的互相关 | 实际意义 |
---|---|---|---|
交换性 | 成立 | 不成立 | 理论计算简化,实际无需关心 |
导数 | 链式法则 | 反向传播规则 | 网络优化的数学基础 |
口诀:
“数学卷积可交换,深度互相关不转;
导数计算链式传,反向传播梯度算。”