今回は, 前回[1]の認識対象をひらがな73文字から漢字(JIS第一水準)2965文字に広げて試してみた.
認識対象の文字種が約3,000字かつ学習データが約50,000サンプルということで, 私の環境(*1)ではメモリ不足でエラーとなった.
*1:ホストマシン:
CPU:Intel Core i7-2600K
RAM:8.00GB
OS:Windows 10 Pro
VMware Workstation 12 Player
仮想マシン:
プロセッサ数:4
メモリ:6GB
HDD:100GB
OS:Ubuntu 14.04
主な原因としては以下の2つが考えられる.
1) 正解ラベルをデータ読み込み時に作成すると文字種×サンプル数必要
2) 画像データをすべてメモリ上に置くには画素数×サンプル数必要
そこで, 1)に対応するため, 「ミニバッチ毎に学習データの正解データを作成する」ようにプログラムを変更することで, 学習/評価が行えるようになった.
[学習]
- 対象文字:漢字2,965文字種(JIS第一水準)
- 筆記スタイル:楷書
- 学習データ:53,202サンプル
- 学習回数:ミニバッチ(100サンプル)×35,000回
- 学習時間:約3.5時間
- 学習ログ:
step 0, training accuracy 0
step 100, training accuracy 0
step 200, training accuracy 0
step 300, training accuracy 0
step 400, training accuracy 0
step 500, training accuracy 0
step 600, training accuracy 0
step 700, training accuracy 0
step 800, training accuracy 0.01
step 900, training accuracy 0.02
step 1000, training accuracy 0.04
:
step 34100, training accuracy 1
step 34200, training accuracy 1
step 34300, training accuracy 1
step 34400, training accuracy 1
step 34500, training accuracy 1
step 34600, training accuracy 1
step 34700, training accuracy 1
step 34800, training accuracy 1
step 34900, training accuracy 1
- 経過視覚化:
上:学習データの認識率, 下:損失
[評価]
- 対象文字:漢字2,965文字種(JIS第一水準)
- 筆記スタイル:楷書
- 評価データ:11,762サンプル(最大4サンプル/文字)
- 認識結果:
--- No. 1 亜 ---
* 1位 : 亜 (0.999973)
2位 : 豆 (0.000024)
3位 : 丑 (0.000003)
4位 : 里 (0.000000)
5位 : 笠 (0.000000)
--- No. 2 亜 ---
* 1位 : 亜 (0.999999)
2位 : 免 (0.000001)
3位 : 至 (0.000000)
:
--- No. 11761 腕 ---
* 1位 : 腕 (0.968248)
2位 : 脳 (0.011852)
3位 : 胸 (0.007451)
4位 : 隠 (0.005526)
5位 : 脇 (0.003566)
--- No. 11762 腕 ---
* 1位 : 腕 (0.987139)
2位 : 脱 (0.010151)
3位 : 碗 (0.001026)
4位 : 胞 (0.000841)
5位 : 庇 (0.000416)
---------- Total Accuracy ----------
1位 : 88.31 % ( 10387 / 11762 )
2位 : 94.68 % ( 11136 / 11762 )
3位 : 96.58 % ( 11360 / 11762 )
4位 : 97.39 % ( 11455 / 11762 )
5位 : 98.01 % ( 11528 / 11762 )
やはり, 認識対象が3,000語近くになると少し難しいか...
当時の記憶をたどると, 認識対象が漢字だけなら96%以上の認識率だったと思う.
次回から, 認識性能upに向けてトライ予定.
(注)
評価データに学習データが含まれるなどの不備が見つかったので, 再度評価を行い, 認識結果など一部内容を修正しました. (2016/6/29)
----
[1] TensorFlowで文字認識にチャレンジ(2)
シンギュラリティは近い [エッセンス版]―人類が生命を超越するとき
|
|
この1冊でまるごとわかる! 人工知能ビジネ ス(日経BPムック)
|