前言:人工智能機器學習有關算法內(nèi)容,請參見公眾號“科技優(yōu)化生活”之前相關文章。人工智能之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下卷積神經(jīng)網(wǎng)絡(CNN)算法。
20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用于局部敏感和方向選擇的神經(jīng)元時發(fā)現(xiàn)其獨特的網(wǎng)絡結構可以有效地降低反饋神經(jīng)網(wǎng)絡的復雜性,繼而提出了卷積神經(jīng)網(wǎng)絡CNN(Convolutional Neural Networks)。
1980年,K.Fukushima提出的新識別機是卷積神經(jīng)網(wǎng)絡的第一個實現(xiàn)網(wǎng)絡。隨后,更多的科研工作者對該網(wǎng)絡進行了改進。其中,具有代表性的研究成果是Alexander和Taylor提出的“改進認知機”,該方法綜合了各種改進方法的優(yōu)點并避免了耗時的誤差反向傳播。
現(xiàn)在,CNN已經(jīng)成為眾多科學領域的研究熱點之一,特別是在模式分類領域,由于該網(wǎng)絡避免了對圖像的復雜前期預處理,可以直接輸入原始圖像,因而得到了更為廣泛的應用。
CNN概念:
在機器學習中,卷積神經(jīng)網(wǎng)絡CNN(Convolutional Neural Network)是一種前饋神經(jīng)網(wǎng)絡,它的人工神經(jīng)元可以響應一部分覆蓋范圍內(nèi)的周圍單元,可以應用于語音識別、圖像處理和圖像識別等領域。
CNN引入意義:
在全連接神經(jīng)網(wǎng)絡中(下面左圖),每相鄰兩層之間的每個神經(jīng)元之間都是有邊相連的。當輸入層的特征維度變得很高時,這時全連接網(wǎng)絡需要訓練的參數(shù)就會增大很多,計算速度就會變得很慢。
而在卷積神經(jīng)網(wǎng)絡CNN中(下面右圖),卷積層的神經(jīng)元只與前一層的部分神經(jīng)元節(jié)點相連,即它的神經(jīng)元間的連接是非全連接的,且同一層中某些神經(jīng)元之間的連接的權重w和偏移b是共享的,這樣大量地減少了需要訓練參數(shù)的數(shù)量。
CNN核心思想:
CNN模型限制參數(shù)了個數(shù)并挖掘了局部結構。主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。局部感受視野,權值共享以及時間或空間亞采樣這三種思想結合起來,獲得了某種程度的位移、尺度、形變不變性。通過“卷積核”作為中介。同一個卷積核在所有圖像內(nèi)是共享的,圖像通過卷積操作后仍然保留原先的位置關系。
CNN實質(zhì):
CNN在本質(zhì)上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數(shù)學表達式,只要用已知的模式對卷積網(wǎng)絡加以訓練,網(wǎng)絡就具有輸入輸出對之間的映射能力。卷積網(wǎng)絡執(zhí)行的是有導師訓練,所以其樣本集是由形如:(輸入向量,理想輸出向量)的向量對構成的。所有這些向量對,都應該是來源于網(wǎng)絡即將模擬的系統(tǒng)的實際“運行”結果。它們可以是從實際運行系統(tǒng)中采集來的。在開始訓練前,所有的權都應該用一些不同的小隨機數(shù)進行初始化。“小隨機數(shù)”用來保證網(wǎng)絡不會因權值過大而進入飽和狀態(tài)而導致訓練失??;“不同”用來保證網(wǎng)絡可以正常地學習。
CNN基本結構:
卷積神經(jīng)網(wǎng)絡CNN的結構一般包含下面幾層:
1) 輸入層:用于數(shù)據(jù)的輸入。
2) 卷積層:卷積層是卷積核在上一級輸入層上通過逐一滑動窗口計算而得,卷積核中的每一個參數(shù)都相當于傳統(tǒng)神經(jīng)網(wǎng)絡中的權值參數(shù),與對應的局部像素相連接,將卷積核的各個參數(shù)與對應的局部像素值相乘之和,得到卷積層上的結果。一般地,使用卷積核進行特征提取和特征映射。
l 特征提取:每個神經(jīng)元的輸入與前一層的局部接受域相連,并提取該局部的特征。一旦該局部特征被提取后,它與其它特征間的位置關系也隨之確定下來;
l 特征映射:網(wǎng)絡的每個計算層由多個特征映射組成,每個特征映射是一個平面,平面上所有神經(jīng)元的權值相等。特征映射結構采用影響函數(shù)核小的sigmoid函數(shù)作為卷積網(wǎng)絡的激活函數(shù),使得特征映射具有位移不變性。此外,由于一個映射面上的神經(jīng)元共享權值,因而減少了網(wǎng)絡自由參數(shù)的個數(shù)。
卷積神經(jīng)網(wǎng)絡中的每一個卷積層都緊跟著一個用來求局部平均與二次提取的計算層,這種特有的兩次特征提取結構減小了特征分辨率。
3) 激勵層:由于卷積也是一種線性運算,因此需要增加非線性映射。使用的激勵函數(shù)一般為ReLu函數(shù):f(x)=max(x,0)。
4) 池化層:進行下采樣,對特征圖稀疏處理,減少數(shù)據(jù)運算量。通過卷積層獲得了圖像的特征之后,理論上可以直接使用這些特征訓練分類器(如softmax),但這樣做將面臨巨大的計算量挑戰(zhàn),且容易產(chǎn)生過擬合現(xiàn)象。為了進一步降低網(wǎng)絡訓練參數(shù)及模型的過擬合程度,需要對卷積層進行池化/采樣(Pooling)處理。池化/采樣的方式通常有以下兩種:a)Max-Pooling: 選擇Pooling窗口中的最大值作為采樣值;b)Mean-Pooling: 將Pooling窗口中的所有值相加取平均,以平均值作為采樣值。
5) 全連接層:CNN尾部進行重新擬合,減少特征信息的損失。
6) 輸出層:用于最后輸出結果。
12下一頁>(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。 )