深度學習與神經網絡(六)——卷積神經網絡

圖像的色彩存儲的時候是0-255,但我們做deeplearning的時候一般都是在0-1

 

理解卷積神經網絡的作用

在我們之前說到的在80年代,處理一個需要1.6M的MNIST數據集都很困難

當時的科學家就想了一個辦法

借鑑人眼的機制    receptive field感受野

當小孩子一眼看到桌子上的時候,他會被桌子上的蛋糕所吸引,因此他的視野裏面,雖然說整個視野都能看得到,但第一眼看到的時候,可能是看到的是這個蛋糕,忽略了旁邊的東西。當他慢慢回過神來以後,他纔開始去關注旁邊的一些事物。所以人眼的這樣的機制就是一個局部相關性的屬性。

當我們看一個風景的時候,我們不是一瞬間把所有風景都納入眼底的,我們是一下子看一部分,然後有一個不自覺的掃描的過程,只不過因爲時間太短了。然後我們把所有的信息綜合在一起了,所以我們會覺得看到的是所有的風景,而實際上就是有局部相關性機制的,這種局部相關性我們叫做感受野

因此當時的計算機學家在80年代就提出了模仿人眼的局部相關性的機制,提出了卷積神經網絡。

卷積指的是局部相關性

 

一次感受的是一個小方塊,而不是整個圖片的大區間

小窗口移動的時候,權值是共享的

權指共享是什麼意思呢

就是這個小窗口會掃過整個大的圖片,掃的時候是使用的相同的參數,就是小窗口的權指參數是不變的,這就叫做weight sharing

 

拿LeNet5爲例,這就是一個卷積神經網絡,也就是使用了權指共享的網絡

一共5層,它的參數量大概是60K

我們之前說的做MNIST的全連接網絡是390K,它還是4層的

LeNet5的參數量是它的1/6

 

局部相關性的共享機制

假設右邊這一層是256個點

全連接網絡的時候,對於每一個點,都是乘以28*28=784,也就是跟前一層有784根線連接

現在卷積神經網絡,對於每個點,只用乘以小窗口的3*3=9,跟前一層只有9根線連接

得到的每個點使用的參數量大大減少

因爲它只考慮了跟他局部相關的位置的屬性,跟他太遠的一些點它沒有考慮,都斷開了

 

線性全連接網絡 vs  卷積神經網絡

左圖的一個點的連線與右圖的一個點的連線(可以也選右圖的黑點比較,都是黑),就可以很形象的看出其參數量的差距了

通過這種方式,我們卷積層的權指的數量會成倍的減少,但仍然考慮到了整個圖片的權指的信息。既考慮到整個的屬性,又照顧到了跟它局部相關的點

 

卷積得到的圖片叫feature map,因爲不同的卷積核會對應不同的feature,有銳化、模糊、邊緣檢測等等

 

卷積操作

 重疊越多,值越大

 

卷積神經網絡

卷積得到的圖片比原圖要小

在形狀等方面是原圖的近似

如果我們在周圍補0的話,可以得到28*28的,這就叫做padding操作

 

kernel卷積核可以理解是觀察的視角

用邊緣檢測的卷積核得到的feature map就是邊緣檢測的,用模糊的卷積核得到的feature map就是模糊的

用邊緣檢測的視角得到的feature map就是邊緣檢測的,用模糊的視角得到的feature map就是模糊的

 

 

 

pytorch實現卷積神經網絡

nn.Conv2d

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章