假定:
M:每個卷積核輸出特征圖(Feature Map)的邊長
K:每個卷積核(Kernel)的邊長
Cin:每個卷積核的通道數,也即輸入通道數,也即上一層的輸出通道數
Cout:本卷積層具有的卷積核個數,也即輸出通道數
可見:每個卷積層的時間復雜度由輸出特征圖面積M2,卷積核面積K2,輸入Cin和輸出通道Cout完全決定。
其中,輸出特征圖尺寸本身又由輸入矩陣尺寸X,卷積核尺寸K,Padding,Stride這四個參數所決定,表示如下:
M = (X - K + 2 × Padding)/ Stride + 1
注1:為了簡化表達式中的變量個數,這里統一假設輸入和卷積核的形狀都是正方形。
注2:嚴格來講每一層應該還包含1個Bias參數,這里為了簡潔就省略了。
這里舉個例子,假設一個卷積層:輸入224×224×3,輸出224×224×64,卷積核大小為3×3。
計算量: Times = 224 × 224 × 3 × 3 × 3 × 64 = 8.7 × 10^7
參數量: Space = 3 × 3 × 3 × 64 = 1728