神經網路-卷積
1 人贊了文章
- 神經網路中卷積的作用是什麼?
首先,這裡的卷積和數字信號處理等領域的用法不一樣。在圖像處理領域,卷積可理解為對圖像進行了特徵的更好提取和抽象。也可理解為:圖像處理中需要去抽象,把點抽象成線,把線抽象成圖形來進行組合併進行判斷是什麼物體(對特徵進行提取,組合)。卷積更多應用在圖像處理方面,但不僅僅局限在圖像處理方面,也可以應用在其他諸多領域。
1 每個神經元只看局部的像素點,w個數少,但是通過層數的增加,可以彌補w個數的減少。神經網路中層數越多,證明推理和演繹的越多。
圖像處理中需要去抽象,把點抽象成線,把線抽象成圖形來進行組合併進行判斷是什麼物體。
卷積在圖像處理領域更多是進行特徵提取,組合。
卷積更多的是做圖像處理方面,但也不局限於在圖像處理方面,也可以應用在其他領域,
2 有關圖片輸入
假設圖片是28*28,
DNN:輸入為(m,784,1)
CNN:直接用二維。輸入為(m,28,28,1)
其中,上式中1為通道
3 卷積過程
上圖中,
input volume:是一個三通道的輸入圖像(用像素表示)
filter W0:第1個3通道的卷積核,截距bias為1。
filter W1:第2個3通道的卷積核,截距bias為0。
output volume:表示feature map,也即輸出層
3.1 卷積計算
原始圖像看成是x,卷積核(filters)看做是w矩陣,feature map中的的對應的像素值是x與 w對應相乘並相加,然後與bias進行相加可得。
eg:上圖中output volume中6是圖中畫圈部分1與2對應位置相乘相加,然後在加上filter W0的截距所得到。
3.2 步長(即卷積核上下左右移動尺度)
eg:步長(stride):(1,1),橫豎每次移動都是走一步。
3.3輸出的Feature map和誰有關係?
原始圖像大小,卷積核大小以及步長
3.4 圖片的大小
一個圖片(hight,width),其實就代表一個圖片的行和列
4 zero padding
目的:為了卷到所有的像素, 自動補0(均勻補0)
好處:
- 不想丟掉下方和右邊的像素點
- Feature map太小,可以保證和上一層的大小保持一致。
- 對周邊的像素點也很看重
5 padding模式
- valid
不使用zero padding,有可能會忽略圖片右側或底下,這個得看stride的設置
- SAME
必要會加zero padding,這種情況下,輸出神經元個數等於輸入神經元個數除以步長(向上取整)。每個像素點都會被掃描到。
6 輸出的feature map的大小如何計算?
輸入的圖片大小除以步長可以計算feature map的大小
7 卷積核的個數和feature map的個數一致
8 卷積核的意思可看作是從不同的角度去審視原來的圖片
9 filter 的通道數要和原始圖片的通道保持一致
10 卷積神經網路的好處
權值共享(理解其含義),計算的w個數少。
11 卷積核的通道數要和上一層feature map的通道數一致
12 卷積層前面有幾個w去算,取決於卷積核的個數和大小所求
15 w參數的個數計算公式:nfilter*filter_size*channel+nfilter(截距)
16 卷積為什麼計算的w少?
1 權值共享2 卷積是局部連接
17 通過卷積以後conv(x)[0].shape知道feature map的寬高
18 卷積只是對圖像進行了特徵的提取和抽象
更好的效率去提取特徵,(從不同的面去看圖像)
19 圖層的個數(feature map的個數)與下一層卷積核的通道數一致
推薦閱讀: