卷積神經網路CNN簡介
- 學習目標
- 1. 更復雜抽象的資料
- 2. 激活函式的選擇
- 2.1 為什么需要非線性的激活函式
- 2.2 更多發展
- 3. 為什么需要卷積神經網路
- 3.1 感受野
- 4. 邊緣檢測
學習目標
- 目標
- 了解線性網路以及多層網路模型缺陷
- 知道為什么需要非線性激活函式
- 了解為什么需要卷積神經網路
多層的線性網路和單層的線性網路沒有區別,而且線性模型的能夠解決的問題也是有限的,
1. 更復雜抽象的資料
一個單隱含層有更多的神經元,就能捕捉更多的特征,而且有更多隱層,意味著能從資料集中提取更多復雜的結構,

- 增加網路深度

- 使用非線性激活函式

2. 激活函式的選擇
涉及到網路的優化時候,會有不同的激活函式選擇有一個問題是神經網路的隱藏層和輸出單元用什么激活函式,之前我們都是選用 sigmoid 函式,但有時其他函式的效果會好得多,大多數通過實踐得來,沒有很好的解釋性,
可供選用的激活函式有:
- tanh 函式(the hyperbolic tangent function,雙曲正切函式):

效果比 sigmoid 函式好,因為函式輸出介于 -1 和 1 之間,
注 :tanh 函式存在和 sigmoid 函式一樣的缺點:當 z 趨緊無窮大(或無窮小),導數的梯度(即函式的斜率)就趨緊于 0,這使得梯度演算法的速度會減慢,
- ReLU 函式(the rectified linear unit,修正線性單元)

當 z > 0 時,梯度始終為 1,從而提高神經網路基于梯度演算法的運算速度,收斂速度遠大于 sigmoid 和 tanh,然而當 z < 0 時,梯度一直為 0,但是實際的運用中,該缺陷的影響不是很大,
- Leaky ReLU(帶泄漏的 ReLU):

Leaky ReLU 保證在 z < 0 的時候,梯度仍然不為 0,理論上來說,Leaky ReLU 有 ReLU 的所有優點,但在實際操作中沒有證明總是好于 ReLU,因此不常用,
2.1 為什么需要非線性的激活函式
使用線性激活函式和不使用激活函式、直接使用 Logistic 回歸沒有區別,那么無論神經網路有多少層,輸出都是輸入的線性組合,與沒有隱藏層效果相當,就成了最原始的感知器了,

2.2 更多發展
更多神經元 + 更深的網路 = 更復雜的抽象,這也是簡單的神經元如何變得更聰明,并在影像識別、圍棋這些特定問題上表現如此之好的原因,
- 神經網路拓展介紹
- 神經網路的種類
- 基礎神經網路:線性神經網路,BP神經網路,Hopfield神經網路等
- 進階神經網路:玻爾茲曼機,受限玻爾茲曼機,遞回神經網路等
- 深度神經網路:深度置信網路,卷積神經網路,回圈神經網路,LSTM網路等
3. 為什么需要卷積神經網路
影像特征數量對神經網路效果壓力
假設下圖是一圖片大小為28 * 28 的黑白圖片時候,每一個像素點只有一個值(單通道),那么總的數值個數為 784個特征,

那現在這張圖片是彩色的,那么彩色圖片由RGB三通道組成,也就意味著總的數值有28 * 28 * 3 = 2352個值,

從上面我們得到一張圖片的輸入是2352個特征值,即神經網路當中與若干個神經元連接,假設第一個隱層是10個神經元,那么也就是23520個權重引數,
如果圖片再大一些呢,假設圖片為1000 * 1000 * 3,那么總共有3百萬數值,同樣接入10個神經元,那么就是3千萬個權重引數,這樣的引數大小,神經網路引數更新需要大量的計算不說,也很難達到更好的效果,大家就不傾向于使用多層神經網路了,
所以就有了卷積神經網路的流行,那么卷積神經網路為什么大家會選擇它,那么先來介紹感受野以及邊緣檢測的概念,
在計算機視覺領域,通常要做的就是指用機器程式替代人眼對目標影像進行識別等,那么神經網路也好還是卷積神經網路其實都是上個世紀就有的演算法,只是近些年來電腦的計算能力已非當年的那種計算水平,同時現在的訓練資料很多,于是神經網路的相關演算法又重新流行起來,因此卷積神經網路也一樣流行,
- 1974年,Paul Werbos提出了誤差反向傳導來訓練人工神經網路,使得訓練多層神經網路成為可能,
- 1979年,Kunihiko Fukushima(福島邦彥),提出了Neocognitron, 卷積、池化的概念基本形成,
- 1986年,Geoffrey Hinton與人合著了一篇論文:Learning representations by back-propagation errors,
- 1989年,Yann LeCun提出了一種用反向傳導進行更新的卷積神經網路,稱為LeNet,
- 1998年,Yann LeCun改進了原來的卷積網路,LeNet-5,
3.1 感受野
1962年Hubel和Wiesel通過對貓視覺皮層細胞的研究,提出了感受野(receptive field)的概念,Fukushima基于感受野概念提出的神經認知機(neocognitron)可以看作是卷積神經網路的第一個實作網路,
單個感受器與許多感覺神經纖維相聯系,感覺資訊是通過許多感受神經纖維發放總和性的空間與時間型別不同的沖動,相當于經過編碼來傳遞,

4. 邊緣檢測
為了能夠用更少的引數,檢測出更多的資訊,基于上面的感受野思想, 通常神經網路需要檢測出物體最明顯的垂直和水平邊緣來區分物體,比如

看一個例子,一個 6×6 的影像卷積與一個3×3的過濾器(Filter or kenel)進行卷積運算(符號為 * ),* 也可能是矩陣乘法所以通常特別指定是卷積的時候代表卷積意思,
- 相當于將 Filter 放在Image 上,從左到右、從上到下地(默認一個像素)移動過整個Image,分別計算 ImageImage 被 Filter 蓋住的部分與 Filter的逐元素乘積的和

在這個6×6 的影像中,左邊一半像素的值全是 10,右邊一半像素的值全是 0,中間是一條非常明顯的垂直邊緣,這個影像與過濾器卷積的結果中,中間兩列的值都是 30,兩邊兩列的值都是 0,即檢測到了原 6×6 影像中的垂直邊緣,
注:雖然看上去非常粗,是因為我們的影像太小,只有5個像素長、寬,所以最終得到結果看到的是兩個像素位置,如果在一個500 x 500的圖當中,就是一個豎直的邊緣了,

隨著深度學習的發展,我們需要檢測更復雜的影像中的邊緣,與其使用由人手工設計的過濾器,還可以將過濾器中的數值作為引數,通過反向傳播來學習得到,演算法可以根據實際資料來選擇合適的檢測目標,無論是檢測水平邊緣、垂直邊緣還是其他角度的邊緣,并習得影像的低層特征,
加油!
感謝!
努力!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293705.html
標籤:AI
