最近のAIブームで、AIをしてみたい人ってのはたくさんいると思います。
しかし、書店で人工知能の本見た瞬間、、は?無理やろこんなん!!
ってなった人がいっぱいいると思います。
この記事を読むことで
最短で簡単にpytho初心者でもAIを実装する方法がわかります
理論をしっかり学んでから、、、とか理解してから、、、とか考えてる方はお帰りください。
たぶんそんなこと思って1からAIの本買って勉強してもよっぽどやる気がないと挫折します。その中の一人が僕です。。。
そんな僕がたった1,2か月で画像認識のCNNのモデルを使って動作認識webアプリを実装した方法について書きます。
最初に結論から言うと、、、NNCを使おう。
NNC:nerural network console 。ソニーが無償で提供している機械学習のためのツールです。
この2分の動画をみればだいたいのイメージがつかめます。
普通にツールをつかわずにtensorflow を使って学習させようとすると
import pandas as pd
from sklearn.model_selection import train_test_split
import tensorflow as tf
# アヤメデータの読み込み
iris_data = pd.read_csv("iris.csv", encoding="utf-8")
# アヤメデータをラベルと入力データに分離する
y_labels = iris_data.loc[:,"Name"]
x_data = iris_data.loc[:,["SepalLength","SepalWidth","PetalLength","PetalWidth"]]
# ラベルデータをベクトルに直す
labels = {
'Iris-setosa': [1, 0, 0],
'Iris-versicolor': [0, 1, 0],
'Iris-virginica': [0, 0, 1]
}
y_nums = list(map(lambda v : labels[v] , y_labels))
# 学習用とテスト用に分離する
x_train, x_test, y_train, y_test = train_test_split(
x_data, y_nums, train_size=0.8)
# アヤメデータの入力値(4次元)と出力値(3次元)を入れる場所を定義
x = tf.placeholder(tf.float32, [None, 4])
y_ = tf.placeholder(tf.float32, [None, 3])
# 重みとバイアスのための変数を定義
w = tf.Variable(tf.zeros([4, 3])) # 重み
b = tf.Variable(tf.zeros([3])) # バイアス
# ソフトマックス回帰を定義
y = tf.nn.softmax(tf.matmul(x, w) + b)
# モデル訓練
cross_entropy = -tf.reduce_sum(y_ * tf.log(y))
optimizer = tf.train.AdamOptimizer(0.05)
train = optimizer.minimize(cross_entropy)
# 正解率
predict = tf.equal(tf.argmax(y, 1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(predict, tf.float32))
?????みたいな感じですよね?
しかし
ソニーのNNCを使えば。
学習用のデータは下のようなcsvファイル作るだけです
そしてモデルそれぞれの入力サイズや出力サイズも半自動で勝手に決めてくれます。
こんな複雑なモデル構築もドラッグ&ドロップで(むしろチュートリアルの利用しただけだからドラッグ&ドロップすらしていない)できます。
これをプログラムで書くのは結構大変です。
学習と評価も↓の三角ボタン押すだけです。
多分これだけじゃ使い方わからんやんってなるんですけど、下の本みてチュートリアルすれば多分中学生でもできちゃいます。
ソニー開発のNeural Network Console入門【増補改訂・クラウド対応版】--数式なし、コーディングなしのディープラーニング
- 作者: 足立悠,ソニー株式会社,ソニーネットワークコミュニケーションズ株式会社
- 出版社/メーカー: リックテレコム
- 発売日: 2018/11/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
その後webアプリはこの下の本で勉強してできちゃいます。
すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方
- 作者: クジラ飛行机,杉山陽一,遠藤俊輔
- 出版社/メーカー: ソシム
- 発売日: 2018/06/29
- メディア: 単行本
- この商品を含むブログを見る
業務でAIを使ったサービスや趣味でやってみたいならぜひNNCを使うべきです。
おすすめは改訂版です
ソニー開発のNeural Network Console入門 ―数式なし、コーディングなしのディープラーニング
- 作者: 足立悠
- 出版社/メーカー: リックテレコム
- 発売日: 2018/01/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
ソニー開発のNeural Network Console入門【増補改訂・クラウド対応版】--数式なし、コーディングなしのディープラーニング
- 作者: 足立悠,ソニー株式会社,ソニーネットワークコミュニケーションズ株式会社
- 出版社/メーカー: リックテレコム
- 発売日: 2018/11/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方
- 作者: クジラ飛行机,杉山陽一,遠藤俊輔
- 出版社/メーカー: ソシム
- 発売日: 2018/06/29
- メディア: 単行本
- この商品を含むブログを見る
こういうサイトで一気に力をつけることがもお勧めだと思います。
<a href="https://px.a8.net/svt/ejp?a8mat=35PTKY+G994FM+3L4M+6N741" rel="nofollow">
<img border="0" width="300" height="250" alt="" src="https://www21.a8.net/svt/bgt?aid=191001346983&wid=001&eno=01&mid=s00000016735001116000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www13.a8.net/0.gif?a8mat=35PTKY+G994FM+3L4M+6N741" alt="">