本文へスキップ
BecomeCoder

PyTorchコース · 第1章 AIはどうやって「学ぶ」のか · レッスン1

そもそも「学習する」とは何か

ローカル実施

導入

人間は、たくさんの例を見て「なんとなくの法則」を掴みます。AIの学習もまったく同じで、データという「例」から、入力と出力を結ぶ法則を数値の形で見つけ出す作業です。

説明

たとえば「部屋の広さ(㎡)から家賃(円)を当てる」問題を考えます。あなたなら、広い部屋ほど家賃が高い、というざっくりした直線を頭の中に引くはずです。AIがやるのも、この直線(や、もっと複雑な曲線)を数値で決めることです。

学習の流れは、どんなAIでも次の輪の繰り返しです。

flowchart LR
  d["データ<br/>(入力と正解)"] --> p["モデルが予測"]
  p --> l["損失を測る<br/>(正解とのズレ)"]
  l --> u["パラメータを更新<br/>(ズレが減る方向へ)"]
  u --> p
  • モデル:入力から出力を計算する仕組み。中に パラメータ(調整できる数値。「重み」とも呼ぶ)を持つ。
  • 損失(loss):予測が正解からどれだけ外れているかを表す1つの数値。小さいほど良い。
  • 更新:損失が小さくなる向きへ、パラメータをほんの少しずらす。

この輪を何千回・何百万回と回すうちに、パラメータが「データによく合う値」に落ち着きます。これが学習の正体です。派手なChatGPTも画像生成AIも、規模が桁違いなだけで、やっていることはこの輪です。

この章で作るもの

これから numpy だけを使って、この輪を実際に自分の手で回します。損失を測り、勾配で更新の向きを決め、直線をデータに当てはめる――PyTorch が裏で自動化してくれる処理を、まず生身で理解します。

まとめ

  • AIの学習とは「予測 → 損失を測る → パラメータを更新」の輪を回すこと。
  • モデルの中の**パラメータ(重み)**を、損失が小さくなるように少しずつ調整する。
  • 大規模なAIも、根っこはこの単純な輪の繰り返し。