本發(fā)明屬于人工智能和模式識別領(lǐng)域,涉及一種基于深度q學(xué)習(xí)策略的手寫數(shù)字識別方法,是一種深度學(xué)習(xí)和強化學(xué)習(xí)相結(jié)合的創(chuàng)新性應(yīng)用技術(shù)。
背景技術(shù):
近年來,隨著人工智能技術(shù)和模式識別技術(shù)的不斷發(fā)展,手寫數(shù)字識別被廣泛的應(yīng)用于郵政郵件分揀、醫(yī)療數(shù)據(jù)處理以及其他計算視覺等領(lǐng)域。由于帶有大量不同的手寫點和筆跡類別,手寫數(shù)字識別是一項具有挑戰(zhàn)性的工作?,F(xiàn)階段,有很多模式識別方法被應(yīng)用于手寫數(shù)字識別中,例如基于深度學(xué)習(xí)模型的分類方法、人工神經(jīng)網(wǎng)絡(luò)方法以及支持向量機分類器等。在這些現(xiàn)有的識別方法中,基于深度學(xué)習(xí)模型的深度信念網(wǎng)絡(luò)具有相對較高的識別精度,因為深度學(xué)習(xí)模型具有像人腦分層處理信息一樣的數(shù)據(jù)處理能力。
手寫數(shù)字識別要求識別方法同時具有較強的特征提取能力和識別決策能力。盡管深度信念網(wǎng)絡(luò)具有較強的分層特征提取能力,但是其識別精度仍然無法滿足人們的要求,并且識別時間較長。為了獲得決策能力較強的手寫數(shù)字識別方法,人們開始研究機器人理論中的強化學(xué)習(xí),并模仿具有較強決策能力的alphago。通過研究人們發(fā)現(xiàn),alphago采用的學(xué)習(xí)方法主要是無監(jiān)督的深層循環(huán)學(xué)習(xí),即“自己跟自己學(xué)習(xí)”,其有監(jiān)督學(xué)習(xí)部分相對較少,所以強化學(xué)習(xí)也無法獨立完成手寫數(shù)字高精度的識別任務(wù)。從宏觀角度看,在高級人工智能領(lǐng)域里,特征提取能力和識別決策能力都是衡量一個人工智能體的重要指標。然而,直接通過學(xué)習(xí)高維輸入(如海量的手寫數(shù)字圖像)去控制智能體,對強化學(xué)習(xí)來說是一個長期的挑戰(zhàn),alphago同樣也面臨此類問題。眾所周知,強化學(xué)習(xí)在決策規(guī)劃的理論和算法方面已經(jīng)取得了顯著的成果。但是,絕大部分成功的強化學(xué)習(xí)應(yīng)用案例均依賴于人工選取數(shù)據(jù)特征,而學(xué)習(xí)的效果嚴重地取決于特征選取的質(zhì)量和準確度。
深度q學(xué)習(xí)策略是一種基于深度強化學(xué)習(xí)思想(如圖1所示)建立起來的分類識別模型,其結(jié)合了深度學(xué)習(xí)強大的特征提取能力和強化學(xué)習(xí)強大的決策能力?;诂F(xiàn)有手寫數(shù)字識別方法存在的不足以及識別任務(wù)的特點得知,深度q學(xué)習(xí)策略能夠充分地滿足了手寫數(shù)字識別對識別方法的要求,并且能夠快速完成高精度的識別任務(wù)。因此,深度q學(xué)習(xí)策略是一種高效的手寫數(shù)字識別技術(shù)。
技術(shù)實現(xiàn)要素:
1.本發(fā)明需要且能夠解決的技術(shù)問題
針對現(xiàn)有模式識別方法難以滿足目前人們對手寫數(shù)字識別精度要求越來越高的問題,本發(fā)明結(jié)合深度強化學(xué)習(xí)理論,提出一種基于深度q學(xué)習(xí)策略的手寫數(shù)字識別方法。該方法能夠?qū)崿F(xiàn)對手寫數(shù)字的快速且高精度的識別。
2.本發(fā)明具體的技術(shù)方案
一種基于深度強化學(xué)習(xí)策略的手寫數(shù)字識別方法,其特征在于包括以下步驟:
步驟a:根據(jù)深度學(xué)習(xí)模型分層特征學(xué)習(xí)的特點,順序疊加若干個受限玻爾茲曼機(rbm)構(gòu)造深度自編碼器(dae),并利用dae對手寫數(shù)字圖像進行分層抽象與關(guān)鍵特征提?。黄渲?,dae的特征學(xué)習(xí)是通過逐層訓(xùn)練每個rbm來完成的。
步驟b:計算dae的最后一個rbm隱含層狀態(tài)與原始輸入圖像數(shù)據(jù)的重構(gòu)誤差re-error,并設(shè)置基于重構(gòu)誤差的特征提取衡量標準;然后所設(shè)置的特征提取衡量標準確定最終提取到的特征。
步驟c:將最終確定提取到的特征f=[f1,f2,…,fl]作為強化學(xué)習(xí)中q學(xué)習(xí)算法的初始狀態(tài),手寫數(shù)字的10種識別結(jié)果作為q學(xué)習(xí)算法的輸出狀態(tài),然后進行q算法尋優(yōu)決策迭代。
步驟d:通過步驟d構(gòu)造基于q學(xué)習(xí)算法的深度信念網(wǎng)絡(luò)(q-dbn),q-dbn通過最大化q函數(shù)值來獲取最優(yōu)決策行為集
3.與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
1)本發(fā)明針對傳統(tǒng)手寫數(shù)字識別方法識別精度低且耗時長的問題,提出了一種基于深度q學(xué)習(xí)策略的手寫數(shù)字識別方法,如圖2和圖3所示。通過利用深度自編碼器和q學(xué)習(xí)算法相結(jié)合的方法,將深度學(xué)習(xí)的數(shù)據(jù)降維技術(shù)用于特征提取過程中,然后再利用q學(xué)習(xí)算法來處理所提取到的特征,進而做出識別和決策。這種基于深度q學(xué)習(xí)策略的識別方法能夠充分的利用深度學(xué)習(xí)強大的特征提取能力和強化學(xué)習(xí)強大的決策能力,并較快地做出高精度的識別。滿足了實際應(yīng)用中對手寫數(shù)字識別精度和速度的要求。
2)本發(fā)明第一次將深度強化理論和方法應(yīng)用到手寫數(shù)字識別中,屬于人工智能在模式識別領(lǐng)域中的前沿探索性應(yīng)用方法。該方法在手寫數(shù)字識別中的成功應(yīng)用,對于推動人工智能方法的發(fā)展及其在各個領(lǐng)域中的應(yīng)用具有非常重要的意義。
附圖說明
圖1深度學(xué)習(xí)和強化學(xué)習(xí)結(jié)合框架
圖2深度自編碼器結(jié)構(gòu)圖
圖3深度q學(xué)習(xí)策略原理圖
圖4深度自編碼器與其他方法的降噪效果對比圖
圖5深度自編碼器與其他方法的降噪重構(gòu)誤差對比圖
圖6深度自編碼器與其他方法的降噪信噪比對比圖
圖7深度自編碼器分層抽象特征提取過程
圖8深度q學(xué)習(xí)策略獎勵信號積累值
圖9深度q學(xué)習(xí)策略對5000個手寫數(shù)字圖像的錯誤識別結(jié)果
具體實施方式
在本發(fā)明提供了一種基于深度q學(xué)習(xí)策略的手寫數(shù)字識別方法,具體實施方法包括:
1.手寫數(shù)字圖像降噪
本發(fā)明提供的一個實施例中,手寫數(shù)字圖像來自mnist手寫數(shù)據(jù)庫,該數(shù)據(jù)庫擁有60000個訓(xùn)練圖像和10000個測試圖像,每個數(shù)字都用很多不同的手寫方式來顯示,每個圖像為28×28的像素,像素取值為0~1。從mnist數(shù)據(jù)庫中隨機選取1000個手寫數(shù)字圖像作為訓(xùn)練樣本,100個帶有10%背景噪音的手寫數(shù)字圖像作為測試樣本。1000個訓(xùn)練樣本本分成10批,每批包含100個圖像,重構(gòu)誤差re-error和信噪比作為評價降噪效果的指標。
1)根據(jù)rbm的極大團構(gòu)造原理,rbm的能量函數(shù)定義為
其中,v是可視層狀態(tài)向量,h是隱含層狀態(tài)向量,θ={w,a,b},w是可視層和隱含層之間的
連接權(quán)值矩陣,a和b分別是可視層和隱含層節(jié)點的偏置向量;vi和hj分別是可視層第i個神
經(jīng)元和隱含層第j個神經(jīng)元的狀態(tài)值,wij表示可視層第i個神經(jīng)元與隱含層第j個神經(jīng)元之
間的連接權(quán)值,ai和bj分別是可視層第i個神經(jīng)元和隱含層第j個神經(jīng)元的偏置,m和n分別
是可視層神經(jīng)元和隱含層神經(jīng)元個數(shù);相應(yīng)的條件概率為
式中,σ(·)是一個sigmoid函數(shù),p(hj=1/v;θ)表示在θ和v已知的條件下hj=1的概率,p(vi=1/h;θ)表示在θ和h已知的條件下vi=1的概率;利用能量函數(shù)得到rbm的聯(lián)合分布為
p(v,h)∝e-ε(v,h/θ)(4)
權(quán)值更新公式為
其中,τ是rbm的迭代步數(shù),θ(τ)和θ(τ+1)分別是第τ次和第τ+1次迭代后的參數(shù)值,r是學(xué)習(xí)率,其取值范圍是0<r<1。
本實施例中此步驟涉及rbm的固有參數(shù)設(shè)置情況為:隱含層神經(jīng)元個數(shù)l=100,學(xué)習(xí)率r=0.5,訓(xùn)練迭代次數(shù)τ=50,吉布斯采樣次數(shù)λ=2。
2)定義重構(gòu)誤差公式為
其中,ns和np分別表示訓(xùn)練樣本個數(shù)和手寫數(shù)字圖像的像素點個數(shù),vij和v′ij分別表示圖片像素點原始值和重構(gòu)值;
根據(jù)步驟1)中對rbm的訓(xùn)練方法,順序訓(xùn)練ade中疊加的若干個rbm,即上一個rbm的輸出作為下一個rbm的輸入。然后根據(jù)如公式(7)所示的基于重構(gòu)誤差的特征提取標準所設(shè)置的特征提取標準來確定最終提取到的特征。
re-error≤re-error0(7)
即如果重構(gòu)誤差小于或等于所設(shè)置的重構(gòu)誤差閾值re-error0,那么將提取dae的最后一個rbm隱含層狀態(tài)作為最終特征f=[f1,f2,…,fl],其中,f1,f2,…,fl分別表示最后一個rbm隱含層中各個神經(jīng)元的狀態(tài)值,l是隱含層神經(jīng)元個數(shù);否則,增加rbm的無監(jiān)督迭代次數(shù)并繼續(xù)提取特征,其中,重構(gòu)誤差閾值的取值范圍為:0.01<re-error0<0.05。
本實施例中此步驟涉及ade的固有參數(shù)設(shè)置情況為:rbm個數(shù)l=3,重構(gòu)誤差閾值re-error0=0.02。
圖4給出了深度自編碼器和其他兩種方法的降噪效果對比圖,圖5深度自編碼器與其他方法的降噪重構(gòu)誤差對比圖,圖6深度自編碼器與其他方法的降噪信噪比對比圖。由此得知,深度自編碼器在特征感知和提取方面效果較好。
2.手寫數(shù)字識別
從mnist數(shù)據(jù)庫中隨機選取10000個帶有標簽的手寫數(shù)字圖像作為訓(xùn)練樣本,5000個手寫數(shù)字圖像作為特使樣本。10000個訓(xùn)練樣本本分成100批,每批包含100個圖像。
將最終確定提取到的特征f=[f1,f2,…,fl]和手寫數(shù)字的10種識別結(jié)果s=[s1=0,s2=1,…,s10=9]分別作為q學(xué)習(xí)算法的初始狀態(tài)和輸出狀態(tài),從初始狀態(tài)到輸出狀態(tài)的決策行集合為
a=[a1:f=0,a2:f=1,…,a10:f=9](8)
基于獎勵信號的q函數(shù)為
公式(9)表示在一次識別過程中的累積q函數(shù)值;式中,d是手寫數(shù)字識別的結(jié)果個數(shù),d是對d的隨機選取,
q函數(shù)的迭代更新過程為
qt+1(f,a)=(1-ηt(f,a))qt(f,a)+ηt(f,a)(g(f,a,sd)+γmaxqt(sd,a′))(11)
式中,ηt(f,a)是狀態(tài)-行為對(f,a)在第t次迭代時的學(xué)習(xí)步長。
本實施例中此步驟涉及q學(xué)習(xí)算法的固有參數(shù)設(shè)置情況為:折扣因子γ=0.5,狀態(tài)-行為對(f,a)在第t次q函數(shù)值迭代時的學(xué)習(xí)步長ηt(f,a)=0.6。
圖7給出了深度自編碼器分層抽象特征提取過程和特征圖像,圖8給出了深度q學(xué)習(xí)策略獎勵信號積累值,由此得知,深度q學(xué)習(xí)策略在處理抽象特征的過程中能夠?qū)崿F(xiàn)算法的收斂。圖9給出了深度q學(xué)習(xí)策略對5000個手寫數(shù)字圖像的錯誤識別結(jié)果,結(jié)果顯示,5000個測試樣本中只有41個識別錯誤?;谏疃萹學(xué)習(xí)策略的手寫數(shù)字識別效果與其他現(xiàn)有方法識別效果的對比結(jié)果如表1所示。
表1基于深度q學(xué)習(xí)策略的手寫數(shù)字識別結(jié)果與其他方法的結(jié)果對比