算子的計算復雜度

convolution:
卷積(Conv)算子的計算復雜度通常取決于多個因素闻镶,包括輸入的維度(input_batch,input_h、input_w弧械、input_channel)、卷積核的大锌彰瘛(kernel_h, kernel_w)刃唐、步長(stride_h、stride_w)和填充(padding_h, padding_w)界轩。
conv算子的輸出shape 計算方式為: O = (W-K+2P)/S + 1

其中:
O 是輸出的大小 W 是輸入的大小 K 是卷積核的大小 P 是填充 S 是步長
一般來說画饥,卷積操作總的計算復雜度為:

O(n) = N * M * O * O * K * K * C

其中:

N 是批量大小
M 是輸出的通道數
O 是輸出的寬/高
K 是卷積核的寬/高
C 是輸入的通道數
這個公式假設我們在每個位置都進行了卷積操作,即步長為1浊猾。如果步長大于1抖甘,那么計算復雜度會相應減少。

image.png
image.png

復雜度對模型的影響
時間復雜度決定了模型的訓練/預測時間与殃。如果復雜度過高单山,則會導致模型訓練和預測耗費大量時間,既無法快速的驗證想法和改善模型幅疼,也無法做到快速的預測米奸。
空間復雜度決定了模型的參數數量。由于維度詛咒的限制爽篷,模型的參數越多悴晰,訓練模型所需的數據量就越大,而現實生活中的數據集通常不會太大逐工,這會導致模型的訓練更容易過擬合铡溪。
當我們需要裁剪模型時,由于卷積核的空間尺寸通常已經很欣岷啊(3x3)棕硫,而網絡的深度又與模型的表征能力緊密相關,不宜過多削減袒啼,因此模型裁剪通常最先下手的地方就是通道數哈扮。

如果卷積操作中包含了 dilation(擴張),那么計算復雜度的計算方式會有所不同蚓再。在這種情況下滑肉,卷積核的實際大小會變?yōu)?K' = K + (K-1)*(D-1),其中 D 是 dilation 系數摘仅。

因此靶庙,如果考慮 dilation,那么卷積操作的計算復雜度可以表示為:

O(n) = N * M * O * O * K' * K' * C

其中 K' 是考慮了 dilation 的卷積核大小娃属。其他的參數含義與之前相同六荒。

需要注意的是护姆,雖然 dilation 可以增加卷積核的感受野,但并不會增加卷積操作的計算量恬吕,因為 dilation 只是改變了卷積核中非零元素的分布签则,而非零元素的總數仍然是 K*K。

https://blog.csdn.net/john_bh/article/details/105508642

image.png
image.png
image.png

Depthwise Convolution的計算非常簡單铐料,它對輸入feature map的每個通道分別使用一個卷積核渐裂,然后將所有卷積核的輸出再進行拼接得到它的最終輸出
因為卷積操作的輸出通道數等于卷積核的數量,而Depthwise Convolution中對每個通道只使用一個卷積核
深度可分離卷積钠惩,其實只對常規(guī)卷積做了一個很小的改動柒凉,但是帶來的確實參數量的下降,這無疑為網絡的輕量化帶來了好處篓跛。對于來自上一層的多通道特征圖膝捞,首先將其全部拆分為單個通道的特征圖,分別對他們進行單通道卷積愧沟,然后重新堆疊到一起蔬咬。深度可分離卷積主要分為兩個過程,分別為逐通道卷積(Depthwise Convolution)和逐點卷積(Pointwise Convolution)沐寺。

深度可分離卷積的優(yōu)點:

1)減少參數林艘。可以看出運用深度可分離卷積比普通卷積減少了所需要的參數混坞。

2)實現了通道和區(qū)域的分離狐援。重要的是深度可分離卷積將以往普通卷積操作同時考慮通道和區(qū)域改變成,卷積先只考慮區(qū)域究孕,然后再考慮通道啥酱。

深度可分離卷積的缺點:

DW完全是在二維平面內進行。卷積核的數量與上一層的通道數相同厨诸,這種運算對輸入層的每個通道獨立進行卷積運算镶殷,沒有有效的利用不同通道在相同空間位置上的feature信息。

深度可分離卷積(Depthwise Convolution)的計算復雜度比標準的卷積要低微酬。這是因為在深度可分離卷積中绘趋,每個輸入通道都有一個獨立的卷積核,而不是所有輸入通道共享一個卷積核得封。

深度可分離卷積的計算復雜度可以用以下公式表示:

O(n) = N * M * O * O * K * K * C

其中:

N 是批量大小
M 是輸出的通道數
O 是輸出的寬/高
K 是卷積核的寬/高
C 是輸入的通道數
這個公式與標準卷積的計算復雜度公式看起來很相似埋心,但是在深度可分離卷積中指郁,M通常等于C忙上,因為每個輸入通道都有一個對應的輸出通道。

因此闲坎,深度可分離卷積的計算復雜度通常比標準卷積的計算復雜度要低疫粥,這使得它在資源受限的環(huán)境中(如移動設備或嵌入式系統(tǒng))非常有用茬斧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市梗逮,隨后出現的幾起案子项秉,更是在濱河造成了極大的恐慌,老刑警劉巖慷彤,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娄蔼,死亡現場離奇詭異,居然都是意外死亡底哗,警方通過查閱死者的電腦和手機岁诉,發(fā)現死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來跋选,“玉大人涕癣,你說我怎么就攤上這事∏氨辏” “怎么了坠韩?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長炼列。 經常有香客問我只搁,道長,這世上最難降的妖魔是什么唯鸭? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任须蜗,我火速辦了婚禮,結果婚禮上目溉,老公的妹妹穿的比我還像新娘明肮。我一直安慰自己,他們只是感情好缭付,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布柿估。 她就那樣靜靜地躺著,像睡著了一般陷猫。 火紅的嫁衣襯著肌膚如雪秫舌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天绣檬,我揣著相機與錄音足陨,去河邊找鬼。 笑死娇未,一個胖子當著我的面吹牛墨缘,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼镊讼,長吁一口氣:“原來是場噩夢啊……” “哼宽涌!你這毒婦竟也來了?” 一聲冷哼從身側響起蝶棋,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤卸亮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后玩裙,有當地人在樹林里發(fā)現了一具尸體兼贸,經...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年吃溅,在試婚紗的時候發(fā)現自己被綠了寝受。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡罕偎,死狀恐怖很澄,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情颜及,我是刑警寧澤甩苛,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站俏站,受9級特大地震影響讯蒲,放射性物質發(fā)生泄漏。R本人自食惡果不足惜肄扎,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一墨林、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧犯祠,春花似錦旭等、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至痰娱,卻和暖如春弃榨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梨睁。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工鲸睛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坡贺。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓官辈,卻偏偏與公主長得像划咐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子钧萍,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內容