1、两个指标
时间复杂度和空间复杂度是衡量一个算法的两个重要指标,用于表示算法的最差状态所需的时间增长量和所需辅助空间.
在深度学习神经网络模型中我们也通过:
- 计算量/FLOPs(时间复杂度)即模型的运算次数。floating point operations (s表示复数),指的是浮点运算次数,理解为计算量
- 访存量/Bytes(空间复杂度)即模型的参数数量
**PS:**FLOPs 是模型推理时间的一个参考量,但并不能百分百表示该模型推理时间的长短,
因为乘法和加法计算不一样,乘法的时间一般是加法时间的四倍,但现在有很多优化卷积
层的计算算法,可能把乘法计算时间缩为加法的两倍不等,所以FLOPs只是个估量的指标,
不是决定推理时间长短的指标。即FLOPs越小并不代表着模型推理时间越短
这两个指标来评判深度学习模型的性能
所以我们经常在论文里面看到类似如下的图就可以理解其含义了:
2、复杂度对模型的影响
- 时间复杂度决定了模型的训练/预测时间。
如果复杂度过高,会导致模型训练和预测耗费大量时间,既无法快速的验证想法和改善模型,也无法做到快速的预测。
- 空间复杂度决定了模型的参数数量。
由于维度灾难的限制,模型的参数越多,训练模型所需的数据量就越大,而现实生活中的数据集通常不会太大,这会导致模型的训练更容易过拟合。
版权归原作者 清纯世纪 所有, 如有侵权,请联系我们删除。