深度学习模型复杂度计算详细解析

1关键:

辨析好运算量与参数量等概念,根据不同的操作,逐步分解计算。

2概念辨析区分

2.1 模型复杂度是什么?

模型复杂度通常是指Forward Pass计算量和参数个数。

Forward Pass计算量:描述模型所需要的计算能力
参数个数:描述模型所需要的计算机内存

2.2 FLOPS与FLOPs辨析

FLOPS:全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。

2.3 运算量与参数量辨析

运算量:要计算的次数
参数量:所需要的参数数量

例如求“(x-y)+xy-xx-y”的运算量与参数量
参数量:2个;运算量:6次

3运算量与参数量计算

3.1全连接层的运算量与参数量

根据操作不同,需要计算的过程主要包含:
1、Linear(包含权重乘法、加法和偏置加法)
2、Activation Function(采用不同激活函数运算次数会不同)
模型示意图:
深度学习模型复杂度计算详细解析_第1张图片

例子:
假设全连接层输入节点为:Ci 个,输出节点为:Co个,采用Relu激活函数,计算其运算量与参数量。
提示:单个输出节点运算过程:Relu[(x1w1+ x2w2+ x3w3+ ```+ xnwn)+b]

运数量计算:
深度学习模型复杂度计算详细解析_第2张图片

参数量计算:
深度学习模型复杂度计算详细解析_第3张图片

3.2 卷积层的运算量与参数量

根据操作不同,需要计算的过程主要包含:
1、Conv、2. BatchNorm、3.Activation function 4. Linear、5. Upsample、6. Poolings

下面对最简单的情况进行举例说明。
3.2.1 输入输出均为单通道
假设图像大小NN,卷积核大小FF,步长S,填充P,则卷积运算量为:
深度学习模型复杂度计算详细解析_第4张图片

例子:
如图:图像大小为 5x5,卷积核大小为 3x3,步长为1,填充为0,计算卷积运算量与参数量?
深度学习模型复杂度计算详细解析_第5张图片

运算量计算=153次
1次3x3卷积(求convolved feature某一元素值)所需运算量为:
(3x3)个乘法+(3x3-1)个加法 = 17
要得到右图convolved feature (3x3大小)所需运算量为:17x9 = 153

参数量计算=20个
1个步长参数S、1个填充参数P、卷积核长宽参数33、卷积特征图参数33.
3.2.2 输入输出均为三通道
1 单个卷积核条件(单特征通道)
例子:
如图:图像大小为 5x5x3,卷积核大小为 3x3x3,卷积核个数为1,步长为1,填充为0,计算卷积运算量与参数量?
深度学习模型复杂度计算详细解析_第6张图片

运算量计算=477次
1次3x3卷积(求convolved feature某一元素值)所需运算量为:
【3x3(9个乘法)+(3x3-1)(8个加法) 】×3(3个图像通道)+2(2个图像通道值加法)=53
要得到右图convolved feature (3x3大小)所需运算量为:53x9 = 477
参数量计算=32个
1个步长参数S、1个填充参数P、卷积核长宽参数333、卷积特征图参数3*3.

2 3个卷积核条件(3个特征通道)
例子:
如图:图像大小为 5x5x3,卷积核大小为 3x3x3,卷积个数为3,步长为1,填充为0,计算卷积运算量与参数量?
深度学习模型复杂度计算详细解析_第7张图片

运算量计算=1431次
1次3x3卷积(求convolved feature某一元素值)所需运算量为:
【(3x3)个乘法+(3x3-1)个加法 】×3(3个图像通道)+(2个图像通道值加法)=53
要得到1个convolved feature (3x3大小)运算量为:53x9 = 477
因为卷积核个数为3,所以运算量为:459 x3=1431
参数量计算=41个
1个步长参数S、1个填充参数P、卷积核长宽参数333,卷积核数量3,卷积特征图参数3*3.

3.2.3 输入输出均为多通道
例子:
如图:输入大小为 N x N x H,卷积核大小为 FxFxH,卷积个数为C(特征通道数),步长为S,填充为P,计算卷积运算量与参数量?
深度学习模型复杂度计算详细解析_第8张图片

运算量计算
深度学习模型复杂度计算详细解析_第9张图片

参数量计算:太懒了,不算了。
同时也可用以下方式表示,按照不同定义计算即可。

深度学习模型复杂度计算详细解析_第10张图片

参考知乎@弘宇、@留德华叫兽 。学习笔记,如有侵权,随时联系删除。
成文仓促,难免疏漏
以上,欢迎指正,

你可能感兴趣的:(深度学习理论与实践,深度学习)