色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 智能計算 > 設計應用 > 人工智能之卷積神經網絡(CNN)

          人工智能之卷積神經網絡(CNN)

          作者: 時間:2018-06-19 來源:網絡 收藏

            前言:機器學習有關算法內容,請參見公眾號“科技優(yōu)化生活”之前相關文章。之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下卷積神經網絡()算法。 ^_^

          本文引用地址:http://cafeforensic.com/article/201806/381807.htm

            20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用于局部敏感和方向選擇的神經元時發(fā)現其獨特的網絡結構可以有效地降低反饋神經網絡的復雜性,繼而提出了卷積神經網絡(Convolutional Neural Networks)。

            1980年,K.Fukushima提出的新識別機是卷積神經網絡的第一個實現網絡。隨后,更多的科研工作者對該網絡進行了改進。其中,具有代表性的研究成果是Alexander和Taylor提出的“改進認知機”,該方法綜合了各種改進方法的優(yōu)點并避免了耗時的誤差反向傳播。

            現在,已經成為眾多科學領域的研究熱點之一,特別是在模式分類領域,由于該網絡避免了對圖像的復雜前期預處理,可以直接輸入原始圖像,因而得到了更為廣泛的應用。


          blob.png


            CNN概念:

            在機器學習中,卷積神經網絡CNN(Convolutional Neural Network)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋范圍內的周圍單元,可以應用于語音識別、圖像處理和圖像識別等領域。

            CNN引入意義:

            在全連接神經網絡中(下面左圖),每相鄰兩層之間的每個神經元之間都是有邊相連的。當輸入層的特征維度變得很高時,這時全連接網絡需要訓練的參數就會增大很多,計算速度就會變得很慢。

            而在卷積神經網絡CNN中(下面右圖),卷積層的神經元只與前一層的部分神經元節(jié)點相連,即它的神經元間的連接是非全連接的,且同一層中某些神經元之間的連接的權重w和偏移b是共享的,這樣大量地減少了需要訓練參數的數量。


          blob.png


            CNN核心思想:

            CNN模型限制參數了個數并挖掘了局部結構。主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。局部感受視野,權值共享以及時間或空間亞采樣這三種思想結合起來,獲得了某種程度的位移、尺度、形變不變性。通過“卷積核”作為中介。同一個卷積核在所有圖像內是共享的,圖像通過卷積操作后仍然保留原先的位置關系。


          blob.png


            CNN實質:

            CNN在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數學表達式,只要用已知的模式對卷積網絡加以訓練,網絡就具有輸入輸出對之間的映射能力。卷積網絡執(zhí)行的是有導師訓練,所以其樣本集是由形如:(輸入向量,理想輸出向量)的向量對構成的。所有這些向量對,都應該是來源于網絡即將模擬的系統(tǒng)的實際“運行”結果。它們可以是從實際運行系統(tǒng)中采集來的。在開始訓練前,所有的權都應該用一些不同的小隨機數進行初始化?!靶‰S機數”用來保證網絡不會因權值過大而進入飽和狀態(tài)而導致訓練失敗;“不同”用來保證網絡可以正常地學習。

            CNN基本結構:

            卷積神經網絡CNN的結構一般包含下面幾層:


          blob.png


            1) 輸入層:用于數據的輸入。

            2) 卷積層:卷積層是卷積核在上一級輸入層上通過逐一滑動窗口計算而得,卷積核中的每一個參數都相當于傳統(tǒng)神經網絡中的權值參數,與對應的局部像素相連接,將卷積核的各個參數與對應的局部像素值相乘之和,得到卷積層上的結果。一般地,使用卷積核進行特征提取和特征映射。


          blob.png


            l 特征提取:每個神經元的輸入與前一層的局部接受域相連,并提取該局部的特征。一旦該局部特征被提取后,它與其它特征間的位置關系也隨之確定下來;

            l 特征映射:網絡的每個計算層由多個特征映射組成,每個特征映射是一個平面,平面上所有神經元的權值相等。特征映射結構采用影響函數核小的sigmoid函數作為卷積網絡的激活函數,使得特征映射具有位移不變性。此外,由于一個映射面上的神經元共享權值,因而減少了網絡自由參數的個數。

            卷積神經網絡中的每一個卷積層都緊跟著一個用來求局部平均與二次提取的計算層,這種特有的兩次特征提取結構減小了特征分辨率。

            3) 激勵層:由于卷積也是一種線性運算,因此需要增加非線性映射。使用的激勵函數一般為ReLu函數:f(x)=max(x,0)。


          blob.png


            4) 池化層:進行下采樣,對特征圖稀疏處理,減少數據運算量。通過卷積層獲得了圖像的特征之后,理論上可以直接使用這些特征訓練分類器(如softmax),但這樣做將面臨巨大的計算量挑戰(zhàn),且容易產生過擬合現象。為了進一步降低網絡訓練參數及模型的過擬合程度,需要對卷積層進行池化/采樣(Pooling)處理。池化/采樣的方式通常有以下兩種:a)Max-Pooling: 選擇Pooling窗口中的最大值作為采樣值;b)Mean-Pooling: 將Pooling窗口中的所有值相加取平均,以平均值作為采樣值。


          blob.png


            5) 全連接層:CNN尾部進行重新擬合,減少特征信息的損失。


          blob.png


            6) 輸出層:用于最后輸出結果。

            CNN訓練過程:

            1)向前傳播階段:

            a)從樣本集中取一個樣本(X,Yp),將X輸入網絡;

            b)計算相應的實際輸出Op。

            在本階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練后正常運行時執(zhí)行的過程。在此過程中,網絡執(zhí)行的是計算,實際上就是輸入與每層的權值矩陣相點乘,得到最后的輸出結果:

            Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))

            2)向后傳播階段:

            a)計算實際輸出Op與相應的理想輸出Yp的差;

            b)按極小化誤差的方法反向傳播調整權矩陣。

            CNN優(yōu)點:

            1) 輸入圖像和網絡的拓撲結構能很好的吻合;

            2) 盡管使用較少參數,仍然有出色性能;

            3) 避免了顯式的特征抽取,而隱式地從訓練數據中進行學習;

            4) 特征提取和模式分類同時進行,并同時在訓練中產生,網絡可以并行學習;

            5) 權值共享減少網絡的訓練參數,降低了網絡結構的復雜性,適用性更強;

            6) 無需手動選取特征,訓練好權重,即得特征,分類效果好;

            7) 可以直接輸入網絡,避免了特征提取和分類過程中數據重建的復雜度。


          blob.png


            CNN缺點:

            1) 需要調整參數;

            2) 需要大樣本量,訓練最好要GPU;

            3) 物理含義不明確,神經網絡本身就是一種難以解釋的 “黑箱模型”。

            CNN常用框架:

            1) Caffe:源于Berkeley的主流CV工具包,支持C++,python,matlab; Model Zoo中有大量預訓練好的模型供使用;

            2) Torch: Facebook用的卷積神經網絡工具包,通過時域卷積的本地接口,使用非常直觀; 定義新網絡層簡單;

            3) TensorFlow:Google的深度學習框架;TensorBoard可視化很方便;數據和模型并行化好,速度快。

            CNN應用場景:

            應用場景包括機器學習、語音識別、文檔分析、語言檢測和圖像識別等領域。

            特別強調的是:CNN在圖像處理和圖像識別領域取得了很大的成功,在國際標準的ImageNet數據集上,許多成功的模型都是基于CNN的。CNN相較于傳統(tǒng)的圖像處理算法的好處之一在于:避免了對圖像復雜的前期預處理過程,可以直接輸入原始圖像。


          blob.png


            結語:

            卷積神經網絡CNN是近年發(fā)展起來,并引起廣泛重視的一種高效識別方法。卷積神經網絡以其局部權值共享的特殊結構在模式識別方面有著獨特的優(yōu)越性,其布局更接近于實際的生物神經網絡,權值共享降低了網絡的復雜性,特別是多維輸入向量的圖像可以直接輸入網絡這一特點避免了特征提取和分類過程中數據重建的復雜度。CNN算法在之機器學習、語音識別、文檔分析、語言檢測和圖像識別等領域等領域有著廣泛應用。



          關鍵詞: 人工智能 CNN

          評論


          相關推薦

          技術專區(qū)

          關閉