4.卷積神經網絡-第一週 卷積神經網絡

Core:學習搭建卷積神經網絡並將其應用於計算機視覺識別。
1.1 計算機視覺
產生了新的產品和應用。
不只能處理小圖,而且能處理大圖,爲此需要進行卷積運算。
1.2 邊緣檢測示例
卷積運算是卷積神經網絡最基本的組成部分。
這裏寫圖片描述
如何在圖像中檢測這些邊緣?
kernel = filter
vertical edge detection
這裏寫圖片描述
數學中,*是卷積。但在編程語言中,用函數來表示卷積。如tf.nn.conv2d來實現卷積運算。
由於圖片太小,所以檢測到的高亮區比較寬。
1.3 更多邊緣檢測內容
區分正邊和負邊。即由亮到暗,由暗到亮。也就是邊緣的過渡。
這裏寫圖片描述
通過反向傳播學習這9個w參數,可以得到不只可以檢測水平和豎直方向的filter,檢測的方向也就更加多元化,較手工設定的filter而言,檢測邊緣的效果也越好了。
通過使用不同的濾波器,可以找出水平和垂直的邊緣。
sobel濾波器的優點:
增加了中間一行元素的權重,使結果的robust更好。
1.4 Padding
不用padding的缺點:
每次做卷積操作,圖像會縮小。
落在邊緣的像素在輸出中採用較少,丟掉圖像邊緣的許多信息。
這裏寫圖片描述
filter往往是奇數的原因:
若filter是偶數,則只能使用一些不對稱填充,只有filter是奇數,same卷積纔能有自然的填充。
filter是奇數的話,可以有一箇中心點,便於指出過濾器的位置。
1.5 卷積步長
如果設置stride爲1,前後兩次卷積部分存在重疊。如果設置pad=(kernel_size-1)/2,則運算後,寬度和高度不變。
這裏寫圖片描述
如果商不是一個整數怎麼辦?
答:向下取整。
這裏寫圖片描述
這裏寫圖片描述
互相關(cross-correlation)和卷積(convolution)的技術性建議:
根據教材的不同(數學和信號):
數學教科書中是這樣的:
卷積的定義是做元素乘積求和之前,首先要做的是把filter沿水平和垂直軸翻轉。然後使用這個翻轉後的矩陣。
這裏寫圖片描述
從技術上講,前面視頻中所做的操作有時被稱爲互相關而不是卷積。但在深度學習文獻中,按照慣例,叫做卷積操作。
總結一下,按照機器學習的慣例,通常不進行翻轉操作。從技術上來說,可能叫互相關更好,但是大部分文獻都叫做卷積運算(不需要用這些翻轉)。
以上所有的是關於矩陣(二維圖像)的卷積。
1.6 卷積中「卷」的體現之處
如何對立體進行卷積?使卷積變得更加強大。在三維立體上做卷積。
這裏寫圖片描述
圖片和filter的維度相同(3維),但最終的得數不是三維的(4*4),而是二維輸出。
這裏寫圖片描述
檢測垂直邊界的過濾器,但只對紅色通道有用。
這裏寫圖片描述
檢測任意顏色通道的邊界
這裏寫圖片描述
參數不同,可以得到不同的特徵檢測器。
爲檢測各種邊緣,可同時用多個過濾器,把輸出堆疊,可輸出立方體。
這裏寫圖片描述
深度=通道(chanel)
1.7 單層卷積網絡
如何構建卷積神經網絡的卷積層?某一卷積層的工作原理。
這裏寫圖片描述
神經網絡中的一層。
這裏寫圖片描述
圖中有兩個濾波器,就是有兩個特徵。
參數與輸入圖像大小無關。280
這裏寫圖片描述
偏差:
每個過濾器都有一個偏差參數,它是一個實數。偏差在代碼中表示爲一個1*1*1*nc[l]的四維向量或四維張量。
這裏寫圖片描述
1.8 簡單卷積網絡示例
注意下圖中卷積層的維度。爲圖片提取的特徵在最後出現7*7*40=1960。可平滑或展開成1960個單元,平滑處理後,輸出一個向量,後接logistic還是softmax迴歸單元,視任務而定。
這裏寫圖片描述
卷積網絡中層的類型。
這裏寫圖片描述
1.9 池化層
作用:縮減模型大小,提高計算速度,同時提高所提取特徵的魯棒性。
max pooling
這裏寫圖片描述
特點:有一組超級參數,但是並沒有參數需要學習。
average pooling:平均池化,不太常用。但也有例外,深度神經網絡深度很深時,可以用平均池化來分解規模爲7*7*1000的網絡的表示層。在整個空間內求平均值,得到1*1*1000.
f=2,s=2,相當於表示層的高度和寬度縮減一半,
這裏寫圖片描述
當用max pooling時,很少會用到padding,但也有例外。
用pooling,輸入信道與輸出信道個數相同,因爲對每個信道都做了池化。
這裏寫圖片描述
需要注意的是,池化過程中沒有要學習的參數。So,執行反向傳播時,沒有參數適用於池化。池化是一種靜態屬性,沒有什麼需要學習的。
1.10 卷積神經網絡示例
哈哈,引入了FC層。
卷積層layer:帶權重的層
這裏寫圖片描述
儘量自己不要設置超參數,而是查看文獻中別人採用了哪些超參數。選一個在別人任務中效果很好的架構,可能會適用於自己的程序。
這裏寫圖片描述
隨着網絡的加深,**值會變小,但是如果**值下降太快,也會影響網絡性能。
參數
這裏寫圖片描述
1.11 爲什麼使用卷積?
和只用全連接層相比,卷積層的兩個主要優勢是:參數共享和稀疏連接。
這裏寫圖片描述 稀疏連接,所得的值只與輸入的部分有關,而與其他無關。