隨著手機、平板和可穿戴設備如智能手表的普及,手寫識別比以往任何時候都更為重要。在這些移動設備上支持漢字手寫識別需要大型的符號庫,這提出了獨特的挑戰。這篇文章介紹了我們如何應對實現iPhone,ipad和AppleWatch(Scribble模式)優良實時性能帶來的挑戰。我們基于深度學習的識別系統能夠精確地識別30,000個漢字。為了達到令人滿意的精確性,我們特別關注數據采集條件,書寫風格的代表性和訓練方案。我們發現只要有合適的方法,即使更大型的符號庫也是可以實現的。我們的實驗表明,只要我們使用有足夠質量和數量的訓練數據,符號庫增加帶來的不精確性就會降低。
引言
手寫識別可以增強移動設備的用戶體驗,特別是對于中文輸入的用戶,因為鍵盤打字有較高的復雜度。由于底層字符庫的數量龐大,漢字手寫識別帶來了獨一無二的挑戰。不同于基于字母的文字,通常只涉及100個符號,中國國家標準GB18030-2005中的一組漢字字符包含了27,533個條目,除此之外還有很多在中國廣泛使用的語標字符。
為了計算方便,通常將重點放在那些日常生活中最有代表性的有限數量的字符上。這樣一來,標準GB2312-80集僅包括6,763個條目(1級3755個字符,二級3008個字符)。中國科學院自動化研究所建立的流行CASIA數據庫中使用的緊密匹配的字符集共包含7,356個條目[6]。SCUT-COUCH數據庫具有類似的覆蓋[8]。
這些集合傾向于反映中國整體用戶的常用字符。然而,在個人用戶層面,「常用」因人而異。大多數人至少需要少數幾個被認為是「不經常寫」的字符,例如與他們相關的專有名詞。因此,漢字手寫識別算法的理想應用規模至少要達到GB18030-2005的水平。
雖然早期的識別算法主要依賴于基于個體筆畫分析的結構化方法,但在后來為實現筆畫順序獨立性的需求引發了使用整體形狀信息的統計學方法的興趣[5]。這顯然使大量庫存識別復雜化,因為正確的字符分類往往隨著需要消除歧義的類別數量的增加而變得更加困難[3]。
在拉丁文的腳本任務如MNIST[4]中,卷積神經網絡(CNN)很快就形成了[11]。給定足夠數量的培訓數據,并根據需要補充合成樣品,CNN確實獲得了最先進的結果[1],[10]。然而,這些研究中的類別數量非常少(10)。
當我們開始研究中國漢字的大規模識別之前,CNN似乎是顯而易見的選擇。但是,這種方法需要在保持嵌入式設備的實時性能的同時,將CNN擴展到大約三萬個字符。本文重點介紹了在準確性,漢字覆蓋率和書寫風格的魯棒性方面面臨的挑戰。
系統配置
我們在這個工作中采用的通用CNN架構與之前在MNIST任務的手寫識別實驗中使用的很相似(參見例子[1],[10])。整個系統的配置如圖1所示。
圖1.典型CNN架構(包含兩個卷積和二次采樣的連續階段)
輸入是表示手寫漢字的48x48像素的中分辨率圖像(出于性能原因)。我們通過依次卷積和二次采樣將此輸入饋送到多個特征提取層。最后一個特征提取層通過完全連接層連接到輸出。
從一個卷積層到下一個卷積層,我們通過選擇核的規模和特征圖的數量導出越來越低質量的粒度的特征。我們使用2x2內核的最大池化層[9]進行二次采樣。最后一個特征層通常包含大約1000個小特征圖。最后,輸出層每個類都有一個節點,例如GB2312-80的1級漢字數量為3,755,而在擴展到全部庫存時接近30,000。
作為參考,我們評估了以前談論過的CASIA基準任務的CNN實現[6]。雖然這個任務只涵蓋一級漢字字符,但在文獻中存在許多關于字符精度的參考結果(例如[7]和[14])。我們使用基于CASIA-OLHWDB,DB1.0-1.2,分開訓練集和測試數據集的相同設置[6],[7],產生大約一百萬個訓練樣本。
請注意,考慮到我們的產品目標是不對CASIA的最高準確度進行調整。相反,我們的優先事項是模型大小,評估速度和用戶體驗。因此,我們選擇了一種緊湊的跨越多種書寫分格的健壯的實時系統,這些字體大多是倒筆字。問題進而轉化成一種基于圖像的識別方法,即使我們對在線數據集進行評估。如[10],[11]中,我們補充了適度變形的實際觀測值。
表1顯示了使用圖1的CNN的結果,其中縮寫「Hz-1」是指漢字一級數據庫(3,755個字符),「CR(n)」表示前n個字符識別精度。除了通常報道的前1位和前十位的精度外,我們還提到了前4位的精度,因為我們的用戶界面旨在顯示4位候選字符,前四位的準確度是我們系統用戶體驗的重要預測指標。
表1.3,755個字符的CASIA在線數據庫的結果。標準訓練,相關模型大小=1MB
表1中的數據與[7]和[14]中的在線結果相比,top-1精度的平均值大約為93%,top-10精度平均為98%。因此,雖然我們的top-10精度與文獻一致,但我們的top-1精度略低。然而,相對于令人滿意的top-4精度,必須有所平衡。甚至更重要的是,此模型尺寸(1MB)比[7]和[14]中的任何對比系統都小。
表1中的系統僅針對CASIA數據進行訓練,不包括任何其他訓練數據。我們也有興趣使用iOS設備內部收集的其他訓練數據。這些數據涵蓋了更多種類的風格(參見下一節),并且每個字符包含更多的訓練實例。表2報告了在同樣的測試集與3,755個字符的上的結果,。
表2.3,755個字符的CASIA在線數據庫的結果。增強訓練,相關模型大小=15MB
盡管所產生的系統占用更大的內存空間(15MB),但精度只稍有提高(top-4精度高達4%)。這表明,大體而言,測試集中出現的大多數風格的字符已經在CASIA訓練集中完美覆蓋。這也表明減少一些訓練數據沒有缺點:附加樣式的存在對底層模型無害。
擴大至30K個字符
由于理想的「頻繁書寫」的字符集因人而異,所以大量用戶需要大于3,755個字符的字符量。然而,選擇哪一個字符并不那么簡單。用GB2312-80編碼定義簡體中文,用Big5,Big5E和CNS11643-92編碼定義繁體中文字符涵蓋范圍很廣(從3,755到48,027個漢字字符)。最近又有了HKSCS-2008編碼,額外增加了4,568個字符,甚至可表示更多字符的GB18030-2000編碼。
我們希望確保用戶能夠以簡體中文和繁體中文以及姓名,詩歌和其他常見符號,可視化符號和表情符號來進行日常通信。我們還希望支持拉丁語文本,用于避免音譯偶爾出現的拉丁文產品或商品名稱。我們遵循Unicode作為流行的國際字符編碼標準,因為它幾乎涵蓋了所有上述標準。(請注意,擴展名為B-D的Unicode7.0編碼可以指定超過七十萬個字符,并在考慮包含更多的字符)。因此,我們的字符識別系統集中在GB18030-2005,HKSCS-2008,Big5E,核心ASCII的漢字部分,以及一組可視化符號和表情,總共約三萬個字符,我們覺得這適用于大多數中國用戶。
選擇基礎字符集后,對用戶實際使用的書寫風格進行抽樣至關重要。盡管有辦法找到期望的書寫風格(參見[13],但是仍存在許多區域差異,例如,(i)使用U+2EBF(艸)做基,或(ii)草書U+56DB(四)與U+306E(の)相比,渲染字體也可能導致混淆,因為有些用戶希望以特定的風格呈現特定的字符,因為快速的輸入會使字體潦草,往往會增加其辨認難度,例如U+738B(王)和U+4E94(五)之間,最后增加的國際化有時引發意想不到的沖突:例如U+4E8C(二)行文潦草時,可能與拉丁字符「2」和「Z」沖突。
我們的原理是為用戶提供從打印體到草書到無約束書寫的全部可能的輸入[5]。為了覆蓋盡可能多的變體,我們向大中華地區的幾個地區的作家尋求數據。我們驚訝地發現,大多數用戶從未見過多數生僻字。這種不熟悉由用戶書寫時猶豫,筆畫順序和其他書寫問題導致,所有這些問題我們都要考慮進去。我們收集了來自不同年齡,性別以及各種教育背景的付費參與者的數據。得到的手寫數據在許多方面是獨一無二的:包括在iOS設備上的數以千計用戶,用手指,而非手寫筆,寫出的小批量數據。這些數據的優點之一是,iOS設備的采樣會產生非常清晰的手寫信號。
我們發現很多種書寫風格。圖2-4以打印體,草書及無限制風格展示了字符「花」U+82B1(花)
圖2。印刷基不同的U+82b1(花)
圖3。草書基不同的U+82b1(花)
圖4。無限制基不同的U+82b1(花)
事實上,在日常生活中,用戶經常寫得很快且不受約束,可能會導致書寫潦草以及與正楷字體不太一樣。相反,有時也會導致不同字符之間的混淆。圖5-7顯示了我們在數據中觀察到的一些具體例子。請注意,具有足夠的訓練集對于區分草書變化尤為重要,如圖7所示。
圖5不同的U+7684(的)
圖6不同的U+4EE5(以)
圖7U+738(王)和U+4E94(五)形狀類似
根據前面討論的指導原則,我們可以收集數千萬個字符的實例作為訓練集數據。在同一測試集上,將可識別字符數從3,755增加到約30,000之后,將上節中的3,755個字符系統與表3中的結果作對比。
表3基于包含30K個字符的在線數據庫CASIA的結果
請注意,模型大小保持不變,因為表2的系統僅限于「Hz-1」字符集,但是實質相同。精確度按預期略有下降,因為覆蓋范圍大大增加了前面提到的額外的字符混淆,例如「二」與「Z」。
比較表1-3,你將看到10倍的覆蓋率不會產生10倍的錯誤,或10倍的存儲空間。實際上,隨著模型大小的增加,錯誤的數量增加緩慢。因此,構建一個涵蓋3萬個字符,而不是3,755個字符的高精度漢字識別系統是可行且實用的。
為了了解系統在整個30,000個字符中的運行情況,我們還對許多不同測試集進行了評估,這些測試集包含以各種樣式編寫的所有支持的字符。表4列出了平均結果。
表4。多個內部測試集的平均結果,包括所有書寫風格的30,000個字符
當然,表3-4中的結果是不可直接比較的,因為它們是在不同的測試集上獲得的。盡管如此,他們表示,在整個字符庫中,前1和前4個精度都在同一個可接受范圍上。這是訓練基本完成的結果。
討論
由于表意文字報告組(IRG)不斷提出來自各種來源的新增內容,Unicode中的CJK字符總數(目前約為75,000[12])可能會增加。誠然,這些字符變體將是十分罕見的(例如,歷史人物的名稱或詩歌)。不過,對于每個名字都含有這些罕見字符的人來說,這是很有意思的。
那么,我們期望在未來如何處理更大的字符庫呢?本文討論的實驗支持具有不同數量的訓練數據集的基于訓練和測試錯誤率的學習曲線[2]。因此,我們可以通過更大的訓練集來推斷漸進的準確性,以及使用更多的字符集提升的效果。
例如,考慮到表1和表3之間的10倍大的數據集和相應的(少于)2%的精度下降,我們可以推算出100,000個字符的數據集和相應增加的訓練數據,達到84%左右的top-1精度,和97%左右的top-10精度是實際可行的(使用相同類型的架構)。
總而言之,即使在包含了30,000個漢字的嵌入式設備上構建高精度的手寫識別系統也是可行的。此外,只要有足夠數量的高質量的訓練數據來擴大數據集,準確性才會緩慢下降。這對未來更大的字符庫的識別大有裨益。
參考
[1]D.C.Ciresan,U.Meier,L.M.Gambardella,andJ.Schmidhuber,ConvolutionalNeuralNetworkCommitteesForHandwrittenCharacterClassification,in*11thInt.Conf.DocumentAnalysisRecognition(ICDAR2011)*,Beijing,China,Sept.2011.
[1]D.C.Ciresan,U.Meier,L.M.Gambardella,andJ.Schmidhuber,ConvolutionalNeuralNetworkCommitteesForHandwrittenCharacterClassification,in*eleventhInt.Conf.DocumentAnalysisRecognition(ICDARtwentyeleven)*,Beijing,China,Sept.twentyeleven.
[2]C.Cortes,L.D.Jackel,S.A.Jolla,V.Vapnik,andJ.S.Denker,LearningCurves:AsymptoticValuesandRateofConvergence,in*AdvancesinNeuralInformationProcessingSystems(NIPS1993)*,Denver,pp.327–334,Dec.1993.
[2]C.Cortes,L.D.Jackel,S.A.Jolla,V.Vapnik,andJ.S.Denker,LearningCurves:AsymptoticValuesandRateofConvergence,in*AdvancesinNeuralInformationProcessingSystems(NIPSnineteenninetythree)*,Denver,pp.threehundredtwentyseven–threehundredthirtyfour,Dec.nineteenninetythree.
[3]G.E.HintonandK.J.Lang,ShapeRecognitionandIllusoryConjunctions,in*Proc.9thInt.JointConf.ArtificialIntelligence,LosAngeles,CA*,pp.252–259,1985.
[3]G.E.HintonandK.J.Lang,ShapeRecognitionandIllusoryConjunctions,in*Proc.9thInt.JointConf.ArtificialIntelligence,LosAngeles,CA*,pp.twohundredfiftytwo–twohundredfiftynine,nineteeneightyfive.
[4]Y.LeCun,L.Bottou,Y.Bengio,andP.Haffner,Gradient–basedLearningAppliedtoDocumentRecognition,*Proc.IEEE*,Vol.86,No.11,pp.2278–2324,Nov.1998.
[4]Y.LeCun,L.Bottou,Y.Bengio,andP.Haffner,Gradient–basedLearningAppliedtoDocumentRecognition,*Proc.IEEE*,Vol.eightysix,No.eleven,pp.twothousandtwohundredseventyeight–twothousandthreehundredtwentyfour,Nov.nineteenninetyeight.
[5]C.-L.Liu,S.Jaeger,andM.Nakagawa,OnlineRecognitionofChineseCharacters:TheState-of-the-Art,*IEEETrans.PatternAnalysisMachineIntelligence*,Vol.26,No.2,pp.198–213,Feb.2004.
[5]C.-L.Liu,S.Jaeger,andM.Nakagawa,OnlineRecognitionofChineseCharacters:TheState-of-the-Art,*IEEETrans.PatternAnalysisMachineIntelligence*,Vol.twentysix,No.2,pp.onehundredninetyeight–twohundredthirteen,Feb.Twothouasandfour.
[6]C.-L.Liu,F.Yin,D.-H.Wang,andQ.-F.Wang,CASIAOnlineandOfflineChineseHandwritingDatabases,in*Proc.11thInt.Conf.DocumentAnalysisRecognition(ICDAR2011)*,Beijing,China,Sept.2011.
[6]C.-L.Liu,F.Yin,D.-H.Wang,andQ.-F.Wang,CASIAOnlineandOfflineChineseHandwritingDatabases,in*Proc.eleventhInt.Conf.DocumentAnalysisRecognition(ICDARtwentyeleven)*,Beijing,China,Sept.twentyeleven.
[7]C.-L.Liu,F.Yin,Q.-F.Wang,andD.-H.Wang,ICDAR2011ChineseHandwritingRecognitionCompetition,in*11thInt.Conf.DocumentAnalysisRecognition(ICDAR2011)*,Beijing,China,Sept.2011.
[7]C.-L.Liu,F.Yin,Q.-F.Wang,andD.-H.Wang,ICDARtwentyelevenChineseHandwritingRecognitionCompetition,in*eleventhInt.Conf.DocumentAnalysisRecognition(ICDARtwentyeleven)*,Beijing,China,Sept.twentyeleven.
[8]Y.Li,L.Jin,X.Zhu,T.Long,SCUT-COUCH2008:AComprehensiveOnlineUnconstrainedChineseHandwritingDataset(ICFHR2008),Montreal,pp.165–170,Aug.2008.
[8]Y.Li,L.Jin,X.Zhu,T.Long,SCUT-COUCH2008:AComprehensiveOnlineUnconstrainedChineseHandwritingDataset(ICFHR2008),Montreal,pp.onehundredsixyfive–onehundredseventy,Aug.twothousandeight.
[9]K.Jarrett,K.Kavukcuoglu,M.Ranzato,andY.LeCun,WhatistheBestMulti-stageArchitectureforObjectRecognition?,in*Proc.IEEEInt.Conf.ComputerVision(ICCV09)*,Kyoto,Japan,Sept.2009.
[9]K.Jarrett,K.Kavukcuoglu,M.Ranzato,andY.LeCun,WhatistheBestMulti-stageArchitectureforObjectRecognition?,in*Proc.IEEEInt.Conf.ComputerVision(ICCV09)*,Kyoto,Japan,Sept.twothousandnine.
[10]U.Meier,D.C.Ciresan,L.M.Gambardella,andJ.Schmidhuber,BetterDigitRecognitionwithaCommitteeofSimpleNeuralNets,in*11thInt.Conf.DocumentAnalysisRecognition(ICDAR2011)*,Beijing,China,Sept.2011.
[ten]U.Meier,D.C.Ciresan,L.M.Gambardella,andJ.Schmidhuber,BetterDigitRecognitionwithaCommitteeofSimpleNeuralNets,in*eleventhInt.Conf.DocumentAnalysisRecognition(ICDARtwentyeleven)*,Beijing,China,Sept.twentyeleven.
[11]P.Y.Simard,D.Steinkraus,andJ.C.Platt,BestPracticesforConvolutionalNeuralNetworksAppliedtoVisualDocumentAnalysis,in*7thInt.Conf.DocumentAnalysisRecognition(ICDAR2003)*,Edinburgh,Scotland,Aug.2003.
[eleven]P.Y.Simard,D.Steinkraus,andJ.C.Platt,BestPracticesforConvolutionalNeuralNetworksAppliedtoVisualDocumentAnalysis,in*7thInt.Conf.DocumentAnalysisRecognition(ICDARtwothousandthree)*,Edinburgh,Scotland,Aug.twothousandthree.
[12]Unicode,ChineseandJapanese,http://www.unicode.org/faq/han_cjk.html,2015.
[twelve]Unicode,ChineseandJapanese,http://www.unicode.org/faq/han_cjk.html,twentyfifteen.
[13]F.F.Wang,ChineseCursiveScript:AnIntroductiontoHandwritinginChinese,FarEasternPublicationsSeries,NewHaven,CT:YaleUniversityPress,1958.
[thirteen]F.F.Wang,ChineseCursiveScript:AnIntroductiontoHandwritinginChinese,FarEasternPublicationsSeries,NewHaven,CT:YaleUniversityPress,nineteenfiftyeight.
[14]F.Yin,Q.-F.Wang,X.-Y.Xhang,andC.-L.Liu,ICDAR2013ChineseHandwritingRecognitionCompetition,in*11thInt.Conf.DocumentAnalysisRecognition(ICDAR2013)*,WashingtonDC,USA,Sept.2013.