導入
人間は、たくさんの例を見て「なんとなくの法則」を掴みます。AIの学習もまったく同じで、データという「例」から、入力と出力を結ぶ法則を数値の形で見つけ出す作業です。
説明
たとえば「部屋の広さ(㎡)から家賃(円)を当てる」問題を考えます。あなたなら、広い部屋ほど家賃が高い、というざっくりした直線を頭の中に引くはずです。AIがやるのも、この直線(や、もっと複雑な曲線)を数値で決めることです。
学習の流れは、どんなAIでも次の輪の繰り返しです。
flowchart LR d["データ<br/>(入力と正解)"] --> p["モデルが予測"] p --> l["損失を測る<br/>(正解とのズレ)"] l --> u["パラメータを更新<br/>(ズレが減る方向へ)"] u --> p
- モデル:入力から出力を計算する仕組み。中に パラメータ(調整できる数値。「重み」とも呼ぶ)を持つ。
- 損失(loss):予測が正解からどれだけ外れているかを表す1つの数値。小さいほど良い。
- 更新:損失が小さくなる向きへ、パラメータをほんの少しずらす。
この輪を何千回・何百万回と回すうちに、パラメータが「データによく合う値」に落ち着きます。これが学習の正体です。派手なChatGPTも画像生成AIも、規模が桁違いなだけで、やっていることはこの輪です。
この章で作るもの
これから numpy だけを使って、この輪を実際に自分の手で回します。損失を測り、勾配で更新の向きを決め、直線をデータに当てはめる――PyTorch が裏で自動化してくれる処理を、まず生身で理解します。
まとめ
- AIの学習とは「予測 → 損失を測る → パラメータを更新」の輪を回すこと。
- モデルの中の**パラメータ(重み)**を、損失が小さくなるように少しずつ調整する。
- 大規模なAIも、根っこはこの単純な輪の繰り返し。