実習#


  • 畳み込みニューラルネットワーク (Convolutional Neural Networks, 以下 CNN と略記) による認識を取り上げます。CNN はディープラーニング,あるいは深層学習の流行の礎となった多層ニューラルネットワークです。通常の1 教育的実習とは異なり日本語のくずし字を認識することを試みます。

上記は画像を 10 分類する課題です。一般物体認識の文脈では,画像分類の他に,物体位置特定, 物体認識,物体意味切り分け,実体切り分け,キーポイント検出,といった課題に発展します。 画像認識については以下の画像を参照ください。

参考文献#


  1. 通常とは次の意味で用いました。画像認識が人間の精度を凌駕したと喧伝される CNN において TensorFlow, PyTorch, Keras, Chainer, Theano などのディープラーニングのフレームワークでは,最初にサンプルとして付属するコードが手書き数字認識データセットであるからです。手書き数字は 0 から 9 までの 10 種類の画像を認識させる MNIST --- "エムニスト" と発音します --- MNIST はアメリカ合衆国の標準化団体 NIST (National Institute of STandard,日本で言う日本工業標準化機構 JIS に相当します) が定義した手書き文字認識用データセットを Yan LeCun (現フェイスブック AI 研究所 FAIR 所長)が修正した (Modified) データセットです。修正したデータセットなので先頭に M を付して MNIST と呼ばれます。黒字を背景とした白地で数字が描かれた濃淡画像グレー画像で,縦横 28 画素(ピクセルとも言います), ピクセルとしてデータ画像が用意されています。計 60000 枚の画像があります。テスト画像は 10000 枚。コンピュータの世界では 2 のべき乗を切りの良い数字と考えて用いることが多いのですが MNIST はそうでは有りません。 であれば すなわち ですが,MNIST は若干のクリッピングを施して になっています。クリッピングとはこの実習参加者の先生方におなじみの脳血管障害手術で用いられる血管を留める手術の意味では有りません。この場合のクリッピングとは画像の周辺を体良く矩形領域を切り出して,後の処理を扱いやすくすることを指します。今回の実習では MNIST を用いない理由は MNIST による実習に業界全体が食傷気味であるからです。実際に MNIST のサンプルコードは実施してみたもののさっぱり理由がわからないという声を聞くことがあります。そのような意味を込めて今回は別のデータセットを用いることにしました。