簡評:蘋果官方手寫識別團隊的技術(shù)文章毙芜,講解了如何用機器學習的方法實現(xiàn)中文的手寫識別忽媒。
以下「 我們」都代表「 蘋果手寫識別團隊」。
因為手機腋粥,平板電腦和可穿戴設(shè)備如智能手表的流行晦雨,手寫識別比以往任何時候都更重要。在移動設(shè)備上支持中文手寫識別所需的大型字符庫隘冲,成了嵌入式設(shè)備獨特的挑戰(zhàn)闹瞧。
本文介紹了我們?nèi)绾螒獙@些挑戰(zhàn),以實現(xiàn) iPhone展辞,iPad 和 Apple Watch(Scribble 模式)上的實時性能夹抗。我們的識別系統(tǒng),基于深度學習纵竖,可以準確處理最多 30000 個字符的集合。為了達到可接受的準確度杏愤,我們特別注意數(shù)據(jù)的不同收集條件靡砌,寫作風格的差異和對應的機器訓練方案。我們發(fā)現(xiàn)珊楼,在合適的條件下通殃,更多的漢字識別是可以實現(xiàn)的。我們的實驗表明,只要我們使用足夠的質(zhì)量和足夠數(shù)量的訓練數(shù)據(jù)画舌,字符庫的增加以及準確性的保證都是可以做到的堕担。
介紹
手寫識別可以增強移動設(shè)備的用戶體驗,特別是對于中文輸入曲聂。中文手寫識別是獨一無二的挑戰(zhàn)霹购,因為其底層字符庫量級大。英文字母的手寫通常涉及 100 個符號以下朋腋,但中國漢字國家標準 GB18030 - 2005 中的一組 Hànzì 字符就包含 27533 個條目齐疙,并且大多數(shù)中文還使用了不同字體。
為了讓識別更容易實現(xiàn)旭咽,通常將重點放在有限數(shù)量的字符中贞奋,這些字符是日常使用率較高的常用字符。因此穷绵,標準 GB2312-80 集僅包括 6763 個條目(分別為 1 級常用字符 3755 個轿塔,2 級常用字符 3008 個)。中國科學院自動化研究所建立的流行常用 CASIA 字符集共包含大約 7356 個條目仲墨。SCUT-COUCH 數(shù)據(jù)庫具有類似的常用字符數(shù)[8]勾缭。
上述這些集合傾向于反映普遍中文輸入的常用字符。然而宗收,放在個別用戶身上漫拭,「常用」通常因人而異。大多數(shù)人至少要用到幾個「不常用」的字符混稽,例如與他們相關(guān)的專有名稱采驻。因此,中文手寫識別算法的理想狀態(tài)至少要達到 GB18030-2005 的水平(27533 個)匈勋。
經(jīng)過選型礼旅,最終 CNN 成為了我們團隊的的選擇方案。但是洽洁,這種方法需要將 CNN 擴展到約 30000 個字符痘系,同時還要保持嵌入式設(shè)備的實時性能。本文重點介紹了我們面對漢字識別準確性饿自,角色覆蓋率和寫作風格方面所遇到的挑戰(zhàn)汰翠。
系統(tǒng)配置
我們采取類似 CNN 的系統(tǒng)配置,整個系統(tǒng)配置如圖 1 所示昭雌。
輸入端數(shù)據(jù)是手寫的中文字符复唤,48 X 48 像素分辨率(出于性能考慮)。輸入數(shù)據(jù)傳遞至多個層級完成交替卷積和采樣烛卧,經(jīng)過最后一個特征層后然后輸出佛纫。
從一個卷積層到下一個卷積層,我們篩選了內(nèi)核的大小和特征圖的數(shù)量,以便導出越來越粗糙的粒度的特征呈宇。我們通過使用 2×2 內(nèi)核的最大池層[9]進行二次采樣好爬。最后一個特征層通常包含大約 1000 個小特征圖。輸出層每個類都有一個節(jié)點甥啄,例如 GB2312-80 的Hànzìlevel-1 有 3755 個節(jié)點存炮,而擴展到全部庫接近 30000 節(jié)點。
作為基準型豁,我們評估了以前描述的 CASN 基準任務的 CNN 實現(xiàn)模型[6]僵蛛。雖然這個任務只涵蓋Hànzì 常用一級字符,但在文獻中有許多關(guān)于字符精度的參考結(jié)果可以直接使用(例如[7]和[14])迎变。我們使用基于 CASIA-OLHWDB充尉,DB1.0-1.2,作為訓練和測試數(shù)據(jù)集[6]衣形,[7]驼侠,產(chǎn)生大約一百萬個訓練樣本。
要注意一點谆吴,考慮到我們的產(chǎn)品重點倒源,目的是不要對 CASIA 的最高準確度進行調(diào)整。相反句狼,我們的優(yōu)先事項是模型大小笋熬,評估速度和用戶體驗。因此腻菇,我們選擇了一種緊湊的系統(tǒng)胳螟,可以實現(xiàn)橫跨多種字體風格萨醒,并兼顧非標準筆劃順序层宫。
表 1 顯示了使用圖 1 的 CNN 的結(jié)果,其中縮寫「Hz-1」是指 Hànzì 一級常用庫(3755個字符)蛛勉,CR(n)表示第 n 層字符識別精度丘薛。
表 1 中的系統(tǒng)僅針對 CASIA 數(shù)據(jù)進行訓練舍扰,不包括任何其他培訓數(shù)據(jù)。我們也有興趣提取 iOS 設(shè)備上內(nèi)部收集的其他培訓數(shù)據(jù)希坚。這些數(shù)據(jù)涵蓋了更多種類的風格(參見下一節(jié))边苹,并且包含每個字符更多樣的的訓練實例。表 2 是我們的增強訓練的結(jié)果吏够,也是測試上面的 3755 個字符。
盡管產(chǎn)生了更大的占用空間(15MB),但精度提高了(第 4 層提高了2%)售睹。
這表明:測試結(jié)果已經(jīng)能夠覆蓋到絕大多數(shù)手寫的字體桩警;附加字體樣式對底層無影響。
擴展到 30 K 個字符
常用字符只是理想狀態(tài)昌妹,不同用戶常用的字符并不相同捶枢,所以大量用戶都需要遠大于 3755 個 字符的庫,然而選擇哪個庫并不是很容易飞崖。從 GB2312-80 定義的簡體中文到繁體中文定義的 Big5烂叔,Big5E 和 CNS 11643-92,這個跨度太大了固歪。最近又出現(xiàn)了新的 HKSCS-2008蒜鸡,額外又增加了 4568 個字符,甚至更符合 GB18030 - 2000 的標準牢裳。
我們希望能夠讓用戶便捷的使用簡體中文逢防、繁體中文、常用的姓名蒲讯,詩歌和常見的標記忘朝,視覺符號和表情符號來完成日常通信。我們還希望能夠支持拉丁文腳本來用于偶爾的產(chǎn)品或商品名稱判帮。最終局嘁,我們遵循 Unicode 作為現(xiàn)行的國際字符編碼標準,因為它幾乎涵蓋了所有上述標準脊另。
因此导狡,我們的字符識別系統(tǒng)集中在 GB18030-2005,HKSCS-2008偎痛,Big5E旱捧,核心 ASCII 的集合,以及一系列視覺符號和表情符號踩麦,總共約 30000 個字符枚赡,我們覺得這些已經(jīng)能夠滿足幾乎所有漢字輸入的要求了。
選擇底層字符庫存后谓谦,對用戶實際使用的寫作風格進行抽樣至關(guān)重要贫橙。雖然有很多識別關(guān)鍵元素(參見[13]),但實際情況依然有很多誤差反粥,例如卢肃,(i)使用 U+2EBF 草字頭(艸)很難識別疲迂,因為有的用戶把草字頭寫成兩個「十」,或著(ii)草書 U+56DB「四」這個字和對 U+306E「の」經(jīng)衬妫混淆尤蒿。
渲染的字體也可能導致混淆,因為某些用戶期望特定字符以特定樣式呈現(xiàn)幅垮。書寫速度快但字形不一邊忍的草書腰池,往往會增加歧義,例如 U +38B(王)與 U+4E94(五)之間忙芒。最后示弓,國際化有時會引發(fā)意想不到的沖突:例如,U+4E8C(二)當被草寫時呵萨,可能與拉丁字符「2」和「Z」混淆奏属。
對此,我們的邏輯是為用戶提供全部的無約束的書寫體備選甘桑,從印刷體到草書[5]拍皮。為了盡可能覆蓋多的字體,我們向中國的手寫者尋求數(shù)據(jù)跑杭,我們驚訝的發(fā)現(xiàn)世界上竟然有如此多的不同的中文字體铆帽。我們收集了不同年齡、性別德谅、教育背景的參與數(shù)據(jù)爹橱。所得到的手寫數(shù)據(jù)在許多方面都是獨一無二。值得一提的是窄做,iOS 設(shè)備有個非常大的優(yōu)點愧驱,采樣清晰。
比如用 U+82B1「花」這個字來舉例椭盏,就有好多種不同的寫作風格:
事實上组砚,在日常生活中,用戶總是寫的又快又亂掏颊,導致字體千變?nèi)f化糟红。同一個字可能認成兩個字,同樣的乌叶,不同的字可能識別成同一個字盆偿。
根據(jù)前面討論的指導原則,我們收集數(shù)千萬個字符的實例用于我們的訓練數(shù)據(jù)准浴。將上一節(jié)中的 3755 個字符系統(tǒng)與表 3 作比較后事扭,在同一測試集上,我們將可識別字符數(shù)從 3755 增加到約 30000 個乐横。
注意今野,表 3 的模型大小和表 2 相同,因為它們同樣是使用了 Hz-1 的庫罐农,但是精確度有所下降腥泥,這是我們預期到的,因為要考慮到覆蓋范圍的大大增加啃匿,以及不同類型字體的混淆,比如「二」和「Z」蛆楞。
比較表 2 和表 3溯乒,我們可以發(fā)現(xiàn),覆蓋率提高了 10 倍豹爹,但是儲存空間沒有變裆悄,精確度也只下降了一點。實際上臂聋,隨著模型大小的增加光稼,錯誤的數(shù)量增加的并不多。因此構(gòu)建一個覆蓋 3 萬字符的高精度的漢字識別系統(tǒng)是可行和實用的孩等。
為了了解系統(tǒng)在整個 30000 字符中的運行情況艾君,我們進行了不同的測試,這些測試包含了各種情況肄方,最后得出一個平均的結(jié)果冰垄。
當然,表 3 和表 4 是不能直接比較的权她,因為他們是在不同測試集上獲取的虹茶。盡管如此,它們都展現(xiàn)了在前 4 層的識別精度上隅要,都處于同一個較高的水準蝴罪。
討論
由于存在各種來源的新增內(nèi)容,Unicode 中的 CJK 字符總數(shù)(目前約為75,000 [12])可能會增加步清。誠然要门,這些增加的字符可能都很罕見(例如,用于歷史名稱或詩歌)尼啡。不過暂衡,對于特定的人來說都是有價值的。
那么未來我們?nèi)绾翁幚砀蟮淖址麕炷匮虏t?根?jù)本文探討的實驗學習曲線[2]狂巢,我們可以以此推斷,未來不同的類型的字體书聚,不同的數(shù)據(jù)量產(chǎn)生的結(jié)果唧领。
舉個例子藻雌,表 3 比表 1 的數(shù)據(jù)量大十倍,而精準度下降少于 2%斩个,由此我們可以推斷出 100000 個字符的量級和相應增加的訓練數(shù)據(jù)胯杭,使用相同的架構(gòu),第一層精度會在 84% 左右受啥,而第十層的精度會在 97%做个,這是可以預期到的。
綜上所述滚局,在嵌入式設(shè)備上構(gòu)建一個覆蓋 30000 個字符的漢字手寫識別系統(tǒng)是切實可行的居暖。此外,在訓練數(shù)據(jù)夠多藤肢,數(shù)據(jù)質(zhì)量高的情況下太闺,隨著字符庫存的增加,精準度會有所細微的下降嘁圈。這些結(jié)論對于未來構(gòu)建更大的字符庫是有很大意義的省骂。
參考
[1] D.C. Ciresan, U. Meier, L.M. Gambardella, and J. Schmidhuber, Convolutional Neural Network Committees For Handwritten Character Classification, in 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[2] C. Cortes, L.D. Jackel, S.A. Jolla, V. Vapnik, and J.S. Denker, Learning Curves: Asymptotic Values and Rate of Convergence, in Advances in Neural Information Processing Systems (NIPS 1993), Denver, pp. 327–334, Dec. 1993.
[3] G.E. Hinton and K.J. Lang, Shape Recognition and Illusory Conjunctions, in Proc. 9th Int. Joint Conf. Artificial Intelligence, Los Angeles, CA, pp. 252–259, 1985.
[4] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, Gradient– based Learning Applied to Document Recognition, Proc. IEEE, Vol. 86, No. 11, pp. 2278–2324, Nov. 1998.
[5] C.-L. Liu, S. Jaeger, and M. Nakagawa, Online Recognition of Chinese Characters: The State-of-the-Art, IEEE Trans. Pattern Analysis Machine Intelligence, Vol. 26, No. 2, pp. 198–213, Feb. 2004.
[6] C.-L. Liu, F. Yin, D.-H. Wang, and Q.-F. Wang, CASIA Online and Offline Chinese Handwriting Databases, in Proc. 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[7] C.-L. Liu, F. Yin, Q.-F. Wang, and D.-H.Wang, ICDAR 2011 Chinese Handwriting Recognition Competition,in 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[8] Y. Li, L. Jin , X. Zhu, T. Long, SCUT-COUCH2008: A Comprehensive Online Unconstrained Chinese Handwriting Dataset (ICFHR 2008), Montreal, pp. 165–170, Aug. 2008.
[9] K. Jarrett, K. Kavukcuoglu, M. Ranzato, and Y. LeCun, What is the Best Multi-stage Architecture for Object Recognition?, in Proc. IEEE Int. Conf. Computer Vision (ICCV09), Kyoto, Japan, Sept. 2009.
[10] U. Meier, D.C. Ciresan, L.M. Gambardella, and J. Schmidhuber, Better Digit Recognition with a Committee of Simple Neural Nets, in 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[11] P.Y. Simard, D. Steinkraus, and J.C. Platt, Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis, in 7th Int. Conf. Document Analysis Recognition (ICDAR 2003), Edinburgh, Scotland, Aug. 2003.
[12] Unicode, Chinese and Japanese,http://www.unicode.org/faq/han_cjk.html, 2015.
[13] F.F. Wang, Chinese Cursive Script: An Introduction to Handwriting in Chinese, Far Eastern Publications Series, New Haven, CT: Yale University Press, 1958.
[14] F. Yin, Q.-F. Wang, X.-Y. Xhang, and C.-L. Liu, ICDAR2013 Chinese Handwriting Recognition Competition, in 11th Int. Conf. Document Analysis Recognition (ICDAR 2013), Washington DC, USA, Sept. 2013.
英文原文:Real-Time Recognition of Handwritten Chinese Characters Spanning a Large Inventory of 30,000 Characters - Apple
“本譯文僅供個人研習之用,謝絕任何轉(zhuǎn)載及用于任何商業(yè)用途最住。本譯文所涉法律后果均由本人承擔钞澳。本人同意簡書平臺在接獲有關(guān)著作權(quán)人的通知后,刪除文章涨缚÷灾”
推薦閱讀:
AI 何時會全面超越人類
什么!這款 App 居然用攝像頭充當按鈕仗岖!