卷積神經(jīng)網(wǎng)絡(luò )(CNN)基礎介紹
本文是對卷積神經(jīng)網(wǎng)絡(luò )的基礎進(jìn)行介紹,主要內容包含卷積神經(jīng)網(wǎng)絡(luò )概念、卷積神經(jīng)網(wǎng)絡(luò )結構、卷積神經(jīng)網(wǎng)絡(luò )求解、卷積神經(jīng)網(wǎng)絡(luò )LeNet-5結構分析、卷積神經(jīng)網(wǎng)絡(luò )注意事項。
本文引用地址:http://dyxdggzs.com/article/201710/370121.htm一、卷積神經(jīng)網(wǎng)絡(luò )概念
上世紀60年代。Hubel等人通過(guò)對貓視覺(jué)皮層細胞的研究,提出了感受野這個(gè)概念。到80年代。Fukushima在感受野概念的基礎之上提出了神經(jīng)認知機的概念,能夠看作是卷積神經(jīng)網(wǎng)絡(luò )的第一個(gè)實(shí)現網(wǎng)絡(luò ),神經(jīng)認知機將一個(gè)視覺(jué)模式分解成很多子模式(特征),然后進(jìn)入分層遞階式相連的特征平面進(jìn)行處理,它試圖將視覺(jué)系統模型化,使其能夠在即使物體有位移或輕微變形的時(shí)候,也能完畢識別。
卷積神經(jīng)網(wǎng)絡(luò )(Convolutional Neural Networks, CNN)是多層感知機(MLP)的變種。
由生物學(xué)家休博爾和維瑟爾在早期關(guān)于貓視覺(jué)皮層的研究發(fā)展而來(lái)。視覺(jué)皮層的細胞存在一個(gè)復雜的構造。
這些細胞對視覺(jué)輸入空間的子區域非常敏感,我們稱(chēng)之為感受野,以這樣的方式平鋪覆蓋到整個(gè)視野區域。
這些細胞能夠分為兩種基本類(lèi)型,簡(jiǎn)單細胞和復雜細胞。簡(jiǎn)單細胞最大程度響應來(lái)自感受野范圍內的邊緣刺激模式。復雜細胞有更大的接受域,它對來(lái)自確切位置的刺激具有局部不變性。
通常神經(jīng)認知機包含兩類(lèi)神經(jīng)元,即承擔特征提取的採樣元和抗變形的卷積元。採樣元中涉及兩個(gè)重要參數,即感受野與閾值參數。前者確定輸入連接的數目。后者則控制對特征子模式的反應程度。
卷積神經(jīng)網(wǎng)絡(luò )能夠看作是神經(jīng)認知機的推廣形式,神經(jīng)認知機是卷積神經(jīng)網(wǎng)絡(luò )的一種特例。
CNN由紐約大學(xué)的Yann LeCun于1998年提出。
CNN本質(zhì)上是一個(gè)多層感知機,其成功的原因關(guān)鍵在于它所採用的局部連接和共享權值的方式。一方面減少了的權值的數量使得網(wǎng)絡(luò )易于優(yōu)化。還有一方面減少了過(guò)擬合的風(fēng)險。CNN是神經(jīng)網(wǎng)絡(luò )中的一種,它的權值共享網(wǎng)絡(luò )結構使之更相似于生物神經(jīng)網(wǎng)絡(luò )。減少了網(wǎng)絡(luò )模型的復雜度,減少了權值的數量。
該長(cháng)處在網(wǎng)絡(luò )的輸入是多維圖像時(shí)表現的更為明顯,使圖像能夠直接作為網(wǎng)絡(luò )的輸入,避免了傳統識別算法中復雜的特征提取和數據重建過(guò)程。在二維圖像處理上有眾多優(yōu)勢,如網(wǎng)絡(luò )能自行抽取圖像特征包含顏色、紋理、形狀及圖像的拓撲結構;在處理二維圖像問(wèn)題上,特別是識別位移、縮放及其他形式扭曲不變性的應用上具有良好的魯棒性和運算效率等。
CNN本身能夠採用不同的神經(jīng)元和學(xué)習規則的組合形式。
CNN具有一些傳統技術(shù)所沒(méi)有的長(cháng)處:良好的容錯能力、并行處理能力和自學(xué)習能力,可處理環(huán)境信息復雜,背景知識不清楚。推理規則不明白情況下的問(wèn)題,同意樣品有較大的缺損、畸變,執行速度快,自適應性能好。具有較高的分辨率。它是通過(guò)結構重組和減少權值將特征抽取功能融合進(jìn)多層感知器,省略識別前復雜的圖像特征抽取過(guò)程。
CNN的泛化能力要顯著(zhù)優(yōu)于其他方法,卷積神經(jīng)網(wǎng)絡(luò )已被應用于模式分類(lèi),物體檢測和物體識別等方面。利用卷積神經(jīng)網(wǎng)絡(luò )建立模式分類(lèi)器,將卷積神經(jīng)網(wǎng)絡(luò )作為通用的模式分類(lèi)器,直接用于灰度圖像。
CNN是一個(gè)前潰式神經(jīng)網(wǎng)絡(luò ),能從一個(gè)二維圖像中提取其拓撲結構,採用反向傳播算法來(lái)優(yōu)化網(wǎng)絡(luò )結構,求解網(wǎng)絡(luò )中的未知參數。
CNN是一類(lèi)特別設計用來(lái)處理二維數據的多層神經(jīng)網(wǎng)絡(luò )。CNN被覺(jué)得是第一個(gè)真正成功的採用多層層次結構網(wǎng)絡(luò )的具有魯棒性的深度學(xué)習方法。CNN通過(guò)挖掘數據中的空間上的相關(guān)性。來(lái)減少網(wǎng)絡(luò )中的可訓練參數的數量,達到改進(jìn)前向傳播網(wǎng)絡(luò )的反向傳播算法效率。由于CNN須要非常少的數據預處理工作。所以也被覺(jué)得是一種深度學(xué)習的方法。在CNN中。圖像中的小塊區域(也叫做“局部感知區域”)被當做層次結構中的底層的輸入數據,信息通過(guò)前向傳播經(jīng)過(guò)網(wǎng)絡(luò )中的各個(gè)層。在每一層中都由過(guò)濾器構成,以便能夠獲得觀(guān)測數據的一些顯著(zhù)特征。
由于局部感知區域能夠獲得一些基礎的特征,比方圖像中的邊界和角落等。這樣的方法能夠提供一定程度對位移、拉伸和旋轉的相對不變性。
CNN中層次之間的緊密聯(lián)系和空間信息使得其特別適用于圖像的處理和理解。而且能夠自己主動(dòng)的從圖像抽取出豐富的相關(guān)特性。
CNN通過(guò)結合局部感知區域、共享權重、空間或者時(shí)間上的降採樣來(lái)充分利用數據本身包含的局部性等特征,優(yōu)化網(wǎng)絡(luò )結構。而且保證一定程度上的位移和變形的不變性。
CNN受視覺(jué)神經(jīng)機制的啟示而設計,是為識別二維或三維信號而設計的一個(gè)多層感知器,這樣的網(wǎng)絡(luò )結構對平移、縮放、傾斜等變形具有高度不變性。
CNN能夠用來(lái)識別位移、縮放及其他形式扭曲不變性的二維或三維圖像。
CNN的特征提取層參數是通過(guò)訓練數據學(xué)習得到的。所以其避免了人工特征提取,而是從訓練數據中進(jìn)行學(xué)習。其次同一特征圖的神經(jīng)元共享權值,減少了網(wǎng)絡(luò )參數,這也是卷積網(wǎng)絡(luò )相對于全連接網(wǎng)絡(luò )的一大優(yōu)勢。共享局部權值這一特殊結構更接近于真實(shí)的生物神經(jīng)網(wǎng)絡(luò )使CNN在圖像處理、語(yǔ)音識別領(lǐng)域有著(zhù)獨特的優(yōu)越性,還有一方面權值共享同一時(shí)候減少了網(wǎng)絡(luò )的復雜性,且多維輸入信號(語(yǔ)音、圖像)能夠直接輸入網(wǎng)絡(luò )的特點(diǎn)避免了特征提取和分類(lèi)過(guò)程中數據重排的過(guò)程。
CNN是一種特殊的深層的神經(jīng)網(wǎng)絡(luò )模型,它的特殊性體如今兩個(gè)方面。一方面它的神經(jīng)元的連接是非全連接的,還有一方面同一層中某些神經(jīng)元之間的連接的權重是共享的(即同樣的)。它的非全連接和權值共享的網(wǎng)絡(luò )結構使之更相似于生物神經(jīng)網(wǎng)絡(luò )。減少了網(wǎng)絡(luò )模型的復雜度(對于非常難學(xué)習的深層結構來(lái)說(shuō),這是非常重要的),減少了權值的數量。
CNN是一種深度的監督學(xué)習下的機器學(xué)習模型,具有極強的適應性,善于挖掘數據局部特征。提取全局訓練特征和分類(lèi),它的權值共享結構網(wǎng)絡(luò )使之更相似于生物神經(jīng)網(wǎng)絡(luò ),在模式識別各個(gè)領(lǐng)域都取得了非常好的成果。
稀疏連接:在BP神經(jīng)網(wǎng)絡(luò )中,每一層的神經(jīng)元節點(diǎn)是一個(gè)線(xiàn)性一維排列結構,層與層各神經(jīng)元節點(diǎn)之間是全連接的。卷積神經(jīng)網(wǎng)絡(luò )中,層與層之間的神經(jīng)元節點(diǎn)不再是全連接形式,利用層間局部空間相關(guān)性將相鄰每一層的神經(jīng)元節點(diǎn)僅僅與和它相近的上層神經(jīng)元節點(diǎn)連接,即局部連接。
這樣大大減少了神經(jīng)網(wǎng)絡(luò )架構的參數規模。
權重共享:在卷積神經(jīng)網(wǎng)絡(luò )中,卷積層的每一個(gè)卷積濾波器反復的作用于整個(gè)感受野中,對輸入圖像進(jìn)行卷積,卷積結果構成了輸入圖像的特征圖,提取出圖像的局部特征。
每一個(gè)卷積濾波器共享同樣的參數,包含同樣的權重矩陣和偏置項。共享權重的長(cháng)處是在對圖像進(jìn)行特征提取時(shí)不用考慮局部特征的位置。
而且權重共享提供了一種有效的方式。使要學(xué)習的卷積神經(jīng)網(wǎng)絡(luò )模型參數數量大大減少。
最大池採樣:它是一種非線(xiàn)性降採樣方法。在通過(guò)卷積獲取圖像特征之后是利用這些特征進(jìn)行分類(lèi)。能夠用全部提取到的特征數據進(jìn)行分類(lèi)器的訓練,但這一般會(huì )產(chǎn)生極大的計算量。所以在獲取圖像的卷積特征后。要通過(guò)最大池採樣方法對卷積特征進(jìn)行降維。將卷積特征劃分為數個(gè)n*n的不相交區域,用這些區域的最大(或平均)特征來(lái)表示降維后的卷積特征。
這些降維后的特征更easy進(jìn)行分類(lèi)。
最大池採樣在計算機視覺(jué)中的價(jià)值體如今兩個(gè)方面:(1)、它減小了來(lái)自上層隱藏層的計算復雜度;(2)、這些池化單元具有平移不變性。即使圖像有小的位移,提取到的特征依舊會(huì )保持不變。由于增強了對位移的魯棒性。最大池採樣方法是一個(gè)高效的減少數據維度的採樣方法。
Softmax回歸:它是在邏輯回歸的基礎上擴張而來(lái)。它的目的是為了解決多分類(lèi)問(wèn)題。在這類(lèi)問(wèn)題中。訓練樣本的種類(lèi)一般在兩個(gè)以上。
Softmax回歸是有監督學(xué)習算法,它也能夠與深度學(xué)習或無(wú)監督學(xué)習方法結合使用。
CNN是一種帶有卷積結構的深度神經(jīng)網(wǎng)絡(luò ),通常至少有兩個(gè)非線(xiàn)性可訓練的卷積層,兩個(gè)非線(xiàn)性的固定卷積層(又叫Pooling Laye)和一個(gè)全連接層,一共至少5個(gè)隱含層。
卷積神經(jīng)網(wǎng)絡(luò )中,輸入就是一幅幅的圖像,權值W就是卷積模板,通常是卷積層和下採樣層交替。最后是全連接的神經(jīng)網(wǎng)絡(luò )。
局部區域感知能夠發(fā)現數據的一些局部特征。比方圖片上的一個(gè)角,一段弧。這些基本特征是構成動(dòng)物視覺(jué)的基礎。
CNN中每一層的由多個(gè)map組成,每一個(gè)map由多個(gè)神經(jīng)單元組成。同一個(gè)map的全部神經(jīng)單元共用一個(gè)卷積核(即權重),卷積核往往代表一個(gè)特征,比方某個(gè)卷積核代表一段弧,那么把這個(gè)卷積核在整個(gè)圖片上滾一下,卷積值較大的區域就非常有可能是一段弧。注意卷積核事實(shí)上就是權重,我們并不須要單獨去計算一個(gè)卷積,而是一個(gè)固定大小的權重矩陣去圖像上匹配時(shí)。這個(gè)操作與卷積相似。因此我們稱(chēng)為卷積神經(jīng)網(wǎng)絡(luò ),實(shí)際上。BP也能夠看作一種特殊的卷積神經(jīng)網(wǎng)絡(luò )。僅僅是這個(gè)卷積核就是某層的全部權重。即感知區域是整個(gè)圖像。權重共享策略減少了須要訓練的參數。使得訓練出來(lái)的模型的泛華能力更強。
CNN一般採用卷積層與採樣層交替設置,即一層卷積層接一層採樣層,採樣層后接一層卷積...這樣卷積層提取出特征。再進(jìn)行組合形成更抽象的特征,最后形成對圖片對象的描寫(xiě)敘述特征,CNN后面還能夠跟全連接層,全連接層跟BP一樣。
CNN的最大特點(diǎn)就是稀疏連接(局部感受)和權值共享。稀疏連接和權值共享能夠減少所要訓練的參數。減少計算復雜度。
卷積神經(jīng)網(wǎng)絡(luò )是一個(gè)多層的神經(jīng)網(wǎng)絡(luò ),每層由多個(gè)二維平面組成,而每一個(gè)平面由多個(gè)獨立神經(jīng)元組成。
卷積網(wǎng)絡(luò )在本質(zhì)上是一種輸入到輸出的映射,它能夠學(xué)習大量的輸入與輸出之間的映射關(guān)系,而不須要不論什么輸入和輸出之間的精確的數學(xué)表達式。僅僅要用已知的模式對卷積網(wǎng)絡(luò )加以訓練。網(wǎng)絡(luò )就具有輸入輸出對之間的映射能力。卷積網(wǎng)絡(luò )執行的是有導師訓練。所以其樣本集是由形如:(輸入向量,理想輸出向量)的向量對構成的。
全部這些向量對,都應該是來(lái)源于網(wǎng)絡(luò )即將模擬的系統的實(shí)際“執行”結果。它們能夠是從實(shí)際執行系統中採集來(lái)的。在開(kāi)始訓練前,全部的權都應該用一些不同的小隨機數進(jìn)行初始化?!靶‰S機數”用來(lái)保證網(wǎng)絡(luò )不會(huì )因權值過(guò)大而進(jìn)入飽和狀態(tài),從而導致訓練失敗?!安煌庇脕?lái)保證網(wǎng)絡(luò )能夠正常地學(xué)習。實(shí)際上,假設用同樣的數去初始化權矩陣,則網(wǎng)絡(luò )無(wú)能力學(xué)習。
訓練算法與傳統的BP算法差點(diǎn)兒相同。
二、卷積神經(jīng)網(wǎng)絡(luò )結構
卷積神經(jīng)網(wǎng)絡(luò )總體架構:卷積神經(jīng)網(wǎng)絡(luò )是一種多層的監督學(xué)習神經(jīng)網(wǎng)絡(luò )。隱含層的卷積層和池採樣層是實(shí)現卷積神經(jīng)網(wǎng)絡(luò )特征提取功能的核心模塊。
該網(wǎng)絡(luò )模型通過(guò)採用梯度下降法最小化損失函數對網(wǎng)絡(luò )中的權重參數逐層反向調節。通過(guò)頻繁的迭代訓練提高網(wǎng)絡(luò )的精度。卷積神經(jīng)網(wǎng)絡(luò )的低隱層是由卷積層和最大池採樣層交替組成,高層是全連接層對應傳統多層感知器的隱含層和邏輯回歸分類(lèi)器。第一個(gè)全連接層的輸入是由卷積層和子採樣層進(jìn)行特征提取得到的特征圖像。
最后一層輸出層是一個(gè)分類(lèi)器,能夠採用邏輯回歸,Softmax回歸甚至是支持向量機對輸入圖像進(jìn)行分類(lèi)。
卷積神經(jīng)網(wǎng)絡(luò )結構包含:卷積層。降採樣層。全鏈接層。每一層有多個(gè)特征圖。每一個(gè)特征圖通過(guò)一種卷積濾波器提取輸入的一種特征,每一個(gè)特征圖有多個(gè)神經(jīng)元。
卷積層:使用卷積層的原因是卷積運算的一個(gè)重要特點(diǎn)是,通過(guò)卷積運算,能夠使原信號特征增強。而且減少噪音。
降採樣層:使用降採樣的原因是。依據圖像局部相關(guān)性的原理,對圖像進(jìn)行子採樣能夠減少計算量,同一時(shí)候保持圖像旋轉不變性。
採樣的目的主要是混淆特征的詳細位置,由于某個(gè)特征找出來(lái)后,它的詳細位置已經(jīng)不重要了,我們僅僅須要這個(gè)特征與其他的相對位置。比方一個(gè)“8”,當我們得到了上面一個(gè)"o"時(shí)。我們不須要知道它在圖像的詳細位置,僅僅須要知道它以下又是一個(gè)“o”我們就能夠知道是一個(gè)'8'了,由于圖片中"8"在圖片中偏左或者偏右都不影響我們認識它,這樣的混淆詳細位置的策略能對變形和扭曲的圖片進(jìn)行識別。
全連接層:採用softmax全連接,得到的激活值即卷積神經(jīng)網(wǎng)絡(luò )提取到的圖片特征。
卷積層的map個(gè)數是在網(wǎng)絡(luò )初始化指定的,而卷積層的map的大小是由卷積核和上一層輸入map的大小決定的,假設上一層的map大小是n*n、卷積核的大小是k*k。則該層的map大小是(n-k+1)*(n-k+1)。
採樣層是對上一層map的一個(gè)採樣處理,這里的採樣方式是對上一層map的相鄰小區域進(jìn)行聚合統計。區域大小為scale*scale。有些實(shí)現是取小區域的最大值,而ToolBox里面的實(shí)現是採用2*2小區域的均值。注意,卷積的計算窗體是有重疊的。而採樣的計算窗體沒(méi)有重疊,ToolBox里面計算採樣也是用卷積(conv2(A,K,'valid'))來(lái)實(shí)現的,卷積核是2*2。每一個(gè)元素都是1/4。去掉計算得到的卷積結果中有重疊的部分。
CNN的基本結構包含兩種特殊的神經(jīng)元層。其一為卷積層,每一個(gè)神經(jīng)元的輸入與前一層的局部相連,并提取該局部的特征。其二是池化層,用來(lái)求局部敏感性與二次特征提取的計算層。這樣的兩次特征提取結構減少了特征分辨率,減少了須要優(yōu)化的參數數目。
CNN是部分連接網(wǎng)絡(luò )。其最底層是特征提取層(卷積層)。接著(zhù)是池化層(Pooling),然后能夠繼續添加卷積、池化或全連接層。用于模式分類(lèi)的CNN,通常在最后層使用softmax.
普通情況下,CNN的結構形式是:輸入層--> Conv層 --> Pooling層 --> (反復Conv、Pooling層) … --> FC(Full-connected)層 --> 輸出結果。
通常輸入層大小一般為2的整數倍。如32,64,96,224,384等。
通常卷積層使用較小的filter,如3*3,最大也就5*5。
Pooling層用于對卷積結果進(jìn)行減少維度,比如選擇2*2的區域對卷積層進(jìn)行減少維度,則選擇2*2區域的最大值作為輸出,這樣卷積層的維度就降為之前一半。
一般地,CNN的基本結構包含兩層,其一為特征提取層,每一個(gè)神經(jīng)元的輸入與前一層的局部接受域相連,并提取該局部的特征。
一旦該局部特征被提取后,它與其他特征間的位置關(guān)系也隨之確定下來(lái);其二是特征映射層,網(wǎng)絡(luò )的每一個(gè)計算層由多個(gè)特征映射組成。每一個(gè)特征映射是一個(gè)平面,平面上全部神經(jīng)元的權值相等。特征映射結構採用影響函數核小的sigmoid函數作為卷積網(wǎng)絡(luò )的激活函數,使得特征映射具有位移不變性。此外,由于一個(gè)映射面上的神經(jīng)元共享權值,因而減少了網(wǎng)絡(luò )自由參數的個(gè)數。卷積神經(jīng)網(wǎng)絡(luò )中的每一個(gè)卷積層都緊跟著(zhù)一個(gè)用來(lái)求局部平均與二次提取的計算層,這樣的特有的兩次特征提取結構減小了特征分辨率。
對于圖像識別任務(wù),卷積神經(jīng)網(wǎng)絡(luò )的結構一般例如以下圖所看到的。
輸入層讀入經(jīng)過(guò)簡(jiǎn)單的規則化(統一大小)的圖像。每一層中的單元將前一層中的一組小的局部近鄰的單元作為輸入。這樣的局部連接觀(guān)點(diǎn)來(lái)源于早期的感知器,而且和Hubel、Wiesel從貓科動(dòng)物的視覺(jué)系統中發(fā)現的局部感知、方向選擇神經(jīng)元相一致。
通過(guò)局部感知場(chǎng),神經(jīng)元能夠抽取一些主要的視覺(jué)特征,比方有向邊、結束點(diǎn)、邊角等等。這些特征然后被更高層的神經(jīng)元所使用。
而且。適用于某個(gè)局部的基礎特征抽取器同樣也傾向于適用于整個(gè)圖像。通過(guò)利用這樣的特征,卷積神經(jīng)網(wǎng)絡(luò )利用一組分布于圖像各個(gè)不同位置但具有同樣權值向量的單元,來(lái)獲取圖像的特征并構成一幅特征圖(Feature Map)。在每一個(gè)位置,來(lái)自不同特征圖的單元得到各自不同類(lèi)型的特征。一個(gè)特征圖中的不同單元被限制為對輸入圖中的各個(gè)不同位置的局部數據進(jìn)行同樣的操作。這樣的操作等同于將輸入圖像對于一個(gè)小的核進(jìn)行卷積。一個(gè)卷積層中通常包含多個(gè)具有不同權值向量的特征圖,使得在同一個(gè)位置能夠獲得多種不同的特征。例如以下圖,第一個(gè)隱含層包含4個(gè)特征圖。每一個(gè)特征圖由5*5的局部感知區域構成。一旦一個(gè)特征被檢測到。僅僅要其相對于其他特征的相對位置沒(méi)有改變。那么其在圖像中的絕對位置就變得不是特別重要。
因此。每一個(gè)卷積層后面尾隨著(zhù)一個(gè)降採樣層。
降採樣層進(jìn)行局部平均和降採樣的操作。減少特征圖的分辨率,同一時(shí)候減少了網(wǎng)絡(luò )輸出對于位移和變形的敏感程度。第二個(gè)隱含層進(jìn)行2*2的平均化降採樣的操作。興許的卷積層和降採樣層都交替分布連接,構成一個(gè)“雙金字塔”結構:特征圖的數目逐漸增多,而且特征圖的分辨率逐漸減少。
由于全部權重都是通過(guò)反向傳播算法訓練得到 。卷積神經(jīng)網(wǎng)絡(luò )能夠被看作自己主動(dòng)合成其自身的特征抽取器。
普通情況下卷積神經(jīng)網(wǎng)絡(luò )中,卷積層和降採樣層交替連接在一起,用于減少計算時(shí)間并逐步建立起更高的空間和數據結構不變性,并通過(guò)比較小的降採樣系數使得這些特性得以維持。
CNN的分類(lèi)模型與傳統模型的不同點(diǎn)在于其能夠直接將一幅二維圖像輸入模型中。接著(zhù)在輸出端即給出分類(lèi)結果。其優(yōu)勢在于不需復雜的預處理。將特征抽取。模式分類(lèi)全然放入一個(gè)黑匣子中。通過(guò)不斷的優(yōu)化來(lái)獲得網(wǎng)絡(luò )所需參數。在輸出層給出所需分類(lèi)。網(wǎng)絡(luò )核心就是網(wǎng)絡(luò )的結構設計與網(wǎng)絡(luò )的求解。這樣的求解結構比以往多種算法性能更高。
CNN是一個(gè)多層的神經(jīng)網(wǎng)絡(luò ),每層由多個(gè)二維平面組成,而每一個(gè)平面由多個(gè)獨立神經(jīng)元組成。網(wǎng)絡(luò )中包含簡(jiǎn)單元(S-元)和復雜元(C-元)。S-元聚合在一起組成S-面,S-面聚合在一起組成S-層。
C-元、C-面和C-層之間存在相似的關(guān)系。
網(wǎng)絡(luò )的中間部分由S-層與C-層串接而成。輸入級僅僅含一層。它直接接受二維視覺(jué)模式。樣本特征提取步驟已嵌入到卷積神經(jīng)網(wǎng)絡(luò )模型的互聯(lián)結構中。
一般。S為特征提取層,每一個(gè)神經(jīng)元的輸入與前一層的局部感受野相連接。并提取該局部的特征,一旦該局部特征被提取,它與其他特征之間的位置關(guān)系就被確定。C是特征映射層,網(wǎng)絡(luò )的每一個(gè)計算層由多個(gè)特征映射組成,每一個(gè)特征映射為一個(gè)平面,平面上全部神經(jīng)元的權值同樣。
特征映射結構採用影響函數核小的Sigmoid函數作為卷積網(wǎng)絡(luò )的激活函數,使得特征映射具有位移不變性。由于每一個(gè)映射面上的神經(jīng)元權值共享,減少了網(wǎng)絡(luò )的自由參數數目,減少了網(wǎng)絡(luò )參數選擇的復雜度。CNN中的每一個(gè)特征提取層(S-層)都跟著(zhù)一個(gè)用來(lái)求局部平均與二次提取的計算層(C-層),這樣的特有的兩次特征提取結構使網(wǎng)絡(luò )在識別時(shí)對輸入樣本有較高的畸變容忍能力。
CNN網(wǎng)絡(luò )除了輸入輸出層,還有中間的卷積層,抽樣層與全連接層。將原始圖像直接輸入到輸入層,原始圖像的大小決定了輸入向量的尺寸。神經(jīng)元提取圖像的局部特征。每一個(gè)神經(jīng)元都與前一層的局部感受野相連,通過(guò)交替出現的抽樣層(S)與卷積層(C)和最后的全連接層。在輸出層給出網(wǎng)絡(luò )的輸出。
在卷積層和抽樣層中有若干個(gè)特征圖。每一層有多個(gè)平面,每層中各平面的神經(jīng)元提取圖像中特定區域的局部特征。如邊緣特征,方向特征等。在訓練時(shí)不斷修正S-層神經(jīng)元的權值。同一層面上的神經(jīng)元權值同樣,這樣能夠有同樣程度的位移、旋轉不變性。由于權值共享。所以從一個(gè)平面到下個(gè)平面的映射能夠看做是作卷積運算。S-層可看作是模糊濾波器。起到二次特征提取的作用。隱層與隱層之間空間分辨率遞減,每層所含的平面數遞增,這樣可用于檢測很多其他的特征信息。
卷積層中,前一層的特征圖與一個(gè)可學(xué)習的核進(jìn)行卷積,卷積的結果經(jīng)過(guò)激活函數后的輸出形成這一層的神經(jīng)元,從而構成該層特征圖。
卷積層與抽樣層間隔出現,卷積層每一個(gè)輸出的特征圖可能與前一層的幾個(gè)特征圖的卷積建立關(guān)系。每一個(gè)特征圖能夠有不同的卷積核。卷積層主要的任務(wù)就是從不同的角度來(lái)選擇前一層特征圖的各角度特征使其具有位移不變性。卷積的本質(zhì)就是對前一層的特征圖進(jìn)行處理。來(lái)得到這一層的特征圖。抽樣層主要作用是減少網(wǎng)絡(luò )的空間分辨率,通過(guò)減少圖像的空間分辨率來(lái)消除偏移和圖像的扭曲。
隱層的參數個(gè)數和隱層的神經(jīng)元個(gè)數無(wú)關(guān),僅僅和濾波器的大小和濾波器種類(lèi)的多少有關(guān)。隱層的神經(jīng)元個(gè)數,它和原圖像,也就是輸入的大小(神經(jīng)元個(gè)數)、濾波器的大小和濾波器在圖像中的滑動(dòng)步長(cháng)都有關(guān)。
三、卷積神經(jīng)網(wǎng)絡(luò )求解
CNN通過(guò)三個(gè)方法來(lái)實(shí)現識別圖像的位移、縮放和扭曲不變性,即局域感受野、權值共享和次抽樣。
局域感受野指的是每一層網(wǎng)絡(luò )的神經(jīng)元僅僅與上一層的一個(gè)小鄰域內的神經(jīng)單元連接。通過(guò)局域感受野。每一個(gè)神經(jīng)元能夠提取0基礎的視覺(jué)特征,如方向線(xiàn)段,端點(diǎn)和角點(diǎn)等;權值共享使得CNN具有更少的參數,須要相對少的訓練數據;次抽樣能夠減少特征的分辨率,實(shí)現對位移、縮放和其他形式扭曲的不變性。
卷積層之后通經(jīng)常使用一個(gè)次抽樣層來(lái)減少計算時(shí)間、建立空間和結構上的不變性。
構造好網(wǎng)絡(luò )之后,須要對網(wǎng)絡(luò )進(jìn)行求解。假設像傳統神經(jīng)網(wǎng)絡(luò )一樣分配參數,則每一個(gè)連接都會(huì )有未知參數。而CNN採用的是權值共享,這樣一來(lái)通過(guò)一幅特征圖上的神經(jīng)元共享同樣的權值就能夠大大減少自由參數,這能夠用來(lái)檢測同樣的特征在不同角度表示的效果。在網(wǎng)絡(luò )設計中通常都是抽樣層與卷積層交替出現,全連接層的前一層通常為卷積層。
在CNN中,權值更新是基于反向傳播算法。
CNN在本質(zhì)上是一種輸入到輸出的映射,它能夠學(xué)習大量的輸入與輸出之間的映射關(guān)系,而不須要不論什么輸入和輸出之間的精確的數學(xué)表達式,僅僅要用已知的模式對卷積網(wǎng)絡(luò )加以訓練,網(wǎng)絡(luò )就具有輸入輸出對之間的映射能力。卷積網(wǎng)絡(luò )執行的是監督訓練,所以其樣本集是由形如:輸入向量。理想輸出向量的向量對構成的。全部這些向量對,都應該是來(lái)源于網(wǎng)絡(luò )即將模擬系統的實(shí)際“執行”結構,它們能夠是從實(shí)際執行系統中採集來(lái)。在開(kāi)始訓練前。全部的權都應該用一些不同的隨機數進(jìn)行初始化?!靶‰S機數”用來(lái)保證網(wǎng)絡(luò )不會(huì )因權值過(guò)大而進(jìn)入飽和狀態(tài),從而導致訓練失敗;“不同”用來(lái)保證網(wǎng)絡(luò )能夠正常地學(xué)習。實(shí)際上。假設用同樣的數去初始化權矩陣,則網(wǎng)絡(luò )無(wú)學(xué)習能力。
訓練算法主要包含四步,這四步被分為兩個(gè)階段:
第一階段,向前傳播階段:
(1)、從樣本集中取一個(gè)樣本,輸入網(wǎng)絡(luò );
(2)、計算對應的實(shí)際輸出。在此階段,信息從輸入層經(jīng)過(guò)逐級的變換,傳送到輸出層。這個(gè)過(guò)程也是網(wǎng)絡(luò )在完畢訓練后正常執行時(shí)執行的過(guò)程。
第二階段,向后傳播階段:
(1)、計算實(shí)際輸出與對應的理想輸出的差;
(2)、按極小化誤差的方法調整權矩陣。
這兩個(gè)階段的工作一般應受到精度要求的控制。
網(wǎng)絡(luò )的訓練步驟例如以下:
(1)、選定訓練組,從樣本集中分別隨機地尋求N個(gè)樣本作為訓練組。
(2)、將各權值、閾值,置成小的接近于0的隨機值。并初始化精度控制參數和學(xué)習率;
(3)、從訓練組中取一個(gè)輸入模式加到網(wǎng)絡(luò ),并給出它的目標輸出向量;
(4)、計算出中間層輸出向量,計算出網(wǎng)絡(luò )的實(shí)際輸出向量;
(5)、將輸出向量中的元素與目標向量中的元素進(jìn)行比較。計算出輸出誤差;對于中間層的隱單元也須要計算出誤差;
(6)、依次計算出各權值的調整量和閾值的調整量;
(7)、調整權值和調整閾值;
(8)、當經(jīng)歷M后,推斷指標是否滿(mǎn)足精度要求,假設不滿(mǎn)足,則返回(3)。繼續迭代。假設滿(mǎn)足就進(jìn)入下一步;
(9)、訓練結束,將權值和閾值保存在文件里。這時(shí)能夠覺(jué)得各個(gè)權值已經(jīng)達到穩定,分類(lèi)器已經(jīng)形成。再一次進(jìn)行訓練。直接從文件導出權值和閾值進(jìn)行訓練,不須要進(jìn)行初始化。
四、卷積神經(jīng)網(wǎng)絡(luò )LeNet-5結構分析
CNN是一種帶有卷積結構的深度神經(jīng)網(wǎng)絡(luò ),通常至少有兩個(gè)非線(xiàn)性可訓練的卷積層。兩個(gè)非線(xiàn)性的固定卷積層(又叫Pooling Layer或降採樣層)和一個(gè)全連接層,一共至少5個(gè)隱含層。
CNN的結構受到著(zhù)名的Hubel-Wiesel生物視覺(jué)模型的啟示。尤其是模擬視覺(jué)皮層V1和V2層中Simple Cell和Complex Cell的行為。
LeNet-5手寫(xiě)數字識別結構(上圖)分析:
1. 輸入層:N個(gè)32*32的訓練樣本
輸入圖像為32*32大小。這要比Mnist數據庫中最大的字母還大。這樣做的原因是希望潛在的明顯特征如筆畫(huà)斷點(diǎn)或角點(diǎn)能夠出如今最高層特征監測子感受野的中心。
2. C1層:
輸入圖片大?。?nbsp;32*32
卷積窗大?。?nbsp;5*5
卷積窗種類(lèi): 6
輸出特征圖數量: 6
輸出特征圖大?。?nbsp;28*28 (32-5+1)
神經(jīng)元數量: 4707 (28*28)*6)
連接數: 122304 (28*28*5*5*6)+(28*28*6)
可訓練參數: 156 5*5*6+6
用6個(gè)5×5的過(guò)濾器進(jìn)行卷積,結果是在卷積層C1中,得到6張特征圖,特征圖的每一個(gè)神經(jīng)元與輸入圖片中的5×5的鄰域相連。即用5×5的卷積核去卷積輸入層,由卷積運算可得C1層輸出的特征圖大小為(32-5+1)×(32-5+1)=28×28。
3. S2層:
輸入圖片大?。?nbsp;(28*28)*6
卷積窗大?。?nbsp;2*2
卷積窗種類(lèi): 6
輸出下採樣圖數量:6
輸出下採樣圖大?。?4*14 (28/2)*(28/2)
神經(jīng)元數量: 1176 (14*14)*6
連接數: 5880 2*2*14*14*6+14*14*6
可訓練參數: 12 1*6+6
卷積和子採樣過(guò)程:
(1)、卷積過(guò)程包含:用一個(gè)可訓練的濾波器fx去卷積一個(gè)輸入的圖像(第一階段是輸入的圖像,后面的階段就是卷積特征map了),然后加一個(gè)偏置bx。得到卷積層Cx。
卷積運算一個(gè)重要的特點(diǎn)就是,通過(guò)卷積運算,能夠使原信號特征增強,而且減少噪音。
(2)、子採樣過(guò)程包含:每鄰域四個(gè)像素求和變?yōu)橐粋€(gè)像素,然后通過(guò)標量Wx+1加權,再添加偏置bx+1。然后通過(guò)一個(gè)sigmoid激活函數,產(chǎn)生一個(gè)大概縮小四倍的特征映射圖Sx+1。
利用圖像局部相關(guān)性的原理,對圖像進(jìn)行子抽樣,能夠減少數據處理量同一時(shí)候保留實(shí)用信息。
卷積之后進(jìn)行子抽樣的思想是受到動(dòng)物視覺(jué)系統中的“簡(jiǎn)單的”細胞后面跟著(zhù)“復雜的”細胞的想法的啟示而產(chǎn)生的。
降採樣后。降採樣層S2的輸出特征圖大小為(28÷2)×(28÷2)=14×14。
S2層每一個(gè)單元的4個(gè)輸入相加,乘以一個(gè)可訓練參數。再加上一個(gè)可訓練偏置。結果通過(guò)sigmoid函數計算??捎柧毾禂岛推每刂浦?zhù)sigmoid函數的非線(xiàn)性程度。
假設系數比較小,那么運算近似于線(xiàn)性運算,下採樣相當于模糊圖像。假設系數比較大,依據偏置的大小下採樣能夠被看成是有噪聲的“或”運算或者有噪聲的“與”運算。每一個(gè)單元的2*2感受野并不重疊。因此S2中每一個(gè)特征圖的大小是C1中特征圖大小的1/4(行和列各1/2)。
從一個(gè)平面到下一個(gè)平面的映射能夠看作是作卷積運算,S-層可看作是模糊濾波器,起到二次特征提取的作用。隱層與隱層之間空間分辨率遞減,而每層所含的平面數遞增。這樣可用于檢測很多其他的特征信息。
4. C3層:
輸入圖片大?。?nbsp;(14*14)*6
卷積窗大?。?nbsp;5*5
卷積窗種類(lèi): 16
輸出特征圖數量: 16
輸出特征圖大?。?nbsp;10*10 (14-5+1)
神經(jīng)元數量: 1600 (10*10)*16)
連接數: 151600 1516*10*10
可訓練參數: 1516 6*(3*25+1)+6*(4*25+1)+3*(4*25+1)+1*(6*25+1)
C3層也是一個(gè)卷積層,它同樣通過(guò)5x5的卷積核去卷積S2層,然后得到的特征map就僅僅有10x10個(gè)神經(jīng)元??墒撬?6種不同的卷積核。所以就存在16個(gè)特征map了。這里須要注意的一點(diǎn)是:C3中的每一個(gè)特征map是連接到S2中的全部6個(gè)或者幾個(gè)特征map的,表示本層的特征map是上一層提取到的特征map的不同組合(這個(gè)做法也并非唯一的)。
C3中每一個(gè)特征圖由S2中全部6個(gè)或者幾個(gè)特征map組合而成。為什么不把S2中的每一個(gè)特征圖連接到每一個(gè)C3的特征圖呢?原因有2點(diǎn)。第一。不全然的連接機制將連接的數量保持在合理的范圍內。第二,也是最重要的,其破壞了網(wǎng)絡(luò )的對稱(chēng)性。由于不同的特征圖有不同的輸入,所以迫使他們抽取不同的特征。
5. S4層:
輸入圖片大?。?nbsp;(10*10)*16
卷積窗大?。?nbsp;2*2
卷積窗種類(lèi): 16
輸出下採樣圖數量: 16
輸出下採樣圖大?。?nbsp;(5*5)*16
神經(jīng)元數量: 400 (5*5)*16
連接數: 2000 (2*2*5*5*16)+(5*5*16)
可訓練參數: 32 (1+1)*16
S4層是一個(gè)下採樣層,由16個(gè)5*5大小的特征圖構成。特征圖中的每一個(gè)單元與C3中對應特征圖的2*2鄰域相連接,跟C1和S2之間的連接一樣。S4層有32個(gè)可訓練參數(每一個(gè)特征圖1個(gè)因子和一個(gè)偏置)和2000個(gè)連接。
6. C5層:
輸入圖片大?。?nbsp;(5*5)*16
卷積窗大?。?nbsp;5*5
卷積窗種類(lèi): 120
輸出特征圖數量: 120
輸出特征圖大?。?nbsp;1*1 (5-5+1)
神經(jīng)元數量: 120 (1*120)
連接數: 48120 5*5*16*120*1+120*1
可訓練參數: 48120 5*5*16*120+120
C5層是一個(gè)卷積層。有120個(gè)特征圖。
每一個(gè)單元與S4層的全部16個(gè)單元的5*5鄰域相連。由于S4層特征圖的大小也為5*5(同濾波器一樣),故C5特征圖的大小為1*1,這構成了S4和C5之間的全連接。之所以仍將C5標示為卷積層而非全相聯(lián)層。是由于假設LeNet-5的輸入變大,而其他的保持不變。那么此時(shí)特征圖的維數就會(huì )比1*1大。C5層有48120個(gè)可訓練連接。
7. F6層:
輸入圖片大?。?nbsp;(1*1)*120
卷積窗大?。?nbsp;1*1
卷積窗種類(lèi): 84
輸出特征圖數量: 1
輸出特征圖大?。?nbsp;84
神經(jīng)元數量: 84
連接數: 10164 120*84+84
可訓練參數: 10164 120*84+84
F6層有84個(gè)單元(之所以選這個(gè)數字的原因來(lái)自于輸出層的設計)。與C5層全相連。
有10164個(gè)可訓練參數。如同經(jīng)典神經(jīng)網(wǎng)絡(luò ),F6層計算輸入向量和權重向量之間的點(diǎn)積。再加上一個(gè)偏置。然后將其傳遞給sigmoid函數產(chǎn)生單元i的一個(gè)狀態(tài)。
8. OUTPUT層:
輸入圖片大?。?nbsp;1*84
輸出特征圖數量: 1*10
最后,輸出層由歐式徑向基函數(EuclideanRadial Basis Function)單元組成,每類(lèi)一個(gè)單元。每一個(gè)有84個(gè)輸入。換句話(huà)說(shuō)。每一個(gè)輸出RBF單元計算輸入向量和參數向量之間的歐式距離。
輸入離參數向量越遠,RBF輸出的越大。
一個(gè)RBF輸出能夠被理解為衡量輸入模式和與RBF相關(guān)聯(lián)類(lèi)的一個(gè)模型的匹配程度的懲處項。
用概率術(shù)語(yǔ)來(lái)說(shuō),RBF輸出能夠被理解為F6層配置空間的高斯分布的負log-likelihood。
給定一個(gè)輸入模式,損失函數應能使得F6的配置與RBF參數向量(即模式的期望分類(lèi))足夠接近。這些單元的參數是人工選取并保持固定的(至少初始時(shí)候如此)。這些參數向量的成分被設為-1或1。盡管這些參數能夠以-1和1等概率的方式任選,或者構成一個(gè)糾錯碼??墒潜辉O計成一個(gè)對應字符類(lèi)的7*12大小(即84)的格式化圖片。這樣的表示對識別單獨的數字不是非常實(shí)用,可是對識別可打印ASCII集中的字符串非常實(shí)用。
使用這樣的分布編碼而非更經(jīng)常使用的“1 of N”編碼用于產(chǎn)生輸出的還有一個(gè)原因是。當類(lèi)別比較大的時(shí)候,非分布編碼的效果比較差。原因是大多數時(shí)間非分布編碼的輸出必須為0。這使得用sigmoid單元非常難實(shí)現。還有一個(gè)原因是分類(lèi)器不僅用于識別字母。也用于拒絕非字母。使用分布編碼的RBF更適合該目標。由于與sigmoid不同,他們在輸入空間的較好限制的區域內興奮。而非典型模式更easy落到外邊。
RBF參數向量起著(zhù)F6層目標向量的角色。
須要指出這些向量的成分是+1或-1,這正好在F6 sigmoid的范圍內,因此能夠防止sigmoid函數飽和。
實(shí)際上。+1和-1是sigmoid函數的最大彎曲的點(diǎn)處。這使得F6單元執行在最大非線(xiàn)性范圍內。必須避免sigmoid函數的飽和,由于這將會(huì )導致?lián)p失函數較慢的收斂和病態(tài)問(wèn)題。
五、卷積神經(jīng)網(wǎng)絡(luò )注意事項
1. 數據集的大小和分塊
數據驅動(dòng)的模型一般依賴(lài)于數據集的大小,CNN和其他經(jīng)驗模型一樣,能適用于隨意大小的數據集。但用于訓練的數據集應該足夠大,能夠覆蓋問(wèn)題域中全部已知可能出現的問(wèn)題。設計CNN的時(shí)候,數據集中應該包含三個(gè)子集:訓練集、測試集、驗證集。
訓練集應該包含問(wèn)題域中的全部數據。并在訓練階段用來(lái)調整網(wǎng)絡(luò )權值。測試集用來(lái)在訓練過(guò)程中測試網(wǎng)絡(luò )對于訓練集中未出現的數據的分類(lèi)性能。依據網(wǎng)絡(luò )在測試集上的性能情況。網(wǎng)絡(luò )的結構可能須要做出調整,或者添加訓練循環(huán)的次數。
驗證集中的數據同樣應該包含在測試集合訓練集中沒(méi)有出現過(guò)的數據,用于在確定網(wǎng)絡(luò )結構后能夠更加好的測試和衡量網(wǎng)絡(luò )的性能。Looney等人建議。數據集中的65%用于訓練。25%用于測試。剩余的10%用于驗證。
2. 數據預處理
為了加速訓練算法的收斂速度,一般都會(huì )採用一些數據預處理技術(shù)。這當中包含:去除噪聲、輸入數據降維、刪除無(wú)關(guān)數據等。數據的平衡化在分類(lèi)問(wèn)題中異常重要,一般覺(jué)得訓練集中的數據應該相對于標簽類(lèi)別近似于平均分布。也就是每一個(gè)類(lèi)別標簽所對應的數據量在訓練集中是基本相等的。以避免網(wǎng)絡(luò )過(guò)于傾向于表現某些分類(lèi)的特點(diǎn)。
為了平衡數據集,應該移除一些過(guò)度富余的分類(lèi)中的數據,并對應的補充一些相對例子稀少的分類(lèi)中的數據。還有一個(gè)辦法就是復制一部分這些例子稀少分類(lèi)中的數據,并在這些輸入數據中添加隨機噪聲。
3. 數據規則化
將數據規則化到一個(gè)統一的區間(如[0,1])中具有非常重要的長(cháng)處:防止數據中存在較大數值的數據造成數值較小的數據對于訓練效果減弱甚至無(wú)效化。一個(gè)經(jīng)常使用的方法是將輸入和輸出數據按比例調整到一個(gè)和激活函數(sigmoid函數等)相對應的區間。
4. 網(wǎng)絡(luò )權值初始化
CNN的初始化主要是初始化卷積層和輸出層的卷積核(權重)和偏置。
網(wǎng)絡(luò )權值初始化就是將網(wǎng)絡(luò )中的全部連接權值(包含閾值)賦予一個(gè)初始值。假設初始權值向量處在誤差曲面的一個(gè)相對平緩的區域的時(shí)候,網(wǎng)絡(luò )訓練的收斂速度可能會(huì )異常緩慢。普通情況下,網(wǎng)絡(luò )的連接權值和閾值被初始化在一個(gè)具有0均值的相對小的區間內均勻分布,比方[-0.30, +0.30]這樣的區間內。
5. BP算法的學(xué)習速率
假設學(xué)習速率n選取的比較大則會(huì )在訓練過(guò)程中較大幅度的調整權值w。從而加快網(wǎng)絡(luò )訓練的速度,但這會(huì )造成網(wǎng)絡(luò )在誤差曲面上搜索過(guò)程中頻繁抖動(dòng)且有可能使得訓練過(guò)程不能收斂。而且可能越過(guò)一些接近優(yōu)化w。
同樣,比較小的學(xué)習速率能夠穩定的使得網(wǎng)絡(luò )逼近于全局最長(cháng)處。但也有可能陷入一些局部最優(yōu)區域。對于不同的學(xué)習速率設定都有各自的優(yōu)缺點(diǎn)。而且還有一種自適應的學(xué)習速率方法,即n隨著(zhù)訓練算法的執行過(guò)程而自行調整。
6. 收斂條件
有幾個(gè)條件能夠作為停止訓練的判定條件,訓練誤差、誤差梯度和交叉驗證。一般來(lái)說(shuō)。訓練集的誤差會(huì )隨著(zhù)網(wǎng)絡(luò )訓練的進(jìn)行而逐步減少。
7. 訓練方式
訓練例子能夠有兩種主要的方式提供給網(wǎng)絡(luò )訓練使用。也能夠是兩者的結合:逐個(gè)例子訓練(EET)、批量例子訓練(BT)。在EET中,先將第一個(gè)例子提供給網(wǎng)絡(luò ),然后開(kāi)始應用BP算法訓練網(wǎng)絡(luò )。直到訓練誤差減少到一個(gè)能夠接受的范圍,或者進(jìn)行了指定步驟的訓練次數。然后再將第二個(gè)例子提供給網(wǎng)絡(luò )訓練。
EET的長(cháng)處是相對于BT僅僅須要非常少的存儲空間,而且有更好的隨機搜索能力,防止訓練過(guò)程陷入局部最小區域。EET的缺點(diǎn)是假設網(wǎng)絡(luò )接收到的第一個(gè)例子就是劣質(zhì)(有可能是噪音數據或者特征不明顯)的數據,可能使得網(wǎng)絡(luò )訓練過(guò)程朝著(zhù)全局誤差最小化的反方向進(jìn)行搜索。相對的,BT方法是在全部訓練例子都經(jīng)過(guò)網(wǎng)絡(luò )傳播后才更新一次權值,因此每一次學(xué)習周期就包含了全部的訓練例子數據。BT方法的缺點(diǎn)也非常明顯。須要大量的存儲空間,而且相比EET更easy陷入局部最小區域。而隨機訓練(ST)則是相對于EET和BT一種折衷的方法,ST和EET一樣也是一次僅僅接受一個(gè)訓練例子,但僅僅進(jìn)行一次BP算法并更新權值。然后接受下一個(gè)例子反復同樣的步驟計算并更新權值。而且在接受訓練集最后一個(gè)例子后,又一次回到第一個(gè)例子進(jìn)行計算。
ST和EET相比。保留了隨機搜索的能力,同一時(shí)候又避免了訓練例子中最開(kāi)始幾個(gè)例子假設出現劣質(zhì)數據對訓練過(guò)程的過(guò)度不良影響。
以上整理的內容主要摘自:
1. 《Gradient-Based Learning Applied to Document Recognition》,1998,Yann LeCun
2. 《卷積神經(jīng)網(wǎng)絡(luò )在圖像識別上的應用研究》,2012,碩論,浙江大學(xué)
3. 《卷積神經(jīng)網(wǎng)絡(luò )的研究與應用》,2013,碩論,南京林業(yè)大學(xué)
4. 《卷積神經(jīng)網(wǎng)絡(luò )及其應用》。2014,碩論,大連理工大學(xué)
5. 《基于卷積神經(jīng)網(wǎng)絡(luò )的深度學(xué)習算法與應用研究》,2014。碩論,浙江工商大學(xué)
評論