?

基于神經網絡的快速識別手寫數字研究

2024-01-24 03:45何小利鄒顯迪
洛陽師范學院學報 2023年11期
關鍵詞:降維梯度神經元

張 博,何小利,龍 源,余 謙,鄒顯迪

(四川輕化工大學 計算機科學與工程學院,四川 宜賓 644005)

0 引言

手寫數字識別一直是人工智能和計算機視覺研究的熱點,該技術可以應用于郵政編碼和數據報表等領域,從而提高手寫數字數據化的效率.研究一種具有擴展性、高效且準確的手寫數字識別方法具有重要意義[1].

根據字體分類,數字識別可以分為印刷體識別和手寫體識別兩類.手寫體識別按照識別時間分類,又可以分為聯機手寫體識別和脫機手寫體識別兩種模式[2].本研究主要研究脫機手寫體識別,其需要將手寫數字圖片規范化,并使用卷積神經網絡(Convolutional Neural Networks,CNN)模型進行訓練.在圖像處理和分類領域中,卷積神經網絡一直都以優良的表現占有一席之地[3].阿拉瓦特等驗證了超參數的微調對提高卷積神經網絡結構的性能至關重要,特別是增加CNN結構中的卷積層數對手寫體數字識別性能的影響較明顯[4].在機械領域中,卷積神經網絡及其衍生網絡被應用于磨屑自動分類,構建以人工神經網絡(Back Propagation Neural Networks,BP)為一級分類、六層卷積神經網絡為二級分類的BP-CNN模型,該模型緩解了普通神經網絡對磨屑識別效率低、準確度表現不好、多種特征需要高價值機器才能識別的問題,最終識別率能夠達到80%以上[5].

深度卷積神經網絡(Deep Convolution Neural Network,DCNN)是一種結合深度學習構建卷積神經網絡的技術,其主要作用是將數據的底層特征以一定規律組合,并抽象成高層特征.雖然這項技術廣泛應用于圖像學習視覺特征提取,但是它也存在一些缺點,如網絡結構復雜,需要大量的標記數據集和高計算資源.本研究基于DCSOM(Deep Convolution Self-Organizing Maps)模型[6],采用主分量分析(Principal Component Analysis,PCA)特征提取方法,重構神經網絡,實現了快速識別手寫數字的方法.

由于BP神經網絡具有強大的非線性映射能力和柔性的網絡結構,而卷積神經網絡具有表征學習的能力,因此將兩者的優勢結合起來,構建一種BP-CNN神經網絡,可以高速搜索最優解,緩解優化學習速度和精確度之間的矛盾.具體改進思路如下.第一,在使用梯度下降時,如果梯度函數的斜率為正,則增加下一個梯度值,如果函數斜率為負,則減小下一個梯度值; 第二,采用迭代方式,通過不斷優化目標、目標所依賴的變量以及變量之間的約束關系來構建和優化模型.

1 BP-CNN的建立

1.1 構建傳統模型

卷積神經網絡的模型通常采用傳統的卷積層、池化層和全連接層的方式構建.其中卷積層和池化層結合在一起,主要起到提取圖像特征的作用.它們在獲取圖像典型特征圖的同時,減少了輸入層到全連接層中的數據量.模型的構造過程如下: 首先,手寫數字圖像通過一個激活函數為ReLU的32個3×3二維卷積層; 其次,通過一個2×2的池化層、Flatten層和一個Softmax全連接層; 再次,輸出由10個神經元構成的識別結果.Flatten的主要功能是將卷積層輸出的數據展開后輸入下一層的全連接層.

1.2 構建BP-CNN模型

在卷積神經網絡中,卷積核的大小代表感受野的大小,而卷積核的步長度則代表提取的精度.第一層由9個大小為4×3、步長為(2,1)的卷積核構成,輸入圖像的大小為28×10像素,經過該層以后輸出為13×8像素; 第二層由18個3×3大小、步長為(2,1)的卷積核構成,將上一層神經網絡的輸出作為該層卷積層的輸入,經過神經網絡卷積以后得到輸出值為6×6像素的圖片; 第三層采用全連接層,數據的輸出維度為20×20像素大小; 第四層經過Flatten層對數據進行展平,最終通過全連接層得到10個輸出神經元.

基于以上對模型的描述,BP-CNN模型的結構圖如圖1所示.其中卷積層和全連接層作為神經網絡結構的隱藏層,對輸入的數據進行卷積和篩選操作以后,得到最終的10個結果.

圖1 BP-CNN神經網絡結構示意圖

2 重構神經網絡的過程

2.1 數據維度壓縮

MNIST數據集包含70 000張圖片,分別有60 000張圖片的訓練集和10 000張圖片的測試集,本研究使用已經處理好的28×28像素的數值為0—9手寫數字集.我們使用K折交叉驗證的方法,將訓練集和測試集隨機混合后,使用K折交叉驗證來選擇第一個模型準確率最高的K值,以對訓練集和測試集進行分割.我們將圖像數據放大255倍,并將圖像標簽從數字轉化為1×10的矩陣,明確神經網絡輸出層的神經元表達的意義.對于基礎的MNIST手寫數字識別,我們可以使用邏輯回歸的方法,將數字部分識別為1,黑色部分識別為0,并直接使用邏輯回歸模型進行預測.但是這種方法只能實現簡單的預測,其準確率不如神經網絡模型.

在BP-CNN模型中,我們采用了兩種降維方法: PCA和等度量映射(Isometric Mapping,ISOMAP).

在主成分分析法中,對于樣本X∈Rp×p,每個樣本都有p×p個維度的屬性.存在降維矩陣矩陣A,滿足A∈Rm×p,可得到Axi為降維后的樣本.降維的關鍵點在于找到滿足約束條件的m維和保證降維合理化的矩陣A,標準化矩陣如下:

(1)

(2)

標準化陣Z求相關系數矩陣如下:

(3)

其中,rij是標準化陣,樣本相關矩陣R通過標準化陣和樣本x的計算,使用標準化陣Z和維度n來表示.樣本相關矩陣R的特征方程為:

(4)

(5)

每一個標準化的變量即為主成分,m×p維度的最大主成分矩陣降維后矩陣Uij的公式如下:

(6)

2.2 重構神經網絡模型公式

重構神經網絡模型的工作原理如下: 首先,由卷積神經網絡對圖像特征進行提取; 然后,通過人工神經網絡使用隨機梯度下降方法來更新網絡中的參數,以減少人為操作帶來的影響; 之后根據PCA-MNIST數據集的特點和性質,對神經網絡模型進行微調,以判斷模型是否達到設計的迭代次數,并計算各層之間的精確度和誤差值之和,以及記錄訓練時間進行對比分析; 最后,通過輸出值來對隱藏層和輸出層之間的權重進行調節.該輸出值是通過ReLU激活函數計算而來的.隱藏層第j個神經元的輸出值zj和連接第j個神經元和第i個神經元的權重Wji的公式如下:

(7)

(8)

其中,xi為節點i的輸入值,yk表示在輸出層節點k的輸出值.誤差E為所有輸出層節點的輸出值與目標值的誤差平方和,其公式如下:

(9)

其中,dk為輸出層節點k的目標值(實際值).權重連接值的大小ΔW的公式如下:

(10)

其中,η是學習率,公式含義為權重連接值等于誤差E對權重w的導數乘學習率取負值.利用坡度下降學習法調整權重連接值的大小,其調整的幅度取決于學習率η的設定大小.Δwkj為第j個隱藏層神經元與第k個輸出層神經元之間的權重公式如下:

Δwkj=-ηδkzj.

(11)

其中,δk為輸出層第k個輸出神經元的誤差量.將δk使用已知的yk和dk來進行表達,得到隱藏層權重的最簡表達式如下:

(12)

2.3 學習率自適應

為了減少對人工輸入參數的需求,并尋找神經網絡模型的最佳學習率,我們使用Keras的隨機梯度下降法(Stochastic Gradient Descent,SGD)來實現梯度下降,并作為一個連續衰減的學習率調度器.我們設定初始學習率為0.1,衰減系數為0.001.實驗結果顯示,這樣做大大提高了模型的準確率,同時也降低了模型出現過擬合的風險.在使用自適應的學習速率時,增加動量系數可以在兩次梯度下降的方向相同時,加速下降的速度,從而達到更快的收斂.學習率lr的計算公式如下:

(13)

其中,設定初始學習率lr0=0.1,衰減系數decay=0.001,epochs為總迭代次數,epochsi為第i次迭代,一個學習率梯度下降的例子如圖2所示,其展示了BP-CNN模型的學習率梯度下降的一個過程.

圖2 學習率梯度下降

2.4 模型對抗性研究

為了驗證模型預測的穩定性,我們向訓練集和測試集添加了三種類型的噪聲.這些噪聲包括高斯噪聲、加入了占圖像像素點0.1比例的椒鹽噪聲,以及從原圖像中刪除了占圖像像素點0.03比例的部分像素.我們還采用了相同的隨機變換規則,將噪聲數據與原始數據混合在一起.這樣做有兩個目的: 一是減少噪聲累積導致的數據特征增多,避免使模型的預測結果出現偏差; 二是檢驗模型在添加了這三種不同噪聲的數據集上是否仍能保持穩定.

