卷積神經(jīng)網(wǎng)絡(luò)是如何實(shí)現(xiàn)不變性特征提取的?
來(lái)源:OpenCV學(xué)堂
圖像特征
傳統(tǒng)的圖像特征提?。ㄌ卣鞴こ蹋┲饕腔诟鞣N先驗(yàn)?zāi)P?,通過(guò)提取圖像關(guān)鍵點(diǎn)、生成描述子特征數(shù)據(jù)、進(jìn)行數(shù)據(jù)匹配或者機(jī)器學(xué)習(xí)方法對(duì)特征數(shù)據(jù)二分類(lèi)/多分類(lèi)實(shí)現(xiàn)圖像的對(duì)象檢測(cè)與識(shí)別。卷積神經(jīng)網(wǎng)絡(luò)通過(guò)計(jì)算機(jī)自動(dòng)提取特征(表示工程)實(shí)現(xiàn)圖像特征的提取與抽象,通過(guò)MLP實(shí)現(xiàn)數(shù)據(jù)的回歸與分類(lèi)。二者提取的特征數(shù)據(jù)都具不變性特征。
卷積神經(jīng)網(wǎng)絡(luò)為什么能提取到圖像特征,其關(guān)鍵在于卷積神經(jīng)網(wǎng)絡(luò)有兩種不同類(lèi)型的層:
卷積層(convolution layers/detection layers);
池化層(pooling layers)。
卷積層
卷積層是一系列濾波器集合(filters set)、它的輸出結(jié)果被稱(chēng)為特征映射(feature maps),每個(gè)feature map都一個(gè)filter在圖像上卷積得到的輸出。一般情況下都會(huì)輸出結(jié)果加線性修正,對(duì)卷積層常用就是ReLU
這樣做的好處是:
卷積是一個(gè)線性操作,我們需要一個(gè)非線性組合,否則兩個(gè)卷積卷積層還不如一個(gè)卷積層
兩個(gè)相反方向的邊緣不應(yīng)該被取消
使圖像梯度值更加的稀疏、有助于提高反向傳播的效果
假設(shè)灰度輸入圖像,有兩個(gè)filter,卷積層生成過(guò)程如下所示:
膨脹卷積
通常我們常見(jiàn)的卷積層操作使用的filter都是基于連續(xù)鄰近像素的,除了這種卷積filter之后另外還有一張卷積filter被稱(chēng)為膨脹卷積,其算子的分布更加的稀疏,圖示如下:
膨脹卷積在不增加網(wǎng)絡(luò)總參數(shù)的情況下,提升每個(gè)感受野的尺度大小。
1x1卷積
1x1的卷積首次使用是在Network In Network網(wǎng)絡(luò)模型中,后來(lái)受到越來(lái)越多的關(guān)注,在一般情況下我們的卷積是2D的,1x1的卷積操作是毫無(wú)意義的,但是對(duì)卷積神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),它的卷積層是三維的,所以1x1的卷積操作是有意義的。
卷積層大小計(jì)算
對(duì)于一個(gè)輸入大小WxW的feature map,假設(shè)Filter的大小位FxF,卷積時(shí)填充邊緣P個(gè)像素、卷積步長(zhǎng)(stride)為S則輸出的大小為:
在多數(shù)深度學(xué)習(xí)框架中支持兩種輸出大小計(jì)算:
padding = “same”
意味著使用填充邊緣的方式,輸出大小與輸入的feature map大小保持不變
padding = “valid”
意味著不使用邊緣填充,即P=0此時(shí)輸出大小為:
池化層
在卷積層提取到的特征數(shù)據(jù)不具備空間不變性(尺度與遷移不變性特征),只有通過(guò)了池化層之后才會(huì)具備空間不變性特征。池化層是針對(duì)每個(gè)feature map進(jìn)行池化操作,池化操作的窗口大小可以指定為任意尺寸,主要有兩種類(lèi)型的池化操作:
下采樣池化(均值池化)
最大值池化
下采樣池化
對(duì)每個(gè)窗口大小取均值,然后乘以標(biāo)量beta加上我們?cè)鲆嫫胋的輸出
最大值池化
無(wú)論是選擇哪種池化方式都會(huì)輸出一個(gè)新低分辨率feature map,多數(shù)時(shí)候這個(gè)過(guò)程中會(huì)包含一定的信息損失,所以卷積神經(jīng)網(wǎng)絡(luò)一般通過(guò)擴(kuò)展深度(增加feature map的數(shù)量)來(lái)補(bǔ)償。
重疊窗口與稀疏窗口
在進(jìn)行池化的時(shí)候我們?nèi)绻x擇步長(zhǎng)=1進(jìn)行池化,通過(guò)這樣的池化方式輸出的結(jié)果我們稱(chēng)為重疊池化輸出,它不利于特征的稀疏生成,重疊窗口池化與均值池化都有這樣的缺點(diǎn),所以經(jīng)常采樣的是最大值池化,同時(shí)不會(huì)進(jìn)行窗口重疊,有實(shí)驗(yàn)結(jié)果表明,在卷積層保持相同feature map與參數(shù)的情況下,最大值池化的結(jié)果明顯優(yōu)于重疊池化與均值池化,而且網(wǎng)絡(luò)的深度越深,兩者之間的準(zhǔn)確度差異越大。
總結(jié)
最終卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)池化層操作對(duì)單位像素遷移和亮度影響進(jìn)行了校正,做到了圖像的遷移與亮度不變性的特征提取、而且在池化過(guò)程中通過(guò)不斷的降低圖像分辨率,構(gòu)建了圖像的多尺度特征,所以還具備尺度空間不變性,完成了圖像不變性特征提取工作。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。