導航:首頁 > 網路數據 > 卷積神經網路技術的發展

卷積神經網路技術的發展

發布時間:2023-06-15 20:08:59

⑴ 神經網路的歷史是什麼

沃倫·麥卡洛克和沃爾特·皮茨(1943)基於數學和一種稱為閾值邏輯的演算法創造了一種神經網路的計算模型。這種模型使得神經網路的研究分裂為兩種不同研究思路。一種主要關注大腦中的生物學過程,另一種主要關注神經網路在人工智慧里的應用。

一、赫布型學習

二十世紀40年代後期,心理學家唐納德·赫布根據神經可塑性的機制創造了一種對學習的假說,現在稱作赫布型學習。赫布型學習被認為是一種典型的非監督式學習規則,它後來的變種是長期增強作用的早期模型。從1948年開始,研究人員將這種計算模型的思想應用到B型圖靈機上。

法利和韋斯利·A·克拉克(1954)首次使用計算機,當時稱作計算器,在MIT模擬了一個赫布網路。納撒尼爾·羅切斯特(1956)等人模擬了一台 IBM 704計算機上的抽象神經網路的行為。

弗蘭克·羅森布拉特創造了感知機。這是一種模式識別演算法,用簡單的加減法實現了兩層的計算機學習網路。羅森布拉特也用數學符號描述了基本感知機里沒有的迴路,例如異或迴路。這種迴路一直無法被神經網路處理,直到保羅·韋伯斯(1975)創造了反向傳播演算法。

在馬文·明斯基和西摩爾·派普特(1969)發表了一項關於機器學習的研究以後,神經網路的研究停滯不前。他們發現了神經網路的兩個關鍵問題。

第一是基本感知機無法處理異或迴路。第二個重要的問題是電腦沒有足夠的能力來處理大型神經網路所需要的很長的計算時間。直到計算機具有更強的計算能力之前,神經網路的研究進展緩慢。

二、反向傳播演算法與復興

後來出現的一個關鍵的進展是保羅·韋伯斯發明的反向傳播演算法(Werbos 1975)。這個演算法有效地解決了異或的問題,還有更普遍的訓練多層神經網路的問題。

在二十世紀80年代中期,分布式並行處理(當時稱作聯結主義)流行起來。戴維·魯姆哈特和詹姆斯·麥克里蘭德的教材對於聯結主義在計算機模擬神經活動中的應用提供了全面的論述。

神經網路傳統上被認為是大腦中的神經活動的簡化模型,雖然這個模型和大腦的生理結構之間的關聯存在爭議。人們不清楚人工神經網路能多大程度地反映大腦的功能。

支持向量機和其他更簡單的方法(例如線性分類器)在機器學習領域的流行度逐漸超過了神經網路,但是在2000年代後期出現的深度學習重新激發了人們對神經網路的興趣。

三、2006年之後的進展

人們用CMOS創造了用於生物物理模擬和神經形態計算的計算設備。最新的研究顯示了用於大型主成分分析和卷積神經網路的納米設備具有良好的前景。

如果成功的話,這會創造出一種新的神經計算設備,因為它依賴於學習而不是編程,並且它從根本上就是模擬的而不是數字化的,雖然它的第一個實例可能是數字化的CMOS設備。

在2009到2012年之間,Jürgen Schmidhuber在Swiss AI Lab IDSIA的研究小組研發的循環神經網路和深前饋神經網路贏得了8項關於模式識別和機器學習的國際比賽。

例如,Alex Graves et al.的雙向、多維的LSTM贏得了2009年ICDAR的3項關於連筆字識別的比賽,而且之前並不知道關於將要學習的3種語言的信息。

IDSIA的Dan Ciresan和同事根據這個方法編寫的基於GPU的實現贏得了多項模式識別的比賽,包括IJCNN 2011交通標志識別比賽等等。

他們的神經網路也是第一個在重要的基準測試中(例如IJCNN 2012交通標志識別和NYU的揚·勒丘恩(Yann LeCun)的MNIST手寫數字問題)能達到或超過人類水平的人工模式識別器。

類似1980年Kunihiko Fukushima發明的neocognitron和視覺標准結構(由David H. Hubel和Torsten Wiesel在初級視皮層中發現的那些簡單而又復雜的細胞啟發)那樣有深度的、高度非線性的神經結構可以被多倫多大學傑弗里·辛頓實驗室的非監督式學習方法所訓練。

2012年,神經網路出現了快速的發展,主要原因在於計算技術的提高,使得很多復雜的運算變得成本低廉。以AlexNet為標志,大量的深度網路開始出現。

