TensorFlowでFashion-MNISTを試してみた

TensorFlowでFashion-MNISTを試してみた

ファッション画像?でMNIST

こんにちは。

AI coordinatorの清水秀樹です。

Fashion-MNISTというデータセットが公開されたので早速試してみました。

MNISTとの違いは数字データがファッション画像になっているところです。

どんなデータが入っているかというと、

ラベル データ
0  T-shirt/top
1  Trouser
2  Pullover
3  Dress
4  Coat
5  Sandal
6  Shirt
7  Sneaker
8  Bag
9  Ankle boot

 

なんで、そんなデータセットができたのかというと、公式サイトには以下のように書かれていました。

・MNISTは簡単すぎるし、既にみんな使っているから

だそうです。

 

う〜ん、なるほど。

 

いまいちピンとこないので、実際に動かしてみました。

 

参考サイト

以下、サイト(日本語版)を参考にしました。

TensorFlow: TensorFlow で Fashion-MNIST

 

開発環境

iMac (27-inch, Late 2012)

プロセッサ 2.9 GHz intel Core i5

macOS Sierra バージョン 10.12.4

Anaconda3-4.2.0-MacOSX-x86_64

python 3.5.2

tensorflow 1.0.0

keras 1.2.2

 

どんな画像が入っているのか除いてみました。

とりあえず1枚のトレーニング画像とテストデータを抜き出してみました。

以下のソースコードで簡単に抜き出せます。

抜き出した画像は ‘train.png’と’test.png’という名前で保存されます。

ちっさ!!

そりゃそうですね。28×28サイズですから。

 

MNISTと比較してみた。

従来の数字のみのMNISTと、今回公開されたFashion-MNISTを比較してみます。

まずは従来の数字のみMNISTの結果です。

Epoch = 2で試した結果、

accuracy = 0.9679と、たった2回の学習でかなりの精度が出ています。

 

続いて、Fashion-MNISTの結果です。

accuracy = 0,8764となりました。

 

確かに、数字のみMNISTよりもFashion-MNISTの方が精度が出にくい感じですね。

難易度が上がったことが実感できました。

 

Fashion-MNISTを試したソースコード

試したい方は、以下のサイトからデータをクローンしましょう。

実行するには、公式サイトにも記載があるように、

utils/mnist_reader を使用する必要があります。

 

筆者は、いきなりこれにハマりました。

を実行するために、utils/mnist_reader が必要になります。

このモジュールは、上記サイトからクローンしたフォルダ内にあります。

これがないと、データをimportできません。

 

以下、今回使用したソースコードになります。

数字版MNISTの使い回しなので、コメントなど適当なのはご容赦ください。

 

精度を出すために、epoch = 50 で実施してみた結果、

なるほど。

epoch = 10 あたりから、過学習が発生しています。

精度をあげるには学習モデルの工夫が必要そうですね。

確かに従来のMNISTよりFashion-MNISTの方が難易度が上がっていますね。

どんな学習モデルにすれば精度が出るのか考えることで、色々勉強になりそうです。

 

興味がある方は参考にしてみてください。

また、これからDeep Learningの勉強をするなら、こちらで紹介する書籍も参考になりますので一読してみることをオススメします。

それではまた。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

COMMENTS & TRACKBACKS

  • Comments ( 0 )
  • Trackbacks ( 1 )

コメントはまだありません。

  1. […] 前回の記事「TensorFlowでFashion-MNISTを試してみた」で学習モデルを作成した結果、簡単に過学習を起こしていたので、精度を上げるためにCNNで作成した学習モデルで検証してみたので、その結果をソースコードと合わせて紹介したいと思います。 […]

LEAVE A REPLY

*
*
* (公開されません)