摘要:在圖像分析中,卷積神經(jīng)網(wǎng)絡(luò)在時(shí)間和內(nèi)存方面優(yōu)于全連接網(wǎng)絡(luò)。這是為什么呢卷積神經(jīng)網(wǎng)絡(luò)優(yōu)于全連接網(wǎng)絡(luò)的優(yōu)勢(shì)是什么呢卷積神經(jīng)網(wǎng)絡(luò)是如何從全連接網(wǎng)絡(luò)中派生出來的呢卷積神經(jīng)網(wǎng)絡(luò)這個(gè)術(shù)語又是從哪里而來這些問題在本文中一一為大家解答。
在圖像分析中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)在時(shí)間和內(nèi)存方面優(yōu)于全連接網(wǎng)絡(luò)(Full Connected, FC)。這是為什么呢?卷積神經(jīng)網(wǎng)絡(luò)優(yōu)于全連接網(wǎng)絡(luò)的優(yōu)勢(shì)是什么呢?卷積神經(jīng)網(wǎng)絡(luò)是如何從全連接網(wǎng)絡(luò)中派生出來的呢?卷積神經(jīng)網(wǎng)絡(luò)這個(gè)術(shù)語又是從哪里而來?這些問題在本文中一一為大家解答。
1.介紹
對(duì)于圖像分析而言,具體可以將其劃分為很多類型的任務(wù),比如分類、對(duì)象檢測(cè)、識(shí)別、描述等。對(duì)于圖像分類器而言,即使在諸如遮擋、照明變化、視覺等變化的情況下,也應(yīng)該能夠以高精度的性能工作。以特征工程為主要步驟的傳統(tǒng)圖像分類方法不適合在豐富環(huán)境中工作,即使是該領(lǐng)域的專家也不能給出一組能夠在不同變化下達(dá)到高精度的特征,無法保證手工所選的特征是否合適。在這個(gè)問題的啟發(fā)下,特征學(xué)習(xí)的思想應(yīng)運(yùn)而生,通過自主學(xué)習(xí)來獲得合適的圖像特征,這也是人工神經(jīng)網(wǎng)絡(luò)(ANN)對(duì)于圖像分析任務(wù)魯棒性的原因之一?;谔荻认陆邓惴ǎ℅D)等學(xué)習(xí)算法,ANN可以自動(dòng)學(xué)習(xí)到圖像特征,將原始圖像輸入人工神經(jīng)網(wǎng)絡(luò)后,ANN能夠自動(dòng)地生成描述它的特征。
2.基于全連接網(wǎng)絡(luò)的圖像分析
現(xiàn)在一起看看人工神經(jīng)網(wǎng)絡(luò)是如何對(duì)進(jìn)行處理的,以及CNN為什么在時(shí)間和內(nèi)存上相較于全連接網(wǎng)絡(luò)更高效。如圖1所示,輸入的是一個(gè)3x3大小的灰度圖。例子中使用小尺寸的圖像是為了方便講解,而不是表明ANN只能處理小尺寸的圖像。
圖像1
在輸入ANN時(shí),圖像會(huì)轉(zhuǎn)變?yōu)橄袼鼐仃?。由于ANN使用的是一維向量,而不是二維矩陣,所以將輸入的二維灰度圖轉(zhuǎn)換成一維向量,其中每個(gè)像素點(diǎn)代表一個(gè)輸入神經(jīng)元節(jié)點(diǎn)。
圖像2
每個(gè)像素被映射為向量元素,向量中的每個(gè)元素又代表ANN中的神經(jīng)元。由于圖像有3x3=9個(gè)像素點(diǎn),那么輸入層(Input Layer)將有9個(gè)神經(jīng)元。由于ANN結(jié)構(gòu)通常水平延伸,因此每層被表示為列向量。
輸入層與隱藏層(Hidden Layer)相連,輸入層的輸出又輸入給隱藏層,隱藏層學(xué)習(xí)如何將圖像像素轉(zhuǎn)換為代表性特征。假設(shè)在圖3中有一個(gè)具由16個(gè)神經(jīng)元的單個(gè)隱藏層。
圖像3
由于網(wǎng)絡(luò)是全連接網(wǎng)絡(luò),這意味著第i層的每個(gè)神經(jīng)元與第i-1層中的所有神經(jīng)元相連。即隱藏層中的每個(gè)神經(jīng)元都與輸入層中9個(gè)神經(jīng)元相連。換句話說,每個(gè)輸入像素與隱藏層中的16個(gè)神經(jīng)元相連,其中每條連接都具有相應(yīng)的參數(shù)(權(quán)重)。通過將每個(gè)像素與隱藏層中的所有神經(jīng)元相連,如圖4所示,該網(wǎng)絡(luò)具有9x16=144個(gè)參數(shù)(權(quán)重)。
圖像4
3.大量參數(shù)
上面例子中的參數(shù)數(shù)目似乎還可以接受,但是隨著輸入圖像尺寸變大以及隱藏層數(shù)量增加,網(wǎng)絡(luò)參數(shù)將大大增加。
例如,若網(wǎng)絡(luò)具有兩個(gè)隱層,分別有90和50個(gè)神經(jīng)元,那么輸入層和第一隱藏層之間的參數(shù)數(shù)目是9x90=810,兩個(gè)隱藏層之間的參數(shù)數(shù)目為90x50=4500,該網(wǎng)絡(luò)的參數(shù)總數(shù)為810+4500=5310。對(duì)于這樣簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)就有這么多的參數(shù)數(shù)量,顯然是不合適的;另外一種情況是輸入圖像尺寸較大,比如32x32大小的圖像(1024個(gè)像素),如果網(wǎng)絡(luò)使用單個(gè)隱藏層(含有500個(gè)神經(jīng)元),則總共有1024x500=512000個(gè)參數(shù)(權(quán)重),這對(duì)于只含單個(gè)隱藏層的網(wǎng)絡(luò)而言是一個(gè)巨大的數(shù)字。因此,必須有一個(gè)解決方案來減少網(wǎng)絡(luò)參數(shù),那么針對(duì)于此,卷積神經(jīng)網(wǎng)絡(luò)(CNN)應(yīng)運(yùn)而生,雖然它網(wǎng)絡(luò)模型通常比較大,但大大降低了參數(shù)數(shù)量。
4.神經(jīng)元組群
即使是很小的全連接網(wǎng)絡(luò),網(wǎng)絡(luò)參數(shù)數(shù)目變得非常大的原因在于其層與層之間神經(jīng)元每條連接上都是不同的參數(shù)。因此,可以考慮給一組神經(jīng)元提供相同的參數(shù),如圖5所示,一組神經(jīng)元內(nèi)的神經(jīng)元都將分配同一個(gè)參數(shù)。
圖像5
這樣處理以后,網(wǎng)絡(luò)參數(shù)數(shù)量大大降低。以圖4為例,比如每4個(gè)連續(xù)神經(jīng)元作為一組,其結(jié)果是參數(shù)數(shù)量減少了4倍。每個(gè)輸入神經(jīng)元將具有16/4=4個(gè)參數(shù)。整個(gè)網(wǎng)絡(luò)將具有144/4=36個(gè)參數(shù),參數(shù)數(shù)量減少了75%。可以看到,其效果很好,但仍然有可優(yōu)化的地方。
圖像6
圖7顯示了每個(gè)像素到每個(gè)組中第一個(gè)神經(jīng)元的連接,但每組中的每個(gè)像素與每個(gè)神經(jīng)元還是相互連接,該網(wǎng)絡(luò)仍然是全連接網(wǎng)絡(luò)。
圖像7
為了簡(jiǎn)單起見,只挑選出一組并忽略其它組,如圖8所示。從圖中可以看到,每個(gè)組仍然與輸入層所有的9個(gè)神經(jīng)元有所連接,因此具有9個(gè)參數(shù)。
圖像8
5.像素空間相關(guān)性
之前所述內(nèi)容使得每個(gè)神經(jīng)元接受所有像素,若存在接受4個(gè)輸入的函數(shù)f(x1,x2,x3,x4),則這意味著要基于所有這4個(gè)輸入來進(jìn)行決定。如果只有2個(gè)輸入,但其輸出結(jié)果與使用4個(gè)輸入的結(jié)果相同,那么將不必使用所有的這4個(gè)輸入,只需給出對(duì)結(jié)果有影響的2個(gè)輸入即可。借鑒該思想,每個(gè)神經(jīng)元接受輸入的9個(gè)像素,若能使用更少的像素獲得相同或更好的結(jié)果就大大降低了參數(shù)數(shù)量,因此可以朝著這個(gè)方向優(yōu)化網(wǎng)絡(luò)參數(shù)。
通常,在圖像分析中,輸入圖像被轉(zhuǎn)換為像素矩陣,像素矩陣中的每個(gè)像素與它周圍的像素高度相關(guān),兩個(gè)像素之間的距離越遠(yuǎn),二者越不相關(guān)。例如,如圖9所示,面部的像素與面部周圍的像素相關(guān),但它與天空、地面等像素的相關(guān)性較低。
圖像9
基于這樣的假設(shè),上述示例中的每個(gè)神經(jīng)元只接受彼此空間相關(guān)的像素,而不是將所有9個(gè)像素點(diǎn)都應(yīng)用到每個(gè)輸入神經(jīng)元中,因此可以選擇4個(gè)空間相關(guān)像素,如圖10所示。對(duì)于像素矩陣位置(0,0),那么空間上最相關(guān)的像素是坐標(biāo)點(diǎn)(0,1)、(1,0)以及(1,1)。同一組中的所有神經(jīng)元共享相同的權(quán)重,那么每組中的4個(gè)神經(jīng)元將只有4個(gè)參數(shù)而不是9個(gè)??偟膮?shù)變?yōu)?x4=16。與圖4中的全連接網(wǎng)絡(luò)相比,減少了128個(gè)參數(shù)(減少了88.89%)。
圖像10
6.卷積神經(jīng)網(wǎng)絡(luò)(CNN)
由于CNN使用權(quán)重共享,使用較少的參數(shù),這使得CNN網(wǎng)絡(luò)結(jié)構(gòu)一般層數(shù)比較多,這是全連接網(wǎng)絡(luò)無法具有的特性。
現(xiàn)在只有4個(gè)權(quán)重分配給同一組中的所有神經(jīng)元,那么這4個(gè)權(quán)重如何涵蓋9個(gè)像素點(diǎn)呢?讓我們看看這是如何處理的吧!
圖11展示了圖10中的一個(gè)網(wǎng)絡(luò),并為每條連接添加了權(quán)重標(biāo)記。在神經(jīng)元內(nèi)部,4個(gè)輸入像素中的每一個(gè)都與其相應(yīng)的權(quán)重相乘,如圖11中公式所示。
圖像11
假設(shè)這里每次移動(dòng)的步長(zhǎng)設(shè)置為1(步長(zhǎng)可以自己設(shè)置),每次相乘后將像素點(diǎn)索引移動(dòng)一位,權(quán)重矩陣與另外一組像素相乘。以此類推,直到整個(gè)像素矩陣都與權(quán)重矩陣進(jìn)行了相乘運(yùn)算。整個(gè)過程與卷積運(yùn)算相同,組的權(quán)重與圖像矩陣之間進(jìn)行卷積運(yùn)算,這也是CNN有“卷積”一詞的原因。
圖像12
剩余的神經(jīng)元組也會(huì)進(jìn)行同樣的操作,從像素矩陣的左上角開始,直到像素矩陣的右下角都與權(quán)重矩陣相乘。
7.參考
Aghdam, Hamed Habibi, and Elnaz Jahani Heravi. Guide to Convolutional Neural Networks: A Practical Application to Traffic-Sign Detection and Classification. Springer, 2017.
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/4767.html
摘要:所以卷積神經(jīng)網(wǎng)絡(luò)卷積池化假設(shè)矩陣為的矩陣,池化窗口為,則按照池化窗口大小將矩陣分割成塊不相交的小矩陣,對(duì)對(duì)每個(gè)塊中的所有元素做求和平均操作,稱為平均池化,取較大值則稱為較大池化。卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)是權(quán)值共享,非全連接的神經(jīng)網(wǎng)絡(luò)。 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)是一種前饋神經(jīng)網(wǎng)絡(luò),每個(gè)神經(jīng)元都只影響鄰層的一部分神經(jīng)元,具有局部感受野,因...
摘要:本論文將嘗試概述卷積網(wǎng)絡(luò)的架構(gòu),并解釋包含激活函數(shù)損失函數(shù)前向傳播和反向傳播的數(shù)學(xué)推導(dǎo)。本文試圖只考慮帶有梯度下降優(yōu)化的典型卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的制定。 近日南洋理工大學(xué)研究者發(fā)布了一篇描述卷積網(wǎng)絡(luò)數(shù)學(xué)原理的論文,該論文從數(shù)學(xué)的角度闡述整個(gè)卷積網(wǎng)絡(luò)的運(yùn)算與傳播過程。該論文對(duì)理解卷積網(wǎng)絡(luò)的數(shù)學(xué)本質(zhì)非常有幫助,有助于讀者「徒手」(不使用卷積API)實(shí)現(xiàn)卷積網(wǎng)絡(luò)。論文地址:https://arxiv....
摘要:同樣以里的模塊為例,替換前后的卷積分支復(fù)雜度如下中使用與卷積級(jí)聯(lián)替代卷積中提出了卷積的,在確保感受野不變的前提下進(jìn)一步簡(jiǎn)化。 在梳理CNN經(jīng)典模型的過程中,我理解到其實(shí)經(jīng)典模型演進(jìn)中的很多創(chuàng)新點(diǎn)都與改善模型計(jì)算復(fù)雜度緊密相關(guān),因此今天就讓我們對(duì)卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜度分析簡(jiǎn)單總結(jié)一下下。1.時(shí)間復(fù)雜度1.2 卷積神經(jīng)網(wǎng)絡(luò)整體的時(shí)間復(fù)雜度示例:用 Numpy 手動(dòng)簡(jiǎn)單實(shí)現(xiàn)二維卷積假設(shè) Stride...
摘要:目前用于語義分割研究的兩個(gè)最重要數(shù)據(jù)集是和。發(fā)展中的方法效果。論文于年月日提交到主要貢獻(xiàn)將端到端的卷積網(wǎng)絡(luò)推廣到語義分割中重新將預(yù)訓(xùn)練好的網(wǎng)絡(luò)用于分割問題中使用反卷積層進(jìn)行上采樣提出了跳躍連接來改善上采樣的粗糙程度。 語義分割是什么?語義分割方法在處理圖像時(shí),具體到像素級(jí)別,也就是說,該方法會(huì)將圖像中每個(gè)像素分配到某個(gè)對(duì)象類別。下面是一個(gè)具體案例。左邊為輸入圖像,右邊為經(jīng)過語義分割后的輸出圖...
閱讀 637·2023-04-26 01:53
閱讀 2762·2021-11-17 17:00
閱讀 2897·2021-09-04 16:40
閱讀 1999·2021-09-02 15:41
閱讀 848·2019-08-26 11:34
閱讀 1236·2019-08-26 10:16
閱讀 1344·2019-08-23 17:51
閱讀 834·2019-08-23 16:50