張艷升 李喜旺 李丹 楊華
摘 要:針對(duì)工控系統(tǒng)中傳統(tǒng)的異常流量檢測(cè)模型在識(shí)別異常上準(zhǔn)確率不高的問(wèn)題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的異常流量檢測(cè)模型。該模型以卷積神經(jīng)網(wǎng)絡(luò)算法為核心,主要由1個(gè)卷積層、1個(gè)全連接層、1個(gè)dropout層以及1個(gè)輸出層構(gòu)成。首先,將實(shí)際采集的網(wǎng)絡(luò)流量特征數(shù)值規(guī)約到與灰度圖像素值相對(duì)應(yīng)的范圍內(nèi),生成網(wǎng)絡(luò)流量灰度圖;然后,將生成好的網(wǎng)絡(luò)流量灰度圖輸入到設(shè)計(jì)好的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中進(jìn)行訓(xùn)練和模型調(diào)優(yōu);最后,將訓(xùn)練好的模型用于工控網(wǎng)絡(luò)異常流量檢測(cè)。實(shí)驗(yàn)結(jié)果表明,所提模型識(shí)別精度達(dá)到97.88%,且與已有的精度最高反向傳播(BP)神經(jīng)網(wǎng)絡(luò)測(cè)精度提高了5個(gè)百分點(diǎn)。這充分說(shuō)明該模型能夠有效檢測(cè)出異常流量,作出安全預(yù)警,方便技術(shù)人員做出安全應(yīng)對(duì)措施,極大地提高工控網(wǎng)絡(luò)的安全性能。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);異常流量監(jiān)測(cè);工控網(wǎng)絡(luò);特征提優(yōu);深度學(xué)習(xí)
中圖分類號(hào):TP301.6
文獻(xiàn)標(biāo)志碼:A
Abstract: Aiming at the inaccuracy of traditional abnormal flow detection model in the industrial control system, an abnormal flow detection model based on Convolutional Neural Network (CNN) was proposed. The proposed model was based on CNN algorithm and consisted of a convolutional layer, a full connection layer, a dropout layer and an output layer. Firstly, the actual collected network flow characteristic values were scaled to a range corresponding to the grayscale pixel values, and the network flow grayscale map was generated. Secondly, the generated network traffic grayscale image was put into the designed convolutional neural network structure for training and model tuning. Finally, the trained model was used to the abnormal flow detection of the industrial control network. The experimental results show that the proposed model has a recognition accuracy of 97.88%, which is 5 percentage points higher than that of Back Propagation (BP) neural network with the existing highest accuracy. These fully demonstrate that the model can effectively detect abnormal flow, make safety warnings, and facilitate technicians to make security countermeasures, greatly improving the safety performance of industrial control network.
英文關(guān)鍵詞Key words: Convolutional Neural Network (CNN); abnormal flow monitoring; industrial control network; feature optimization; deep learning
0 引言
隨著兩化融合的不斷深入,越來(lái)越多的信息技術(shù)應(yīng)用到了工業(yè)領(lǐng)域。工業(yè)控制系統(tǒng)已廣泛應(yīng)用于電力、水利、石油化工、汽車、航空和食品制藥等工業(yè)領(lǐng)域, 其中大多數(shù)的基礎(chǔ)設(shè)施實(shí)現(xiàn)自動(dòng)化作業(yè)時(shí)依賴工業(yè)控制系統(tǒng), 可見(jiàn),工業(yè)控制系統(tǒng)已經(jīng)成為國(guó)家關(guān)鍵基礎(chǔ)設(shè)施的不可或缺的組成部分,因此工業(yè)控制系統(tǒng)和國(guó)家的戰(zhàn)略安全密不可分。一般情況下,由通用的軟件和網(wǎng)絡(luò)設(shè)施組成工業(yè)控制系統(tǒng),并集成到企業(yè)網(wǎng)和互聯(lián)網(wǎng)等開(kāi)放的網(wǎng)絡(luò)環(huán)境中。傳統(tǒng)工業(yè)控制系統(tǒng)是基于物理隔離的,它主要關(guān)注系統(tǒng)的功能安全,缺乏對(duì)網(wǎng)絡(luò)信息安全的考慮,并且沒(méi)有專門(mén)的安全防御措施, 例如2010年震撼全球的“震網(wǎng)”病毒事件,專門(mén)攻擊工業(yè)控制系統(tǒng)設(shè)施,造成伊朗核電站推遲發(fā)電。工業(yè)系統(tǒng)網(wǎng)絡(luò)化的快速發(fā)展,相應(yīng)導(dǎo)致了系統(tǒng)的安全風(fēng)險(xiǎn)不斷增加,面臨的網(wǎng)絡(luò)安全問(wèn)題也更加突出,再加上工業(yè)網(wǎng)絡(luò)通常采用傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(Transmission Control Protocol/Internet Protocol, TCP/IP)技術(shù)進(jìn)行通信,利用傳統(tǒng)的 IP安全漏洞攻擊工業(yè)控制網(wǎng)絡(luò),使得工控系統(tǒng)的安全隱患愈加嚴(yán)重。
傳統(tǒng)的工業(yè)控制網(wǎng)絡(luò)安全的監(jiān)測(cè),一方面是通過(guò)工程師對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行排查,另一方面是管理員通過(guò)參數(shù)信息庫(kù)對(duì)比參數(shù)進(jìn)行分析并定位。目前國(guó)內(nèi)外的各種網(wǎng)絡(luò)質(zhì)量監(jiān)測(cè)技術(shù)發(fā)展相對(duì)成熟,使用較多的技術(shù)包括:1)在一定周期內(nèi),通過(guò)對(duì)實(shí)際網(wǎng)絡(luò)系統(tǒng)的各種參數(shù)及指標(biāo)進(jìn)行觀測(cè),進(jìn)而作出分析與評(píng)價(jià);2)根據(jù)實(shí)際的網(wǎng)絡(luò)系統(tǒng)建立數(shù)學(xué)模型,通過(guò)對(duì)其表達(dá)式的求解進(jìn)行網(wǎng)絡(luò)性能的模型分析;3)通過(guò)計(jì)算機(jī)程序模擬網(wǎng)絡(luò)的實(shí)際使用情況,對(duì)得到的結(jié)果進(jìn)行性能分析。
在大數(shù)據(jù)人工智能的環(huán)境下,算法和硬件系統(tǒng)的革新為網(wǎng)絡(luò)異常的檢測(cè)提供了全新的解決思路,許多的學(xué)者進(jìn)行了嘗試并取得了一定的成果。其中包括使用最小二乘支持向量機(jī)[1]、K均值(Kmeans)[2]算法、動(dòng)態(tài)半監(jiān)督的Kmeans結(jié)合單類支持向量機(jī)[2]以及通過(guò)二分法優(yōu)化Kmeans簇[3]等多種算法對(duì)網(wǎng)絡(luò)異常檢測(cè)進(jìn)行了研究分析。
分析上述研究方法發(fā)現(xiàn)雖然有些算法模型[3]取得了接近90%準(zhǔn)確率,但是特征提取的好壞對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)算法的效果有很大的影響,且這樣的準(zhǔn)確率還遠(yuǎn)遠(yuǎn)達(dá)不到工業(yè)使用的要求。近年來(lái),在計(jì)算機(jī)視覺(jué)等多分類任務(wù)領(lǐng)域中使用深度學(xué)習(xí)的方法取得了一系列的成果,本文方法將深度學(xué)習(xí)的方法應(yīng)用到工業(yè)控制網(wǎng)絡(luò)異常流量檢測(cè)中。
本文以工業(yè)控制網(wǎng)絡(luò)中的典型代表電力網(wǎng)絡(luò)系統(tǒng)作為研究對(duì)象,系統(tǒng)采用IEC608705104規(guī)約(Telecontrol Equipment and SystemsPart 5104, IEC104)控制協(xié)議作為網(wǎng)絡(luò)通信標(biāo)準(zhǔn),IEC104規(guī)約是基于TCP/IP網(wǎng)絡(luò)作為運(yùn)動(dòng)信息的網(wǎng)絡(luò)傳輸規(guī)約標(biāo)準(zhǔn)。通過(guò)對(duì)遼寧省電網(wǎng)某子網(wǎng)交換機(jī)進(jìn)行IEC104協(xié)議規(guī)約解析,采集網(wǎng)絡(luò)流量數(shù)據(jù),利用數(shù)據(jù)流時(shí)間窗口滑動(dòng)的方式對(duì)采集的數(shù)據(jù)包進(jìn)行應(yīng)用層深度包檢測(cè),然后對(duì)檢測(cè)到的數(shù)據(jù)包進(jìn)行內(nèi)容解析并統(tǒng)計(jì)網(wǎng)絡(luò)流量特征。本文在采集并統(tǒng)計(jì)好流量特征后,采用在計(jì)算機(jī)視覺(jué)領(lǐng)域取得了不錯(cuò)的成果的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)進(jìn)行異常檢測(cè),典型的卷積神經(jīng)網(wǎng)絡(luò)有AlexNet[4]、更快速的基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Faster Regions with Convolutional Neural Network, Faster RCNN)[5]等。實(shí)際環(huán)境下網(wǎng)絡(luò)流量數(shù)據(jù)量大,通過(guò)將采集的網(wǎng)絡(luò)流量特征數(shù)值規(guī)約到0~255,與灰度圖像素值取值范圍剛好對(duì)應(yīng),每條數(shù)據(jù)特征樣本生成灰度圖,將特征灰度圖輸入到根據(jù)實(shí)際場(chǎng)景設(shè)計(jì)實(shí)現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)中訓(xùn)練。采用卷積神經(jīng)網(wǎng)絡(luò)去訓(xùn)練不用像反向傳播(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)那樣每層之間采用全連接操作,導(dǎo)致訓(xùn)練的權(quán)值參數(shù)太多、計(jì)算困難、訓(xùn)練慢、反向傳播梯度損失多等。卷積神經(jīng)網(wǎng)絡(luò)利用其局部感知與權(quán)值共享操作, 可以有效減少參數(shù)數(shù)目,降低了模型的復(fù)雜性,收斂速度快,避免了反向傳播梯度消失快等。使用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型,在面對(duì)工控網(wǎng)絡(luò)流量大以及網(wǎng)絡(luò)流量特征復(fù)雜時(shí),不用人為地去挑選特征,直接讓模型對(duì)特征進(jìn)行提取,節(jié)約了人力成本,更符合工控環(huán)境,并最終取得了正確率相對(duì)高的模型[6]。用訓(xùn)練好的模型檢測(cè)在線數(shù)據(jù),能夠及時(shí)作出預(yù)警,方便工作人員作出相應(yīng)調(diào)整, 因此,該模型正確率高、人為參與少,更加符合工控網(wǎng)絡(luò)實(shí)際環(huán)境,以此作為工控網(wǎng)絡(luò)異常流量檢測(cè)更有意義。
1 工控網(wǎng)絡(luò)異常流量檢測(cè)模型設(shè)計(jì)
1.1 異常流量檢測(cè)流程
網(wǎng)絡(luò)運(yùn)行安全時(shí)網(wǎng)絡(luò)各個(gè)維度的特征都比較平穩(wěn),但當(dāng)異常發(fā)生時(shí)會(huì)產(chǎn)生較大的波動(dòng),當(dāng)某些維度的數(shù)值超過(guò)閾值時(shí)判定異常發(fā)生。異常有許多種,并且一種異常發(fā)生時(shí)對(duì)應(yīng)的特征波動(dòng)情況也相對(duì)穩(wěn)定,這是設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)的異常流量檢測(cè)模型的原則。檢測(cè)的具體流程如圖1所示,整個(gè)流程分為S1和S2兩大階段:其中S1階段也稱為數(shù)據(jù)預(yù)處理階段,主要對(duì)采集到的數(shù)據(jù)進(jìn)行相關(guān)處理;S2階段,主要對(duì)S1階段處理后的數(shù)據(jù)進(jìn)行模型的建立,以及對(duì)在線數(shù)據(jù)進(jìn)行異常檢測(cè),并作出安全預(yù)警。
特征提優(yōu) 對(duì)應(yīng)圖1中S1數(shù)據(jù)預(yù)處理部分。網(wǎng)絡(luò)流量數(shù)據(jù)的采集使用時(shí)間窗的方法,普通攻擊使用2s作為一個(gè)時(shí)間窗采集一次數(shù)據(jù);慢速攻擊掃描頻率一般大于2s,所以使用5s作為一個(gè)時(shí)間窗來(lái)采集用于判別慢速攻擊的數(shù)據(jù)[7]。網(wǎng)絡(luò)攻擊首先需要建立起網(wǎng)絡(luò)間的連接,因此在采集網(wǎng)絡(luò)數(shù)據(jù)時(shí)主要關(guān)注網(wǎng)絡(luò)間與連接特征相關(guān)的信息。舉例來(lái)說(shuō),在TCP(Transmission Control Protocol)連接的基本特征中可以提取連接的持續(xù)時(shí)間、網(wǎng)絡(luò)協(xié)議的類型、目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù)類型、從源主機(jī)到目標(biāo)主機(jī)的數(shù)據(jù)字節(jié)數(shù)等;在TCP連接的內(nèi)容特征中可以記錄登錄失敗后嘗試再次登錄的次數(shù)、訪問(wèn)敏感文件和目錄的次數(shù)、是否出現(xiàn)超級(jí)管理員命令等;以時(shí)間窗為特征的記錄一些比如過(guò)去2s內(nèi)與當(dāng)前連接具有相同服務(wù)的連接數(shù)、過(guò)去2s與當(dāng)前連接有相同的服務(wù)的連接中,出現(xiàn)“REJ”錯(cuò)誤的連接百分比等一些特征信息。
1.2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)
卷積神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)一樣使用的是多層結(jié)構(gòu),一般由輸入層、輸出層、卷積層和全連接層等交替組合[8-10]。每一層有多個(gè)神經(jīng)元組成,每一個(gè)神經(jīng)元表示一張圖中的一個(gè)特征。隨著卷積神經(jīng)網(wǎng)絡(luò)層數(shù)增加伴隨來(lái)的是訓(xùn)練參數(shù)的增加,而卷積層的權(quán)值共享策略極大地緩解了參數(shù)爆炸。假設(shè)輸入是{x1,x2,…,x9},激活函數(shù)為f(x),輸出y為:
1.2.2 卷積層
模型的卷積層中卷積核的大小表示為k_width×k_height×k_channels,其中k_width、k_height分別表示卷積核的寬度和高度; k_channels表示卷積核的通道數(shù);該卷積層中設(shè)置的卷積核為3×3×1,步長(zhǎng)(stride)為1,填充(padding)為1,共有32個(gè)卷積核,步長(zhǎng)指卷積核每次移動(dòng)的距離,當(dāng)圖像像素不滿足卷積核的卷積時(shí)需要在圖像周圍人工添加適當(dāng)?shù)?像素使得卷積可以進(jìn)行下去,填充的數(shù)目為在圖像四周添加的0值像素的行列數(shù)。設(shè)輸入數(shù)據(jù)的大小為w1×h1×d1,輸出的特征圖大小為w2×h2×d2,根據(jù)輸入數(shù)據(jù)的大小、輸出特征圖的大小和卷積核的大小可以推導(dǎo)出輸出特征圖大小的計(jì)算公式(2):
經(jīng)過(guò)卷積層后,每張6×6×1的輸入圖像生成6×6×32的特征圖。式(1)中每一個(gè)卷積核運(yùn)算后都要通過(guò)一個(gè)激活函數(shù)f(x)輸出。
卷積運(yùn)算本質(zhì)上是一個(gè)線性運(yùn)算而激活函數(shù)是非線性函數(shù),將卷積結(jié)果輸入到非線性函數(shù)中后增加了非線性因素。使得神經(jīng)網(wǎng)絡(luò)的泛化能力更好?,F(xiàn)在經(jīng)常使用的激活函數(shù)有多種,如Sigmoid函數(shù)、線性整流函數(shù)(Rectified Linear Unit,ReLU)、雙曲正切(Tanh)、ELU(Exponential Linear Unit)激活函數(shù)等,本文選取的是Sigmoid函數(shù)。
Sigmoid函數(shù)在中間部分變化敏感,在兩端出現(xiàn)抑制對(duì)分類比較有利,本文應(yīng)用在實(shí)際網(wǎng)絡(luò)數(shù)據(jù)流環(huán)境下,利用Sigmoid一方面可以在網(wǎng)絡(luò)發(fā)生異常后能夠有效地捕捉流量數(shù)據(jù)發(fā)生的細(xì)微變化,另一方面能夠?qū)⑤敵鰯?shù)據(jù)壓縮到固定范圍中,使在卷積神經(jīng)網(wǎng)絡(luò)的層與層傳遞過(guò)程中不易發(fā)散[11]。卷積層的數(shù)據(jù)流圖如圖4所示。
1.2.3 全連接層
全連接層是將前一層輸出的神經(jīng)元與當(dāng)前層的神經(jīng)元全部連接在一起。在此之前的卷積層使用3×3大小的卷積核對(duì)結(jié)果進(jìn)行卷積操作,每一個(gè)卷積核運(yùn)算后都會(huì)產(chǎn)生一張?zhí)卣鲌D,且一種卷積核對(duì)應(yīng)產(chǎn)生相應(yīng)特點(diǎn)的特征圖,全連接層的意義就是將前面從不同角度生成的網(wǎng)絡(luò)流量特征綜合到一起,將學(xué)習(xí)到的多個(gè)特征映射到樣本標(biāo)記空間中進(jìn)行后續(xù)的分類應(yīng)用。
本文卷積神經(jīng)網(wǎng)絡(luò)有兩層全連接層。第一層與卷積層相連有1024個(gè)神經(jīng)元,在算法模型中的數(shù)據(jù)流和內(nèi)部細(xì)節(jié)的展示,如圖5所示。卷積后的輸出通過(guò)reshape重構(gòu)后,將全連接層的權(quán)重(Full Connection Layer Weight, fc1_weights)與全連接層偏置項(xiàng)(Full Connection Layer Biases, fc1_biases)求和后的值輸入Sigmoid中進(jìn)行非線性作用,但每一次運(yùn)算發(fā)生時(shí)并不是所有的權(quán)重都參與運(yùn)算,在dropout[12]的作用下只有部分權(quán)重連接的神經(jīng)元參與運(yùn)算。得到的結(jié)果最終流入輸出層。
1.2.4 dropout技術(shù)
在全連接層輸出后,為防止模型發(fā)生過(guò)擬合的現(xiàn)象,在設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)時(shí),加入了dropout操作。在用訓(xùn)練樣本進(jìn)行權(quán)重更新時(shí),全連接層的所有神經(jīng)元都會(huì)參與這個(gè)過(guò)程,這樣每個(gè)神經(jīng)元都記錄樣本的一些信息。這種過(guò)多記錄特征信息的過(guò)程會(huì)增加過(guò)擬合發(fā)生的概率,如果每次權(quán)值更新時(shí)只有當(dāng)前層的部分神經(jīng)元起作用,這樣權(quán)重的更新將不再依賴特定的更新過(guò)程,減少神經(jīng)元間的相互影響,可以有效阻止特征被固定的網(wǎng)絡(luò)模型學(xué)習(xí)記錄。
本文使用簡(jiǎn)單的“乘零”算法。當(dāng)進(jìn)行一次圖片訓(xùn)練時(shí),將dropout所在的全連接層的神經(jīng)元的激勵(lì)函數(shù)的值按照40%的概率設(shè)置成0,這部分被設(shè)置成0的神經(jīng)元在前后傳播中都保持不變,可以被認(rèn)為這部分神經(jīng)元沒(méi)有參與權(quán)重更新。特別需要注意的是,這部分激勵(lì)函數(shù)的值被設(shè)置成0的神經(jīng)元也不是固定的。每進(jìn)行一組訓(xùn)練時(shí),這部分都是按照概率隨機(jī)指定的。同樣在測(cè)試時(shí)需要將全連接層的所有神經(jīng)元的激勵(lì)值乘上40%,期望確保在測(cè)試時(shí),一個(gè)單元的期望總輸入與在訓(xùn)練時(shí)該單元的期望總輸入大致是相同的。
1.2.5 輸出層
輸出層有23個(gè)神經(jīng)元對(duì)應(yīng)23類異常,這23個(gè)神經(jīng)元負(fù)責(zé)接收Softmax函數(shù)分類器[13]的輸出值。Softmax的輸出值作為所屬樣本的概率值。
假設(shè)每次輸入的數(shù)據(jù)為1000張,訓(xùn)練集可以表示成{(x(1),y(1)),(x(2),y(2)),…,(x(1000),y(1000))},其中xi表示輸入卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù);yi對(duì)應(yīng)這個(gè)數(shù)據(jù)的真實(shí)類別標(biāo)簽。舉例來(lái)說(shuō),網(wǎng)絡(luò)數(shù)據(jù)流量異??梢苑譃镾murf攻擊、pingsweep、portscan等多種,通過(guò)向量映射將每一種異常的文字表述映射為向量表示,這樣可以直接參與卷積神經(jīng)網(wǎng)絡(luò)的數(shù)值運(yùn)算中。這1000張?zhí)卣鲌D,每一張對(duì)應(yīng)的Softmax輸出可以表示為:
其中:Wi表示第二層的全連接層與輸出層第i個(gè)神經(jīng)元相連的權(quán)重參數(shù),P(y(i)|x(i))表示當(dāng)前輸入特征所屬第i類異常的概率,n表示異常的種類。
1.3 參數(shù)更新過(guò)程
卷積神經(jīng)網(wǎng)絡(luò)的前向傳播過(guò)程與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是相同的,不同點(diǎn)在于各層之間的連接方式。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)各層神經(jīng)元間是全連接的,而卷積神經(jīng)網(wǎng)絡(luò)則是由卷積層、全連接層等組成。雖然層間的組合方式不同但是前向傳播算法是相同的,都是在當(dāng)前的權(quán)重參數(shù)下由輸入層依次計(jì)算激活函數(shù)值作為下一層的輸入一直到輸出層。不同的地方在反向傳播的參數(shù)更新過(guò)程中,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)除輸出層外,其他各層的參數(shù)更新方式一致,卷積神經(jīng)網(wǎng)絡(luò)僅僅在最后的輸出層和全連接層與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)更新方法一致。卷積層參數(shù)更新的方法根據(jù)不同的連接方式采用不同的參數(shù)更新方法。
2 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析
2.1 實(shí)驗(yàn)數(shù)據(jù)
本文所用數(shù)據(jù)是通過(guò)對(duì)遼寧電網(wǎng)采用網(wǎng)絡(luò)流量深度包檢測(cè),將檢測(cè)的數(shù)據(jù)包進(jìn)行捕獲,利用libcap(Packet Capture library)進(jìn)行解析,經(jīng)過(guò)預(yù)處理后的網(wǎng)絡(luò)流量數(shù)據(jù)。數(shù)據(jù)集大小約為2.38GB,將該數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集兩部分,方便模型訓(xùn)練以及測(cè)試使用。
在數(shù)據(jù)集的每條數(shù)據(jù)中都記錄攻擊類型,其中攻擊類型一共包括4個(gè)大類以及28個(gè)小類,其中12個(gè)小類出現(xiàn)在測(cè)試集中,這樣可以檢驗(yàn)?zāi)P偷姆夯芰Γ瑢?duì)該數(shù)據(jù)集各類型數(shù)據(jù)的統(tǒng)計(jì)情況如表2所示。
2.2 模型訓(xùn)練與測(cè)試
本文中在卷積神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)中加入了dropout技術(shù),其目的是為了提高模型的泛化能力,進(jìn)而能夠?qū)δP偷倪^(guò)擬合現(xiàn)象得到有效的改善。在實(shí)驗(yàn)環(huán)節(jié),對(duì)不加入dropout技術(shù)與加入dropout技術(shù)兩個(gè)模型進(jìn)行對(duì)比,其對(duì)比結(jié)果如圖7、圖8 所示。在模型設(shè)計(jì)與測(cè)試時(shí),將dropout設(shè)置成0.4,統(tǒng)計(jì)模型在最后的損失與準(zhǔn)確率趨于穩(wěn)定的結(jié)果,如表3所示。
[10] 常亮,鄧小明,周明全,等.圖像理解中的卷積神經(jīng)網(wǎng)絡(luò)[J].自動(dòng)化學(xué)報(bào),2016,42(9):1300-1312.(CHANG L, DENG X M, ZHOU M Q, et al. Convolution neural network in image comprehension [J]. Acta Automatica Sinica, 2016,42(9):1300-1312.)
[11] 張順,龔怡宏,王進(jìn)軍.深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展及其在計(jì)算機(jī)視覺(jué)領(lǐng)域的應(yīng)用[J/OL].計(jì)算機(jī)學(xué)報(bào),2017:1-29[2018-09-10].http://kns.cnki.net/kcms/detail/11.1826.TP.20170918.2025.006.html.(ZHANG S, GONG Y H, WANG J J. The depth of the convolution of the neural network development and its application in the field of computer vision [J/OL]. Chinese Journal of Computers, 2017:1-29 [2018-09-10]. http://kns.cnki.net/kcms/detail/11.1826.TP.20170918.2025.006.html.)
[12] COELLO C C A, BECERRA R L. Constrained optimization using an evolutionary programmingbased cultural algorithm[M]// Adaptive Computing in Design and Manufacture V.Berlin:Springer,2002:317-328.
[13] 李理,應(yīng)三叢.基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)Softmax層實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2017(26):21-24.(LI L, Y S C. Softmax layer implementation of neural network based on FPGA[J]. Modern Computer: Professional Edition, 2017(26):21-24.)
[14] 呂國(guó)豪,羅四維,黃雅平,等.基于卷積神經(jīng)網(wǎng)絡(luò)的正則化方法[J].計(jì)算機(jī)研究與發(fā)展,2014,51(9):1891-1900.( LYU G H, LUO S W, HUANG Y P, et al. A novel regularization method based on convolution neural network [J]. Journal of Computer Research and Development, 2014,51(9):1891-1900.)
[15] 王功鵬,段萌,牛常勇.基于卷積神經(jīng)網(wǎng)絡(luò)的隨機(jī)梯度下降算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2018,39(2):441-445.(WANG G P, DUAN M, NIU C Y. Stochastic gradient descent algorithm based on convolution neural network [J]. Computer Engineering and Design, 2008, 39(2):441-445.