国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2021-05-04 11:11李建新
關(guān)鍵詞:手寫卷積神經(jīng)網(wǎng)絡(luò)

李建新

(廣州工商學(xué)院 計(jì)算機(jī)科學(xué)與工程系,廣州 528138)

0 引 言

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

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

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

1.1 系統(tǒng)組成

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

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

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

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

1.2 MNIST數(shù)據(jù)集訓(xùn)練與測(cè)試

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

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

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

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

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

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

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

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

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

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

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

上述Softmax回歸算法在TansorFlow中的相應(yīng)代碼如下:

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

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

式中,y為預(yù)測(cè)概率的分布,y'為實(shí)際樣本的標(biāo)簽值。

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

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

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

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

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

2.1 數(shù)字預(yù)處理

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

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

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

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

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

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

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

2.3.1 建立模型參數(shù)

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

(2)對(duì)學(xué)習(xí)模型進(jìn)行訓(xùn)練和測(cè)試;

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

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

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

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

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

3 實(shí)驗(yàn)數(shù)據(jù)分析

實(shí)驗(yàn)分為無(wú)卷積神經(jīng)網(wǎng)絡(luò)和有卷積神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)以損失函數(shù)、訓(xùn)練數(shù)據(jù)準(zhǔn)確率和測(cè)試數(shù)據(jù)準(zhǔn)確率為參考,見(jiàn)表1。

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

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

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

4 結(jié)束語(yǔ)

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

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

猜你喜歡
手寫卷積神經(jīng)網(wǎng)絡(luò)
基于全卷積神經(jīng)網(wǎng)絡(luò)的豬背膘厚快速準(zhǔn)確測(cè)定
基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法
基于神經(jīng)網(wǎng)絡(luò)的船舶電力系統(tǒng)故障診斷方法
基于人工智能LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)成績(jī)預(yù)測(cè)
基于圖像處理與卷積神經(jīng)網(wǎng)絡(luò)的零件識(shí)別
MIV-PSO-BP神經(jīng)網(wǎng)絡(luò)用戶熱負(fù)荷預(yù)測(cè)
我手寫我心
基于深度卷積網(wǎng)絡(luò)與空洞卷積融合的人群計(jì)數(shù)
我手寫我意
三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測(cè)
东明县| 土默特左旗| 静宁县| 巧家县| 若尔盖县| 珠海市| 高雄县| 龙泉市| 砚山县| 河北区| 绍兴市| 卫辉市| 封开县| 麦盖提县| 东乌珠穆沁旗| 梅州市| 东兴市| 陆丰市| 武宁县| 福鼎市| 奈曼旗| 忻州市| 甘肃省| 镇远县| 颍上县| 碌曲县| 咸宁市| 奉贤区| 古蔺县| 常宁市| 丰原市| 临泉县| 乐业县| 庆城县| 玉田县| 黑龙江省| 延安市| 鄯善县| 碌曲县| 昌宁县| 潜江市|