《計算機視覺》課件-第7章 卷積神經網絡的基本概念_第1頁
《計算機視覺》課件-第7章 卷積神經網絡的基本概念_第2頁
《計算機視覺》課件-第7章 卷積神經網絡的基本概念_第3頁
《計算機視覺》課件-第7章 卷積神經網絡的基本概念_第4頁
《計算機視覺》課件-第7章 卷積神經網絡的基本概念_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第7章卷積神經網絡7目錄7.1卷積層7.27.3池化層激活層7.4全連接層計算機視覺

7.57.6卷積神經網絡示例卷積的有效性計算機視覺

20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用于局部敏感和方向選擇的神經元時,發現其獨特的網絡結構可以有效地降低反饋神經網絡的復雜性,提出了卷積神經網絡卷積神經網絡模仿人腦神經元對外界事物的認知過程,通過對神經網絡模型的連續訓練,模型就可以像人腦一樣識別特定的事物。計算機視覺

淺層卷積層得到底層特征,如物體邊緣特征;中層卷積層輸出中層特征,如物體輪廓形狀;深層卷積層則輸出高層特征,如物體整體特征。卷積神經網絡包括:卷積層(ConvolutionalLayer)、池化層(PoolingLayer)、全連接層(FullyConnectedLayer)計算機視覺

7.1卷積層(ConvolutionalLayer)卷積層是卷積神經網絡的核心之一,其主要作用是從原始數據中提取出特征。對圖像的每一個像素點,計算它的鄰域像素和卷積核的對應元素的乘積,然后加起來,作為該像素位置的值。卷積計算過程如下圖,用一個3×3的卷積核在大小為5×5的圖像上以步長為1進行滑動,重復相同的點積計算操作,得到3×3的結果,該結果稱為卷積特征(ConvolvedFeature)。卷積核是一個核矩陣W,W中各個元素的值正是我們進行模型訓練時要訓練的參數,即CNN的主要任務就是學習出卷積核。計算機視覺

7.1.1Padding(填充)為了構建深度神經網絡,你需要學會使用的一個基本的卷積操作就是padding,讓我們來看看它是如何工作的。兩個缺點:一是輸出縮小,另一個問題是圖像邊緣的大部分信息都丟失。第一個缺點是每次做卷積操作,你的圖像就會縮小,從6×6縮小到4×4,你可能做了幾次之后,你的圖像就會變得很小了,可能會縮小到只有1×1的大小。你可不想讓你的圖像在每次識別邊緣或其他特征時都縮小,這就是第一個缺點。第二個缺點是,如果你注意角落邊緣的像素,這個像素點(綠色陰影標記)只被一個輸出所觸碰或者使用,因為它位于這個3×3的區域的一角。但如果是在中間的像素點,比如這個(紅色方框標記),就會有許多3×3的區域與之重疊。所以那些在角落或者邊緣區域的像素點在輸出中采用較少,意味著你丟掉了圖像邊緣位置的許多信息。*=6*63*34*4*計算機視覺

7.1.1Padding(填充)為了解決這些問題,可以在卷積操作之前填充輸入的圖像,即在原圖像邊緣上進行行列填充,一般也叫作補零(因為大多數時候添加的元素都是0),如下圖所示。這樣就可以使得卷積運算之后圖像的大小不會發生改變,這種在邊緣增加像素點的操作就叫做填充(padding)。填充(padding)計算機視覺

7.1.1Padding(填充)在上圖中,p=1,也就是在圖像周圍都填充了一個0,圖像大小由原來的4x4變成

6x6。如果采用3x3的卷積核,以步長為1對原圖像進行卷積操作,則卷積之后的特征圖大小為2x2。將同樣的卷積操作應用于填充之后的圖像,所得卷積特征圖大小為4x4。也就是說,經過填充之后,卷積特征圖變小、邊緣信息丟失等缺陷得到了改善。

填充值p可以任意取值,也可以選擇填充2個。對于填充多少個像素值,通常有兩種選擇,分別為Valid卷積和Same卷積,采用Valid卷積意味著No

padding,也就是一般的卷積。若采用Same卷積,則卷積之后輸出大小與輸入大小是一樣的。計算機視覺

