通俗理解卷積神經網絡原理+學習資料

文章有點長,但字數不多, 

學習卷積神經網絡資料 https://www.bilibili.com/video/BV1AJ411Q72b?from=search&seid=2878038664318579685

大白話講解卷積神經網絡工作原理https://www.bilibili.com/video/BV1sb411P7pQ

卷積基本操作 :對圖像做平滑,如下圖,其結果中的每個值都來源於原對應位置和其周邊6個元素與一個3X3矩陣【這也被稱作核(Kernel, 3X3)】的乘積:

兩個步長的情況

 

步長(stride)和邊界(padding)

在整個圖像範圍內一次移動一個像素。我們可以把它定義成一個超參數(hyperparameter),從而來表示我們想讓權值矩陣在圖像內如何移動。如果權值矩陣一次移動一個像素,我們稱其步長爲 1。滑動的步長叫stride記爲S。S越小,提取的特徵越多,但是S一般不取1,主要考慮時間效率的問題。S也不能太大,否則會漏掉圖像上的信息

由於filter的邊長大於S,會造成每次移動滑窗後有交集部分,交集部分意味着多次提取特徵,尤其表現在圖像的中間區域提取次數較多,邊緣部分提取次數較少,怎麼辦?

在輸入圖像四周填充 0 邊界可以解決這個問題。我們也可以在高步長值的情況下在圖像四周填加不只一層的 0 邊界。

 

 

卷積神經網絡參數調節交互https://ezyang.github.io/convolution-visualizer/index.html

池化:有時圖像太大,我們需要減少訓練參數的數量,它被要求在隨後的卷積層之間週期性地引進池化層。池化的唯一目的是減少圖像的空間大小。池化在每一個縱深維度上獨自完成,因此圖像的縱深保持不變。池化層的最常見形式是最大池化

 

全連接層

卷積神經網絡構成 卷積——激活——卷積——激活——池化——......——池化——全連接——分類或迴歸

輸出維度

理解每個卷積層輸入和輸出的尺寸可能會有點難度。以下三點或許可以讓你瞭解輸出尺寸的問題。有三個超參數可以控制輸出卷的大小。

 

1. 過濾器數量-輸出卷的深度與過濾器的數量成正比。請記住該如何堆疊每個過濾器的輸出以形成激活映射。激活圖的深度等於過濾器的數量。

2. 步幅(Stride)-如果步幅是 1,那麼我們處理圖片的精細度就進入單像素級別了。更高的步幅意味着同時處理更多的像素,從而產生較小的輸出量。

3. 零填充(zero padding)-這有助於我們保留輸入圖像的尺寸。如果添加了單零填充,則單步幅過濾器的運動會保持在原圖尺寸。

 

我們可以應用一個簡單的公式來計算輸出尺寸。輸出圖像的空間尺寸可以計算爲([W-F + 2P] / S)+1。在這裏,W 是輸入尺寸,F 是過濾器的尺寸,P 是填充數量,S 是步幅數字。假如我們有一張 32*32*3 的輸入圖像,我們使用 10 個尺寸爲 3*3*3 的過濾器,單步幅和零填充。

 

那麼 W=32,F=3,P=0,S=1。輸出深度等於應用的濾波器的數量,即 10,輸出尺寸大小爲 ([32-3+0]/1)+1 = 30。因此輸出尺寸是 30*30*10。



參考鏈接:https://www.zhihu.com/question/39022858/answer/203073911
 

 

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