CNN_1_LeNet
LeNet -1998
一、LeNet是CNN(Convolutional Neural Network)的經典模型,有三個特徵
1、區域感受野(Local Receptive Fields),使用卷積核進行區域特徵值取樣,而非用全連結。(捲積核的概念可參考 Sobel filter,由計算3x3的區域來算中央密度,並用密度變化來描繪輪廓。但在CNN中以權重W取代,並由模型自行訓練找出適合的權重)
2、共享權值(Shared Weights), 由於卷積核是針對區域特徵取樣,同個卷積核的區域特徵是相同的,所以其權值是可共享的。
3、池化(Pooling), 在區域內取平均值來維持特徵並降維,類似圖像壓縮的概念。
二、LeNet-5 (1998)
LeNet-5 由7層結構組成,其中卷積層用Ci表示、池化層用Si表示、全連接層用Fi表示,
圖如下
1、C1:6@28x28,目的為取出細部的區域感受野,由6個5x5的捲積核掃過INPUT圖像,會得到6張feature map(特徵圖)。
- output圖大小:28x28,28 = 32-5+1 (四周的兩格無法完全被捲積核覆蓋)。
- 參數個數:捲積核w,b個數 = (5*5+1)*6 = 156
- 連接數:捲積後圖為28x28,表示有28x28個neural,又總共參數為156,故所有連接數 = 156*28*28 =122304。
2、S2:6@14x14,目的為特徵降維,由2x2的池化操作,為強化降維後的特徵值可取區域內最大值 ?。
- output圖大小:池化單元之間沒有重疊,故為14x14。
- 參數個數:池化單位共用同一組w,b,故個數 = 2*6 =12。
- 連接數:池化後圖為14x14,表示有14x14個neural,池化層連結數為2*2+1,故所有連接數 = (2*2+1)*6*14*14 = 5880。
3、C3:16@10x10,目的為將池化後的6張局部特徵圖,用16個5x5的捲積核依下表的方式組合成較大範圍的特徵圖。
- output圖大小:10x10,10 = 14-5+1 。
- 參數個數:捲積核w,b個數 = (5*5*3+1)*6 + (5*5*4+1)*9 + (5*5*6+1)
= 1516
- 連接數:捲積後圖有28x28個neural,又總共參數為1516,故所有連接數 = 1516*10*10 =151600。
4、S4:16@5x5,目的跟S2一樣為特徵降維,由2x2的池化操作。
- output圖大小:池化單元之間沒有重疊,故為5x5。
- 參數個數:池化單位共用同一組w,b,故個數 = 2*16 =32。
- 連接數:池化後圖有5x5個neural,池化層連結數為2*2+1,故所有連接數 = (2*2+1)*16*5*5 = 2000。
5、C5:120@1x1,目的為將池化後的16張特徵圖組合成最後的特徵值(圖變值攤平),用120個5x5的捲積核掃過16張特徵圖後加總。
- output圖大小:1x1,1 = 5-5+1 。
- 參數個數:捲積核w,b個數 = (5*5*16+1)*120 =48120
- 連接數:捲積後圖有1個neural,又總共參數為48120,故所有連接數 = 1*48120=48120。
--------------------------------------------------------------------------------------------------------------------------
@前五層是在做影像特徵圖處理,為了訓練出好的捲積核來取出特徵值。由第一層捲積在取出各角度的小線段,第二層捲積為拼接成較大的輪廓,第三層捲積為該圖最後萃取出來的特徵值。
@後兩層就是一班的權連接成,將圖的單一特徵值指向我們要的答案。
--------------------------------------------------------------------------------------------------------------------------
6、F6:84@1x1
- 參數個數:w,b個數 = (120+1)*84 =10164
- 連接數:全連接,連接數 =參數個數 =10164 。
RBF輸出的計算如下,分類權重wij並計算x與其的距離平方= (x- wij)^2,找出適當的Wij讓 y 與 yi 差異j為最小。
- 參數個數:w個數 = (84)*10 =840。
- 連接數:全連接,連接數 =參數個數 =840。
CNN-
Back propagation
留言
張貼留言