卷積核是深度學(xué)習(xí)、卷積神經(jīng)網(wǎng)絡(luò)、計(jì)算機(jī)視覺和人工智能中非常重要的一個(gè)術(shù)語。它用來描述一種在輸入數(shù)據(jù)上滑動(dòng)掃描、用于檢測局部特征的小型權(quán)重矩陣。換句話說,卷積核是在回答:模型怎樣用一個(gè)小窗口在圖像或信號(hào)中尋找邊緣、紋理、形狀等局部模式。
如果說卷積層負(fù)責(zé)從輸入中提取局部特征,那么卷積核就是卷積層中真正執(zhí)行“特征探測”的核心工具。它不是人工固定寫死的模板,而是一組可以通過訓(xùn)練自動(dòng)學(xué)習(xí)的參數(shù)。因此,卷積核常用于卷積神經(jīng)網(wǎng)絡(luò)(CNN)、圖像分類、目標(biāo)檢測、圖像分割、醫(yī)學(xué)影像分析、語音處理和時(shí)間序列建模,是理解 CNN 的關(guān)鍵概念之一。
一、基本概念:什么是卷積核
卷積核(Kernel / Filter)是卷積層中的一個(gè)小型權(quán)重矩陣。
在圖像處理中,一個(gè)常見的卷積核大小是:
例如,一個(gè) 3 × 3 卷積核可以寫成:
其中:
? K 表示卷積核
? w?? 表示卷積核中第 i 行、第 j 列的權(quán)重,這些權(quán)重會(huì)在訓(xùn)練過程中被模型學(xué)習(xí)
卷積核會(huì)在輸入圖像或特征圖上滑動(dòng)。每到一個(gè)位置,它都會(huì)覆蓋輸入中的一個(gè)局部區(qū)域,并計(jì)算加權(quán)求和。
假設(shè)輸入局部區(qū)域?yàn)椋?/p>
卷積輸出可以寫為:
其中:
? x?? 表示輸入局部區(qū)域中的數(shù)值
? w?? 表示卷積核對(duì)應(yīng)位置的權(quán)重
? b 表示偏置
? y 表示當(dāng)前位置的輸出響應(yīng)
從通俗角度看,卷積核可以理解為:一個(gè)可學(xué)習(xí)的小型特征探測器。
它在輸入上不斷滑動(dòng),檢查每個(gè)局部區(qū)域是否符合某種特征模式。
二、為什么需要卷積核
卷積核之所以重要,是因?yàn)閳D像、語音和時(shí)間序列中有大量局部結(jié)構(gòu)。
以圖像為例,單個(gè)像素通常意義有限,真正有意義的是多個(gè)像素組合形成的局部模式,例如:
? 邊緣
? 角點(diǎn)
? 紋理
? 色塊
? 輪廓
? 物體局部部件
如果使用普通全連接層處理圖像,每個(gè)神經(jīng)元都要連接所有像素,參數(shù)量會(huì)非常大,也難以充分利用圖像的空間局部結(jié)構(gòu)。
卷積核采用另一種思路:先從小范圍局部區(qū)域中提取特征,再把同一個(gè)特征探測器應(yīng)用到整張圖像。
例如,一個(gè)檢測“垂直邊緣”的卷積核,不必只在圖像左上角工作,它可以在整張圖像上滑動(dòng),檢查不同位置是否存在類似邊緣。
從通俗角度看:
? 全連接層:一次性看全部輸入
? 卷積核:用小窗口到處掃描局部特征
這種方式帶來兩個(gè)好處:
? 保留圖像局部結(jié)構(gòu)
? 大幅減少參數(shù)數(shù)量
因此,卷積核是卷積神經(jīng)網(wǎng)絡(luò)能夠高效處理圖像數(shù)據(jù)的重要原因。
三、卷積核的核心計(jì)算過程
卷積核的核心計(jì)算過程可以概括為:
覆蓋局部區(qū)域 → 對(duì)應(yīng)位置相乘 → 求和 → 得到一個(gè)輸出值
假設(shè)一個(gè)輸入?yún)^(qū)域?yàn)椋?/p>
一個(gè)卷積核為:
那么該位置的卷積結(jié)果為:
計(jì)算得到:
這個(gè)卷積核左側(cè)權(quán)重為正,右側(cè)權(quán)重為負(fù),因此它對(duì)左右方向的變化比較敏感,常可用于理解垂直邊緣檢測。
從通俗角度看:卷積核的權(quán)重決定它關(guān)注什么樣的局部模式。
如果局部區(qū)域與卷積核關(guān)注的模式相似,輸出響應(yīng)就明顯;
如果不相似,輸出響應(yīng)就較弱。
卷積核在輸入上滑動(dòng)后,會(huì)在每個(gè)位置產(chǎn)生一個(gè)響應(yīng)值,所有響應(yīng)值共同組成一張?zhí)卣鲌D。
可以表示為:
輸入圖像 → 卷積核滑動(dòng)計(jì)算 → 特征圖
四、卷積核為什么像“特征探測器”
卷積核常被理解為“特征探測器”,是因?yàn)椴煌矸e核可以對(duì)不同模式產(chǎn)生響應(yīng)。
例如,在較淺的卷積層中,某些卷積核可能學(xué)習(xí)到:
? 水平邊緣
? 垂直邊緣
? 斜向邊緣
? 明暗變化
? 簡單紋理
在更深的卷積層中,卷積核看到的已經(jīng)不是原始像素,而是上一層輸出的特征圖。此時(shí)它可能檢測更復(fù)雜的模式,例如:
? 局部形狀
? 紋理組合
? 眼睛輪廓
? 車輪結(jié)構(gòu)
? 動(dòng)物毛發(fā)模式
從通俗角度看:
? 淺層卷積核:檢測簡單視覺特征
? 中層卷積核:檢測局部結(jié)構(gòu)
? 深層卷積核:檢測高級(jí)語義部件
這說明卷積核不是固定只能檢測邊緣。
在訓(xùn)練過程中,模型會(huì)根據(jù)任務(wù)自動(dòng)調(diào)整卷積核權(quán)重,使它們逐漸學(xué)會(huì)對(duì)任務(wù)有用的局部模式。
例如,在貓狗分類任務(wù)中,有些卷積核可能逐漸對(duì)毛發(fā)紋理敏感,有些卷積核可能對(duì)眼睛、耳朵、鼻子等局部結(jié)構(gòu)敏感。
因此,卷積核可以理解為:卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)出來的一組局部模式識(shí)別器。
五、卷積核大小:1×1、3×3、5×5
卷積核有不同大小,不同大小代表不同的局部觀察范圍。
1、1×1 卷積核
1×1 卷積核看起來很小,但非常有用。
對(duì)于單通道輸入,1×1 卷積只作用于當(dāng)前位置。
對(duì)于多通道輸入,1×1 卷積可以在通道維度上進(jìn)行組合。
例如,輸入有 C 個(gè)通道,1×1 卷積核會(huì)把同一空間位置上的 C 個(gè)通道加權(quán)組合成新的輸出通道。
從通俗角度看:1×1 卷積主要用于通道混合和通道變換。
它常用于:
? 改變通道數(shù)量
? 降低計(jì)算量
? 融合不同通道特征
? 構(gòu)建輕量化網(wǎng)絡(luò)結(jié)構(gòu)
2、3×3 卷積核
3×3 卷積核是 CNN 中最常見的卷積核大小之一。
它每次觀察一個(gè) 3 × 3 的局部區(qū)域,既能捕捉局部模式,又不會(huì)引入太多參數(shù)。
從通俗角度看:3×3 卷積核是在局部表達(dá)能力和計(jì)算效率之間較好的折中。
很多經(jīng)典 CNN 會(huì)大量堆疊 3×3 卷積。多個(gè) 3×3 卷積層疊加后,可以逐漸擴(kuò)大感受野,同時(shí)保持較好的非線性表達(dá)能力。
3、5×5 或更大卷積核
5×5、7×7 等較大卷積核可以一次觀察更大范圍。
它們的優(yōu)點(diǎn)是感受野更大,但參數(shù)量和計(jì)算量也更高。
例如,單通道情況下:
5×5 卷積核的參數(shù)數(shù)量明顯更多。
從通俗角度看:卷積核越大,一次看得越廣,但計(jì)算成本也越高。
現(xiàn)代網(wǎng)絡(luò)中,常通過堆疊多個(gè)小卷積核、使用空洞卷積或注意力機(jī)制等方式擴(kuò)大信息范圍。
六、卷積核與通道數(shù)
在實(shí)際 CNN 中,輸入往往有多個(gè)通道。
例如,一張 RGB 圖像有 3 個(gè)通道:
? 紅色通道 R
? 綠色通道 G
? 藍(lán)色通道 B
如果輸入形狀為:
其中:
? H 表示高度
? W 表示寬度
? C 表示輸入通道數(shù)
那么一個(gè)卷積核通常不僅有空間大小,還會(huì)覆蓋所有輸入通道。
例如,對(duì) RGB 圖像使用一個(gè) 3×3 卷積核,它的實(shí)際權(quán)重形狀可以理解為:
其中:
? 第一個(gè) 3×3 對(duì)應(yīng)紅色通道
? 第二個(gè) 3×3 對(duì)應(yīng)綠色通道
? 第三個(gè) 3×3 對(duì)應(yīng)藍(lán)色通道
一個(gè)卷積核會(huì)把所有輸入通道中的局部信息綜合起來,輸出一個(gè)特征圖。
如果卷積層有 16 個(gè)卷積核,就會(huì)輸出 16 個(gè)特征圖:
從通俗角度看:
? 一個(gè)卷積核 → 輸出一個(gè)通道
? 多個(gè)卷積核 → 輸出多個(gè)通道
因此,卷積層中的 out_channels 實(shí)際上就是卷積核的數(shù)量。
例如,在 PyTorch 中:
nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3)表示:
? 輸入有 3 個(gè)通道
? 使用 16 個(gè)卷積核
? 每個(gè)卷積核大小為 3×3,并覆蓋 3 個(gè)輸入通道
? 輸出有 16 個(gè)通道
七、卷積核與步幅、填充、感受野
卷積核的效果還與步幅、填充和感受野有關(guān)。
1、步幅
步幅(Stride)表示卷積核每次滑動(dòng)的距離。
如果 stride = 1,卷積核每次移動(dòng) 1 個(gè)位置;
如果 stride = 2,卷積核每次移動(dòng) 2 個(gè)位置。
從通俗角度看:
? stride 小:掃描更細(xì),輸出更大
? stride 大:掃描更稀,輸出更小
較大的步幅可以降低輸出尺寸和計(jì)算量,但也可能丟失細(xì)節(jié)。
2、填充
填充(Padding)是在輸入邊緣補(bǔ)像素,常見是補(bǔ) 0。
填充的作用是:
? 讓卷積核能處理邊緣區(qū)域
? 控制輸出特征圖尺寸
? 避免空間尺寸過快縮小
例如,3×3 卷積核如果使用 padding=1、stride=1,通常可以保持輸入和輸出的高度寬度相同。
3、感受野
感受野(Receptive Field)表示輸出特征中某個(gè)位置能“看到”的輸入范圍。
單個(gè) 3×3 卷積核一次只能看到 3×3 區(qū)域。
但多個(gè)卷積層堆疊后,深層特征對(duì)應(yīng)的感受野會(huì)逐漸變大。
從通俗角度看:淺層卷積核看局部小范圍,深層卷積核通過層層堆疊能間接看到更大范圍。
這使 CNN 可以從局部特征逐步形成全局理解。
八、卷積核的優(yōu)勢、局限與使用注意事項(xiàng)
1、卷積核的主要優(yōu)勢
卷積核最大的優(yōu)勢是能夠高效提取局部特征。
它通過小窗口在輸入上滑動(dòng),專門捕捉局部模式,非常適合圖像、語音頻譜和時(shí)間序列等具有局部結(jié)構(gòu)的數(shù)據(jù)。
其次,卷積核使用參數(shù)共享。
同一個(gè)卷積核會(huì)在輸入的不同位置重復(fù)使用,這大幅減少了參數(shù)量。
再次,卷積核具有一定平移等變性。
同一個(gè)特征出現(xiàn)在不同位置,卷積核都能檢測到,只是輸出響應(yīng)位置會(huì)發(fā)生相應(yīng)移動(dòng)。
從通俗角度看,卷積核的優(yōu)勢在于:它用少量可學(xué)習(xí)參數(shù),在整個(gè)輸入上尋找同一種局部模式。
2、卷積核的主要局限
卷積核也有局限。
首先,普通卷積核一次只關(guān)注局部區(qū)域。
如果任務(wù)需要建模遠(yuǎn)距離依賴,單個(gè)小卷積核不夠,需要堆疊多層、擴(kuò)大卷積核、使用空洞卷積,或結(jié)合注意力機(jī)制。
其次,卷積核依賴空間或局部結(jié)構(gòu)假設(shè)。
如果輸入特征之間沒有明確相鄰關(guān)系,卷積可能并不合適。
再次,卷積核對(duì)旋轉(zhuǎn)、尺度變化并不天然完全不變。
同一個(gè)物體如果旋轉(zhuǎn)、縮放或發(fā)生形變,普通卷積核未必能自動(dòng)完全適應(yīng),需要數(shù)據(jù)增強(qiáng)、池化、特殊結(jié)構(gòu)或更多訓(xùn)練數(shù)據(jù)。
此外,卷積核學(xué)到的特征不一定容易解釋。
淺層卷積核可能比較直觀,深層卷積核往往對(duì)應(yīng)復(fù)雜語義組合,難以直接命名。
3、使用卷積核時(shí)需要注意的問題
使用卷積核時(shí),需要注意:
? 卷積核大小影響局部觀察范圍
? 卷積核數(shù)量決定輸出通道數(shù)
? 輸入通道數(shù)決定每個(gè)卷積核的深度
? 步幅影響輸出尺寸和下采樣程度
? 填充影響邊緣信息和輸出尺寸
? 多層小卷積核可以逐漸擴(kuò)大感受野
? 圖像任務(wù)中常用 3×3 卷積核作為基礎(chǔ)選擇
? 1×1 卷積核常用于通道變換和特征融合
從實(shí)踐角度看,卷積核不是孤立存在的。它通常與激活函數(shù)、池化層、歸一化層和殘差連接共同構(gòu)成完整 CNN 模塊。
九、Python 示例
下面給出幾個(gè)簡單示例,用來幫助理解卷積核的基本使用。
示例 1:用 NumPy 手動(dòng)計(jì)算一個(gè)卷積響應(yīng)
這個(gè)例子展示了卷積核的最基本計(jì)算方式:
局部區(qū)域 × 卷積核 → 求和 → 輸出響應(yīng)
其中,卷積核決定了模型關(guān)注怎樣的局部模式。
示例 2:使用 PyTorch 創(chuàng)建卷積核
輸出中的卷積核權(quán)重形狀通常為:
16 × 3 × 3 × 3
含義是:
? 16 表示有 16 個(gè)卷積核
? 3 表示輸入通道數(shù)
? 3 × 3 表示每個(gè)卷積核的空間大小
也就是說,每個(gè)卷積核覆蓋 3 個(gè)輸入通道,并輸出一個(gè)特征圖。
示例 3:卷積核處理一批圖像
這里:
? 輸入形狀為 8 × 3 × 32 × 32
? 輸出形狀為 8 × 16 × 32 × 32
含義是:8 張圖像,每張圖像經(jīng)過 16 個(gè)卷積核,得到 16 張?zhí)卣鲌D。
因?yàn)樵O(shè)置了 padding=1、stride=1,所以空間尺寸仍然保持 32×32。
示例 4:不同卷積核大小的比較
這個(gè)例子中,由于設(shè)置了合適的 padding,三個(gè)卷積層的輸出空間尺寸都保持為 32×32。
但它們的局部觀察范圍不同:
? 1×1 卷積主要混合通道信息
? 3×3 卷積觀察較小局部區(qū)域
? 5×5 卷積觀察更大局部區(qū)域
示例 5:卷積核 + ReLU 組成特征提取模塊
這個(gè)模塊可以理解為:
原始圖像 → 初級(jí)卷積核提取特征 → ReLU → 更深卷積核提取更復(fù)雜特征
輸出形狀為:8 × 32 × 32 × 32,表示每張圖像被轉(zhuǎn)換成 32 個(gè)特征通道。
小結(jié)
卷積核是卷積層中的核心權(quán)重矩陣,用來在輸入圖像或特征圖上滑動(dòng)掃描并提取局部特征。它通過對(duì)應(yīng)位置相乘求和,判斷局部區(qū)域是否具有某種模式。一個(gè)卷積核產(chǎn)生一張?zhí)卣鲌D,多個(gè)卷積核產(chǎn)生多個(gè)輸出通道。對(duì)初學(xué)者而言,可以把卷積核理解為:卷積神經(jīng)網(wǎng)絡(luò)中可學(xué)習(xí)的小型特征探測器,它在整張輸入上反復(fù)尋找邊緣、紋理、形狀等局部模式。
![]()
“點(diǎn)贊有美意,贊賞是鼓勵(lì)”
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.