7.1.2卷積步長(Stridedconvolutions)步長為2的卷積圖卷積運算后得到的特征圖的尺寸可用下面公式計算。

其中,fh、fw表示輸出特征圖的高和寬,inputh、inputw表示輸入圖像的高和寬,kh、kw表示卷積核的高和寬,p表示填充大小,s表示步長。圖7-6中,inputh=7,p=0,kh=3,s=2,可得fh=3,fw的計算與此類似。計算機視覺

-為什么要使用卷積?1、通過卷積可以提取特征通過第一個卷積核計算后的feature_map是一個三維數據,在第三列的絕對值最大,說明原始圖片上對應的地方有一條垂直方向的特征,即像素數值變化較大;通過第二個卷積核計算后,第二行的數值絕對值最大,說明原始圖片上對應的地方有一條水平方向的特征。2、卷積層的兩個主要優勢在于參數共享和稀疏連接一是參數共享。觀察發現,特征檢測如垂直邊緣檢測如果適用于圖像的某個區域,那么它也可能適用于圖像的其他區域。即:圖像的左上角區域以及旁邊的各個區域都可以使用這個3*3的過濾器,你不需要添加其他特征檢測器*=*=計算機視覺

二是使用稀疏連接。稀疏連接:輸出只依賴輸入單元格,與其它像素無關如圖:這個0是通過3×3的卷積計算得到的,它只依賴于這個3×3的輸入的單元格,僅與36個輸入特征中9個相連接。而且其它像素值都不會對輸出產生任影響,這就是稀疏連接的概念。*=計算機視覺

7.2池化層(PoolingLayer)卷積層完成輸入圖像的特征提取后,輸出特征圖像的維數仍然很高,這時可以使用池化層降低輸出圖像的維度,提高計算速度,同時提高所提取特征的魯棒性。池化層主要是通過降采樣的方式進行,降維后的圖像數據依然保留原始特征信息不丟失。池化層通常分為兩種類型:最大池化和平均池化,以圖7-7為例說明這兩種池化的方法。假設輸入數據為4×4大小的圖像,池化窗口大小f=2,池化步長s=2,將輸入圖像劃分為四個子圖像,最大池化就是將每個子圖像中的最大值提取出來,形成一個新的圖像,如圖(a)所示;平均池化就是取每個子圖像中的所有元素的平均值,形成一個新的圖像,如圖(b)所示。池化的參數包括池化窗口大小f和步長s,常用的參數值為f=2,s=2,其效果相當于把特征圖的高度和寬度縮減一半,池化過程中,沒有需要學習的參數,只是計算神經網絡某一層的靜態屬性。計算機視覺

7.3激活層激活函數是卷積神經網絡必不可少的重要模塊之一。如果在一個卷積神經網絡模型中沒有激活函數,而只有卷積層和池化層等,這會導致多層網絡結構的疊加就是幾個線性層的簡單疊加,只能起到線性映射的作用,而不能進行復雜關系的映射,這對于多層網絡的結果毫無意義。激活函數又稱非線性映射函數,它能將數據輸入前的線性關系轉化為輸入輸出之間的非線性函數映射關系,使卷積神經網絡不僅能擬合線性關系,還能用于解決比較復雜的非線性問題,這使得卷積神經網絡的多重網絡結構更加實用。激活函數有很多種,常見的激活函數有sigmoid、tanh、ReLu、LeakyReLu,激活函數特點在神經網絡基礎一章已介紹,這里不再贅述。計算機視覺

7.4全連接層經過多個卷積層和池化層后,圖像的分辨率和特征維數降低到一個合適的水平,全連接層是將先前學習的特征映射到樣本的標簽空間。對于二維圖像,將最后一個池化層輸出的二維向量轉化為一維向量,然后輸入分類器完成分類或回歸操作,如下圖所示。計算機視覺

7.5卷積網絡示例卷積神經網絡示意圖有一幅32×32×3的RGB圖像,圖像中含有某個數字,比如5,完成手寫體數字識別,即識別它是0~9中的哪一個數字?,F構建一個卷積神經網絡來實現以上功能,如下圖所示。計算機視覺

