人工智能|全连接层的算力计算方式

神经网络的全链接层可以看成两个矩阵相乘的形式,如下图所示,一个MxN的矩阵乘以一个NxP的矩阵,得到一个MxP的矩阵,进行乘法的次数为:
【人工智能|全连接层的算力计算方式】(N)*(M*P)
加法次数为:
(N-1)*M*P
所以,综计算量为(N)*(M*P)+(N-1)*M*P = (2N-1)*M*P
人工智能|全连接层的算力计算方式
文章图片

比如,就拿3*3的矩阵乘法为例:
人工智能|全连接层的算力计算方式
文章图片

计算如下:
人工智能|全连接层的算力计算方式
文章图片

人工智能|全连接层的算力计算方式
文章图片

所以,它的计算量为:
乘法次数: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就可以了。
结束

    推荐阅读