由于計算機視覺的大紅大紫,二維卷積的用處范圍最廣。因此本文首先介紹二維卷積,之后再介紹一維卷積與三維卷積的具體流程,并描述其各自的具體應(yīng)用。
1. 二維卷積
• 圖中的輸入的數(shù)據(jù)維度為 14 &TImes; 14 ,過濾器大小為 5 &TImes; 5,二者做卷積,輸出的數(shù)據(jù)維度為 10 &TImes; 10( 14 − 5 + 1 = 10 )。
• 上述內(nèi)容沒有引入channel的概念,也可以說channel的數(shù)量為1。如果將二維卷積中輸入的channel的數(shù)量變?yōu)?,即輸入的數(shù)據(jù)維度變?yōu)椋?4 &TImes; 14 × 3)。由于卷積操作中過濾器的 channel 數(shù)量必須與輸入數(shù)據(jù)的channel數(shù)量相同,過濾器大小也變?yōu)?5 × 5 × 3 。在卷積的過程中,過濾器與數(shù)據(jù)在 channel 方向分別卷積,之后將卷積后的數(shù)值相加,即執(zhí)行 10 × 10 次3個數(shù)值相加的操作,最終輸出的數(shù)據(jù)維度為 10 × 10 。
• 以上都是在過濾器數(shù)量為1的情況下所進(jìn)行的討論。如果將過濾器的數(shù)量增加至16,即16個大小為10 × 10 × 3 的過濾器,最終輸出的數(shù)據(jù)維度就變?yōu)?0 × 10 × 16 ??梢岳斫鉃榉謩e執(zhí)行每個過濾器的卷積操作,最后將每個卷積的輸出在第三個維度(channel 維度)上進(jìn)行拼接。
• 二維卷積常用于計算機視覺、圖像處理領(lǐng)域。
2. 一維卷積
• 圖中的輸入的數(shù)據(jù)維度為8,過濾器的維度為5。與二維卷積類似,卷積后輸出的數(shù)據(jù)維度為8−5+1=48−5+1=4。
• 如果過濾器數(shù)量仍為1,輸入數(shù)據(jù)的channel數(shù)量變?yōu)?6,即輸入數(shù)據(jù)維度為 8 × 16 。這里channel的概念相當(dāng)于自然語言處理中的embedding,而該輸入數(shù)據(jù)代表8個單詞,其中每個單詞的詞向量維度大小為16。在這種情況下,過濾器的維度由5變?yōu)?5 × 16 ,最終輸出的數(shù)據(jù)維度仍為 4 。
• 如果過濾器數(shù)量為 n,那么輸出的數(shù)據(jù)維度就變?yōu)?4 × n。
• 一維卷積常用于序列模型,自然語言處理領(lǐng)域。
3. 三維卷積
這里采用代數(shù)的方式對三維卷積進(jìn)行介紹,具體思想與一維卷積、二維卷積相同。
• 假設(shè)輸入數(shù)據(jù)的大小為 a1 × a2 × a3,channel數(shù)為 c,過濾器大小為
f,即過濾器維度為 f × f × f × c(一般不寫 channel 的維度),過濾器數(shù)量為 n。
• 基于上述情況,三維卷積最終的輸出為 ( a1 − f + 1 ) × ( a2 − f + 1 ) × ( a3 − f + 1 ) × n 。該公式對于一維卷積、二維卷積仍然有效,只有去掉不相干的輸入數(shù)據(jù)維度就行。
• 三維卷積常用于醫(yī)學(xué)領(lǐng)域(CT影響),視頻處理領(lǐng)域(檢測動作及人物行為)。