- 参数量(Parameters)
- 计算量,乘加次数 (Multiply Accumulate)
- FLOPs (Floating Point Operations)
涉及标识:
Hin, Win : 输入图片高,宽
Hout, Wout : 输出图片高,宽
HK, WK : 卷积核高,宽
Cin :输入图片特征通道
Cout : 输出图片特征通道
知识点:
根据Andrew Ng的讲解,重点理解Cout,Cout是根据卷积核的数量来决定的,每个卷积核自身有多少层是根据Cin来的,也就是上一层的Cout
如上图,Cin根据原始输入图片有RGB,3个Channels。此时单个卷积核会有 Cin 层,也就是3层。如果不增加卷积核数量,则输出为 Cout 为1。
接着上图我们增加卷积核的数量,假设我们需要2个卷积核。那么最终 Cout 输出即为2。Cout 可以理解为卷积核的个数。这里我们没有考虑Bias,但只要记住每个卷积核,也就例如图1中一个 (3x3x3) 对应1个Bias即可。
参数量
输入为(Hin, Win),输出为(Hout, Wout)不考虑补0
- 考虑Bias:(Cin * HK * WK +1)* Cout
- 不考虑Bias:(Cin * HK * WK )* Cout
计算量 (MAC)
-
考虑Bias:(Cin * HK * WK )* Cout * (Hout, Wout)
-
不考虑Bias:(Cin * HK * WK - 1)* Cout * (Hout, Wout)
FLOPs
-
考虑Bias:(2 * Cin * HK * WK)* Cout * (Hout, Wout)
-
不考虑Bias:(2 * Cin * HK * WK - 1)* Cout * (Hout, Wout)
注:
1.这里计算FLOPs和MAC的时候只乘以一个(Hout, Wout)是因为权值共享,所以只需乘以一个输出特征图大小。
PS: 全连接参数考虑Bias = Neuronin * Neuronout + Neuronout