2014年出現了殘差神經網路,該網路極大解放了神經網路的深度限制,出現了深度學習的概念。

構成

典型的人工神經網路具有以下三個部分:

1、結構(Architecture)結構指定了網路中的變數和它們的拓撲關系。例如,神經網路中的變數可以是神經元連接的權重(weights)和神經元的激勵值(activities of the neurons)。

2、激勵函數(Activation Rule)大部分神經網路模型具有一個短時間尺度的動力學規則,來定義神經元如何根據其他神經元的活動來改變自己的激勵值。一般激勵函數依賴於網路中的權重(即該網路的參數)。

3、學習規則(Learning Rule)學習規則指定了網路中的權重如何隨著時間推進而調整。這一般被看做是一種長時間尺度的動力學規則。一般情況下,學習規則依賴於神經元的激勵值。它也可能依賴於監督者提供的目標值和當前權重的值。

例如,用於手寫識別的一個神經網路,有一組輸入神經元。輸入神經元會被輸入圖像的數據所激發。在激勵值被加權並通過一個函數(由網路的設計者確定)後,這些神經元的激勵值被傳遞到其他神經元。

這個過程不斷重復,直到輸出神經元被激發。最後,輸出神經元的激勵值決定了識別出來的是哪個字母。

⑵ 經典卷積神經網路簡介之【AlexNet】

論文中轉 : ImageNet Classification with Deep Convolutional Neural Networks

自Le Net-5在1998年提出以後,時隔14年,AlexNet橫空問世,在2012年ImageNet競賽中以冠軍的成績笑傲群雄,也就是從那時起,更多更優秀的網路被相繼提出。論文第一作者是來自多倫多大學的Alex Krizhevsky,因此網路稱為Alex Net。

在論文中,作者訓練了一個大而深(相比於之前)的卷積網路用於ImageNet比賽,將120萬高分辨圖像分為1000個類別。在測試集上,分別達到了37.5%的top-1錯誤率和17.0%的top-5錯誤率,超越了先前最好的網路。網路共有600萬參數,65萬個神經元,5個卷積層加3個全連接層,輸出為1000類別。為了防止過擬合,作者採用了數據擴充和dropout正則法,實驗結果表明此方法非常有效;為了加快訓練速度,作者採用了兩塊並行的GPU同時對特徵圖進行運算。

由於採用了雙GPU模式,所以結構圖呈現的是上圖的樣子,下面引用一張博客作者 chenyuping666 文章的圖片,可以詳細的了解網路內部結構與實現細節。

從上圖可以看到,輸入為227×227×3的圖像

在conv1中 ,卷積核大小為11×11,步長為4,通道數為96(每台GPU運算48個,下同),經過激活函數Relu激活後,採用最大池化(size=3×3,stride=2),標准化,輸出為27×27×96。

在conv2中 ,卷積核大小為5×5,步長為1,通道數256,先對輸入特徵圖擴展像素為31×31(pad=2),然後卷積,激活,池化(size=3×3,stride=2),標准化,輸出特徵圖為13×13×256。

在conv3,conv4中 ,卷積核大小都為3×3,步長為1,pad=1,通道數為384,經過激活後輸出特徵圖為13×13×384。

在conv5中 ,卷積核大小都為3×3,步長為1,通道數為256,經過激活,池化後輸出特徵圖為6×6×256。

在fcn6,fcn7中 ,共有4096個神經元,採用了dropout技術防止過擬合。

在fcn8 ,也就是最後一層,採用softmax輸出1000個類別。

相比於之前的網路,AlexNet為何能取得比較好的結果呢,從作者的論文中可以發現以下幾點:

3.1 非線性激活函數Relu
在之前一般使用tanh(x)或sigmoid作為激活函數,但這些飽和的線性函數在梯度的計算上非常緩慢,並且容易產生梯度消失問題。Relu的出現使這些問題得到了有效的解決。在基於cifar-10數據集的標准四層網路測試中,採用tanh和Relu作為激活函數使error rate達到0.25所用的時間,Relu比tanh快大約6倍。

3.2 多個GPU
作者認為計算資源的大小限制了網路的大小,要想訓練大的網路結構,必須擁有足夠的計算資源。120萬的數據集太大以至於單個GPU不足以匹配,因此作者將網路的計算任務分配到兩個GPU上執行。目前GPU特別適合做並行化,因為一個GPU可以直接從另一個GPU讀和寫內容,而不需要經過主機內存。

