亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于卷積神經(jīng)網(wǎng)絡模型的手寫數(shù)字辨識算法研究

        2019-08-14 11:39:22
        計算機應用與軟件 2019年8期
        關鍵詞:優(yōu)化模型

        張 爍 張 榮

        1(山西青年職業(yè)學院計算機系 山西 太原 030024)2(山西醫(yī)科大學計算機教學部 山西 太原 030001)

        0 引 言

        手寫數(shù)字辨識技術是指機器自動識別手寫阿拉伯數(shù)字技術,是機器學習、模式識別等領域非常重要的一個研究方向[1]。1998年,LeCun等[2]提出了一種基于梯度學習的CNN算法(LeNet-5),并應用于手寫數(shù)字辨識中。鑒于此,LeNet網(wǎng)絡當時應用于整個美國的郵政系統(tǒng)中,通過識別手寫郵政編碼來分類郵件。目前,在郵政編號識別、銀行單據(jù)自動錄入、財務報表自動錄入等識別系統(tǒng)中,都使用了手寫數(shù)字辨識技術[3]。近年來隨著大數(shù)據(jù)和人工智能技術的快速發(fā)展,人們不但對手寫數(shù)字的識別率提出了更高的要求,而且對算法訓練模型的時間也提出了更高的要求[4]。

        目前,手寫數(shù)字辨識的方法[5]主要包括:結構識別法、統(tǒng)計識別法、深度學習法。結構識別法對相似數(shù)字有較強的識別能力,但是對于環(huán)境復雜的脫機數(shù)字識別往往識別正確率不高。統(tǒng)計識別法是指從大量的統(tǒng)計數(shù)據(jù)中提取出特征,然后通過決策函數(shù)進行分類。統(tǒng)計識別法通常有很強的抗干擾能力,但是往往識別的正確率也不理想。深度學習法的出現(xiàn)解決了識別率低的問題,并且通過改進深度學習網(wǎng)絡加快模型的訓練速度。在手寫數(shù)字辨識問題領域,深度學習法是目前理想的選擇。

        卷積神經(jīng)網(wǎng)絡(CNN)是深度學習模型中最為成功的網(wǎng)絡之一,并且在圖像識別領域有很好的識別效果。深度學習(包括CNN、RNN等)是端到端的學習,傳統(tǒng)機器學習往往通過模塊化的方法解決此類問題,分為圖像預處理、特征提取、設計分類器等子步驟完成任務。模塊化的基本思想是:將一個復雜、繁瑣的問題分成幾個簡單的子問題模塊來處理。但是,在處理每個子問題時,每個子問題都可能存在最優(yōu)解,將這些子問題組合起來后,從全局來看,并不一定會得到最優(yōu)解。對于深度學習是基于端到端的深層次網(wǎng)絡學習方式,整個流程并不進行子模塊的劃分,可以直接將原始數(shù)據(jù)輸入到模型中,整個學習過程完全交給深層次網(wǎng)絡模型,這樣最大的優(yōu)點就是可以統(tǒng)籌全局獲得最優(yōu)解。

        1 網(wǎng)絡模型結構設計

        1.1 卷積神經(jīng)網(wǎng)絡

        卷積神經(jīng)網(wǎng)絡由輸入層、卷積層、池化層、全連接層、輸出層構成,多個層可以看成一個復雜的函數(shù)fCNN,損失函數(shù)由參數(shù)正則化損失和數(shù)據(jù)損失構成,在訓練整個網(wǎng)絡時,按照損失函數(shù)將參數(shù)誤差反向傳播給整個模型的各個層次,達到參數(shù)更新的目的。整個訓練過程可以看成從原始數(shù)據(jù)向最終目標的直接擬合,中間各層次的作用為特征學習。CNN原理圖如圖1所示??梢钥闯觯矸e層和池化層是整個CNN網(wǎng)絡的核心。

        在卷積層中,通過可訓練的卷積核對上一層的輸入數(shù)據(jù)進行卷積操作,通常卷積核為3×3或5×5的矩陣,確定大小的卷積核按照規(guī)定的步長在上一層輸入數(shù)據(jù)做從左到右、從上到下的“滑動”操作,并輸出特征圖,每次卷積操作都可以提取出一種特征。如果在CNN網(wǎng)絡訓練時有n個卷積核就可以提取出圖像的n個特征。一般地,若一個三維張量xk為第k卷積層的輸入,滿足xk∈RHk×Wk×Dk,該層的卷積核為wk∈RH×W×Dk,卷積核有D個,則在同一數(shù)據(jù)位置上可以得到D維的卷積輸出,即在k+1層的特征矩陣輸入xk+1的通道數(shù)為D,可表示為:

        (1)

        在池化層中,主要的任務是對上一層特征圖進行下采樣處理,這是一種采樣較少的數(shù)據(jù)還保持原有重要信息的一種操作。常用的池化操作類型[6]分為平均池化(Average-Pooling)、最大池化(Max-Pooling)等。平均池化是在每次數(shù)據(jù)操作時,將池化核覆蓋區(qū)域的數(shù)值取平均值,可表示為:

        (2)

        最大池化是在每次對數(shù)據(jù)操作時,將池化核覆蓋區(qū)域的數(shù)據(jù)取最大值,可表示為:

        (3)

        如圖1所示,卷積層和池化層通常交替設置,圖像數(shù)據(jù)每經(jīng)過一次卷積層和池化層后,都會提取出圖像特征。隨著交替次數(shù)的增大,提取的圖像特征逐步由低級特征到高級特征,最終形成對圖像的特征描述。最后通過CNN網(wǎng)絡的一個或多個全連接層輸出分類結果。

        1.2 卷積神經(jīng)網(wǎng)絡設計

        本文設計的CNN網(wǎng)絡有8層構成,分別是1個輸入層、2個卷積層、2個池化層、2個全連接層、1個輸出層。除去整個網(wǎng)絡的輸入層和輸出層,中間的2個卷積層、2個池化層、2個全連接層可以看成網(wǎng)絡的隱含層。CNN網(wǎng)絡結構如圖2所示。

        圖2 CNN網(wǎng)絡結構圖

        本文設計的CNN網(wǎng)絡結構中,輸入層INPUT包含28×28×1個神經(jīng)元。C1層為卷積層,卷積核大小為5×5,32個卷積通道數(shù),每個通道為14×14的矩陣。P1為池化層,包括32個池化通道,每個通道為14×14的矩陣,每個池化通道是由C1層經(jīng)過大小為2×2、步長為2的最大池化后,通過ReLU激活函數(shù)進行非線性變化得到的。C2為卷積層,包括64個卷積通道數(shù),每個通道為7×7的矩陣。P2為池化層,包括64個7×7的池化通道。每個池化通道是由C2層經(jīng)過大小為2×2、步長為2的窗口進行最大池化后,通過ReLU激活函數(shù)進行非線性變化得到的。FC1為全連接層,有1 024個神經(jīng)元,每個神經(jīng)元和P2層的每個神經(jīng)元相連接。FC2為全連接層,有10個神經(jīng)元,每個神經(jīng)元和FC1層的每個神經(jīng)元相連接。最后通過SoftMax函數(shù)輸出分類結果。

        2 改進的CNN網(wǎng)絡模型算法原理

        2.1 學習率改進

        一個理想的學習率要求一開始學習率的數(shù)值較大,并且有較快的收斂速度,然后隨著迭代次數(shù)的增加,學習率的數(shù)值慢慢衰減,最后達到最優(yōu)解。本文設計的CNN網(wǎng)絡模型定義一個學習率適應這樣的過程,在實現(xiàn)批量隨機梯度下降法時,實現(xiàn)學習率的指數(shù)衰減。學習率指數(shù)衰減η(t)公式如下:

        (4)

        式中:η0為學習率初始值;t為迭代次數(shù);r為衰減率。

        2.2 Dropout正則化方法

        為了減少全連接層網(wǎng)絡的復雜程度,本文設計的CNN網(wǎng)絡使用Dropout正則化方法。傳統(tǒng)的神經(jīng)網(wǎng)絡中,每個神經(jīng)元之間相互聯(lián)系,每一個神經(jīng)元都會反向傳導后一個神經(jīng)元的梯度信息并且相互之間聯(lián)系緊密,增加了網(wǎng)絡訓練的復雜度。Dropout可以降低神經(jīng)元之間的緊密性和相互依賴,來提高算法的“泛化能力”,防止發(fā)生“過擬合”現(xiàn)象。

        Dropout的原理是:在訓練時,對于網(wǎng)絡每一層的神經(jīng)元,以p為概率隨機地丟掉一些神經(jīng)元,也就是將這些神經(jīng)元的權值w設為0;在測試時,將所有的神經(jīng)元都設為激活狀態(tài),但需要將訓練時丟掉的神經(jīng)元權值w乘以(1-p)來保證訓練和測試階段各自權值有相同的期望。具體如圖3所示。

        圖3 單個神經(jīng)元的Dropout

        2.3 參數(shù)優(yōu)化方法

        本文在訓練CNN網(wǎng)絡時,使用了不同的參數(shù)優(yōu)化方法來比較各個參數(shù)優(yōu)化方法在訓練手寫數(shù)字圖像的性能。

        (1) 批量隨機梯度下降法(mini-batch based SGD)SGD在進行樣本訓練時,在每一輪的訓練過程中,不對全部樣本進行訓練,只是隨機的選擇一個樣本進行訓練,這樣可以提高收斂速度。SGD可以分批計算訓練集的代價函數(shù)并用梯度對θ參數(shù)進行更新公式如下:

        θ←θ-η·▽f(θ,xi,yi)

        (5)

        式中:f(θ,xi,yi)為代價函數(shù);▽f(θ,xi,yi)是隨機選取樣本空間(xi,yi)的一點對θ的梯度;η為學習率。

        (2) Momentum算法 Momentum算法借助了物理中動量的概念,模擬了運動物體時的慣性,在參數(shù)更新的時候在一定程度上保留了之前更新的方向,可以增加穩(wěn)定性并且有較快的學習速度,θ參數(shù)更新公式如下:

        vt=γ·vt-1+η·▽f(θ,xi,yi)

        (6)

        θ←θ-vt

        (7)

        式中:γ為動量;vi為i時的梯度變化。

        (3) Adagrad算法 Adagrad算法的最大特點是可以在訓練時對學習率進行動態(tài)調(diào)整。當參數(shù)出現(xiàn)的頻率較低時,采用較大的學習率進行參數(shù)訓練;相反,參數(shù)出現(xiàn)的頻率較高時,采用較小的學習率進行參數(shù)訓練。在處理稀疏數(shù)據(jù)時,Adagrad算法有較好的訓練效果。θ參數(shù)更新公式如下:

        (8)

        式中:Gt為對角矩陣每個位置參數(shù)對應從第1輪訓練到第t輪訓練梯度的平方和;ε為平滑項,防止分式的分母為0,一般取值為1e-8。

        (4) RMSprop算法 RMSprop算法是人工智能大師Hinton提出的一種自適應學習率動態(tài)調(diào)整算法,其目的是為了緩解Adagrad算法中學習率下降過快。Adagrad算法會累加之前所有的梯度平方,而RMSprop算法是計算之前所有梯度的平均值。θ參數(shù)更新公式如下:

        (9)

        式中:Et為對角矩陣每個位置參數(shù)對應從第1輪訓練到第t輪訓練梯度的均值。

        (5) Adam算法 Adam算法也是一種學習率自適應算法,它利用梯度的一階矩陣和二階矩陣來動態(tài)調(diào)整參數(shù)的學習率。其最大的優(yōu)點是校正的學習率,使每一次迭代都有一個確定的范圍,并且使參數(shù)更新比較平穩(wěn)。θ參數(shù)更新公式如下:

        (10)

        式中:vt和mt分別是對代價函數(shù)求梯度的一階矩陣和二階矩陣。

        2.4 算法流程

        基于本文提出的CNN模型訓練參數(shù)時,主要包括使用動態(tài)學習率,在網(wǎng)絡訓練時加入了Dropout方法和分別使用了批量隨機梯度下降法、Momentum算法、Adagrad算法、RMSprop算法、Adam算法進行參數(shù)優(yōu)化。算法整體流程圖如圖4所示。

        圖4 參數(shù)訓練算法流程圖

        3 實驗與結果分析

        3.1 實驗數(shù)據(jù)集與仿真環(huán)境

        仿真實驗所用的數(shù)據(jù)集是美國國家標準與技術研究所編制的MNIST數(shù)據(jù)集,該數(shù)據(jù)集有含有0~9的手寫數(shù)字圖像,其中訓練集有60 000個樣本圖像,測試集有10 000個樣本圖像,訓練集數(shù)據(jù)標簽是“one-hot vector”形式,每張圖像大小為像素。每次訓練數(shù)據(jù)時,批次的大小為50,訓練的迭代次數(shù)為101次,分別使用了本文提及的5種參數(shù)優(yōu)化方法進行訓練。仿真實驗硬件環(huán)境為Windows 8操作系統(tǒng),第八代i7處理器3.60 GHz,16 GB內(nèi)存,GeForce 1080Ti獨立顯卡;軟件環(huán)境為TensorFlow 1.4+Python 3.6。

        3.2 實驗數(shù)據(jù)測試

        本文是基于TensorFlow開源框架來構建CNN網(wǎng)絡模型實現(xiàn)手寫數(shù)字辨識的訓練過程,其CNN網(wǎng)絡模型參數(shù)具體配置如表1所示。

        表1 本文CNN網(wǎng)絡模型參數(shù)

        使用批量隨機梯度下降法和表1的CNN網(wǎng)絡模型參數(shù)配置來優(yōu)化參數(shù),學習率為動態(tài)指數(shù)衰減方式,實驗分析包括測試集準確率、訓練集代價函數(shù)錯誤率、迭代次數(shù)、訓練時間。如圖5所示,在訓練數(shù)據(jù)時,代價函數(shù)經(jīng)過101次迭代后錯誤率為1.80%,但是測試集準確率只為75.60%,整個訓練時間為14 min 33 s。這說明使用批量隨機梯度下降法來優(yōu)化參數(shù)時,整個網(wǎng)絡模型的泛化能力不強,發(fā)生了過擬合現(xiàn)象。

        (a) 測試集正確率 (b) 訓練集錯誤率圖5 批量隨機梯度下降法訓練CNN網(wǎng)絡模型

        分別使用Momentum算法、Adagrad算法、RMSprop算法、Adam算法對網(wǎng)絡參數(shù)進行優(yōu)化來比較各個算法性能,如圖6和圖7所示。

        (a) Momentum優(yōu)化 測試集正確率 (b) Momentum優(yōu)化訓練集錯誤率

        (c) Adagrad優(yōu)化 測試集正確率 (d) Adagrad優(yōu)化訓練集錯誤率圖6 Momentum算法和Adagrad算法訓練CNN網(wǎng)絡模型

        (c) Adam優(yōu)化測試集正確率 (d) Adam優(yōu)化訓練集錯誤率圖7 RMSprop算法、Adam算法訓練CNN網(wǎng)絡模型

        通過圖6可以看出,Momentum算法和Adagrad算法在訓練數(shù)據(jù)時,訓練集經(jīng)過101次訓練后錯誤率分別為1.70%和1.72%,但是測試集的準確率分別只有79.29%和82.20%,并且收斂速度較慢。訓練時間分別為15 min 20 s和15 min 13 s。從圖中可以看出Adagrad算法在訓練時震蕩劇烈。

        通過圖7可以看出,RMSprop算法和Adam算法在訓練數(shù)據(jù)時,訓練集經(jīng)過101次訓練后錯誤率分別為1.46%和1.47%,在測試集的準確率分別為99.40%和99.70%,訓練時間分別為15 min 58 s和15 min 42 s。這兩種算法在迭代次數(shù)較小的情況下,就已經(jīng)達到較高的準確率,說明收斂速度較其他算法快??梢钥闯?,使用RMSprop算法和Adam算法在測試集的準確率遠遠高于其他優(yōu)化器算法,并且Adam算法比RMSprop算法的準確率高出0.3%,訓練時間少16 s。

        各優(yōu)化器算法總結如表2所示。

        表2 各優(yōu)化器算法比較

        續(xù)表2

        為了分析本文CNN網(wǎng)絡在測試集的識別性能,將識別準確率與其他手寫數(shù)字識別方法進行比較,如表3所示。

        表3 幾種手寫數(shù)字識別方法比較

        綜上所述,基于本文設計的CNN網(wǎng)絡結構, Adam算法在訓練集的錯誤率、測試集的準確率和收斂速度方面都優(yōu)于其他優(yōu)化器。各優(yōu)化器在訓練集的錯誤率都較低,但使用批量隨機梯度下降法、Momentum算法和Adagrad算法驗證測試集準確率都表現(xiàn)不佳,說明這三種算法在優(yōu)化網(wǎng)絡參數(shù)時,泛化能力不強。批量隨機梯度下降法參數(shù)優(yōu)化時間最短,但是測試準確率最低;RMSprop算法訓練時間最長,測試準確率可以達到99.40%。所有算法訓練時間都在可接受范圍之內(nèi),并且與機器的配置有很大關系。基于本文設計的CNN網(wǎng)絡和Adam參數(shù)優(yōu)化算法在相同數(shù)據(jù)集的情況下,測試集準確率高于文獻[3-5]中數(shù)字識別方法的準確率。

        4 結 語

        本文基于手寫數(shù)字辨識對CNN網(wǎng)絡模型參數(shù)優(yōu)化進行研究。實驗結果表明:在本文設計的CNN網(wǎng)絡模型下,使用學習率動態(tài)衰減、Dropout正則化方法,RMSprop算法和Adam算法在參數(shù)優(yōu)化方面收斂速度快、識別準確率高,測試集準確率可達99.40%和99.70%。下一步將優(yōu)化CNN網(wǎng)絡模型,可將優(yōu)化的CNN網(wǎng)絡模型使用RMSprop算法和Adam算法優(yōu)化參數(shù)的方法應用在其他圖像識別中。

        猜你喜歡
        優(yōu)化模型
        一半模型
        超限高層建筑結構設計與優(yōu)化思考
        民用建筑防煙排煙設計優(yōu)化探討
        關于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        3D打印中的模型分割與打包
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        日本熟妇精品一区二区三区| 少妇久久久久久人妻无码| 人成午夜大片免费视频77777| 午夜亚洲av日韩av无码大全| 精品少妇无码av无码专区| 精品免费看国产一区二区| 国产内射在线激情一区| 亚洲AV永久无码制服河南实里| 91网站在线看| 亚洲一码二码在线观看| 亚洲国产不卡免费视频| 亚洲av综合av国一区二区三区 | 国产91色综合久久高清| 色欲色香天天天综合vvv| 强奷乱码中文字幕| 欧美三级乱人伦电影| 亚洲AV秘 无码一区二区三区1| 一本一道AⅤ无码中文字幕| 亚洲中文字幕诱惑第一页| av免费网站免费久久网| 欧美a级毛欧美1级a大片| 亚洲一区二区三区av无码| 久久久精品国产亚洲av网深田| 洲色熟女图激情另类图区| 国产精品人成在线观看免费| 人妻av有码中文字幕| 日韩 无码 偷拍 中文字幕| 又紧又大又爽精品一区二区| 成人免费a级毛片| 色爱无码av综合区| 国产麻无矿码直接观看| 91精品一区国产高清在线gif| 麻豆精品久久久久久中文字幕无码| 免费超爽大片黄| 少妇人妻偷人精品视频| 正在播放国产对白孕妇作爱| 免费人成又黄又爽的视频在线| 久久久久久人妻精品一区百度网盘 | 国产的自拍av免费的在线观看| 一本久道高清视频在线观看| 本道天堂成在人线av无码免费|