基礎・機械学習

損失関数とは?Loss Function・学習の最適化目標

読み:そんしつかんすう / 英:Loss Function

更新日: 読了目安:約6分

損失関数(Loss Function/損失)は、モデルの予測と正解のズレを一つの数値にまとめる関数です。教師あり学習では、この値を小さくする方向にパラメータを更新します。本記事は微分の導出ではなく、試験で問われる役割・代表例・勾配降下法との関係に焦点を当てます。

試験で問われる見方

○:損失関数は予測と正解の差を測り、学習で最小化する目標(TF-075周辺の最適化文脈)。

×:勾配が大きい方向へ常にパラメータを増やせば損失は必ず最小化される(TF-240)。更新は勾配の反対方向(損失を減らす方向)が基本。

演習で確認する

G検定:TF-240TF-075ディープラーニングの概要

損失関数とは

1サンプルごとの誤差を L(y, ŷ) と書き、ミニバッチでは平均をとって学習します。損失が小さいほど「正解に近い」予測です。深層学習ではこの損失に対する各重みの勾配を誤差逆伝播法で求めます。

代表例

タスク損失の例要点
回帰二乗誤差(MSE)予測と正解の差の二乗
二値分類バイナリ交差エントロピー確率出力との整合
多クラス分類交差エントロピー正解クラスの確率を上げる
LLM次トークン交差エントロピー正解トークンの尤度を最大化

タスクと出力形式に合った損失を選ばないと、勾配が意味をなさないことがあります。

最小化の流れ

  1. 順伝播で予測 ŷ を計算
  2. 損失 L を計算
  3. 逆伝播で ∂L/∂w を求める
  4. 勾配降下法で w を更新(損失が下がる方向)

学習率が大きすぎると損失が発散し、小さすぎると収束が遅い(勾配降下法記事)。訓練損失だけ下がって検証損失が上がるのは過学習のサインです。

評価指標との違い

損失は学習時に微分可能な目的関数、精度・F1・BLEUなどは評価指標です。目的は似ていても、最適化に使う損失とビジネスで見る指標は一致しないことがあります(例:不均衡データで精度だけでは不十分)。

よくある質問

損失=エラー?

日常語の「誤差」とほぼ同義ですが、機械学習では最適化可能な関数として設計されたものを損失関数と呼びます。

教師なしでも損失はある?

あります。再構成誤差(オートエンコーダ)やクラスタリングの目的関数など、ラベルなしでも最小化する量を定義します(TF-354)。

損失ゼロは良い?

訓練損失ゼロは過学習の可能性。テストでの損失・指標が重要です。