999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Keras手寫數字識別模型的改進

2021-11-10 03:49:30高宇鵬胡眾義
計算技術與自動化 2021年2期

高宇鵬 胡眾義

關鍵詞:Keras;卷積神經網絡;MNIST數據集

隨著社會發展,試卷分數、快遞單據、財務票據陽銀行票據等多個領域的手寫數字信息越來越多,勾了減輕數據的人工計算與手動錄入系統的工作量,手寫數字識別技術逐步發展起來。陳龍等采用3P神經網絡對MNIST數據集中的10000個樣本進行仿真實驗,取得97.2%識別率。宋曉茹等引人Sigmoid激活函數,采用深度神經網絡,將識別率提高到97.9%。Qiao,Junfei等采用自適應深度Q學習策略將識別率提高到了99.18%。但是Sigmoid激活函數計算量較大,反向傳播時容易出現梯度消失的情況,因此張哲等采用Relu激活函數代替Sigmoid,基于Tenso rflow框架,利用Softmax函數進行歸一化處理,對MNIST數據集進行訓練,將識別率提高為99.2%。Tensorflow框架對MNIST數據集進行訓練,能取得較高的識別率,但是需要編寫的代碼較多,訓練模型耗時較長,針對這種問題,楊永翌提出采用Keras模型構建卷積神經網絡,采用Tanh激活函數,對MNIST數據集進行訓練,取得98. 38%識別率。楊永翌采用Keras模型減少了代碼,但是降低了識別率,郭夢潔同樣采用Keras模型,利用Relu激活函數代替Tanh,結合Adam優化器,對MNIST數據集進行訓練,識別率達到99. 25%。王梅等采用改進VGG-16和樸素貝葉斯方法對MNIST數據集進行訓練,識別率達到99. 36%。余圣新等采用改進Inception卷積神經網絡結構對MNIST數據集進行訓練,識別率達到99. 45%。在Keras模型的基礎上,對模型進行改進,對MNIST數據集進行識別,識別率達到99. 54%,取得較好效果。

1Keras模型

Keras是由Python語言編寫的開源神經網絡學習庫。與Tensorflow相比,Keras提供了強大的神經網絡API庫,采用模塊化的編程,縮減代碼編寫量,是深度學習中使用較多的模型之一。Keras主要有Sequential和Model兩種模型。Sequential模型是Model模型的特例,它通過add()方法將多個網絡層線性的堆疊,因此它又被稱為序列模型。Sequential模型的第一層需要輸入shape數據參數,其余層可根據第一層的shape數據依次推導,不需要接收數據。這種模式輸入和輸出都是單一的,層層之間關聯簡單,沒有跨層關聯,因此編譯速度快,在簡單的模型設計中使用較多。Model模型是針對復雜的神經網絡而設計的一種模型,它采用多輸入和多輸出,通過model. layers添加各層信息,提供了共享層模型,實現訓練模型代碼的重用,在構建復雜神經網絡中被經常使用。

2激活函數

激活函數將非線性模型引入神經網絡中,強化了神經網絡的模擬和學習能力,在訓練復雜類型數據時,激活函數起著非常重要的作用。常用激活函數有Sigmoid、Tanh和Relu函數。

2.1Sigmoid激活函數

文獻[2]在手寫數字識別過程中,采用的激活函數為Sigmoid函數。Sigmoid函數的公式為:

2.2Tanh激活函數

文獻[6]基于Keras模型,采用Tanh作為激活函數。Tanh函數被稱為雙切正切函數,其公式為:

圖2為Tanh函數的曲線圖,可以看出Tanh函數與Sigmoid相比較,Sigmoid函數的輸出值都大于0,減慢了模型的收斂速度。Tanh函數的輸出值為[-1,1],與Sigmoid函數相比較,Tanh函數提高了模型的收斂速度。

從推導而得的公式3可知,Tanh函數相當于Sigmoid函數的變形,從本質上并沒有解決梯度消失的問題,因此Tanh函數也不適合深層次神經網絡模型的構建。

2.3Relu激活函數

Relu激活函數是目前應用比較多的一個函數,它的公式為:

