Hands On

10行くらいのコードでAIを作ってみよう

TensorFlow/Keras を使うと、レイヤーを積んで、学習させて、未来を予想させるところまでを短いコードで試せます。ケーキやレゴを組み立てる気分で読める、最初の一歩です。

モデル作りは、ケーキやレゴに近い

Keras では、AI の部品をレイヤーとして重ねていきます。

スポンジを重ねてケーキを作るみたいに、下の層で材料を受け取り、上の層で少しずつ考えを深くしていきます。

レゴで言うなら、1個ずつブロックを足して「これなら数字を読めそう」という形にしていく感じです。

いちばん大事なイメージ

レイヤーは、数字を少しずつ見やすく変える部品です。たくさん足すほどすごい、ではなく、目的に合う並べ方が大切です。

まずは短いコードを見てみよう

下の例は、とても小さな全結合ネットワークです。未来を予想する入口として十分に遊べます。

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential()                  # AIの箱を用意
model.add(Dense(units=10, input_shape=(1,)))  # 10個の考える部品
model.add(Dense(units=1))             # 最後に答えを1つ出す

model.compile(optimizer="adam", loss="mse")  # 勉強のしかたを決める
model.fit(x_train, y_train, epochs=50)        # ドリルを何回も解く
prediction = model.predict([[12]])            # 新しい数字で未来を予想

本当にやっていることは、箱を作る、部品を足す、勉強のルールを決める、ドリルを解かせる、最後に答えを聞く。この5段階です。

学習は、AIにドリルを解かせる時間

学習では、AI に問題と答えをセットで見せます。

たとえば「1の次は2」「2の次は4」のような並びを見せて、AI の答えと本当の答えをくらべます。

まちがえたら少し直し、また解く。このくり返しが学習です。

  1. 問題を見る
  2. 答え合わせをする
  3. 少しだけ直す

推論は、完成したAIに未来を聞く瞬間

学習が終わったら、新しい数字を見せます。

そのとき AI は、今までの勉強をもとに「たぶん次はこうだよ」と答えます。

この場面を推論と呼びます。model.predict(...) は、その予想を聞く合図です。

TensorFlow/Keras は、最初の挑戦にちょうどいい

コードは短いのに、やっていることはちゃんと本格的です。

小さな実験から始めて、あとで LSTM やもっと大きなモデルに広げることもできます。

M4 MacBook Airなら、この計算も一瞬で終わるよ! と思える場面が多いので、思いついたときにすぐ試せるのが楽しいところです。