画像AIを身につけよう⑤ Pytonで実装

AI

もうAI作れるの?

「畳込み」「活性化関数」「プーリング」
が分かれば、基本的なAIは作れます

早速作ってみましょう!

どんなAIを作るの?

最初に必ずやる

数字を認識するAIです

スポンサーリンク

AI構造

単純な立方体を変形して、最終的に、10つの数字に分類したいので、10つの箱になるようなAI構造にします。

Pythonコード

pythonのコードを知らない方も、どうやって、上記の構造をプログラミングしているか雰囲気をわかっていただければと思います。

とりあえず、pythonコードを動かしたい場合は、Google提供のColaboratoryがオススメ。

ライブラリの取得と定数設定

AI構造を簡単に実装できるkerasというライブラリを使います。

数字のデータの取得

データを取得して、形を整えています。

AIを学習させるときには、必ず、学習させるデータとAIを評価するテストデータを用意します。

  • x_train:数字の画像データ(学習用)
  • y_train:画像の数字が何であるか答え(学習用)
  • x_test:数字の画像データ(テスト用)
  • y_test:画像の数字が何であるか答え(テスト用)

最後に。データの形を確認しています。

(5000, 28, 28, 1) <(データ数、幅、高さ、Ch)
(5000, 10)
(1000, 28, 28, 1)
(1000, 10)

AIモデル構築

下記のように入力から 畳込み>活性化関数>プーリングを組み合わせて 出力となります。

Conv2D:畳込みと活性化関数
MaxPooling2D:Maxプーリング

最後にモデルを確認していますが、最初に書いた構造の絵と比較してみましょう

OutPut Shapeの形と一緒なのが確認できます。

AIを学習

AIにどのように学習させるか、いくつか種類がありますが、ここでは「Adam」という方法を使っています。

コード量も少ないので、実装にはそんな苦労しないことがわかると思います。

acc:0.9908というのがAIの精度になります。99%で分類できているということになります。

AIを評価

最後にAIがうまく、学習しているか確認します。

Test Accuracy = 0.953

と出力され、 95%の精度とボチボチ学習してくれていることがわかります。

データの量も削って、学習数(EPOCH数)も10回なので、こんなもんです。

最後に

AI構造がどのようにコードとして実装されたか、なんとなく、わかってもらえたかなと思います。

AIの構造を作っているところは、計算方法とかは一切意識せず、ただ自分の作りたい構造にするだけですね。

ですので、最初の方に色々、計算方法を勉強するけれでも、実際にAIを使うときには、計算するわけではないので、よく忘れてしまいます。

なので、細かい計算は知っていたら、AIの調整が細かくできるが、トコトン精度をあげたいわけではなければ、特に必要としないのではと思います。

スポンサーリンク

タイトルとURLをコピーしました