損失関数(Loss Function/損失)は、モデルの予測と正解のズレを一つの数値にまとめる関数です。教師あり学習では、この値を小さくする方向にパラメータを更新します。本記事は微分の導出ではなく、試験で問われる役割・代表例・勾配降下法との関係・評価指標とのすり替えに焦点を当てます。
試験で問われる見方
○:損失関数は予測と正解の差を測り、学習で最小化する目標(TF-075、TF-389)。
○:回帰ではMSE(平均二乗誤差)が損失・評価の代表例(G-471)。
×:勾配が大きい方向へ常にパラメータを増やせば損失は必ず最小化される(TF-240)。更新は勾配の反対方向が基本。
×:損失関数の値は常に0である(TF-389は×)。モデルの状態で変わる。
損失関数とは
1サンプルごとの誤差を L(y, ŷ) と書き、ミニバッチでは平均をとって学習します。損失が小さいほど「正解に近い」予測です。深層学習ではこの損失に対する各重みの勾配を誤差逆伝播法で求めます(G-442)。
損失は学習の羅針盤です。何を「良い予測」とみなすかを数式で定義し、勾配降下法がその方向へパラメータを動かします。
代表例
| タスク | 損失の例 | 要点 |
|---|---|---|
| 回帰 | 二乗誤差(MSE) | 予測と正解の差の二乗(G-471) |
| 二値分類 | バイナリ交差エントロピー | 確率出力との整合 |
| 多クラス分類 | 交差エントロピー | 正解クラスの確率を上げる |
| LLM | 次トークン交差エントロピー | 正解トークンの尤度を最大化 |
| 音声認識 | CTC | 整列なしの系列変換(G-358) |
| セグメンテーション | Dice Loss | 予測マスクと正解の重なりを直接最適化 |
タスクと出力形式に合った損失を選ばないと、勾配が意味をなさないことがあります。
最小化の流れ
- 順伝播で予測 ŷ を計算
- 損失 L を計算
- 逆伝播で ∂L/∂w を求める
- 勾配降下法で w を更新(損失が下がる方向)
学習率が大きすぎると損失が発散し、小さすぎると収束が遅い。訓練損失だけ下がって検証損失が上がるのは過学習のサインです。
評価指標との違い
損失は学習時に微分可能な目的関数、精度・F1・MSE(評価として)などは評価指標です。MSEは損失にも評価にも使われますが、F値やRMSEなどは損失と別物としてすり替えられることがあります(G-470、TF-377)。
ビジネスで見る指標と最適化に使う損失は一致しないこともあります。不均衡データでは正解率だけでは不十分、というのも同じ文脈です。
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| 勾配の大きい方向へ更新 | 損失を減らす=勾配の反対方向(TF-240) |
| 損失は常に0 | モデル状態で変わる(TF-389は×) |
| F値=MSE | F値は分類、MSEは回帰(G-470) |
| 訓練損失ゼロ=成功 | 過学習の可能性。検証損失を見る |
よくある質問
損失=エラー?
日常語の「誤差」とほぼ同義ですが、機械学習では最適化可能な関数として設計されたものを損失関数と呼びます。
教師なしでも損失はある?
あります。再構成誤差(オートエンコーダ)やクラスタリングの目的関数など、ラベルなしでも最小化する量を定義します(TF-354)。
損失ゼロは良い?
訓練損失ゼロは過学習の可能性。テストでの損失・指標が重要です。
正則化項は損失に足す?
L1/L2正則化は予測誤差にペナルティ項を足したものを最小化します(正則化記事参照)。