3.3 局部響應歸一化(LRN)
作者在文章中提出了Local Response Normalization的方法,分別將top-1和top-5錯誤率降低了1.4%和1.2%。作者在文中提到,如果訓練樣本產生一個正輸入到Relu,網路只會在那個特定神經元上學習,但是引入局部響應正則化後,提高了網路的泛化能力。這種響應歸一化會產生一種由某一神經元所激發的橫向抑制,為由使用不同卷積核計算的神經元輸出之中的「big activities」創造競爭。

3.4 重疊池化
一般的池化操作因為沒有重疊,所以pool_size 和 stride是相等的。例如6×6的圖像在size=2×2的池化後,輸出為3×3,但是本文使用的size<stride,即取步長為1,輸出為4×4大小的圖像。這一方案分別使top-1和top-5錯誤率降低了0.4%和0.3%。

⑶ 請問卷積神經網路的概念誰最早在學術界提出的

福島邦彥。

2021年4月29日,福島邦彥(Kunihiko Fukushima)獲得 2021 年鮑爾科學成就獎。他為深度學習做出了傑出貢獻,其最有影響力的工作當屬「Neocognitron」卷積神經網路架構。

其實,熟悉這位Jürgen Schmidhuber人都知道,他此前一直對自己在深度學習領域的早期原創性成果未能得到業界廣泛承認而耿耿於懷。

嚴格意義上講,LeCun是第一個使用誤差反向傳播訓練卷積神經網路(CNN)架構的人,但他並不是第一個發明這個結構的人。而福島博士引入的Neocognitron,是第一個使用卷積和下采樣的神經網路,也是卷積神經網路的雛形。

福島邦彥(Kunihiko Fukushima)設計的具有學習能力的人工多層神經網路,可以模仿大腦的視覺網路,這種「洞察力」成為現代人工智慧技術的基礎。福島博士的工作帶來了一系列實際應用,從自動駕駛汽車到面部識別,從癌症檢測到洪水預測,還會有越來越多的應用。

⑷ 卷積神經網路

關於花書中卷積網路的筆記記錄於 https://www.jianshu.com/p/5a3c90ea0807 。

卷積神經網路(Convolutional Neural Network,CNN或ConvNet)是一種具有 局部連接、權重共享 等特性的深層前饋神經網路。卷積神經網路是受生物學上感受野的機制而提出。 感受野(Receptive Field) 主要是指聽覺、視覺等神經系統中一些神經元的特性,即 神經元只接受其所支配的刺激區域內的信號

卷積神經網路最早是主要用來處理圖像信息。如果用全連接前饋網路來處理圖像時,會存在以下兩個問題:

目前的卷積神經網路一般是由卷積層、匯聚層和全連接層交叉堆疊而成的前饋神經網路,使用反向傳播演算法進行訓練。 卷積神經網路有三個結構上的特性:局部連接,權重共享以及匯聚 。這些特性使卷積神經網路具有一定程度上的平移、縮放和旋轉不變性。

卷積(Convolution)是分析數學中一種重要的運算。在信號處理或圖像處理中,經常使用一維或二維卷積。

一維卷積經常用在信號處理中,用於計算信號的延遲累積。假設一個信號發生器每個時刻t 產生一個信號 ,其信息的衰減率為 ,即在 個時間步長後,信息為原來的 倍。假設 ,那麼在時刻t收到的信號 為當前時刻產生的信息和以前時刻延遲信息的疊加:

我們把 稱為 濾波器(Filter)或卷積核(Convolution Kernel) 。假設濾波器長度為 ,它和一個信號序列 的卷積為:

信號序列 和濾波器 的卷積定義為:

一般情況下濾波器的長度 遠小於信號序列長度 ,下圖給出一個一維卷積示例,濾波器為 :

二維卷積經常用在圖像處理中。因為圖像為一個兩維結構,所以需要將一維卷積進行擴展。給定一個圖像 和濾波器 ,其卷積為:

下圖給出一個二維卷積示例:

注意這里的卷積運算並不是在圖像中框定卷積核大小的方框並將各像素值與卷積核各個元素相乘並加和,而是先把卷積核旋轉180度,再做上述運算。

在圖像處理中,卷積經常作為特徵提取的有效方法。一幅圖像在經過卷積操作後得到結果稱為 特徵映射(Feature Map)

最上面的濾波器是常用的高斯濾波器,可以用來對圖像進行 平滑去噪 ;中間和最下面的過濾器可以用來 提取邊緣特徵

