您的位置:首頁>數碼>正文

蘋果推出高精度手寫辨識系統,可準確識別3萬字元集

安妮 編譯自 蘋果機器學習博客

量子位 出品 | 公眾號 QbitAI

在手機、平板和可穿戴設備不斷普及的今天, 手寫辨識比以往任何時候都重要。 但這並非易事, 拿漢字來說, 讓移動設備識別大量手寫中文字元還是個挑戰。

今天, 蘋果機器學習博客發表文章《Real-Time Recognition of Handwritten Chinese Characters Spanning a Large Inventory of 30,000 Characters》, 介紹了蘋果如何在iPhone、iPad和Apple Watch的Scribble模式中解決上述問題。

這套基於深度學習的識別系統, 能準確處理多達3萬個字元。 為了提高準確性, 蘋果研究人員還特別注意了資料的收集環境、典型字體和訓練方案。 他們發現, 這套系統還能支援更大的字元庫。

蘋果研究人員的實驗表明,

只要訓練資料集的數量夠大品質夠好, 準確率只會隨著字元量的增加緩慢下降。 量子位將這篇博客中的要點翻譯整理, 與大家分享——

簡介

手寫辨識能夠提高使用者在移動設備上的體驗, 尤其適用於漢字這種相對複雜文字的使用者。

由於漢字數量和書寫樣式多, 手寫辨識確實是個大挑戰。

字母類的語言也就涉及到100多個字母的排列順序, 但在中國國家標準GB 18030-2005《資訊技術中文編碼字元集》中就收錄了27533個字元。

日常生活中, 人們只用得到最具代表性的一小部分。 因此, 國標GB2312-80《資訊交換用字元編碼字元集·基本集》中僅包含6763個字元。 中科院自動化研究所創建的CASIA資料庫中所用字元有6763個, 其中一級字元(常用字)3755個, 二級字元(非常用字)3008個。

然而, 早期識別演算法主要依賴分析筆劃的構造。 後來, 研究人員對研究漢字整體結構的方法產生了興趣。 由於眾多漢字具有相似性, 漢字識別的難度加大, 研究人員通過分類降低錯誤識別。

在MNIST資料集的拉丁文任務中, 卷積神經網路(CNN)嶄露頭角。

因為訓練資料足夠大, 根據需要補充合成樣例, CNN無疑是最好的方法。 美中不足的是, 這些研究中分的類別很少。

當我們開始研究漢字的大規模識別時, CNN似乎是個不錯的選擇。 但這種方法需要將CNN擴展至約3萬個字元, 並且在嵌入設備上即時保持性能。

系統結構

我們採用的是CNN通用架構, 類似於之前在MNIST上手寫辨識實驗中的架構。 系統結構如圖所示:

△ 典型的CNN架構

出於性能原因, 我們將輸入設定為一個中等解析度的圖像(48x48圖元), 這是普通手寫漢字的大小。 之後我們將它輸入至特徵提取層, 交替進行卷積和子採樣。 最後一個特徵提取層通過全連接層輸出。

從一個卷積層到下一個卷積層, 我們選擇了kernel的大小和特徵映射的數量得出粗細微性特徵。 通過用2x2 kernel, 我們對最大池化層進行了採樣, 每個輸出層都有一個節點。

下圖展示了使用CNN的運行結果, 其中“Hz-1”指的是一級字元庫(3755個字元), “CR(n)”表示輸入法介面排序為n的可能字元的準確度。 除了常見的“最可能字”(top-1)和top-10的準確性外,

我們也特意提到了top-4的準確性, 因為輸入法介面一開始會顯示4個可能漢字, 而top-4的準確性是用戶體驗提升的重要指標。

△ 在CASIA線上資料庫3755個字元上的運行結果

除此以外, 我們對在iOS設備內部收集的額外訓練資料感興趣。 此資料涵蓋了更多字體樣式, 並包含每個字元大量的訓練實例。 在同一個有3775個字元測試集的訓練結果如下:

