論文:用RNN書寫及識別漢字, Drawing and Recognizing Chinese Characters with Recurrent Neural Network
論文地址:用RNN書寫及識別漢字
摘要
目前識別漢字的通常方法是使用CNN模型,而識別線上(online)漢字時,CNN需要將線上手寫軌跡轉換成像影象一樣的表示。文章提出RNN框架,結合LSTM和GRU。包括識別模型和生成模型(即自動生成手寫體漢字),基於端到端,直接處理序列結構,不需要像轉換成影象表示,也不需要任何特定領域的知識。生成模型中,使用了字元嵌入的條件生成模型。用的庫是ICDAR-2013.
- 注:識別漢字最重要的領域知識包括: 字元形狀正則化,方向分解特徵對映
1.介紹
自動手寫體識別已經研究了很久,但是自動書寫並沒有得到很好的研究,知道最近,基於RNN的生成序列技術得到發展.
漢字識別兩類主流方法
- online:線上識別,記錄和分析筆尖運動軌跡,識別語言資訊
- offline:離線識別,對字元(灰度或二進位制)影象進行分析和分類
卷積的先驗知識,使得CNN 成為圖片識別的強有力工具,因為離線字元被表示為影象,因此CNN自然而然的被應用於離線識別。而將CNN用於線上識別的話,就需要將手寫軌跡轉換成為影象一樣的表示,譬如AMAP,the path signature maps, the directional feature maps.
文章提到一些生成工具:NADE , variational auto-encoder , DRAW. 為了更好地模擬生成過程,GAN(生成對抗網路)被用來同時訓練一個生成器來捕獲資料分佈,以及一個鑑別器來區分min-max優化框架中的真實樣本和生成的樣本。
DCGAN,LAPGAN都可以用於生成漢字,但是他們忽略了手寫軌跡(時間順序,及軌跡)。
文章提出一種基於RNN的條件生成模型,而且利用字元嵌入來訓練生成模型。
2.線上手寫漢字的表示
-
書寫的動態過程可以用變長序列表示
其中 表示筆的移動, 表示點 屬於哪一劃, 書寫順序也得到儲存。 -
預處理
移除多餘的點
如圖所示,文章假設 ,移除的兩個條件是
(6)式用到了餘弦相似性
其中超引數
(
為高度,
為寬度),
座標標準化過程
投影(4)式;計算平均值(5)式;計算偏差(6)式;計算標準差(7)式;得到新值(8)式
代表所有直線的集合,這些直線連線兩個連續點(即為同一劃)
標準化後x-y軸上的偏差也得到規範化。
3.識別模型:RNN端到端的識別
六維表示:
,
.指示函式Ⅱ(等式成立取1,否則取0)此處
表示pen-up,
表示pen-down
為了方便表示用
代替
;值得注意的是
代表的是6維向量
RNN模型中,輸入序列為
,每一個時間步都產生一個隱含態,得到
。計算方式是
;
為遞迴變換函式
輸出序列
由
得到
論文分別介紹了LSTM與GRU
long Short Term Memory
Gated Recurrent Unit
Stacked and Bidirectional RNN (圖三有體現)
圖中可以看出RNN模型是堆疊雙向的。從左至右
輸入正向迴圈層得到
.同時
輸入反向迴圈層得到