在機器學習和圖像處理領域,卷積的主要功能是在一個圖像(或某種特徵)上滑動一個卷積核(即濾波器),通過卷積操作得到一組新的特徵。在計算卷積的過程中,需要進行卷積核翻轉(即上文提到的旋轉180度)。 在具體實現上,一般會以互相關操作來代替卷積,從而會減少一些不必要的操作或開銷。

互相關(Cross-Correlation)是一個衡量兩個序列相關性的函數,通常是用滑動窗口的點積計算來實現 。給定一個圖像 和卷積核 ,它們的互相關為:

互相關和卷積的區別僅在於卷積核是否進行翻轉。因此互相關也可以稱為不翻轉卷積 。當卷積核是可學習的參數時,卷積和互相關是等價的。因此,為了實現上(或描述上)的方便起見,我們用互相關來代替卷積。事實上,很多深度學習工具中卷積操作其實都是互相關操作。

在卷積的標準定義基礎上,還可以引入濾波器的 滑動步長 零填充 來增加卷積多樣性,更靈活地進行特徵抽取。

濾波器的步長(Stride)是指濾波器在滑動時的時間間隔。

零填充(Zero Padding)是在輸入向量兩端進行補零。

假設卷積層的輸入神經元個數為 ,卷積大小為 ,步長為 ,神經元兩端各填補 個零,那麼該卷積層的神經元數量為 。

一般常用的卷積有以下三類:

因為卷積網路的訓練也是基於反向傳播演算法,因此我們重點關注卷積的導數性質:

假設 。

, , 。函數 為一個標量函數。

則由 有:

可以看出, 關於 的偏導數為 和 的卷積

同理得到:

當 或 時, ,即相當於對 進行 的零填充。從而 關於 的偏導數為 和 的寬卷積

用互相關的「卷積」表示,即為(注意 寬卷積運算具有交換性性質 ):

在全連接前饋神經網路中,如果第 層有 個神經元,第 層有 個神經元,連接邊有 個,也就是權重矩陣有 個參數。當 和 都很大時,權重矩陣的參數非常多,訓練的效率會非常低。

如果採用卷積來代替全連接,第 層的凈輸入 為第 層活性值 和濾波器 的卷積,即:

根據卷積的定義,卷積層有兩個很重要的性質:

由於局部連接和權重共享,卷積層的參數只有一個m維的權重 和1維的偏置 ,共 個參數。參數個數和神經元的數量無關。此外,第 層的神經元個數不是任意選擇的,而是滿足 。

卷積層的作用是提取一個局部區域的特徵,不同的卷積核相當於不同的特徵提取器。

特徵映射(Feature Map)為一幅圖像(或其它特徵映射)在經過卷積提取到的特徵,每個特徵映射可以作為一類抽取的圖像特徵。 為了提高卷積網路的表示能力,可以在每一層使用多個不同的特徵映射,以更好地表示圖像的特徵。

在輸入層,特徵映射就是圖像本身。如果是灰度圖像,就是有一個特徵映射,深度 ;如果是彩色圖像,分別有RGB三個顏色通道的特徵映射,深度 。

不失一般性,假設一個卷積層的結構如下:

為了計算輸出特徵映射 ,用卷積核 分別對輸入特徵映射 進行卷積,然後將卷積結果相加,並加上一個標量偏置 得到卷積層的凈輸入 再經過非線性激活函數後得到輸出特徵映射 。

在輸入為 ,輸出為 的卷積層中,每個輸出特徵映射都需要 個濾波器以及一個偏置。假設每個濾波器的大小為 ,那麼共需要 個參數。

匯聚層(Pooling Layer)也叫子采樣層(Subsampling Layer),其作用是進行特徵選擇,降低特徵數量,並從而減少參數數量。

常用的匯聚函數有兩種:

其中 為區域 內每個神經元的激活值。

可以看出,匯聚層不但可以有效地減少神經元的數量,還可以使得網路對一些小的局部形態改變保持不變性,並擁有更大的感受野。

典型的匯聚層是將每個特徵映射劃分為 大小的不重疊區域,然後使用最大匯聚的方式進行下采樣。匯聚層也可以看做是一個特殊的卷積層,卷積核大小為 ,步長為 ,卷積核為 函數或 函數。過大的采樣區域會急劇減少神經元的數量,會造成過多的信息損失。

一個典型的卷積網路是由卷積層、匯聚層、全連接層交叉堆疊而成。

目前常用卷積網路結構如圖所示,一個卷積塊為連續 個卷積層和 個匯聚層( 通常設置為 , 為 或 )。一個卷積網路中可以堆疊 個連續的卷積塊,然後在後面接著 個全連接層( 的取值區間比較大,比如 或者更大; 一般為 )。

