• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于TensorFlow手寫體數(shù)字識別系統(tǒng)的研究

      2021-05-04 11:11:00李建新
      智能計算機與應用 2021年11期
      關(guān)鍵詞:手寫體手寫卷積

      李建新

      (廣州工商學院 計算機科學與工程系,廣州 528138)

      0 引 言

      目前,手寫體數(shù)字識別是人工智能機器學習領(lǐng)域眾多研究者關(guān)注的一個熱點,廣泛應用于公安、稅務、交通、金融、教育等行業(yè)的實踐活動中。在實際應用中,對手寫數(shù)字單字識別率的要求比手寫普通文字識別要苛刻許多,識別精度需要達到更高的水平。由于手寫數(shù)字識別沒有文字識別那樣的上下文,不存在語意的相關(guān)性,而數(shù)據(jù)中的每一個數(shù)字又至關(guān)重要。因此,提高手寫數(shù)字識別率,成為人工智能的重要研究領(lǐng)域。

      人工神經(jīng)網(wǎng)絡是一種類似于大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu),進行信息處理的數(shù)學模型,具有學習和記憶功能,可以讓神經(jīng)網(wǎng)絡學習各個模式類別中的大批量訓練樣本,記憶各個模式類別中的樣本特征。在識別樣本時,將逐個與記憶中各模式類別的樣本特征相比較,從而確定樣本所屬類別。人工神經(jīng)網(wǎng)絡通過學習調(diào)整內(nèi)部大量節(jié)點之間相互連接的關(guān)系,可獲得眾多優(yōu)化的模型參數(shù)。

      1 手寫體數(shù)字識別系統(tǒng)

      1.1 系統(tǒng)組成

      手寫體數(shù)字識別系統(tǒng)由輸入、預處理、識別等環(huán)節(jié)組成,系統(tǒng)架構(gòu)如圖1所示。

      圖1 手寫體數(shù)字識別系統(tǒng)組成Fig.1 Composition of handwritten digit recognition system

      輸入環(huán)節(jié)包括MNIST手寫體數(shù)據(jù)集輸入和用戶預測圖片里的手寫體數(shù)字;預處理環(huán)節(jié)主要指用戶手寫體數(shù)字預測圖片的預處理;識別環(huán)節(jié)包括卷積神經(jīng)網(wǎng)絡、分類識別器、損失函數(shù)和優(yōu)化器。卷積神經(jīng)網(wǎng)絡實現(xiàn)數(shù)字手寫體0~9特征提取,分類識別是手寫體數(shù)字識別最關(guān)鍵的部分。經(jīng)過卷積神經(jīng)網(wǎng)絡提取來的特征被送到分類器中,對其進行分類識別。分類識別器由softmax完成,softmax得到當前樣例中屬于不同種類的概率分布情況。

      優(yōu)化器在神經(jīng)網(wǎng)絡訓練和測試過程中,根據(jù)計算結(jié)果與損失函數(shù)要求,調(diào)節(jié)模型可變參數(shù),讓神經(jīng)網(wǎng)絡參數(shù)盡快達到理想誤差范圍。

      1.2 MNIST數(shù)據(jù)集訓練與測試

      訓練一個卷積神經(jīng)網(wǎng)絡時,需要大量的數(shù)據(jù)、設置卷積的層數(shù)、卷積核大小、池化的方式(最大、平均)、損失函數(shù)、設置目標(如:手寫數(shù)字的識別,輸出一個10維向量)等,讓卷積神經(jīng)網(wǎng)絡通過不斷的訓練更新參數(shù),向設置的目標靠近,最后可以通過這些參數(shù)來預測樣本。

      通常情況下,假設樣本由K個類組成,共有m個,則數(shù)據(jù)集可由式(1)表示:

      式中,x(i)∈R(n+1);y(i)∈{1,2,…,K},n+1為特征向量x的維度。

      MNIST是機器學習中的一個數(shù)據(jù)集,包含0~9的不同人手寫數(shù)字圖片。數(shù)據(jù)集由60 000個手寫數(shù)字訓練樣本和10 000個手寫數(shù)字測試樣本組成,每個樣本是一張28*28像素的灰度手寫數(shù)字圖片。則MNIST數(shù)據(jù)集的訓練集m=60 000,n+1=784,K=10、MNIST數(shù)據(jù)集的測試集m=10 000,n+1=784,K=10;分別由式(2)、式(3)表示為:

      機器學習模型設計時,將提供大量的數(shù)據(jù)以訓練一個手寫體數(shù)字的機器學習,所得到的模型參數(shù),最終用于預測用戶圖片里面的數(shù)字。

      1.3 卷積神經(jīng)網(wǎng)絡與分類器

      卷積神經(jīng)網(wǎng)絡是系統(tǒng)的核心部分,是由輸入層、多個卷積層、多個池化層、多個全連接層以及輸出組成的多層感知器。卷積層為局部連接,用于提取圖像特征;池化層用于進一步降低輸出參數(shù)數(shù)量,提高了模型的泛化能力;全連接層進行特征關(guān)系和權(quán)重值計算,完成分類處理。手寫體數(shù)字識別卷積神經(jīng)網(wǎng)絡的組成示意如圖2所示。

      圖2 手寫體數(shù)字識別卷積神經(jīng)網(wǎng)絡組成Fig.2 Composition of convolution neural network for handwritten digit recognition

      在TansorFlow中卷積層、池化層和全連接層部分代碼如下:

      為了提高卷積神經(jīng)網(wǎng)絡對手寫體數(shù)字識別的準確率,可以通過多種途徑來實現(xiàn)。如:增加卷積層數(shù)量,以便進行更高層次的特征提?。桓淖兏骶矸e層的卷積核大小,以便調(diào)整特征提取范圍,或改變卷積步長;增加卷積層中卷積核的數(shù)量,意味著提取特征圖的數(shù)量(一個卷積核卷積出來一個特征圖),也就意味著可以從更多的角度提取原圖的特征,避免視角單一,卷積出來多個特征圖后要重新組織輸出形態(tài),用以適應下一層的輸入要求。

      分類器采用Softmax回歸算法,該算法能將二分類的Logistic回歸問題擴展至多分類。Softmax回歸算法對于給定的輸入值x(i),輸出的K個估計概率可由式(4)[1]表示:

      上述Softmax回歸算法在TansorFlow中的相應代碼如下:

      1.4 損失函數(shù)和優(yōu)化器

      通常采用的損失函數(shù)“交叉熵”(crossentropy),如式(5)[2]所示:

      式中,y為預測概率的分布,y'為實際樣本的標簽值。

      TensorFlow中提供了8種優(yōu)化器,即BGD、SGD、Momentum、Nesterov Momentum、Adagrad、Adadelta、RMSprop和Adam,模型訓練一般采用梯度下降優(yōu)化器。

      在TansorFlow中,損失函數(shù)、學習率為learning_rate的優(yōu)化器代碼[2]如下:

      由以上系統(tǒng)組成可知,MNIST數(shù)據(jù)集、卷積神經(jīng)網(wǎng)絡與分類器、損失函數(shù)和優(yōu)化器是人工神經(jīng)網(wǎng)絡學習模型訓練機制的組成部分。

      2 用戶手寫體數(shù)字識別

      通過對MNIST數(shù)據(jù)集的訓練和測試,模型參數(shù)達到要求并予以保存。在用戶實際應用時可以導入模型參數(shù)對用戶手寫數(shù)字識別。由于MNIST數(shù)據(jù)集手寫數(shù)字以張量形式存在,其形態(tài)為1維[784],而用戶手寫數(shù)字可以各種像素的數(shù)字圖像存在,故用戶手寫數(shù)字在識別前需要將其圖像進行預處理,需與MNIST數(shù)據(jù)集28×28像素達到一致。

      2.1 數(shù)字預處理

      預處理對于系統(tǒng)設計非常重要,經(jīng)過預處理后的圖像才能進行特征提取。因此,預處理的好壞直接影響著識別結(jié)果。因?qū)氲狞c陣圖形大小各異,需將點陣圖形壓縮成與MNIST數(shù)據(jù)集中的大小相一致,調(diào)整用戶手寫數(shù)字灰度圖像形態(tài)為[28,28];隨后將用戶手寫數(shù)字圖像轉(zhuǎn)換為灰度圖像?;叶葓D像像素值純黑色的灰度級別為0,純白色的灰度級別為255,介入兩者之間還有許多灰度級別。由于MNIST數(shù)據(jù)集圖片像素純白色~純黑色采取正規(guī)化的0~1區(qū)間,故用戶手寫數(shù)字灰度圖像也須進一步正規(guī)化到0~1區(qū)間。用戶手寫數(shù)字預處理流程如圖3所示。

      圖3 用戶手寫數(shù)字預處理流程Fig.3 Preprocessing process and code of handwritten digits

      經(jīng)處理后的數(shù)字圖片格式與MNIST數(shù)據(jù)集的圖片格式相同,則可將圖片輸入到網(wǎng)絡中進行識別。

      2.2 檢測用戶手寫數(shù)字圖像的神經(jīng)網(wǎng)絡

      對用戶手寫數(shù)字圖像進行檢測的卷積神經(jīng)網(wǎng)絡,與MNIST數(shù)據(jù)集的訓練和測試的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)相同。模型參數(shù)為MNIST數(shù)據(jù)集的訓練與測試得到并保存模型參數(shù),主要是卷積神經(jīng)網(wǎng)絡的各層參數(shù)。只要恢復、使用之前保存的模型參數(shù),用這些已知的參數(shù)構(gòu)建卷積神經(jīng)網(wǎng)絡,通過其將用戶手寫數(shù)字圖像從卷積神經(jīng)網(wǎng)絡輸入,以完成到輸出的映射,獲得相應數(shù)字。

      2.3 數(shù)字識別實現(xiàn)

      TensorFlow是一個開源的機器學習框架,在圖形分類、音頻處理、推薦系統(tǒng)和自然語言處理等場景下有著豐富的應用,并提供了多種編程語言的接口。本系統(tǒng)建立在TensorFlow平臺上,分二部分完成:

      2.3.1 建立模型參數(shù)

      (1)導入MNIST數(shù)據(jù)集,并構(gòu)建卷積神經(jīng)網(wǎng)絡學習模型;

      (2)對學習模型進行訓練和測試;

      (3)評價學習模型是否為最佳模型參數(shù),是則保存模型參數(shù),否則修改學習模型,繼續(xù)執(zhí)行(2)、(3)步驟。

      2.3.2 用戶手寫數(shù)字識別

      (1)數(shù)字預處理,以使用戶手寫數(shù)字與MNIST數(shù)據(jù)集一致;

      (2)使用保存的模型參數(shù)構(gòu)建用戶手寫數(shù)字識別模型;

      (3)用戶手寫數(shù)字輸入手寫數(shù)字識別模型,得到用戶手寫數(shù)字輸出。

      3 實驗數(shù)據(jù)分析

      實驗分為無卷積神經(jīng)網(wǎng)絡和有卷積神經(jīng)網(wǎng)絡。實驗以損失函數(shù)、訓練數(shù)據(jù)準確率和測試數(shù)據(jù)準確率為參考,見表1。

      表1 訓練損失值與數(shù)據(jù)準確率Tab.1 Training loss and data accuracy

      由表1中上半部數(shù)據(jù)可知,隨著學習率的增加,損失函數(shù)值的減少,訓練準確率和測試準確率均增加,但學習率增加過大。如,學習率為1.0和1.5時,導致數(shù)據(jù)準確率發(fā)生振蕩。

      由表1中下半部數(shù)據(jù)可知,當學習率小于0.65時,前20輪訓練損失函數(shù)收斂很快,訓練準確率和測試準確率很快達到0.98以上,最高為1。學習率過大,如0.75,損失函數(shù)找不到最小點,無法收斂,甚至出現(xiàn)未定義或不可表示的值。

      4 結(jié)束語

      通過實驗比較了無卷積和卷積在神經(jīng)網(wǎng)絡中的作用,對學習訓練參數(shù)、優(yōu)化器也做了比較,取得了相應數(shù)據(jù),學習率大小對無卷積神經(jīng)網(wǎng)絡影響為引起數(shù)據(jù)準確率發(fā)生振蕩,對有卷積神經(jīng)網(wǎng)絡影響為引起損失函數(shù)找不到最小點,數(shù)據(jù)準確率大幅度下降。在學習率大小合適條件下有卷積神經(jīng)網(wǎng)絡的損失值和學習率均明顯優(yōu)于無卷積神經(jīng)網(wǎng)絡,實驗結(jié)果挖掘了神經(jīng)網(wǎng)絡對圖形內(nèi)在的特性。

      本研究是手寫體數(shù)字識別系統(tǒng)開發(fā)的組成部分,其成果對整個系統(tǒng)開發(fā)工作奠定了很好的基礎(chǔ)。

      猜你喜歡
      手寫體手寫卷積
      手寫比敲鍵盤更有助于學習和記憶
      哐當(外一首)
      哐當(外一首)
      我手寫我心
      基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
      抓住身邊事吾手寫吾心
      基于大數(shù)據(jù)下的手寫體識別的設計與研發(fā)
      科技風(2020年3期)2020-02-24 06:52:46
      披著書法外衣的手寫體
      中國篆刻(2019年6期)2019-12-08 15:56:23
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于集成學習的MINIST手寫數(shù)字識別
      電子制作(2018年18期)2018-11-14 01:48:08
      孟村| 盐山县| 铜陵市| 元谋县| 江城| 霍邱县| 上思县| 鄄城县| 无棣县| 南阳市| 三明市| 依安县| 阜平县| 郧西县| 张家口市| 积石山| 通道| 罗江县| 桓台县| 南陵县| 古丈县| 双峰县| 定州市| 巴中市| 柳林县| 香格里拉县| 天全县| 莱西市| 三原县| 农安县| 永德县| 西昌市| 白山市| 昆明市| 浏阳市| 翼城县| 章丘市| 油尖旺区| 揭东县| 鄂州市| 乌审旗|