蘋果推高精度手寫識別系統(tǒng),可準(zhǔn)確識別3萬字符集
在手機、平板和可穿戴設(shè)備不斷普及的今天,手寫識別比以往任何時候都重要。但這并非易事,拿漢字來說,讓移動設(shè)備識別大量手寫漢字字符還是個挑戰(zhàn)。
本文引用地址:http://www.ex-cimer.com/article/201709/364988.htm今天,蘋果機器學(xué)習(xí)博客發(fā)表文章《Real-Time Recognition of Handwritten Chinese Characters Spanning a Large Inventory of 30,000 Characters》,介紹了蘋果如何在iPhone、iPad和Apple Watch的Scribble模式中解決上述問題。
這套基于深度學(xué)習(xí)的識別系統(tǒng),能準(zhǔn)確處理多達(dá)3萬個字符。為了提高準(zhǔn)確性,蘋果研究人員還特別注意了數(shù)據(jù)的收集環(huán)境、典型字體和訓(xùn)練方案。他們發(fā)現(xiàn),這套系統(tǒng)還能支持更大的字符庫。
蘋果研究人員的實驗表明,只要訓(xùn)練數(shù)據(jù)集的數(shù)量夠大質(zhì)量夠好,準(zhǔn)確率只會隨著字符量的增加緩慢下降。量子位將這篇博客中的要點翻譯整理,與大家分享——
簡介
手寫識別能夠提高用戶在移動設(shè)備上的體驗,尤其適用于漢字這種相對復(fù)雜文字的使用者。由于漢字?jǐn)?shù)量和書寫樣式多,手寫識別確實是個大挑戰(zhàn)。
字母類的語言也就涉及到100多個字母的排列順序,但在中國國家標(biāo)準(zhǔn)GB 18030-2005《信息技術(shù)中文編碼字符集》中就收錄了27533個字符。
日常生活中,人們只用得到最具代表性的一小部分。因此,國標(biāo)GB2312-80《信息交換用字符編碼字符集·基本集》中僅包含6763個字符。中科院自動化研究所創(chuàng)建的CASIA數(shù)據(jù)庫中所用字符有6763個,其中一級字符(常用字)3755個,二級字符(非常用字)3008個。
然而,早期識別算法主要依賴分析筆畫的構(gòu)造。后來,研究人員對研究漢字整體結(jié)構(gòu)的方法產(chǎn)生了興趣。由于眾多漢字具有相似性,漢字識別的難度加大,研究人員通過分類降低錯誤識別。
在MNIST數(shù)據(jù)集的拉丁文任務(wù)中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)嶄露頭角。因為訓(xùn)練數(shù)據(jù)足夠大,根據(jù)需要補充合成樣例,CNN無疑是最好的方法。美中不足的是,這些研究中分的類別很少。
當(dāng)我們開始研究漢字的大規(guī)模識別時,CNN似乎是個不錯的選擇。但這種方法需要將CNN擴展至約3萬個字符,并且在嵌入設(shè)備上實時保持性能。
系統(tǒng)結(jié)構(gòu)
我們采用的是CNN通用架構(gòu),類似于之前在MNIST上手寫識別實驗中的架構(gòu)。系統(tǒng)結(jié)構(gòu)如圖所示:
△典型的CNN架構(gòu)
出于性能原因,我們將輸入設(shè)定為一個中等分辨率的圖像(48x48像素),這是普通手寫漢字的大小。之后我們將它輸入至特征提取層,交替進行卷積和子采樣。最后一個特征提取層通過全連接層輸出。
從一個卷積層到下一個卷積層,我們選擇了kernel的大小和特征映射的數(shù)量得出粗粒度特征。通過用2x2 kernel,我們對最大池化層進行了采樣,每個輸出層都有一個節(jié)點。
下圖展示了使用CNN的運行結(jié)果,其中“Hz-1”指的是一級字符庫(3755個字符),“CR(n)”表示輸入法界面排序為n的可能字符的準(zhǔn)確度。除了常見的“最可能字”(top-1)和top-10的準(zhǔn)確性外,我們也特意提到了top-4的準(zhǔn)確性,因為輸入法界面一開始會顯示4個可能漢字,而top-4的準(zhǔn)確性是用戶體驗提升的重要指標(biāo)。
△在CASIA在線數(shù)據(jù)庫3755個字符上的運行結(jié)果
除此以外,我們對在iOS設(shè)備內(nèi)部收集的額外訓(xùn)練數(shù)據(jù)感興趣。此數(shù)據(jù)涵蓋了更多字體樣式,并包含每個字符大量的訓(xùn)練實例。在同一個有3775個字符測試集的訓(xùn)練結(jié)果如下:
這次訓(xùn)練準(zhǔn)確度有些許提高,總體來說,在測試集中出現(xiàn)的大多數(shù)漢字書寫風(fēng)格已經(jīng)在CASIA訓(xùn)練集中得到了很好覆蓋,也表明折疊訓(xùn)練數(shù)據(jù)不會使準(zhǔn)確性下降,附加樣式在對底層模型沒有負(fù)影響。
擴展至3萬字
我們想為用戶提供從印刷體到草書等各種可能的輸入字體。為了盡可能多涵蓋不同的漢字書寫風(fēng)格,我們從中國幾個地區(qū)找到了一些書法家的數(shù)據(jù)。讓我們驚訝的是,大多數(shù)用戶表示沒有見過這些罕見的漢字。
因此,我們又收集了不同年齡段、性別和不同教育背景的用戶數(shù)據(jù),發(fā)現(xiàn)了各種各樣的書寫風(fēng)格。下圖顯示了樣例中“花”字在楷書、草書和“隨便畫幾筆”風(fēng)格下的樣本。
事實上,在日常生活中,用戶輸入經(jīng)常是“隨便畫幾筆”,出現(xiàn)一種非常不相似的曲線變化。有時也會讓系統(tǒng)混淆成其他字符。下圖展示了我們在數(shù)據(jù)中觀察到的一些具體例子。需要注意的是,有足夠的訓(xùn)練數(shù)據(jù)能區(qū)分像Figure 7這樣的草書變化很重要。
用這種方法,我們收集了大量漢字,將可識別字符從3755增加到大約3萬。
△30000個字符在CASIA在線數(shù)據(jù)庫的結(jié)果
為了解系統(tǒng)如何支持30000個手寫字符識別,我們還在許多不同測試集上對其進行評估,這些測試集支持所有字體的字符。平均測試結(jié)果如下:
△不同字體的30000個字符在多個內(nèi)部測試集的平均結(jié)果
當(dāng)然,上面兩張圖的結(jié)果不能直接比較,因為它們屬于不同的測試集上。但我們能發(fā)現(xiàn),top-1和top-4的準(zhǔn)確性相當(dāng),top-4達(dá)到了95.1%的準(zhǔn)確率,結(jié)果尚好。
綜上所述,我們在嵌入式設(shè)備上構(gòu)建了覆蓋3萬個字符的高精度手寫識別系統(tǒng)。只要有足夠數(shù)量和質(zhì)量的訓(xùn)練數(shù)據(jù),識別準(zhǔn)確度就不會大幅降低。未來,我們能精確識別的漢字字符還會更多。
評論