目前,整個網路結構 趨向於使用更小的卷積核(比如 和 )以及更深的結構(比如層數大於50) 。此外,由於卷積的操作性越來越靈活(比如不同的步長),匯聚層的作用變得也越來越小,因此目前比較流行的卷積網路中, 匯聚層的比例也逐漸降低,趨向於全卷積網路

在全連接前饋神經網路中,梯度主要通過每一層的誤差項 進行反向傳播,並進一步計算每層參數的梯度。在卷積神經網路中,主要有兩種不同功能的神經層:卷積層和匯聚層。而參數為卷積核以及偏置,因此 只需要計算卷積層中參數的梯度。

不失一般性,第 層為卷積層,第 層的輸入特徵映射為 ,通過卷積計算得到第 層的特徵映射凈輸入 ,第 層的第 個特徵映射凈輸入

由 得:

同理可得,損失函數關於第 層的第 個偏置 的偏導數為:

在卷積網路中,每層參數的梯度依賴其所在層的誤差項 。

卷積層和匯聚層中,誤差項的計算有所不同,因此我們分別計算其誤差項。

第 層的第 個特徵映射的誤差項 的具體推導過程如下:

其中 為第 層使用的激活函數導數, 為上采樣函數(upsampling),與匯聚層中使用的下采樣操作剛好相反。如果下采樣是最大匯聚(max pooling),誤差項 中每個值會直接傳遞到上一層對應區域中的最大值所對應的神經元,該區域中其它神經元的誤差項的都設為0。如果下采樣是平均匯聚(meanpooling),誤差項 中每個值會被平均分配到上一層對應區域中的所有神經元上。

第 層的第 個特徵映射的誤差項 的具體推導過程如下:

其中 為寬卷積。

LeNet-5雖然提出的時間比較早,但是是一個非常成功的神經網路模型。基於LeNet-5 的手寫數字識別系統在90年代被美國很多銀行使用,用來識別支票上面的手寫數字。LeNet-5 的網路結構如圖:

不計輸入層,LeNet-5共有7層,每一層的結構為:

AlexNet是第一個現代深度卷積網路模型,其首次使用了很多現代深度卷積網路的一些技術方法,比如採用了ReLU作為非線性激活函數,使用Dropout防止過擬合,使用數據增強來提高模型准確率等。AlexNet 贏得了2012 年ImageNet 圖像分類競賽的冠軍。

AlexNet的結構如圖,包括5個卷積層、3個全連接層和1個softmax層。因為網路規模超出了當時的單個GPU的內存限制,AlexNet 將網路拆為兩半,分別放在兩個GPU上,GPU間只在某些層(比如第3層)進行通訊。

AlexNet的具體結構如下:

在卷積網路中,如何設置卷積層的卷積核大小是一個十分關鍵的問題。 在Inception網路中,一個卷積層包含多個不同大小的卷積操作,稱為Inception模塊。Inception網路是由有多個inception模塊和少量的匯聚層堆疊而成

v1版本的Inception模塊,採用了4組平行的特徵抽取方式,分別為1×1、3× 3、5×5的卷積和3×3的最大匯聚。同時,為了提高計算效率,減少參數數量,Inception模塊在進行3×3、5×5的卷積之前、3×3的最大匯聚之後,進行一次1×1的卷積來減少特徵映射的深度。如果輸入特徵映射之間存在冗餘信息, 1×1的卷積相當於先進行一次特徵抽取

閱讀全文

與卷積神經網路技術的發展相關的資料

熱點內容
有限狀態自動機代碼 瀏覽:816
hosts文件空內容 瀏覽:254
tcpudp源代碼 瀏覽:737
重裝系統軟體win10嗎 瀏覽:51
spss非線性回歸教程 瀏覽:183
ldb文件是什麼 瀏覽:359
無網路下手機連接投影 瀏覽:431
少兒編程有哪些技巧 瀏覽:569
網路報道失實如何舉報 瀏覽:560
網上什麼相親網站好 瀏覽:205
萊州如何優化網站 瀏覽:563
java封裝ocx 瀏覽:41
qq微信接收文件夾在哪裡 瀏覽:632
語音包文件夾後綴是多少 瀏覽:131
魅族手機app是什麼 瀏覽:887
cad添加保存文件格式 瀏覽:246
電視用什麼app看電影全部免費 瀏覽:311
數控編程培訓班有哪些 瀏覽:998
寧波市五軸編程培訓哪個好 瀏覽:631
數據結構創建一棵樹如何輸入結點 瀏覽:32

友情鏈接