官术网_书友最值得收藏!

3.2.2 卷積神經網絡數據特征提取

最早的卷積神經網絡(CNN)LeNet-5由法國科學家YannLeCun于1989年提出,它在處理具有類似網格結構的數據領域十分擅長,如時間序列數據和圖像數據。卷積是一種特殊的線性運算,通常來說,卷積神經網絡中用到的卷積運算和工程領域和純數學領域中的定義并不完全一致。卷積層和池化層一般會取若干個,采用卷積層和池化層交替設置,即一個卷積層連接一個池化層,池化層后再連接一個卷積層,依次類推。卷積神經網絡的突破來自于2012年ImageNet挑戰賽中Krizhevsky等提出的AlexNet, AlexNet的大獲成功掀起了卷積神經網絡的研究熱潮。隨后GoogLeNet、VGG、ResNet、NASNet、DenseNet等相繼提出。卷積神經網絡最重要的結構是卷積操作,這里的卷積與圖像信號處理中的卷積稍有不同,多個卷積核構成的卷積層,實現同一輸入特征圖上的權值共享,每個卷積核檢測輸入信號所有位置上的特定特征。卷積操作實現了特征自適應提取過程。卷積計算公式為

式中,yl(i,j)為第l層的第j個被卷積區域的第i個卷積核進行卷積運算的卷積輸出結果;為第l層的第i個卷積核;Xl(r)為第l層中第r個被卷積區域;為第l層的第i個卷積核的第j′個權值;Xl(j+j′)為第l層中第(j+j′)個被卷積的局部區域;W為卷積核的寬度。卷積神經網絡計算原理如圖3-6所示。

圖3-6 卷積神經網絡計算原理

卷積運算改進機器學習系統的三個重要思想包括:稀疏交互(Sparse Inter-actions);參數共享(Parameter Sharing);等變表示(Equivariant Representations)。通過稀疏交互(稀疏連接),可使卷積核的大小遠小于輸入數據的大小,從而使得模型的存儲需求減小,提高了計算的統計效率。參數共享保證了只需要學習一個參數集合,而不是對于每一個位置都需要學習一個單獨的參數集合。神經網絡層具有對平移等變的性質來源于參數共享這一特殊形式。

卷積層之后是池化層,池化層主要是進行降采樣操作,主要目的是減少神經網絡的參數,常見的有最大值池化、平均值池化和加權平均池化等。最大值池化是將感知域中的最大值作為輸出,兩者的數學描述形式為

式中,al(i,t)為第l層第i幀中第t個神經元的激活值;w為池化區域的寬度;pl(i,j)為池化輸出。池化計算原理如圖3-7所示。

圖3-7 池化計算原理

池化層從輸入的數據中各自獨立地降采樣,圖3-7a將輸入數據尺寸池化為112×112×64,圖3-7b是典型的最大池化(Max Pooling),步長為2的情況下,將輸入從4×4池化為2×2卷積核。

在CNN結構中,經過多個卷積層和池化224×224×64層后,連接著一個或一個以上的全連接層。與多層感知機(MLP)類似,在全連接層中,每個神經元與其前一層的所有神經元連接。卷積層或者池化層中具有類別區分性的局部信息被全連接層整合。

以上介紹了CNN的主要組成部分和原理,在卷積計算中還存在著多種變換形式的卷積,主要有一維(1D)、二維(2D)、三維(3D)、轉置、擴張(Atrous)、空間可分、深度可分、平展、分組、混洗分組卷積和逐點分組卷積等。

在應用領域,CNN已廣泛應用于圖像處理領域中,Krizhevsky等首次將CNN應用于LSVRC-12競賽中,取得了驚人的分類結果(該網絡結構也被稱為AlexNet)。而隨后在LSVRC-14競賽中,Google的研究團隊提出的GoogleLeNet獲得了更高的準確率。在LSVRC-15的競賽中,何凱明等提出的ResNet神經網絡在圖像分類任務中首次超越人類。在音頻檢索領域,Abdel-Hamid等人結合隱馬爾可夫模型建立了CNN用于識別語音的模型,并在標準TIMIT語音數據庫上進行試驗,試驗結果顯示,該模型的錯誤率相對于具有相同隱含層數和權值的常規神經網絡模型降低10%,表明CNN模型能夠提升語音的識別準確率。

在機電設備監測與故障診斷領域,CNN同樣具有廣泛的應用前景。一般監測機械設備產生的信號主要是一維時域振動信號,通過時頻分析手段可以將振動信號表示為二維時頻信號。同時,由于卷積神經網絡本身可以對一維時域數據進行處理,這有助于直接從原始數據中提取出有用的特征,從而避免人為特征可能帶來的不足。西安交通大學陳雪峰團隊提出的打亂時間序列卷積神經網絡在電機故障診斷中取得了很好的診斷效果。在使用二維卷積神經網絡來診斷齒輪箱故障時,小波分析將原始時域信號轉換為二維信號,將該二維信號輸入二維深度卷積神經網絡中,同樣取得了很好的效果。

主站蜘蛛池模板: 铁岭县| 固安县| 台中市| 黄龙县| 海宁市| 尖扎县| 西充县| 拉萨市| 阜新| 海林市| 北海市| 梁河县| 封丘县| 莒南县| 休宁县| 夏河县| 黔东| 开平市| 合水县| 龙川县| 长丰县| 松桃| 肥东县| 邛崃市| 邳州市| 陇南市| 吉林市| 贵德县| 长兴县| 彭山县| 东乡| 太和县| 墨竹工卡县| 曲阳县| 四平市| 梁山县| 金昌市| 织金县| 华亭县| 探索| 武乡县|