劉毅銘
(中南民族大學 生物醫學工程學院,湖北 武漢 430074 )
深度學習是機器學習中對數據進行深度學習的方法,通過構建復數層級的神經網絡,利用大量的數據對神經網絡進行訓練學習來提取特征的學習方式。深度學習是近年來發展迅速的一門技術,本文將從發展歷程、模型、應用3個方面進行綜述。
深度學習中最早的神經網絡模型是1943年由神經學家麥卡洛克和數學家皮茲[1]構建的McColloch-Pitts(MCP)計算模型,該模型模擬了人體神經元結構,旨在對輸入的數據做加權求和非線性函數激活操作,但該模型需要手動設置權值,在實際操作上十分不便。1958年,由Rosenblatt[2]教授提出的感知型模型(perceptron)將MCP模型中需要手動設置權值的問題進行了改善,在權值設置上更為合理且可以自動更新設置。感知型模型的提出讓神經網絡的數據分類成為了現實,加快了神經網絡的研究進程。但該網絡只能處理線性分類問題,而且Minsky教授和Paper的研究也發現感知型模型并不能設置多層訓練網絡,在應用方面有極大的局限性,這也使得神經網絡的研究有了很大程度上的停滯[3]。
到了20世紀80年代,計算機技術的廣泛發展使得神經網絡的應用研究再一次成為了現實。1986年,Rumelhart等[4]提出了反向傳播算法(Back Propagation, BP)。BP神經網絡算法采用逆向傳播的思想對網絡參數進行學習,解決了感知型模型只能處理線性分類問題的困難。卷積神經網絡(Convolutional Neural Networks, CNN),循環神經網絡(Recurrent Neural Network, RNN),玻爾茲曼機等神經網絡模型也得到了一定的發展。
不久,BP神經網絡算法也被發現存在梯度消失的問題,無法對上級層次的神經元參數進行調整。直到2006年,Hinton[5]及其團隊解決了BP神經網絡存在的梯度消失問題,提出了深度學習的概念,應用逐層初始化的方法來對神經網絡進行訓練。至此,神經網絡的研究進入了快速發展階段,大數據時代以及計算機性能的提高使得更深、更有效率的神經網絡被逐漸提出。2012年,Hinton帶領團隊將深度學習應用到ImageNet圖像識別比賽上,并以碾壓第二名的好成績讓深度學習成為大眾的焦點。深度學習也在慢慢替代傳統機器學習方法,成為了人工智能領域最熱門的研究領域。2016年,谷歌基于深度學習算法開發了Alpha Go程序,擊敗了圍棋世界冠軍李在石,再一次擴大了深度學習的影響力。
隨著深度學習的不斷發展,越來越多的神經網絡模型被提出并應用到各種領域中。卷積神經網絡,循環神經網絡,受限玻爾茲曼機是最為常用的幾種神經網絡結構。
卷積神經網絡是擁有多層次結構的神經網絡,通過有監督的學習,能夠得到數據的特征,在模式識別、圖像處理方面有著廣泛的應用。共享權值和局部感知是卷積神經網絡最大的特點,共享權值即在提取特征時,多個神經元間共享一套權值,使用一個卷積核對圖像做卷積;局部感知是指每個神經元只用處理特定的圖像特征,不用感知全部圖像。共享權值和局部感知的存在使得卷積神經網絡的參數大大減少,網絡結構更為清晰。
一個卷積神經網絡一般由輸入層、卷積層、池化層、全連接層以及Softmax層組成。輸入層是卷積神經網絡的輸入口,對于一副圖像來說,一般是通過像素矩陣進行輸入;卷積層是卷積神經網絡的核心層,通過卷積核對圖像的像素值進行卷積運算,得到圖像的特征信息并不斷加深節點矩陣的深度,獲得圖像的深層特征;池化層本質是對特征圖像進行下采樣,并不會改變特征矩陣的深度,一般來說有平均值采樣和最大值采樣兩種方式;全連接對經過卷積層和池化層的數據進行分類處理;Softmax層對作為分類器對最后的結構進行概率描述。
卷積神經網絡的訓練過程是有監督的,參數在訓練過程中不斷優化從而得到最好的結果。目前,改進的模型也被廣泛研究,如全卷積神經網絡(Fully Convolutional Neural Networks, FCN)和深度卷積神經網絡(Deep Convolutional Neural Networks, DCNN)等。
針對卷積神經網絡無法對時間序列進行提取和保留的問題,循環神經網絡最大的特點就是神經元在某時刻的輸出可以再次作為輸入到神經元中。循環神經網絡的串聯式結構非常適合用于時間序列數據,可以保持數據中的依賴關系。
循環神經網絡通過隱藏層上的回路連接,上一個時刻的數據可以傳遞給當前時刻,當前時刻的數據也可以傳遞給下一個時刻。RNN中有很多神經元結構類型,常見的有長短時記憶網絡(Long Short Term Memory, LSTM)和門控循環單元(Gated Recurrent Unit, GRU)。LSTM利用輸入門、遺忘門和輸出門結構克服了RNN無法處理長期依賴、梯度消失的問題。GRU是LSTM的一個變種,只包含更新門和重置門兩個結構,LSTM中的輸入門和遺忘門合并為更新門。由于簡化了LSTM結構,GRU模型的訓練速度更快且性能與LSTM模型相當,在流量預測和自然語言處理等方面成功應用。
受限玻爾茲曼機(Restricted Boltzmann Machine, RBM)是在玻爾茲曼機的基礎上提出的,由顯性單元和隱形單元構成,在受限玻爾茲曼機模型中,顯性單元和隱性單元內部并不會存在映射關系,只有顯性單元和隱性單元之間存在映射關系。受限玻爾茲曼機是基于對比散度的訓練模型,在網絡訓練以及使用時,數據在顯性單元和隱性單元之間流動,且兩個單元的權值是相同的,但偏置值不同。
通過對受限玻爾茲曼機的研究,新型的改進算法也陸續出現,如稀疏組受限玻爾茲曼機(Sparse Group Restricted Boltzmann Machine, SGRBM),分類受限玻爾茲曼機(Classification Restricted Boltzmann Machine, ClassRBM)等。
隨著深度學習的不斷發展,越來越多的領域開始注意到深度學習的實用性,深度學習涉及的行業也越來越廣泛。本章將對深度學習在圖像領域、語音領域、數據分析領域的應用做簡要介紹。
卷積神經網絡最早的應用就是在圖像識別上,主要應用的場景有人臉識別、車牌識別、物體場景識別等。杜敬[6]通過構建深度卷積神經網絡來進行遙感水體的識別,訓練圖像采用無人機獲取的遙感圖像,并比較了支持向量機方法和面向對象法,結果表明深度卷積神經網絡的識別率最佳。寇廣等[7]結合Caffe框架對云服務中的僵尸云的檢測進行了實驗,實驗采用了改進的LeNet-5模型,采用了6種不同網絡結構的卷積神經網絡,設置了不同的池化方案,并比較了支持向量機方法和決策樹方法,結果表明深度學習方法的效果遠遠好于其他方法。隨著深度學習算法的不斷研究與深入,基于深度學習的圖像算法也將不斷發展,可以預見,在圖像領域,深度學習將發揮更大作用。
大數據時代的來臨使得數據量呈指數型增長,傳統的語音識別方法在大數據語音數據中難以取得較好的結果?;谏疃葘W習的語音識別方法作為一種新的方法,在語音識別領域已經有了較好的應用。王山海等[8]使用深度自動編碼器識別孤立詞語音,并與BP算法對比,結果表明了深度自動編碼器在語音識別上的有效性。王強等[9]將卷積神經網絡應用到水聲識別種,同樣驗證了深度學習方法在語音識別上的有效性。在語音增強方面,深度循環網絡、堆疊式降噪自動編碼、LSTM神經網絡也能很好的提高語音質量。
對數據的分析處理也是深度學習重要的研究部分,目前在數據診斷、參數估計和預測建模方面都有應用。雷亞國等[10]通過構建深度神經網絡,對檢測數據進行數據診斷,準備判斷了不同方案中的系統狀態。潘儒揚等[11]構建了深度自編碼器模型用于恒星大氣物理參數的估計,通過5萬條光譜數據的訓練和測試,證明了深度學習模型在非線性數據處理上的潛力。當前,對數據進行深度處理分析是把握行業局勢的必要條件。
本文針對當前熱門的研究對象深度學習進行了一定程度的介紹,通過深度學習的發展與應用展示了深度學習廣泛的實用性以及可研究性,同時介紹了幾種常用的神經網絡的結構與功能[12]。
目前,深度學習的研究已經有了一些的成果,隨著多種平臺對深度學習的兼容,越來越多的人將參與到深度學習的研究中。未來,深度學習將扮演更多重要的角色,深度學習的發展也將更加多元化。