前回、「GPUが無事動きました!」という話でした。
今回はGPUを実際使ってみようと思います。
手書き文字を分類してみる
突然ですが、問題です。
これは数字の何でしょうか。
そう、「7」ですね。
これは手書きで書かれた数字の画像で、「7」と書かれています。
というのは、人間には簡単に判断できますよね。
じゃあこれを、プログラムで判断するには、どうすればいいでしょうか。
普通にプログラムで書こうとすると、難しそうですよね。
そこで、GPUと深層学習を使って、画像の特徴を学習してもらい、
どの画像が数字の何なのかを判定してもらおうと思います。
手順
こんな手順でやってみます。
手順1.まず学習なしで、10000枚の手書き文字画像に、どの数値が書かれているか判定してもらいます。
(ほぼ当てずっぽうなので、全然当たらないと思います。)
手順2.次に、60000枚の手書き文字画像を学習してもらった上で、10000枚の画像を判定してもらいます。
手順1:当てずっぽうで判定した結果
画像の上の数字が、「判定された」数字です。
(9枚抜粋しています)
全然あたってませんね・・・
正答率も見てみました。
「accuracy」の下に書いてある数値で、全体のうち何割当てられたのかが記載されています。
正答率10%ということですね。
10枚中9枚は外している状態です。
手順2:60000枚学習して判定した結果
次に、60000枚の手書き文字画像から、各数値の特徴を学習した上で、判定してみました。
結果はこちら。
抜粋された9枚はすべて正解です。
正答率を見てみると・・・
正答率97.8%になりました。
【次回予告】
GPUで実際に深層学習をしてみました。
これでひとまず、使えるということはわかりましたね。
次回は、深層学習による「画像分類」によって、ISAPlanで「あること」をしようと思っています。
その構想?について書こうかなと思います。