AI coordinator

人工知能 & ロボティクス

© AI coordinator All rights reserved.

MNISTって何?数字を識別できる学習モデルの作成方法

MNISTとは

MNISTとは手書き数字画像60000枚とテスト画像10000枚を集めた画像データセットになります。

ニューラルネットワークを学ぶ上で、便利な画像データセットとして有名です。

どんな手書き数字画像かというと、こんな感じの画像になります。

MNISTは簡単な実験から研究まで幅広く使われるデータセットになっています。

今回はそんなMNISTを使って、手書き数字を識別できる学習モデルの作成に挑戦したいと思います。

 

参考にした書籍

これからDeep Learningの勉強をするなら、こちらで紹介する書籍が参考になります。

 

環境

macOS Sierra

Anaconda3-4.2.0-MacOSX-x86_64

keras 1.2.2

tensorflow 0.12.1

 

実際の画像データの中身を確認してみよう

学習モデルを作成する上で、色々なサンプルソースコードがありますが、それをだた動かしただけではいまいち理解できないと思います。

実際にどんなデータがMNISTに入っているのか確認してみましょう。

以下のソースコードを動かしてみるとイメージがつきやすいかと思います。

このPGMは学習用データ1件目とテストデータ1件目を表示するPGMになります。

簡単に補足すると、

X_train = 学習用画像データ、y_train = 学習用ラベル、X_test = テスト画像データ、y_test = テストラベル

となっているので、それぞれの中身を確認すると以下のような実行結果になります。

なんとなく数字の5と7に見えるかと思います。

以下が出力される学習用画像データとテスト用画像データです。

ちっちゃいですね。

 

MNISTは学習用データとテスト用データを持っていて、それぞれ画像データとラベル(正解の数字)を持っている画像の塊データだということがこれで分かるかと思います。

では実際にMNISTを使って学習モデルを作成してみましょう。

 

MNISTを使った学習モデルの作成

学習モデルは2つできます。

jsonファイルとhdf5ファイルです。

 

それでは早速、学習モデルの作成をしてみましょう。

以下のソースコードを実行してみてください。

実行結果は以下の通り。

97%の正答率をもつモデルを作成することができました。

時間短縮のため、epoch=2という少ない数字での学習ですが、中々の精度を出すことができます。

データが分かりやすいからでしょう。

実際は500とか1000とかいう数字で学習するのが一般的ですね。

 

次はこの作成した学習モデルを使って、数字画像の識別に挑戦していきたいと思います。

 


その他の物体検出記事はこちらから

 

それではまた。

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

20174/22

DeepLearningに挑戦!まずはubuntuのインストールから

DeepLearningを始めるならubuntu いよいよDeepLearningにチャレンジしていきます。 DeepLearnin…

20178/15

DeepLearningのモデル可視化方法とmatplotlibで学習の様子を可視化する方法

学習モデルの可視化と学習の様子を可視化してみた 何を今更といった内容の記事です。 DeepLearningにチャレンジしてきた筆者で…

リアルタイム映像からの美人女優検出

リアルタイム映像から特定の人物検出 以前からやってみたかった映像からの特定人物検出にチャレンジしてみたので、その内容の紹介です。 S…

20178/8

動体撮影に特化した監視カメラの作成方法

動く物体を検知して写真撮影をする監視カメラ OpenCVを使えば動体撮影に特化した監視カメラを作成することができるのではないかと考え、実装…

Watson NLCが使えるGUIをPythonで実装する方法

PythonでWatson NLCを使えるGUIを作ってみよう 質問を入力すれば、一番高い確信度を回答として返却してくれるGUIをPyth…

自然言語解析の形態素解析 janome を使ってみよう

形態素解析 janome とは 簡単に説明しますと、自然言語の文章を意味を持つ最長単位に分割し、品詞を判別することができるライブラリです。…

Watson APIを活用した英訳するPepperコントローラー

Python GUIを使ってWatson APIを使用したペッパー用コントローラーの作成方法 Watson APIの「LanguageTr…

wikipedia全文データからWord2Vecで類義語を抽出してみる

自然言語処理の入門、wikipedia全文データを使ってみる 自然言語処理について何から勉強を始めようかと色々模索していたところ、wiki…

20173/3

Pepper用Python 2.7 SDK(MAC)セットアップ方法

コレグラフを使用しなくてもPepperを動かせるPython 2.7 SDKセットアップ方法 MAC編 プログラムソースをバリバリ記述しな…

20176/21

カメラ映像からの物体検出

PC内蔵カメラから自分の顔の物体検出をやってみる ほとんど筆者の備忘録的な内容になります。 色々な映像や画像からの物体検出をチャレン…

ページ上部へ戻る