いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

バッチ正規化を入れて数字認識の実験をした結果

バッチ正規化の実験(勾配確認)がうまくいったので、実際にMNIST(数字認識の実験のためのデータセット)を使って認識率がどうなるか試してみました。なお、バッチ正規化では正規化(標準化)の式として前回の記事の通りのもの(γ・(x-μ)/s+β)を用いていますが、この実験では係数のγ、βはそれぞれ1、0で固定です。要するにデータは平均0、標準偏差1(従って分散1)に標準化されることになります。実践ではもちろんこれらのパラメータは学習によって調整します。バッチサイズは10、ネットワークは入出力層を入れて8層。入力層から畳み込み、プーリング、全結合、バッチ正規化、全結合、全結合という感じです。入力は1チャンネル、畳み込みで6チャンネルにし、全結合ですぐ1チャンネルにします。10000データで学習させたら……認識率がちょうど90%。最初の実験なので簡単な作りのネットワークにしたつもりですが、いいんだか悪いんだか……。まあしかし9割になったのですから、恐らくロジック自体は間違っていないということでしょう。次にはバッチ正規化を2層目辺りにもうひとつ入れ、畳み込みとプーリングを増やしてみます。春休み中に一応ケリがついてよかったです。続きの実験と並行して、使った数式も整理してまとめておきます。

 

自然言語処理」もやってみようかな、と思ってこの本も買いました↑。まだまだ、やらなければいけないことがたくさんあります。新しい年度はよりアグレッシブに行きます!