誰でもできるAI画像認識入門1
目次
- AI入門
- 使用ツール
- 画像認識
- AI(ニューラルネットワーク)
- 実装
1.AI入門
最近のトレンドは、AI
新聞,テレビもAIについて見ない日はない(個人的)
第四次産業革命かもしれないAIに乗り遅れないため、初心者でもAIを使えるように解説する予定
2.使用ツール
AI作成で使用するツールは、Pythonを使用
AIを作る準備(以下googleで検索)
Jupyter notebookを起動後画面
ここまでくれば準備完了
3.画像認識
AIの利用法として、画像認識がある。今後の自動運転、無人コンビニなどで使用される技術である。
今回は、画像認識の入門[minist 手書き文字認識]を試してみる。
AIに手書き文字を見せて、数字を当てることが目標
4.AI(ニューラルネットワーク)
画像認識するニューラルネットワークの構成
- 入力層:画像のデータを入れる
- 中間層:出力層の答えが正しくなるように計算する
- 出力層:中間層からの出力から入力画像を認識する
(画像認識イメージ)
5.実装
説明したネットワークを実装する。
1:jupyter notebookを立ち上げ、必要な機能をimportする
ここでは、AI開発に便利なtensorflow,keras
データを保持する箱のnumpy
絵を表示するmatplotlib
をimportし、名前が長いのでasで略字(省略)
2:minist 手書き文字をインストール
訓練
x_train:入力画像
y_train:答え
成績確認用
x_test,y_test
3:画像を確認する(x_test)
訓練用画像25枚を確認
4:画像のピクセル値を正規化する
最小0,最大1になるように8bit=255で割る
5:ニューラルネットワークを組み立てる
入力層:ks.layer.Flatten(input_shape(28,28))
input_shape(28,28):画像の縦,横のピクセル数
ks.layer.Flattenで画像2次元データを28×28の1次元データに変換
中間層:ks.layer.Dense(64,activation=tf.nn.relu)
中間層の〇が64で,計算手法がactivation=tf.nn.relu
出力層:ks.layer.Dense(10,activation=tf.nn.softmax)
数字が0~9の10種類なので、〇を10個用意、計算手法がactivation=tf.nn.softmax
6:計算させる
model.compile()で計算法の指定
optimizer:計算方法
loss:10種類分類するので、sparse_categorical_crossentropyを使用
model.fit(x_tarin,y_train,epoch=5)で計算開始
x_train:入力画像
y_train:答え
epoch:計算繰り返し回数
訓練用データで正解率97.99達成
今後詳しい内容、CNNなど解説する予定