0
本文作者: 楊曉凡 | 2017-09-30 15:27 |
雷鋒網(wǎng) AI 科技評(píng)論按:隨著蘋果機(jī)器學(xué)習(xí)日記(Apple ML Journal)的開(kāi)放,蘋果分享出的設(shè)計(jì)自己產(chǎn)品、運(yùn)用機(jī)器學(xué)習(xí)解決問(wèn)題的故事也越來(lái)越多。近日蘋果在上面就放出了一篇關(guān)于識(shí)別手寫中文的文章,介紹了自己對(duì)這個(gè)功能的思考和實(shí)現(xiàn)過(guò)程。雖然文章中沒(méi)有什么全新的技術(shù),但也不失為一篇有誠(chéng)意的開(kāi)發(fā)經(jīng)驗(yàn)分享。雷鋒網(wǎng) AI 科技評(píng)論把文章編譯如下。
隨著手機(jī)、平板電腦這樣的移動(dòng)設(shè)備,以及智能手表這樣的可穿戴設(shè)備變得流行甚至不可或缺,手寫識(shí)別也隨之變得前所未有地重要。中文包含了一個(gè)很大的字符庫(kù),在這些移動(dòng)設(shè)備上支持中文手寫識(shí)別就帶來(lái)了一組獨(dú)特的挑戰(zhàn)。這篇文章中,蘋果介紹了他們是如何在 iPone、iPad 和 Watch(繪畫模式中)上應(yīng)對(duì)這些挑戰(zhàn)、實(shí)現(xiàn)中文手寫的實(shí)時(shí)識(shí)別的。蘋果設(shè)計(jì)的基于深度學(xué)習(xí)的識(shí)別系統(tǒng)可以準(zhǔn)確地處理高達(dá)3萬(wàn)個(gè)不同的字符。為了達(dá)到合理的準(zhǔn)確度,蘋果的開(kāi)發(fā)人員們?cè)跀?shù)據(jù)收集模式、書寫方式的代表性和訓(xùn)練方式方面專門花了心思處理。他們發(fā)現(xiàn),只要使用恰當(dāng)?shù)姆绞?,即便更大的字符?kù)也可以解決得了。實(shí)驗(yàn)表明只要訓(xùn)練數(shù)據(jù)的質(zhì)量足夠高、數(shù)量足夠大,隨著字符庫(kù)增大,識(shí)別準(zhǔn)確率只會(huì)慢慢下降。
手寫識(shí)別可以增強(qiáng)移動(dòng)設(shè)備的用戶體驗(yàn),尤其是中文的鍵盤輸入還相對(duì)比較復(fù)雜。中文的手寫識(shí)別也有獨(dú)特的挑戰(zhàn)性,因?yàn)橹形谋澈蟮淖址麕?kù)非常大。其它基于字母的語(yǔ)言中,包含字符的數(shù)量級(jí)通常也就在100上下,而中文國(guó)標(biāo) GB18030-2005 中含有的漢字有27533個(gè),在整個(gè)中國(guó)范圍內(nèi)還有許多圖形式的字符仍然在使用著。
為了便于電腦處理,常見(jiàn)的做法是只關(guān)注其中的一部分字符,一般就是選出日常使用中最有代表性的字。根據(jù)這樣的思路,中文國(guó)標(biāo)字符集 GB2312-80 僅僅包含了 6763 個(gè)字符(其中一級(jí)字符3755個(gè),二級(jí)字符3008個(gè))。中國(guó)科學(xué)院自動(dòng)化研究所也構(gòu)建了一個(gè)嚴(yán)密對(duì)齊的字符集,運(yùn)用在CASIA數(shù)據(jù)庫(kù)中,包含了總共7356個(gè)字符。SCUT-COUCH數(shù)據(jù)庫(kù)的容量也在同一個(gè)水平上。
這些字符集基本反映了全中國(guó)的作家們的常用字。然而在個(gè)人層面上,每個(gè)人之間的“最常用字”經(jīng)常都會(huì)有所不同。許多人都至少有幾十個(gè)自己的“不常用字”,因?yàn)檫@些字其實(shí)會(huì)在相關(guān)的事物名中出現(xiàn),反倒不用一個(gè)個(gè)寫出來(lái)了。這樣,理想狀況下的中文手寫識(shí)別算法就至少要擴(kuò)充到 GB18030-2005 中2萬(wàn)多個(gè)漢字的水平。
早期的識(shí)別算法主要依靠基于一筆一劃分析的結(jié)構(gòu)化方法,后來(lái)有了去除筆劃順序影響的需求,就引發(fā)了人們利用整體形狀信息建立統(tǒng)計(jì)學(xué)方法的興趣。然而文本類別的數(shù)量越多,清晰地把文本分入一個(gè)類別就越難,這些方法顯然會(huì)大大提升大字符集下的識(shí)別難度。
對(duì)于MNIST之類的拉丁字符識(shí)別任務(wù),卷積神經(jīng)網(wǎng)絡(luò)(CNN)很快就表現(xiàn)出了壓倒性的優(yōu)勢(shì)。只要有足夠的訓(xùn)練數(shù)據(jù)、適當(dāng)補(bǔ)充一些需要的生成樣本,CNN毫無(wú)疑問(wèn)可以達(dá)到出頂尖的表現(xiàn)。不過(guò),這些研究中的字符類別都相當(dāng)?shù)纳佟?/p>
之前,當(dāng)蘋果的研究人員們開(kāi)始研究如何做大規(guī)模的中文字符識(shí)別時(shí),似乎明擺著就應(yīng)該選CNN。但是CNN的方法需要把網(wǎng)絡(luò)拓展到包含接近3萬(wàn)個(gè)字符,同時(shí)還要保證在嵌入式設(shè)備上還有實(shí)時(shí)識(shí)別的性能。這篇文章的重點(diǎn)就是介紹如何解決延時(shí)、字符覆蓋率、書寫風(fēng)格的魯棒性等方面的問(wèn)題,達(dá)到理想的性能表現(xiàn)。
蘋果的研究人員們?cè)谶@項(xiàng)研究中采用了一個(gè)普遍的CNN架構(gòu),跟之前用在MNIST手寫識(shí)別實(shí)驗(yàn)中的CNN類似。系統(tǒng)的總體架構(gòu)如圖
系統(tǒng)輸入是一張中等分辨率 48x48 的圖像(為了更好的性能),其中包含著一個(gè)手寫中文字符。然后把它送入幾個(gè)包含卷積層和子采樣層的特征提取層。最后一個(gè)特征提取層通過(guò)一個(gè)全連接層連接到輸出。
在每個(gè)卷積層中,蘋果的研究人員們都選擇了能夠從逐漸變得粗糙的粒度中盡量提取特征的卷積核和feature map數(shù)量。他們運(yùn)用一個(gè)2x2的卷積核,通過(guò)一個(gè)最大池化層做子采樣。最后一個(gè)特征層包含的小feature map數(shù)量級(jí)一般在1000上下。最后,輸出層上給每一個(gè)類都有一個(gè)單獨(dú)的節(jié)點(diǎn),對(duì)于 GB2312-80 中級(jí)別1的漢字就有3755個(gè)節(jié)點(diǎn),拓展到所有字符的時(shí)候就要接近30000。
作為基準(zhǔn)線,蘋果的研究人員們?cè)贑ASIA benchmark任務(wù)中評(píng)估了這個(gè)CNN模型。雖然這個(gè)任務(wù)只涵蓋了漢字中級(jí)別1的字符,但是在以往文獻(xiàn)中有豐富的識(shí)別測(cè)試準(zhǔn)確率結(jié)果。他們使用了同樣的基于 CASIA-OLHWDB、DB1.0-1.2,分為訓(xùn)練集和測(cè)試集,訓(xùn)練樣本的數(shù)量大約為100萬(wàn)個(gè)。
值得注意的是,蘋果這項(xiàng)研究的關(guān)注點(diǎn)是面向產(chǎn)品的,所以他們的目標(biāo)并不是在 CASIA 中取得盡可能高的準(zhǔn)確率,更為關(guān)注的是模型大小、推理速度和用戶體驗(yàn)。所以,他們的優(yōu)化目標(biāo)是一個(gè)緊湊的、能夠?qū)崟r(shí)計(jì)算結(jié)果的系統(tǒng),它要能夠?qū)Ω抖喾N不同的書寫風(fēng)格,對(duì)于非標(biāo)準(zhǔn)的筆劃順序也需要有較高的魯棒性。這樣下來(lái),即便把在線的數(shù)據(jù)庫(kù)也加入了評(píng)估中,他們還是選用了基于圖像特征的識(shí)別方法。他們也把實(shí)際觀察到的筆劃變化、外型改變也考慮了進(jìn)來(lái)。
表1展示了前文圖1中的CNN模型的測(cè)試結(jié)果,其中“Hz-1”代表了級(jí)別1的漢字庫(kù)(3755個(gè)字符),“CR(n)”代表了模型的前n位識(shí)別結(jié)果中含有正確字符的準(zhǔn)確率。除了常用的首選準(zhǔn)確率(n=1)和前10位識(shí)別準(zhǔn)確率(n=10)之外,表格中還加入了一項(xiàng)前4位準(zhǔn)確率(n=4),因?yàn)樘O果的用戶界面中就是顯示4個(gè)候選字符,前4位準(zhǔn)確率是一個(gè)重要的衡量用戶體驗(yàn)的標(biāo)志。
之前有研究中首選準(zhǔn)確率達(dá)到93%,前10位準(zhǔn)確率達(dá)到98%。相比之下,雖然蘋果自己的前10位準(zhǔn)確率和其它研究中的在同一水平上,但第一位準(zhǔn)確率要稍低。在蘋果看來(lái),這是為了達(dá)到更高的前4位準(zhǔn)確率作出的平衡;而且可能更重要的是,這個(gè)模型的大?。?MB)比之前任何類似的系統(tǒng)都要小。
表1中的系統(tǒng)僅僅用了CASIA中的數(shù)據(jù)進(jìn)行了訓(xùn)練,沒(méi)有用到其它的訓(xùn)練數(shù)據(jù)。蘋果的研究人員們也很感興趣,如果額外加入自家的iOS設(shè)備上實(shí)際采集到的手寫數(shù)據(jù)用來(lái)訓(xùn)練系統(tǒng)會(huì)達(dá)到怎樣的效果。這些數(shù)據(jù)中涵蓋的書寫風(fēng)格更為多樣,每個(gè)字符也有更多對(duì)應(yīng)的訓(xùn)練樣本。如下表2就是訓(xùn)練結(jié)果,對(duì)應(yīng)的是同一個(gè)3755字符的字符庫(kù)。
雖然這個(gè)系統(tǒng)的體積有大幅度的增加(達(dá)到了15MB),準(zhǔn)確率卻只提升了一點(diǎn)點(diǎn)(前4位準(zhǔn)確率的絕對(duì)值提升了2%)。這表明,測(cè)試集中的多數(shù)書寫風(fēng)格都已經(jīng)在CASIA的訓(xùn)練集中有了相當(dāng)?shù)母采w。不過(guò)這也說(shuō)明增加更多的訓(xùn)練數(shù)據(jù)并沒(méi)有什么壞處:新增加的書寫風(fēng)格并不會(huì)對(duì)模型的原有表現(xiàn)帶來(lái)負(fù)面的影響。
前文有說(shuō)過(guò),每個(gè)人理想狀況的下的“常寫的字”都不一樣,用戶數(shù)目大的時(shí)候需要的字庫(kù)大小也就遠(yuǎn)遠(yuǎn)不止3755個(gè)。準(zhǔn)確挑出需要的字庫(kù)也不是一件那么簡(jiǎn)單直接的事情。GB2312-80 定義的簡(jiǎn)體中文字符,以及 Big5、Big5E、CNS 11643-92 中定義的繁體中文字符覆蓋的范圍也各有不同(從3755到48027個(gè)漢字)。近期一些的還有新增了4568個(gè)字符的 HKSCS-2008,GB18030-2000中的甚至更多。
蘋果想要保證用戶們的日常用語(yǔ)都能寫得出來(lái),不管是簡(jiǎn)體還是繁體中文、是名字還是詩(shī)歌,還有其它常用的標(biāo)記、視覺(jué)符號(hào)和emoji表情,他們也希望能讓用戶無(wú)需轉(zhuǎn)譯就寫出偶爾會(huì)在產(chǎn)品或者品牌名中出現(xiàn)的拉丁字符。蘋果遵循了國(guó)際主流的 Unicode 字符集作為字符編碼標(biāo)準(zhǔn),因?yàn)槠渲袔缀跄依松厦嫣岬降乃凶址麡?biāo)準(zhǔn)(值得一提的是,Unicode 7.0在B-D拓展中可以區(qū)分7萬(wàn)個(gè)字符,而且還在考慮增加更多)。所以蘋果的字符識(shí)別系統(tǒng)就選擇了關(guān)注 GB18030-2005, HKSCS-2008, Big5E 中的漢字部分,以及 ASCII 的核心字符集和一組視覺(jué)符號(hào)和emoji表情,總數(shù)大約3萬(wàn)個(gè)字符。這對(duì)于大多數(shù)中國(guó)用戶來(lái)說(shuō)已經(jīng)是最佳的取舍了。
在選出了模型內(nèi)在的字符庫(kù)之后,下一個(gè)關(guān)鍵的點(diǎn)就是對(duì)用戶真正使用的書寫風(fēng)格進(jìn)行采樣。雖然不同的書寫風(fēng)格之間有一些正式的規(guī)則可以用來(lái)幫助鑒別,但此外還會(huì)有一些區(qū)域性的書寫變化,比如 U+2EBF (艸)的幾種寫法,或者U+56DB(四)的寫得潦草的時(shí)候和U+306E(の)之間的類似性。
屏幕上顯示的字符也會(huì)帶來(lái)迷惑性,因?yàn)橛行┯脩魰?huì)希望某些字符以特定的樣式顯示。寫得快的時(shí)候也會(huì)讓風(fēng)格變得潦草,這會(huì)增加字符的模糊性,比如 U+738B(王)和U+4E94(五)。
最后,增大國(guó)際化的程度有時(shí)候也會(huì)帶來(lái)沒(méi)有預(yù)料到的沖突,比如U+4E8C(二),寫成連筆的時(shí)候就會(huì)和拉丁字符“2”和“Z”產(chǎn)生沖突。
蘋果的設(shè)計(jì)準(zhǔn)則是給用戶提供全部的輸入可能性,不管是像印刷字體一樣,還是潦草的、不受約束的寫法。為了囊括盡可能多的字體變形,蘋果的研究人員們從全中國(guó)不同區(qū)域的作家們手中收集數(shù)據(jù)。讓他們很驚訝的是,有不少不常用的字,大多數(shù)的用戶連見(jiàn)都沒(méi)有見(jiàn)過(guò)。由于對(duì)不常用字的不熟悉,用戶在書寫的時(shí)候可能會(huì)猶豫、寫錯(cuò)筆劃順序,以及造成其它的一些錯(cuò)誤,都需要納入考慮中。
蘋果的研究人員們雇了許多不同年齡段、性別、教育程度的普通中國(guó)人,讓他們寫字,收集數(shù)據(jù);最終得到的手寫數(shù)據(jù)也有許多別的數(shù)據(jù)庫(kù)不具有的特點(diǎn):包含了多大幾千名用戶的數(shù)據(jù),在iOS設(shè)備上用手指書寫(而不是手寫筆),數(shù)據(jù)也是有許多小批的。其中還有一個(gè)好處是iOS設(shè)備的采樣會(huì)形成非常清晰的手寫筆跡。
蘋果的研究人員們發(fā)現(xiàn)了非常多樣的書寫方式。如下圖2到圖4是其中一些U+82B1(花)的寫法,有的接近打印,有的很潦草,有的變化很大。
實(shí)際上,日常生活中用戶們經(jīng)常寫得很快、變化很大,潦草、變形的筆跡看起來(lái)會(huì)有很大的區(qū)別。比如U+7684(的)和U+4EE5(以)。
反過(guò)來(lái)說(shuō),有時(shí)候不同的字也會(huì)看起來(lái)很相似,造成迷惑。以下U+738(王)、U+4E94(五)的數(shù)據(jù)就是明顯的例子。值得注意的是,要能夠區(qū)分潦草的變化就一定需要足夠的訓(xùn)練數(shù)據(jù)。
根據(jù)前面討論的設(shè)計(jì)準(zhǔn)則,蘋果采集了上千萬(wàn)個(gè)手寫的漢字實(shí)例用作訓(xùn)練數(shù)據(jù)。下面表3中的結(jié)果就是把可識(shí)別的字符數(shù)量從前面的3755個(gè)字符拓展到接近3萬(wàn)之后得到的。仍然是前文的同一個(gè) CASIA 在線測(cè)試。
這里保持了同樣的模型大小。前文表2中的系統(tǒng)只是限制在級(jí)別1漢字范圍,其它都與表3中的系統(tǒng)相同。準(zhǔn)確率有略微下降,這倒比較符合研究人員們的期待,因?yàn)榇蠓仍鲩L(zhǎng)的覆蓋范圍會(huì)帶來(lái)額外的混淆,比如前面提到過(guò)的“二”和“Z”。
把表1到表3的結(jié)果進(jìn)行對(duì)比,可以看到把字符覆蓋范圍擴(kuò)大10倍并不會(huì)把錯(cuò)誤率也擴(kuò)大10倍,或者把模型大小變大10倍。實(shí)際上,對(duì)于更大的模型,錯(cuò)誤率升高得要慢得多。所以,構(gòu)建一個(gè)覆蓋了3萬(wàn)個(gè)字符(而不是僅僅3755)、同時(shí)還有高準(zhǔn)確率的中文手寫字符識(shí)別系統(tǒng),不僅是可能的,還是可行的。
為了說(shuō)明系統(tǒng)在這所有3萬(wàn)個(gè)字符中的表現(xiàn)如何,蘋果的研究人員們也用一系列不同的測(cè)試集進(jìn)行了測(cè)試,其中包含了所有支持的字符、用了各種的書寫風(fēng)格。表4是結(jié)果的平均值。
當(dāng)然,表3和表4的結(jié)果是不能夠直接進(jìn)行對(duì)比的,因?yàn)樗鼈兪怯貌煌臏y(cè)試集得到的。不過(guò),它們的第一位準(zhǔn)確率和前四位準(zhǔn)確率對(duì)于整個(gè)字符庫(kù)都是在同一水平的。這樣的結(jié)果是通過(guò)較為均衡的訓(xùn)練模式達(dá)到的。
在表意文字工作組 IRG 不斷從不同的來(lái)源收集文字、提出新的增加建議下,目前大小約為75000的Unicode字符集中含有的中日韓文表義文字未來(lái)還可能繼續(xù)增加。坦誠(chéng)地講,之后新增加的字符都會(huì)是非常罕見(jiàn)的字符(比如歷史上出現(xiàn)過(guò)的名字或者詩(shī)歌中的)。不過(guò),對(duì)于名字里剛好有一些罕見(jiàn)字的人來(lái)說(shuō),這些工作還是很有意義的。
那么,蘋果未來(lái)打算如何應(yīng)對(duì)更大的字符庫(kù)呢?這篇文章中的實(shí)驗(yàn)展示了不同數(shù)量的訓(xùn)練數(shù)據(jù)下的訓(xùn)練和測(cè)試錯(cuò)誤率狀況。這樣就可以做近似的推斷,預(yù)測(cè)有更多訓(xùn)練數(shù)據(jù)、更多字符需要識(shí)別的時(shí)候準(zhǔn)確率表現(xiàn)如何。
比如,從表1到表3可以看到,對(duì)于增大了十倍的字符庫(kù)和模型相關(guān)資源的大小,準(zhǔn)確率僅僅下降了(不到)2%。那么就有理由猜測(cè),對(duì)于數(shù)目達(dá)到十萬(wàn)個(gè)的字符庫(kù)和同倍增加的訓(xùn)練數(shù)據(jù),完全有可能仍然達(dá)到84%左右的首選準(zhǔn)確率和97%的前10位準(zhǔn)確率(對(duì)于同樣的網(wǎng)絡(luò)架構(gòu))。
總結(jié)來(lái)說(shuō),構(gòu)造一個(gè)覆蓋了多達(dá)3萬(wàn)個(gè)中文字符的高準(zhǔn)確率手寫識(shí)別系統(tǒng),即便對(duì)于嵌入式設(shè)備也是可以實(shí)現(xiàn)的。進(jìn)一步地,隨著字符庫(kù)大小增加,識(shí)別準(zhǔn)確率下降得非常慢,只要有足夠數(shù)量的高質(zhì)量訓(xùn)練數(shù)據(jù)。這對(duì)未來(lái)可能的基于更大的字符庫(kù)的手寫識(shí)別來(lái)說(shuō)是一個(gè)好消息。
via Apple ML Journal,雷鋒網(wǎng) AI 科技評(píng)論編譯
相關(guān)文章:
蘋果機(jī)器學(xué)習(xí)博客姍姍來(lái)遲,不過(guò)第一篇文章就給緊缺訓(xùn)練數(shù)據(jù)的研究者們發(fā)糖
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。