MNISTを使ってDeep Learningを実装! 

engineering

MNISTを使ってDeep Learningを実装

今回はMNISTを使って実際に手を動かしてDeep Learningを実装していこうと思います。

参考にしたものは以下です

ゼロから作るDeep Learning

ディープラーニングを実装から学ぶ~ (まとめ1)実装は、実は簡単 - Qiita
MNISTの予測をディープラーニング(ニューラルネットワーク)で行います。実は、ディープラーニング(ニューラルネットワーク)の実装は簡単です。数十ステップで98%程度の精度を達成できます。 (注意事項) ディープラーニング(ニューラル...

MNISTとは

手書き数字画像60,000枚とテスト画像10,000枚を集めた画像データセットになります。機械学習の分野でもっとも有名なデータセットで、今回のような実験から論文まで幅広く使われているようです。

詳しくはこちらをチェックやで〜

 

準備

まずはMNISTをダウンロードしていきます。ダウンロードしたらお好みの場所に保存しておいてください。

ダウンロードはこちらから↓

MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges

4つダウンロードファイルがありますが、それぞれ学習画像・学習ラベル・テスト画像・テストラベルなので全てダウンロードしてください。

 

実装

こちらはレイヤー・学習・予測メソッドを実装しています。

 

こちらで先ほどの関数を実際に実行しています。MNISTを読み込んでいるURLには先ほどMNISTをダウンロードした自分のURLを書きましょう。

 

あとはファイルを呼び出せば、MNISTの1〜9の手書き画像をこのDeep Learningが判別してくれます。

最初は正解率が悪いですが、すぐに精度が増して正確な画像判別をしてくれるようになるのがわかります。

所感

Deep Learningというとなんだか難しそうですが、入門程度なら比較的簡単にできてしまいますね。

ただ、MNISTではなく自作のデータセットを作って画像判別させるとなるとデータセットを作ることが難しそう。。

ちょっと陸サーファーかリアルなサーファーかの画像判別とか作ったら面白そうとか思いましたが、画像集めるのが大変そうだな〜と。

そこらへんもプログラム組んで画像集める必要があるのかな? ゼロから始めるディープラーニングには画像水増しの方法とかもあったけど。

とかなんとか言いつつも、少しずつ機械学習について理解が出てきたのでよしとします。

 

・・・Webエンジニアなのに俺なんで機械学習やってんだ???

コメント

%d人のブロガーが「いいね」をつけました。