損失関数とは?AIの「間違い」を測るモノサシ
AIが答えを出す「順伝播」の後、その答えがどれくらい正解からズレているかを評価しなければ、AIは賢くなれません。この「答え合わせ」の役割を担うのが損失関数(Loss Function)です。この記事では、AIが自らの間違いを数値で測るためのモノサシである損失関数について、具体例を交えて分かりやすく解説します。
1. 損失関数の役割:AIの予測の「ダメさ」を1つの数値にする
損失関数の目的は、AIの予測値と実際の正解値を比較し、その「隔たり」や「ズレ」を計算して、損失(Loss)または誤差(Error)と呼ばれる一つの数値で表現することです。
例えば、AIに明日の気温を予測させたとします。
- AIの予測:25℃
- 実際の気温(正解):27℃
この時、ズレは「2℃」です。この「2℃」というズレを、決められた計算方法で数値化したものが「損失」です。AIの学習目標は、この損失の値をできるだけ0に近づけることに他なりません。
2. 具体例で学ぶ:平均二乗誤差(MSE)
数ある損失関数の中で、最も基本的で理解しやすいのが平均二乗誤差 (Mean Squared Error, MSE) です。主に、気温や株価、テストの点数といった数値を予測する問題(回帰問題)で使われます。
シナリオ:勉強時間からテストの点数を予測するAI
ある学生の実際のデータが以下だったとします。
- 正解値 (
): 実際のテストの点数は 80点 でした。
- AIの予測値 (
): AIは、勉強時間から点数を 60点 と予測しました。
計算ステップ
- 誤差(ズレ)を計算する
まず、予測値から正解値を引きます。 - 誤差を二乗する
次に、計算した誤差を2乗します。これにより、ズレがマイナスでもプラスに変換されます。
結果: この予測における損失は 400 となりました。もしAIの予測が70点なら損失は 、予測が85点なら損失は
となります。値が小さいほど、良い予測だったと言えます。
なぜ「二乗」するの?
誤差を二乗するのには2つの大きな理由があります。
- ズレの方向を無視するため: 予測が20点高くても(-20)、20点低くても(+20)、ズレの大きさは同じです。二乗することで、どちらも同じ「400」という正の値として扱えます。
- 大きなズレに大きなペナルティを与えるため: 誤差が10の場合、損失は100ですが、誤差が2倍の20になると、損失は4倍の400になります。これにより、AIは「大きな間違い」をより強く避けるように学習していきます。
3. 問題の種類で使い分ける損失関数
実際には、解きたい問題の種類に応じて、最適な損失関数を使い分けます。
- 回帰問題(数値予測)
平均二乗誤差 (MSE) や 平均絶対誤差 (MAE) が使われます。 - 分類問題(カテゴリ予測)
「猫」「犬」「鳥」のように、どれか一つのカテゴリを予測する問題では、交差エントロピー誤差 (Cross-Entropy Error) が使われます。これは、AIが「間違った答えにどれだけ大きな自信を持っていたか」を測るのに適したモノサシです。