從圖(3)、公式(4)和公式(5)可知,Relu激活函數其實就是一個求最大值的分段函數。當x的取值小于或等于O時,Relu函數不被激活,輸出為0;當x的取值大于O時,Relu函數被激活,取值為x。Relu函數沒有飽和區域,所以不存在梯度消失的情況,由于輸入值x為負時,Relu函數不被激活,意味著同一時刻只有部分神經元被激活,使得網絡變得比較稀疏,與Sigmoid和Tanh函數相比,Relu函數提高了訓練模型的效率和收斂的速度。因此改進的算法中采用的激活函數為Relu函數。

3基于Keras構建CNN手寫數字識別模型的改進

3.1卷積神經網絡結構的改進

卷積神經網絡的英文全稱為ConvolutionalNeural Network(CNN),是由加拿大神經科學家Hubel和Wiesel在研究貓腦皮層的神經元時提出。其主要思想是局部卷積、權值共享、空間或時間上的采樣,其中卷積操作是卷積神經網絡的核心。卷積操作就是利用卷積核對特征圖像的像素點按照從左到右的滑動方向進行局部卷積運算,從而提取每一層圖像的局部特征(Feature Map)。卷積運算的公式如下所示:

一般卷積神經網絡的結構主要由卷積層、池化層和全連接層的重復組合。文獻[6]在卷積神經網絡結構設計中,由兩個卷積層、一個池化層和兩個全連接層組成,圖4描述了文獻[6]采用的傳統的卷積網絡。首先對28*28的灰度圖像進行3*3的兩次卷積操作,得到64個24*24的圖像;然后通過2*2的池化層操作,變為64個12*12的圖像;最后加入2個全連接層(1個為激活函數為Relu,1個回歸函數為Softmax),輸出訓練的結果。

但是在實際的卷積操作過程中,每經過1次卷積操作就會增加1次訓練參數。傳統的卷積網絡結構在第1次卷積操作后,參數個數為320;第2次卷積操作后,參數個數達到了18496;經過2次全連接后,最終參數個數為1199882。過多的參數增加了訓練時間,同時會造成過擬合情況。基于此,在傳統的卷積網絡結構的基礎上進行了結構的改進,采用兩個卷積層、兩個池化層和兩個全連接層構成。首先對28*28的灰度圖像進行5*5卷積核操作,采用2*2模型進行池化操作;其次進行3*3卷積核操作,采用2*2模型進行池化操作,為了防止參數過多造成的過擬合,加入了Dropout層,丟棄50%的神經元,簡化了參數;最后進行3次全連接(2次激活函數為Relu,1次回歸函數為Softmax),輸出訓練的結果。改進后的卷積網絡結構如圖5所示。

3.2實驗結果分析

改進模型采用的實驗環境為:Windowsl0的操作系統,InteI(R)

Core (TM)i7-4700的CPU,16GP的內存容量,NVIDIA GeForce RTX 2070的GPU;Anaconda3下的Jupyter工具;基于python語言的Keras框架。實驗中采用的數據集為目前常用的MNIST數據集,對文獻[6]中傳統的卷積網絡結構和采用的改進卷積網絡結構進行了測試對比分析。

表1為采用傳統的卷積網絡結構實驗數據。首先進行了2次卷積操作,得到18496個訓練參數;然后經過1次池化層操作,加入Dropout防止過擬合,丟棄25%的神經元,并加入Flatten展平層,將訓練的數據展平為適合的網絡結構;再次進行了1次激活函數為Relu的全連接層和1次回歸函數為Softmax的全連接層,中間又加入了Dropout防止過擬合,丟棄25%的神經元,實驗最后總的訓練參數為1199882。

表2為采用改進卷積網絡結構的實驗數據。首先進行了1次卷積操作,得到832個訓練參數,經過1次池化層操作;其次再進行了1次卷積操作,得到4624個訓練參數;經過1次池化層操作;然后加入Dropout防止過擬合,丟棄50%的神經元,并加入Flatten層,將訓練的數據展平為適合的網絡結構;再次進行了2次激活函數為Relu的全連接層和1次回歸函數為Softmax的全連接層,實驗最后總的訓練參數為63744。

