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 で実施してみた結果、

TensorFlowでFashion-MNISTを試してみた 画像1
TensorFlowでFashion-MNISTを試してみた 画像2

なるほど。

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

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

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

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

 

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

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

それではまた。

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
東京大学発AIスタートアップでロボット開発室室長・画像解析室室長・動画解析室室長を務め、画像認識関連のAI特許を在籍中に3件取得。その後、KDDIグループでプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRIST株式会社の執行役員CTO 兼 VPoEとして、農業の人手不足解決に向けた収穫ロボットの開発組織を統括しています。AI・ハード・エレキ・通信・クラウド・IoTまでを一気通貫で設計できる視点を強みに、性能だけでなく「感動やワクワク体験」までデザインできるロボットの研究を進めています。並行して、AI coordinatorとして企業のAI導入・教育機関のAI授業・地域の技術相談を月額契約で継続伴走しています。

COMMENTS & TRACKBACKS

  • Comments ( 0 )
  • Trackbacks ( 1 )

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

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

LEAVE A REPLY

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