目录

复杂度对模型的影响

时间复杂度对模型的影响

时间复杂度决定了模型的训练/预测时间。如果复杂度过高,会导致模型训练和预测耗费大量时间,既无法快速的验证想法和改善模型,也无法做到快速的预测。

空间复杂度对模型的影响

空间复杂度决定了模型的参数数量。由于维度灾难(curse of dimensionality)的限制,模型的参数越多,训练模型所需的数据量就越大,而现实生活中的数据集通常不会太大,这会导致模型的训练更容易过拟合。

复杂度分析

CNN时间复杂度

非严格计算下的时间复杂度公式如下:

假设输入和卷积核形状都是正方形。
单个卷积层的时间复杂度:O(M^2 * K^2 * Cin * Cout)

其中各字母含义如下:

  • M: 特征图(Feature Map)的尺寸
  • K: 卷积核(Kernel)的尺寸
  • Cin: 输入通道数
  • Cout:输出通道数
  • X: 输入尺寸

M=(X - K + 2*Padding) / Stride + 1

CNN空间复杂度

非严格计算下的空间复杂度公式如下:

O(K^2 * Cin * Cout)

空间复杂度只与卷积核的尺寸K、通道数C相关。而与输入图片尺寸无关。

当我们需要裁剪模型时,由于卷积核的尺寸通常已经很小,而网络的深度又与模型的能力紧密相关,不宜过多削减,因此模型裁剪通常最先下手的地方就是通道数。