1. 程式人生 > >吳恩達《深度學習》第四門課(1)卷積神經網絡

吳恩達《深度學習》第四門課(1)卷積神經網絡

圖像分割 1.5 共享 信號處理 soft 沒有 樣本 填充 單元

1.1計算機視覺

(1)計算機視覺的應用包括圖像分類、目標檢測、圖像分割、風格遷移等,下圖展示了風格遷移案例:

技術分享圖片

(2)圖像的特征量非常之大,比如一個3通道的1000*1000的照片,其特征為3*1000*1000達到300萬,如果第一個隱藏層有1000個單元那麽W[1]有20億個參數,計算量不僅大,而且由於圖像樣本相對於特征實在是太少,導致很容易過擬合,所以需要其他的方式來連接,即卷積。

1.2邊緣檢測示例

(1)卷積運算是輸入圖像與過濾器(也叫核)進行的運算,得到輸出圖像。卷積核與圖像對應的位置相乘求和得到一個新值,如下圖所示:

技術分享圖片

輸出中第一個綠色框的值為:

技術分享圖片

(2)每個不同的核可以檢測到不同的邊緣特性,如下面的核就可以檢測到圖像的垂直特性,即輸入圖像中的邊緣會在輸出圖像中用白色顯示出來,非邊緣部分顯示為黑色或灰色。同理還有其他水平邊緣檢測等各種核(過濾器)。

技術分享圖片

1.3更多邊緣檢測的內容

(1)除了上面提到的卷積核,還有其他許多卷積核,把上面3*3的卷積核看成9個參數,然後不是通過人工的確定,而是通過神經網絡來學習這些參數,這就是卷積神經網絡。

1.4Padding

(1)邊緣不填充會有兩個缺點:第一是隨著不斷卷積,圖像會變得越來越小,有時你可不想讓它變小;第二是最角落的點只被使用了一次,這意味著在下傳的過程中丟掉了圖像邊緣位置的信息。如下圖所示(角落的綠色點只被計算了一次,中間紅色點可以被計算多次):

技術分享圖片

(2)Padding經常可以設置成為兩個參數:第一個是Valid,即不做填充;第二個是Same,即輸出尺寸與輸入尺寸相等。

(3)在步長為1是有公式:n+2p-f+1為輸出的尺寸。其中n是輸入的尺寸(比如說寬),f是卷積核的大小(比如3),p是每一邊額外添加的列數(如添加一列就為1)。所以根據這個式子很容易計算出用Same參數時,p=(f-1)/2,註意此處前提都是步長為1。

1.5卷積步長

(1)輸入與輸出的尺寸關系如下,註意當結果不是整數時是向下取整。

技術分享圖片

(2)在深度學習的卷積沒有必要像數學或者信號處理教材中,先將卷積核順時針旋轉90°,然後在水平翻轉,最後再進行與上面相同的卷積運算。深度學習直接忽略了那些旋轉翻轉的步驟。影響不大。

1.6三維卷積

(1)三維的卷積方法如下圖所示,卷積核的通道數與輸入圖像的通道數相同,輸出圖像的通道數為所使用的卷積核的個數,至於高和寬還是按照上面提到的公式計算:

技術分享圖片

1.7單層卷積網絡

(1)每一個卷積核的輸出對應一個實數b(偏差),然後在進行激活函數的非線性轉換得到輸出,如下圖所示:

技術分享圖片

(2)參數個數的計算:比如10個卷積核3*3*3,b的個數跟卷積核個數相同,所以總的參數為(3*3*3+1)*10=280,不管輸入尺寸多大,參數個數始終保持不變,而在全連接網絡中參數個數是會隨著輸入不同而不同的。

(3)一些符號如下所示,習慣上w用m*nH[l]*nW[l]*nC[l]表示,b用1*1*1*nC[l]

技術分享圖片

1.8簡答的卷積網絡示例

(1)案例圖如下:最核心的就是要會計算輸出尺寸(公式((n+2p-f)/s)+1,向下取整)。

技術分享圖片

1.9池化層

(1)池化層中沒有需要學習的參數,所以通常不把池化層當做獨立的一層來看。

(2)池化層是一般不會設置padding,即一般padding為0。

(3)fitter為2,stride為2是最常見的參數設置,尺寸圖像縮小為原來的一半。

(4)卷積時用的尺寸計算公式同樣適用於池化層,如下圖所示:

技術分享圖片

(5)最大池化層比平均池化層更為常用。

1.10卷積神經網絡示例

(1)下面是一個0-9數組分類的網絡,包括了卷積層、池化層、全連接層:

技術分享圖片

(2)一般而言,不斷卷積之後,圖像的高度和寬度會變小,通道數(深度)會增加。

(3)在神經網絡中,另一個常見的模式就是一個或多個卷積層之後跟隨一個池化層,然後一個或多個卷積層之後跟隨一個池化層,然後跟幾個全連接層,最後是一個softmax.

(4)下面是針對上面網絡的一些輸出和參數的個數,其中參數一欄最後三行的值應該是48000+120、10080+84、840+10

技術分享圖片

1.11為什麽使用卷積

(1)卷積網絡的參數遠少於全連接的原因主要有兩點:第一是參數共享,如左上角用一個垂直的卷積核檢測,那麽這個卷積核也同樣適用於圖像的其他區域;第二是稀疏連接,如某個輸出值只與特定的幾個值相連接(如九個值)。

(2)卷積神經網絡善於捕捉偏移不變形,例如把圖像往右平移幾個像素,對於網絡而言沒什麽影響。

吳恩達《深度學習》第四門課(1)卷積神經網絡