神經網絡構建過程第一步,構建第一層卷積層和池化層,稱作layer1。第一層卷積層,使用卷積核大小為5×5,步長為1,p=0,卷積核通道個數為6,那么輸出特征圖的大小為28×28×6,將這層標記為Conv1。采用ReLu非線性函數作為激活函數。接下來構建池化層,采用最大池化,這里f=2,s=2,池化后的特征圖高度和寬度都會減少一半。28×28變成了14×14,通道數量不變,最終輸出結果為14×14×6,將該輸出標記為Pool1。第二步,構建第二層卷積層和池化層,稱作layer2。第二個卷積層,使用卷積核大小為5×5,步長為1,卷積核通道個數為16,輸出特征圖為10×10×16的矩陣,把它標記為Conv2。接下來構建最大池化層,f=2,s=2,池化后的特征圖高度和寬度減少一半,最后輸出結果的大小為5×5×16,將它標記為Pool2。計算機視覺

第三步,構建全連接層。首先,用120個5×5×16的卷積核卷積Pool2的輸出,形成全連接層FC3,得到120個1×1×16的特征圖,將16個通道的值對應求和,最終獲得1×120的一維向量。

然后在FC3之后再添加一個全連接層,記為FC4,通過84個1×1的卷積核卷積FC3的輸出,得到1×84的一維向量。最后,把1×84的一維向量輸入softmax分類函數,在手寫數字識別中需識別0~9這十個數字,這時softmax就會有十個輸出。計算機視覺

上面構建的神經網絡各層的輸入大小、輸出大小、參數數量是多少呢?輸入為32×32×3的圖像,共3072維。使用5×5×6的卷積核進行卷積,輸出特征圖大小為28×28×6,共4704維,在此過程中,參數量為5×5×6,再加上6個偏差參數,共計156個。經過步長為2的池化層后,輸出為14×14×6,共1176維。網絡中其它層的輸入、輸出大小以及參數數量按以上方法計算,最后采用softmax進行分類,具體如下表所示。

特征圖形狀特征圖維度參數數量Input(32,32,3)30720Conv1(f=5,s=1)(28,28,6)4704156Pool1(14,14,6)11760Conv2(f=5,s=1)(10,10,16)1600416Pool2(5,5,16)4000FC3(120,1)12048001FC4(84,1)8410081softmax(10,1)10841從上表可以看出,池化層沒有參數,卷積層的參數相對較少,大量參數都在神經網絡的全連接層。隨著神經網絡的加深,輸出特征圖應逐漸變小,如果特征圖維度下降太快,會影響網絡性能,示例中第一次卷積之后的特征圖是4704維,然后減少到1600維,慢慢減少到84維。計算機視覺

7.6卷積的有效性7.6.1局部感受野感受野(receptive

field)是卷積神經網絡的基礎,可認為是對生物視覺中“局部感受野”的模擬。CNN感受野是指卷積神經網絡每一層輸出的特征圖上的像素點在原始圖像上映射的區域大小。可將其理解為CNN特征圖上的某個點在輸入空間所受影響的區域。如圖(a)所示,輸入圖像為5×5,卷積核大小5×5,所得1×1的特征圖對應的感受野即為5×5的輸入圖像。圖(b)采用兩層連續的3×3卷積,其得到的1×1特征圖對應的感受野仍為5×5的輸入圖像。可見,二者在輸入圖像上的感受野是一樣的。但是,(b)中所用兩層3×3卷積的參數要少于(a)中一層5×5卷積的參數。(a)一層5×5卷積的感受野(b)兩層3×3卷積的感受野計算機視覺

7.6.2卷積神經網絡參數少在全連接神經網絡中,每相鄰兩層之間的每個神經元之間都有邊相連。當輸入層的特征維度很高時,全連接網絡需要訓練的參數會增加很多,計算速度會變得很慢,例如一幅26×26的手寫數字灰度圖像,輸入的神經元就有676個,如圖所示。計算機視覺

7.6.3卷積神經網絡具有平移不變性圖像平移后,相應特征圖上的表達也隨之平移。卷積和最大池化層保證了卷積神經網絡的平移不變性。假設在下圖中,輸入圖像的右下角有一個人的影

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論