卷積核的參數量和計算量
卷積計算量
通常只看乘法計算量:
標准卷積方式
C代表通道數,Ci輸入通道數,C0為輸出通道數。H*W為長寬
如下圖;當前特征圖Ci * H * W ,把特征圖復制C0個,分別與3*3*Ci的卷積核進行卷積,輸出特征圖大小C0 * H * W,
用C0個3*3*Ci的卷積核進行卷積操作,所以參數量為3*3*Ci*C0,在H*W的特征圖上操作,故計算量為3*3*Ci*C0*H*W .
可以記作 輸入輸出的pipeline Ci*3*3*H*W*Co
深度可分離卷積
逐通道卷積depthwise conv,再通道融合卷積pointwise
通道之間相互獨立,故卷積核參數量為3*3*Ci (記憶技巧,輸出通道數即為卷積核個數,卷積核個數乘以每個卷積核的參數即總參數) , 遠少於標准卷積的 3*3*Ci*C0, 計算量為3*3*Ci*H*W。
逐通道卷積之后,再用1*1的卷積核進行通道間的特征融合
此時輸入的特征圖大小為H*W*Ci ,輸出為H*W*C0
故后半部分卷積核參數量為1*1*C0*Ci, 計算量為1*1*C0*H*W*Ci, 可以記作從左到右pipeline Ci*1*1*H*W*C0
故深度可分離卷積的計算量為:3*3*Ci*H*W + 1*1*C0*H*W*Ci
是標准卷積的1/9,計算量大大減小。
另外,卷積神經網絡的神經元個數計算方式為:卷積核的個數乘以圖片大小(H*W)