3 模型運行和效果評估

我們采用ISOMAP降維方法將每張圖片從28×28像素降低到8×8像素.實驗結果顯示,測試集的效果達到了95%以上,但訓練集的效果僅有10%.這可能是由于數據降維處理導致了特征值的異常,或者模型出現了過擬合.為了提高模型的泛化性能,我們采用批量訓練法對訓練集進行均等分割.實驗結果顯示: 通過這種方式,準確率從10%提升到了31%,因此可以判斷并非過擬合問題.

各模型在數據集上的時間如表1所示.表1展示了三種模型在不同迭代次數和兩種數據集上的運行時間分析.

表1 各模型在數據集上的時間

在BP模型、CNN模型和BP-CNN模型在PCA-MNIST數據集中迭代30次的精確度趨勢方面,BP神經網絡的精確度和損失與其他模型相比較表現較差.BP-CNN模型的初始表現較差,但其精確度提升速度較快,從第六次迭代開始,BP-CNN模型的精確度要比傳統BP和CNN模型略高.使用重構神經網絡的目的是降低使用PCA降維方式對網絡精確度帶來的影響.對模型選取不同的迭代次數,當模型訓練次數epochs>=5時,模型訓練的準確率提升速度逐漸降低.

使用混淆矩陣的方法對模型訓練結果進行分析,其模型混淆矩陣分析圖如圖3所示.該分析目的是評估訓練模型對哪些數字的識別準確率較高,以及哪些數字更容易混淆.橫縱坐標分別表示模型預測的標簽值和圖片原始標簽值,對角線元素是不同目標的正確識別數量,其余元素為識別錯誤的情況,背景顏色的深淺代表該數字占總數字的比率.三種模型對數字1的識別靈敏度高,對數字5的靈敏度低.BP模型將數字5錯誤地識別成3的概率最高,為16.2%.BP-CNN與CNN的識別效果相近,與它們的精確度相似符合.由此可得,重構神經網絡模型在識別數字3和數字5中最容易出錯,由于兩個數字的相似度較高、像素分布比較相似,可以在后續研究中建立兩個數字獨特的特征點進行區分.最后,對原始數據加入一定量的高斯噪聲和椒鹽噪聲,測試模型的穩定性.通過實驗結果發現,高斯噪聲帶來的影響比椒鹽噪聲的影響要大,因為高斯噪聲是對每張圖片的所有像素點都進行了處理,增大了模型識別圖片的特征值,最終導致模型面對噪聲數據識別困難.但是BP-CNN模型在多重組合噪聲影響的情況下精確度依舊有88%.對比沒有噪聲影響的準確率相對誤差在5%以內,體現噪聲對重構模型的影響能力有限.

圖3 模型混淆矩陣分析圖

4 結論

與傳統的數字識別算法相比,BP-CNN具有運算速度快、運行參數少的優點.因此,它被用于重構卷積神經網絡模型,可以減少網絡產生的參數量.在運行過程中,BP-CNN模型總共產生了9183個神經元,遠少于全連接層神經網絡或卷積神經網絡的神經元個數.當模型運行于PCA-MNIST數據集時,BP-CNN模型的精確度降低到91.1%,但仍優于傳統神經網絡.與在MNIST數據集上相比,它縮短了40%的時間,證明了通過對數據模型進行降維并使用重構的神經網絡模型,可以大大提高模型的運行速度.

該模型在運行時間和穩定性方面優于傳統模型.例如,如果將其應用于車站、飛機場和渡口等人流量較大的場所,它能夠很大程度地提高檢票閘機的運行速率和人流通行速率,并減少客人等待時間較長或發生擁擠踩踏事件的風險.此外,該模型也可以快速有效地讀取車站中普通民眾的銀行卡或身份證等文字信息,以減少系統判斷的過程和時間.重構模型BP-CNN對圖片規范化的數據要求比較高,未來可以在車站等場景中隨機截取數字進行測試,加入更多的噪聲數據和影響因子,以提高模型的廣泛適用性.

猜你喜歡
降維梯度神經元
混動成為降維打擊的實力 東風風神皓極
《從光子到神經元》書評
一個改進的WYL型三項共軛梯度法
一種自適應Dai-Liao共軛梯度法
降維打擊
一類扭積形式的梯度近Ricci孤立子
躍動的神經元——波蘭Brain Embassy聯合辦公
基于二次型單神經元PID的MPPT控制
毫米波導引頭預定回路改進單神經元控制
拋物化Navier-Stokes方程的降維仿真模型
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合