一、卷積核的維數(shù)
1晰搀、二維卷積核(2d)
2D卷積操作如圖1所示五辽,為了解釋的更清楚,分別展示了單通道和多通道的操作外恕。且為了畫圖方便杆逗,假定只有1個(gè)filter,即輸出圖像只有一個(gè)chanel吁讨。
針對(duì)單通道髓迎,輸入圖像的channel為1峦朗,即輸入大小為(1, height, weight)建丧,卷積核尺寸為 (1, k_h, k_w),卷積核在輸入圖像上的的空間維度(即(height, width)兩維)上進(jìn)行進(jìn)行滑窗操作波势,每次滑窗和 (k_h, k_w) 窗口內(nèi)的values進(jìn)行卷積操作(現(xiàn)在都用相關(guān)操作取代)翎朱,得到輸出圖像中的一個(gè)value。
針對(duì)多通道尺铣,假定輸入圖像的channel為3拴曲,即輸入大小為(3, height, weight),卷積核尺寸為 (3, k_h, k_w)凛忿, 卷積核在輸入圖像上的的空間維度(即(height, width)兩維)上進(jìn)行進(jìn)行滑窗操作澈灼,每次滑窗與3個(gè)channels上的 (k_h, k_w) 窗口內(nèi)的所有的values進(jìn)行相關(guān)操作,得到輸出圖像中的一個(gè)value店溢。
2叁熔、三維卷積核(3d)
3D卷積操作如圖2所示,同樣分為單通道和多通道床牧,且只使用一個(gè)filter荣回,輸出一個(gè)channel。
其中戈咳,針對(duì)單通道心软,與2D卷積不同之處在于壕吹,輸入圖像多了一個(gè) depth 維度,故輸入大小為(1, depth, height, width)删铃,卷積核也多了一個(gè)k_d維度耳贬,因此卷積核在輸入3D圖像的空間維度(height和width維)和depth維度上均進(jìn)行滑窗操作,每次滑窗與 (k_d, k_h, k_w) 窗口內(nèi)的values進(jìn)行相關(guān)操作猎唁,得到輸出3D圖像中的一個(gè)value效拭。
針對(duì)多通道,輸入大小為(3, depth, height, width)胖秒,則與2D卷積的操作一樣缎患,每次滑窗與3個(gè)channels上的 (k_d, k_h, k_w) 窗口內(nèi)的所有values進(jìn)行相關(guān)操作,得到輸出3D圖像中的一個(gè)value阎肝。
二挤渔、卷積層尺寸的計(jì)算原理
- 輸入矩陣格式:四個(gè)維度,依次為:樣本數(shù)风题、圖像高度判导、圖像寬度、圖像通道數(shù)
- 輸出矩陣格式:與輸出矩陣的維度順序和含義相同沛硅,但是后三個(gè)維度(圖像高度眼刃、圖像寬度、圖像通道數(shù))的尺寸發(fā)生變化摇肌。
- 權(quán)重矩陣(卷積核)格式:同樣是四個(gè)維度擂红,但維度的含義與上面兩者都不同,為:卷積核高度围小、卷積核寬度昵骤、輸入通道數(shù)、輸出通道數(shù)(卷積核個(gè)數(shù))
- 輸入矩陣肯适、權(quán)重矩陣莲绰、輸出矩陣這三者之間的相互決定關(guān)系
- 卷積核的輸入通道數(shù)(in depth)由輸入矩陣的通道數(shù)所決定盆昙。(紅色標(biāo)注)
- 輸出矩陣的通道數(shù)(out depth)由卷積核的輸出通道數(shù)所決定。(綠色標(biāo)注)
- 輸出矩陣的高度和寬度(height, width)這兩個(gè)維度的尺寸由輸入矩陣、卷積核鲫尊、掃描方式所共同決定逊彭。計(jì)算公式如下然磷。(藍(lán)色標(biāo)注)
- 注:以下計(jì)算演示均省略掉了 Bias 紫谷,嚴(yán)格來說其實(shí)每個(gè)卷積核都還有一個(gè) Bias 參數(shù)。
標(biāo)準(zhǔn)卷積計(jì)算舉例
以 AlexNet 模型的第一個(gè)卷積層為例额港,
- 輸入圖片的尺寸統(tǒng)一為 227 x 227 x 3 (高度 x 寬度 x 顏色通道數(shù))饺窿,
- 本層一共具有96個(gè)卷積核,
- 每個(gè)卷積核的尺寸都是 11 x 11 x 3移斩。
- 已知 stride = 4肚医, padding = 0绢馍,
- 假設(shè) batch_size = 256,
- 則輸出矩陣的高度/寬度為 (227 - 11) / 4 + 1 = 55