モデル作りは、ケーキやレゴに近い
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 の答えと本当の答えをくらべます。
まちがえたら少し直し、また解く。このくり返しが学習です。
- 問題を見る
- 答え合わせをする
- 少しだけ直す
推論は、完成したAIに未来を聞く瞬間
学習が終わったら、新しい数字を見せます。
そのとき AI は、今までの勉強をもとに「たぶん次はこうだよ」と答えます。
この場面を推論と呼びます。model.predict(...) は、その予想を聞く合図です。
TensorFlow/Keras は、最初の挑戦にちょうどいい
コードは短いのに、やっていることはちゃんと本格的です。
小さな実験から始めて、あとで LSTM やもっと大きなモデルに広げることもできます。
M4 MacBook Airなら、この計算も一瞬で終わるよ! と思える場面が多いので、思いついたときにすぐ試せるのが楽しいところです。