這次訓練準確度有些許提高, 總體來說, 在測試集中出現的大多數漢字書寫風格已經在CASIA訓練集中得到了很好覆蓋, 也表明折疊訓練資料不會使準確性下降, 附加樣式在對底層模型沒有負影響。

擴展至3萬字

我們想為用戶提供從印刷體到草書等各種可能的輸入字體。 為了盡可能多涵蓋不同的漢字書寫風格, 我們從中國幾個地區找到了一些書法家的資料。讓我們驚訝的是,大多數用戶表示沒有見過這些罕見的漢字。

因此,我們又收集了不同年齡段、性別和不同教育背景的使用者資料,發現了各種各樣的書寫風格。下圖顯示了樣例中“花”字在楷書、草書和“隨便畫幾筆”風格下的樣本。

事實上,在日常生活中,用戶輸入經常是“隨便畫幾筆”,出現一種非常不相似的曲線變化。有時也會讓系統混淆成其他字元。下圖展示了我們在資料中觀察到的一些具體例子。需要注意的是,有足夠的訓練資料能區分像Figure 7這樣的草書變化很重要。

用這種方法,我們收集了大量漢字,將可識別字元從3755增加到大約3萬。

△ 30000個字元在CASIA線上資料庫的結果

為瞭解系統如何支援30000個手寫字元識別,我們還在許多不同測試集上對其進行評估,這些測試集支援所有字體的字元。平均測試結果如下:

△ 不同字體的30000個字元在多個內部測試集的平均結果

當然,上面兩張圖的結果不能直接比較,因為它們屬於不同的測試集上。但我們能發現,top-1和top-4的準確性相當,top-4達到了95.1%的準確率,結果尚好。

綜上所述,我們在嵌入式設備上構建了覆蓋3萬個字元的高精度手寫辨識系統。只要有足夠數量和品質的訓練資料,識別準確度就不會大幅降低。未來,我們能精確識別的中文字元還會更多。

如果還想瞭解具體的技術細節。可移步穀歌機器學習官方博客,地址:

https://machinelearning.apple.com/2017/09/12/handwriting.html#7

— 完 —

誠摯招聘

我們從中國幾個地區找到了一些書法家的資料。讓我們驚訝的是,大多數用戶表示沒有見過這些罕見的漢字。

因此,我們又收集了不同年齡段、性別和不同教育背景的使用者資料,發現了各種各樣的書寫風格。下圖顯示了樣例中“花”字在楷書、草書和“隨便畫幾筆”風格下的樣本。

事實上,在日常生活中,用戶輸入經常是“隨便畫幾筆”,出現一種非常不相似的曲線變化。有時也會讓系統混淆成其他字元。下圖展示了我們在資料中觀察到的一些具體例子。需要注意的是,有足夠的訓練資料能區分像Figure 7這樣的草書變化很重要。

用這種方法,我們收集了大量漢字,將可識別字元從3755增加到大約3萬。

△ 30000個字元在CASIA線上資料庫的結果

為瞭解系統如何支援30000個手寫字元識別,我們還在許多不同測試集上對其進行評估,這些測試集支援所有字體的字元。平均測試結果如下:

△ 不同字體的30000個字元在多個內部測試集的平均結果

當然,上面兩張圖的結果不能直接比較,因為它們屬於不同的測試集上。但我們能發現,top-1和top-4的準確性相當,top-4達到了95.1%的準確率,結果尚好。

綜上所述,我們在嵌入式設備上構建了覆蓋3萬個字元的高精度手寫辨識系統。只要有足夠數量和品質的訓練資料,識別準確度就不會大幅降低。未來,我們能精確識別的中文字元還會更多。

如果還想瞭解具體的技術細節。可移步穀歌機器學習官方博客,地址:

https://machinelearning.apple.com/2017/09/12/handwriting.html#7

— 完 —

誠摯招聘

Next Article
喜欢就按个赞吧!!!
点击关闭提示