全连接层的算力计算方式

神经网络的全链接层可以看成两个矩阵相乘的形式,如下图所示,一个MxN的矩阵乘以一个NxP的矩阵,得到一个MxP的矩阵,进行乘法的次数为:

(N)*(M*P)

加法次数为:

(N-1)*M*P

所以,综计算量为(N)*(M*P)+(N-1)*M*P = (2N-1)*M*P

全连接层的算力计算方式_第1张图片

比如,就拿3*3的矩阵乘法为例:

全连接层的算力计算方式_第2张图片

计算如下:

全连接层的算力计算方式_第3张图片

全连接层的算力计算方式_第4张图片

所以,它的计算量为:

乘法次数:3*3*3=27次

加法次数:  2*3*3 =18次

算在一起浮点操作为27+18=45次

用公式计算(2N-1)*M*P=5*3*3=45次,互相印证符合。

当然,如果将MAC计算初始值看成0,则初始情况下实际上做了一个+0的加法操作,每个结果元素进行的加法次数也可以认为是N次而非N-1次,因为你可以认为一开始进行了加0操作嘛。这样的化公式就更简单,直接2N*M*P就可以了。


结束

你可能感兴趣的:(人工智能,算法,数学,深度学习,图像算法,算法)