问题一 连续卷积的等效性

1. 证明连续卷积可以由单次卷积表示

该问题的前提是,我们对一个输入执行一次卷积(核为 ),紧接着对其中间结果再执行一次卷积(核为 ),且这两次卷积之间没有非线性激活函数。我们需要证明这个两步操作等价于对原始输入执行一次单一的卷积(核为 )。

推导过程: 根据卷积的定义(为方便,我们使用一维离散卷积,其结论可直接推广至二维),令输入为 ,第一次卷积的输出为 ,第二次卷积的输出为

现在,我们将 的表达式代入第二个式子中:

交换求和顺序并重新整理:

,这个式子可以被看作是关于 的求和。现在,我们定义一个新的核

这个定义正是两个函数(或序列)卷积的数学定义,即 。 因此,原式可以写为:

结论: 连续两次无非线性激活的卷积操作,等价于使用一个等效核进行单次卷积。这个等效核等于原始两个核的卷积,即

2. 等效单核的维数

假设核 的大小为 ,核 的大小为 。根据卷积的性质,两个大小分别为 的序列进行卷积后,得到的新序列大小为 。 因此,等效的单次卷积核 的维数(或尺寸)为 。 对于二维情况,如果核 大小为 ,核 大小为 ,则等效核的大小为

3. 反之亦然吗?

该问题的核心是:一个大的卷积核 是否总能被分解为两个或多个更小的卷积核的连续卷积?

结论: 一般情况下,反之不亦然。一个大的、任意的卷积核不一定能被分解。 原因: 分解问题等价于多项式因式分解。一个一维卷积核可以被看作是一个多项式的系数。两个核的卷积等价于两个对应多项式的乘积。我们知道,并非所有的多项式都可以在一个给定的域(例如实数域)上进行因式分解。 例如,考虑一个 的核 ,我们试图将其分解为两个 的核

这是一个非线性方程组。对于任意给定的 ,这个方程组不一定有实数解。因此,分解不是总能实现的。

不过,在深度学习中,像 卷积可以由 卷积组合(可分离卷积)等特定分解是存在的,但这不是普遍规律。


问题二 卷积层的计算与内存分析

给定输入形状为 ,核形状为 ,填充为 ,步幅为

首先,计算输出特征图的尺寸

1. 前向传播的计算成本

计算成本主要由乘法和加法构成,我们这里用浮点运算次数(FLOPs)来衡量。

  • 计算输出特征图的一个像素: 为了计算输出特征图上一个位置的一个通道的值,我们需要进行一个三维卷积核与输入图像对应局部区域的互相关运算。这个运算涉及的乘法次数为 。加法次数近似为

  • 计算一个完整的输出特征图: 一个输出特征图有 个通道,每个通道的大小为

  • 总计算量: 将上述步骤相乘。

    在分析计算复杂度时,通常将乘法和加法合并考虑,总FLOPs约为:

2. 内存占用

内存占用主要考虑需要存储的张量大小。

  • 输入张量:
  • 输出张量:
  • 权重参数:
  • 偏置参数: 总内存占用(不含中间计算缓存)约为上述各项之和。

3. 反向传播的内存占用

在反向传播过程中,为了计算梯度,我们通常需要存储前向传播时的某些中间结果。对于一个卷积层,除了上述的输入、输出和参数外,最关键的是需要存储其输入张量,以便计算相对于权重的梯度和相对于输入的梯度。因此,其主要的内存占用与前向传播时相当。

4. 反向传播的计算成本

反向传播的计算主要包括三部分:计算关于输出的梯度,计算关于权重的梯度,和计算关于输入的梯度。

  • 关于输入的梯度: 这步操作等价于一个“转置卷积”,其计算复杂度与前向传播大致相当。
  • 关于权重的梯度: 这步操作也涉及到一个卷积运算,其计算复杂度也与前向传播大致相当。

根据严谨的分析,反向传播的计算量通常是前向传播的2到3倍。一个粗略的估计是,反向传播的计算成本与前向传播在同一个数量级上,大约是前向传播的两倍。


问题三 通道数与填充对计算量的影响

1. 通道数加倍

根据前向传播计算成本的公式:

  • 如果将输入通道 和输出通道 的数量都加倍,新的计算量为:

    结论: 计算数量会增加到原来的4倍

2. 填充数量翻一番

填充数量 的变化会影响输出尺寸

假设 较大,且步幅 。那么 。 如果将填充 翻一番变为 ,那么新的输出高度 。 输出尺寸的变化不是一个简单的倍数关系,它依赖于 的具体值。

  • 远小于 : 将填充翻一番,对输出尺寸的影响较小,计算量的增加也较小。
  • 相当时: 翻一番填充会显著增大输出尺寸,从而导致计算量大幅增加。 结论: 填充数量翻番,计算量会增加,但具体增加的倍数与输入尺寸、核尺寸和原填充大小有关,并非简单的倍数关系。

问题四 卷积核的计算复杂度

当卷积核的高度和宽度为 时,这种卷积被称为 卷积或逐点卷积(Pointwise Convolution)。

代入前向传播计算复杂度的公式:

通常在这种情况下,我们会使用 ,使得

分析: 这个计算量等价于对输入特征图的每一个空间位置 ,都执行一次全连接层的计算。这个全连接层将一个 维的输入向量(该位置上所有通道的像素值)映射到一个 维的输出向量。

其中, 是一个 的权重矩阵,它正是 卷积核的权重。

结论: 卷积在前向传播中的计算复杂度,等价于一个作用于输入通道、权重在空间上共享的全连接层。它不进行空间上的信息聚合,但能高效地实现跨通道的信息融合与降维/升维