改進的模型以MNIST數據集的60000個訓練集和10000個測試集為基礎,以acc(訓練集準確率)、val_acc(測試集準確率)、loss(訓練集損失率)、val-loss(測試集損失率)為評估參數,對傳統的卷積網絡結構和改進的卷積網絡結構進行仿真實驗。實驗中數據訓練的迭代次數epoch為50次,每次的樣本數量batch_size為256,圖6和圖7分別為傳統的和改進的acc和val acc的結果。由于傳統的acc都未超過98%,因此圖6只顯示出了val_acc的值。傳統的最終的val_acc值為99.25%,改進的最終val_acc值為99. 54%;傳統的結構在迭代20次以后val acc的值才超過了99.1%,而改進模型在迭代9次以后val_acc的值就全部超過了99. 1%;因此采用改進后的卷積網絡結構收斂要快于改進前的速度,測試集的準確率要高于改進前的準確率。

圖8和圖9分別為傳統和改進的loss和valloss的結果。傳統的val_loss都高于2%,改進模型中迭代30次以后的val_loss值都低于2%,最終

表3為改進前和改進后結構實驗中val_acc和val_loss的數據,以迭代10次、20次、30次、40次和50次的樣本數據為例。從表3中可以看出,經過50次的迭代,采用卷積網絡結構比改進前卷積網絡結構的val_acc提高了0.29%、val loss降低了0. 77%。且在迭代第10次時,改進后比改進前的val_acc提升了0.29%,val loss降低了0.8%,說明采用改進的結構收斂速度要快于改進前的收斂速度。

4結論

基于Keras框架,對卷積神經網絡的結構進行改進,以MNIST數據集為基礎進行仿真實驗。實驗結果表明:改進的卷積神經網絡結構與改進前相比較,提高了訓練集和測試集上的準確率,最終在測試集上的準確率為99. 54%;降低了訓練集和測試集上的損失率,最終在測試集上的損失率為1.62%;且收斂速度快,訓練參數也少于改進前的訓練參數,對手寫數字識別的研究有重要意義。后續需要繼續研究結構和算法的改進,進一步提升測試集的準確率。

主站蜘蛛池模板: 91美女在线| 国产成人精品视频一区视频二区| 欧美成一级| 国产精品一区二区不卡的视频| 亚洲国产欧美自拍| а∨天堂一区中文字幕| 久久综合色天堂av| 人人爽人人爽人人片| 成人免费网站在线观看| 亚洲国产欧美国产综合久久| 一区二区午夜| 午夜精品一区二区蜜桃| 91九色国产在线| 99久久99视频| 国产情侣一区| 国产自在自线午夜精品视频| 2020最新国产精品视频| 久久精品无码国产一区二区三区| 免费在线色| 国产男女XX00免费观看| 美臀人妻中出中文字幕在线| 国产呦精品一区二区三区下载| 欧美一区二区人人喊爽| 国产又大又粗又猛又爽的视频| 国产成人三级| 亚洲日韩高清在线亚洲专区| 亚洲Aⅴ无码专区在线观看q| 88国产经典欧美一区二区三区| 国产综合色在线视频播放线视 | 亚洲 欧美 日韩综合一区| 日本久久网站| 在线一级毛片| 免费高清毛片| a国产精品| 免费啪啪网址| 欧美不卡视频在线| 毛片卡一卡二| 青青草国产一区二区三区| 国产高清色视频免费看的网址| 色综合综合网| 亚洲天堂视频在线观看免费| 欧美激情福利| 国产毛片高清一级国语 | www.91在线播放| 五月婷婷综合网| 欧美啪啪一区| 国产高清国内精品福利| 无码专区在线观看| 国产免费看久久久| 婷婷丁香色| 欧美全免费aaaaaa特黄在线| 亚洲视频四区| 久久青草免费91观看| 欧美中日韩在线| 精品国产免费第一区二区三区日韩| 538精品在线观看| 日韩无码一二三区| 亚洲欧洲一区二区三区| 国产精品白浆无码流出在线看| 日韩国产综合精选| 99视频在线免费观看| 亚洲人成色77777在线观看| 免费毛片网站在线观看| 久久久久青草线综合超碰| 97se亚洲综合在线天天| 亚洲精品你懂的| 国产又粗又爽视频| 亚洲国产精品久久久久秋霞影院 | 成人福利免费在线观看| 国产一区二区三区免费| AⅤ色综合久久天堂AV色综合| 好吊色妇女免费视频免费| 国产一区二区免费播放| 精品视频在线观看你懂的一区| 日本精品影院| 亚洲国产91人成在线| 亚洲中文字幕手机在线第一页| 91无码人妻精品一区| 国产成人高清精品免费| 美女裸体18禁网站| 亚洲精品久综合蜜| 欧美综合成人|