您好,登錄后才能下訂單哦!
這篇文章主要介紹了CNN的相關(guān)知識(shí)點(diǎn)有哪些的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇CNN的相關(guān)知識(shí)點(diǎn)有哪些文章都會(huì)有所收獲,下面我們一起來看看吧。
圖像識(shí)別中采用卷積神經(jīng)網(wǎng)絡(luò),這里大致的介紹下CNN的運(yùn)行原理。在很久以前呢其實(shí)圖像識(shí)別采用的是傳統(tǒng)的方法,比如SVM。在12年的ImageNet大會(huì)中,來自多倫多大學(xué)的 Geoffrey Hinton、Ilya Sutskever 和 Alex Krizhevsky 提交了名為“AlexNet”的深度卷積神經(jīng)網(wǎng)絡(luò)算法,這種算法的圖形識(shí)別錯(cuò)誤率低至 16%,比第二名低超過 40%。可以這么說,人工智能在“看特定的圖”這件事上第一次接近了人類。
這里提一下上面提到的深度學(xué)習(xí)課程就是由Geoffrey Hinton 講授的。
而圖像識(shí)別中的神經(jīng)網(wǎng)絡(luò)一般會(huì)采用卷積神經(jīng)網(wǎng)絡(luò),即CNN。
一般的神經(jīng)網(wǎng)絡(luò)采用了全連接的方式,這樣的話會(huì)導(dǎo)致參數(shù)量太大。Cnn以及rnn都修改了網(wǎng)絡(luò)結(jié)構(gòu)以使其能達(dá)到特定的功能。
全連接的神經(jīng)網(wǎng)絡(luò)如下:
隱層的話其實(shí)可以是0~N多層,如果沒有隱層,而激活函數(shù)又采用了邏輯函數(shù),那么就成了邏輯回歸模型了。這里只畫了兩層。
而卷積神經(jīng)網(wǎng)絡(luò)主要有以下幾種層次
1)數(shù)據(jù)輸入層
2)卷積計(jì)算層
3)Relu激活層
4)池化層
5)全連接層
6)輸出層
數(shù)據(jù)輸入層和全連接層一樣的,就是第0層。一般來說圖形圖像處理前需要進(jìn)行數(shù)據(jù)的預(yù)處理,比如圖片的大小放縮到一致,主要有如下的處理方法:
1)去均值,比如一個(gè)圖片的像素,RGB形式的吧,范圍都在0~256之間。將其都減去均值,得到每個(gè)特征的維度均值為0.
2)歸一化,就是降維度的數(shù)值縮放到一個(gè)幅度內(nèi)。
3)降維
這個(gè)應(yīng)該是CNN的一個(gè)比較關(guān)鍵的地方了,首先看卷積運(yùn)算,卷積是對(duì)兩個(gè)實(shí)變函數(shù)的一種數(shù)學(xué)運(yùn)算。這里不想講的太復(fù)雜,比如
這里x是輸入,w是核函數(shù)就是需要將x轉(zhuǎn)換到其他的特征中。下面將二維平面的情況展示:
這是進(jìn)行了一次的卷積運(yùn)算,這里我們很明顯的知道參數(shù)共享的。在一次卷積運(yùn)算的過程中,這些kernel是保持不變的。變得是每次滑動(dòng)窗口的數(shù)據(jù)。
這里介紹三個(gè)相關(guān)的概念:
1)步長(zhǎng),如上圖是1。
2)滑動(dòng)窗口,上面的是一個(gè)2*2的大小。
3)填充值,因?yàn)樵诓介L(zhǎng)大于1的情況下,可能導(dǎo)致滑動(dòng)窗口在向右移動(dòng)的過程中,右邊沒有值了,這個(gè)時(shí)候需要值進(jìn)行填充,一般采用0值填充。還有一個(gè)原因就是當(dāng)步長(zhǎng)為1的時(shí)候,如果不進(jìn)行填充會(huì)導(dǎo)致輸出的維度低于輸入的維度,這樣經(jīng)過幾次迭代,就沒有輸入了……
形象化的如下圖,周圍補(bǔ)了一圈的0填充。
注意這里只是一個(gè)下一層的一個(gè)神經(jīng)元的情況如果是n個(gè),就會(huì)有n次卷積運(yùn)算了。
當(dāng)通過卷積運(yùn)算之后需要經(jīng)過激活函數(shù)進(jìn)行非線性變換。常的激活函數(shù)如下:
1)Sigmoid
2)Relu
3)Tanh
4)Elu
5)Maxout
6)Leaky relu
可以參考:https://en.wikipedia.org/wiki/Activation_function
在cnn中有如下一些經(jīng)驗(yàn):
1)CNN盡量不要用sigmoid ,因?yàn)閟igmoid會(huì)導(dǎo)致梯度消失問題。
2)首先使用relu
3)然后使用leaky relu
4)如果不行,采用maxout
由于圖片的像素點(diǎn)很多,如果不進(jìn)行壓縮處理,那么會(huì)導(dǎo)致參數(shù)過多,就過擬合啦。所以需要將圖片大小進(jìn)行壓縮。那咋個(gè)壓縮呢?只能采用下采樣啦。如下圖所示:
這個(gè)有點(diǎn)像卷積計(jì)算,但是呢,沒有kernel。一般采用的是
1)Max
2)Average
兩種下采樣方式,不過用的多的還是max。因?yàn)閍verage會(huì)帶來新的特征值,不太好。
經(jīng)過了若干的卷積層,池化層,在輸出層的前一層,加一個(gè)全連接層,用于最后的輸出。
輸出層
最后就是再次通過一個(gè)激活函數(shù)輸出數(shù)據(jù)了。
總的層級(jí)結(jié)構(gòu)如下:
一般來說,CNN的結(jié)構(gòu)中,會(huì)有若干的卷積層,然后通過激活層,然后池化,然后繼續(xù)卷積等等,最后全連接輸出數(shù)據(jù)。不過有的也不用全連接做最后一層,用一維的卷積層代替。
在深度學(xué)習(xí)中,優(yōu)化算法基本都是采用的SGD。正則化不是像傳統(tǒng)的方式L1或者L2。而是通過一定的概率丟棄神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn),這就被稱為dropout
如下圖所示,每次運(yùn)算的時(shí)候隨機(jī)的使一些節(jié)點(diǎn)失效?;蛘呖梢岳斫猓x擇神經(jīng)節(jié)點(diǎn)服從一個(gè)概率分布。
通過dropout的方式可以防止過擬合
1)神經(jīng)元的個(gè)數(shù)少了,參數(shù)減小,那么根據(jù)機(jī)器學(xué)習(xí)的VC維可以得到過擬合風(fēng)險(xiǎn)減小。
2)通過隨機(jī)的丟棄一些神經(jīng)元,可以組成不同的神經(jīng)網(wǎng)絡(luò),最后做到一個(gè)aggregation的神經(jīng)網(wǎng)絡(luò),就像隨機(jī)森林一樣的的想法。
CNN常見的結(jié)構(gòu)有:
1)LeNet ,最早用于數(shù)字識(shí)別
2)AlexNet ,2012年的視覺大賽冠軍
3)ZF Net,2013年的視覺大賽冠軍
4)Google Net,2014年
5)VGG Net,2014年
6)ResNet,2015年,152層。
關(guān)于“CNN的相關(guān)知識(shí)點(diǎn)有哪些”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“CNN的相關(guān)知識(shí)點(diǎn)有哪些”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。