こんにちは、インフラエンジニアのryuです。
今回は、初心者向けにAIの始め方を解説します。私はインフラのエンジニアですが、今後はAIのスキルが必須になると思っています。エンジニアに限らず、どのような人でもAIを使う時代になるはずです。今回は、AIの知識ゼロ・プログラミングスキルゼロだった私がAIを使えるようになった方法を徹底解説します。
【初心者向け】AIの始め方徹底解説
AIって最近流行っているけど、どうやって始めたらいいの?
AIを始めようと思っている人「AIは最近流行っているけど、どうやったらいいの?AIを使うのは難しいのでは?文系で数学やプログラミングできないしな~?」
このようなイメージを持っていませんか?そのような人のためにAIの始め方を徹底解説します。
AIの始め方は以下の通りです。
- Pythonを習得する
- KerasでAIを作ってみる
- 数学の勉強+AIの理論の勉強
私は、工業高校卒業で機械系の勉強をしていました。学生時代は、数学の勉強やプログラミングの勉強は全くしていませんでした。なので、知識とスキルは0の状態からの始め方を紹介します。
1.Pythonを習得する
AIを作るには、Pythonというプログラミング言語を習得する必要があります。
Pythonとは、データサイエンスや数値計算、Webアプリケーションなど様々な用途で使われるプログラミング言語です。
特徴は、コードがシンプルでプログラミング初心者の方でも分りやすい言語です。
Pythonを勉強する方法は、以下の通りだと思います。
- Udemyで勉強する
- プログラミングスクールで勉強する
- 参考書を読んで勉強する
この中で一番オススメはUdemyで勉強することです。理由は、圧倒的にコスパがいいからです。
プログラミングスクールは高価ですし、参考書は難しすぎて挫折します。Udemyは動画で学習でき、とても分かりやすい内容になっています。動画の通りコーディングを進めていけば、一通りのプログラミングスキルが身に付きます。
Udemyの中でオススメの講座はこちらです。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
Pythonを効率良く身に着ける勉強方法については、こちらの記事で詳しく解説しています。
2.KerasでAIを作ってみる
Pythonを習得したら、AIを作ってみましょう。
AIを簡単に作成できるライブラリがKeras(ケラス)です。
KerasでプログラミングしたAIがこちらになります。中身はまだ理解しなくて大丈夫です。
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras import backend as K
batch_size = 128
num_classes = 10
epochs = 12
# input image dimensions
img_rows, img_cols = 28, 28
# the data, split between train and test sets
(x_train, y_train), (x_test, y_test) = mnist.load_data()
if K.image_data_format() == 'channels_first':
x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)
x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
input_shape = (1, img_rows, img_cols)
else:
x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
input_shape = (img_rows, img_cols, 1)
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')
# convert class vectors to binary class matrices
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=input_shape))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.Adadelta(),
metrics=['accuracy'])
model.fit(x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
こちらは画像判定のAIとなります。約60行くらいでAIの作成が可能です!
Kerasの勉強方法は、こちらのUdemyの動画で勉強することをオススメします。
→Kerasで検索すると出てきます!
ぜひやってみてください。
関連記事:【初心者向け】Kaggleおすすめ参考書4選をご紹介!これからKaggleをはじめよう!
3.数学の勉強+AIの理論の勉強
最後に数学の勉強+AIの理論の勉強です。
AIを理解するためには、理論の勉強が必須です。そのためには、数学の知識が必要です。微分計算や線形代数を学んでおくと理解しやすいです。
理論を勉強する際は、こちらの本をオススメします。
ゼロから作るDeep Learningシリーズは理論を勉強する上で一番分かりやすいと思います。プログラミングをしながら理論を学ぶことができます。数学の知識もこの本から学べるので、一石二鳥です。
理論を勉強すると、AIの精度向上できたり、AIを実装する上で必要なものが理解できるようになります。脱初心者を目指す人はこの本を読むことをオススメします。
AIは今後の必須スキルになる!
全ての産業がデータ×AI化する
(シン・ニホン AI×データ時代における日本の再生と人材育成 安宅 和人著)
今の時代、全ての産業でAIが使われています。
農業、アパレル、小売り、などなど
どのような分野で働いている人でも、必ずAIを使うようになると思います。つまり、AIを学んでおけば自分の人材価値は上がります。
数学の知識やプログラミングスキルが無くても、今のうちから勉強すれば、世間でAIが浸透するころにはバリバリ使いこなせるようになります!
日本の未来とAIの関係について、こちらの本にまとめられています。AIの勉強を始めようとしている方は、こちらの本を読むとモチベーションアップにつながると思います!
以上で、AIの始め方の解説を終わります。