誤差関数とは
モデルの予測と正解のずれを1つの数値で表す関数で、損失関数とも呼びます。学習は誤差関数を最小化するようにパラメータを更新する過程です。タスクに応じて適切な誤差関数を選びます。
回帰:平均二乗誤差関数
予測値と正解値の差を二乗して平均した値です。例えば予測「10、20、30」に対し正解「12、20、26」なら、誤差 −2、0、4 の二乗 4、0、16 の平均で約6.67です。外れ値の影響を強く受けます。
分類:交差エントロピー
正解クラスに対してモデルが出力した確率の対数にマイナスを付けた値です。正解の確率が1なら誤差0、0に近づくと急激に大きくなるため、確率の誤りを強く罰します。ソフトマックス関数やシグモイド関数と組み合わせて使います。
カルバック・ライブラー情報量(KL)
2つの確率分布PとQがどれだけ異なるかを測る量で、PとQが一致するとき0になります。変分オートエンコーダ(VAE)の学習で、潜在変数の分布を標準正規分布に近づける項として使われます。対称でない(KL(P‖Q) ≠ KL(Q‖P))点に注意します。
距離学習の誤差関数
顔認証のように「同じ人物の画像は近く、異なる人物の画像は遠くなる」特徴空間を学習させる距離学習では、次の誤差関数を使います。
- Contrastive Loss: 2つのサンプルの組を用い、同じクラスなら距離を縮め、異なるクラスなら一定のマージン以上に離す
- Triplet Loss: 基準(アンカー)、同じクラス(ポジティブ)、異なるクラス(ネガティブ)の3つ組を用い、アンカーとポジティブの距離がアンカーとネガティブの距離よりマージン以上小さくなるようにする
試験で問われる観点
- 回帰は平均二乗誤差、分類は交差エントロピーという対応
- 交差エントロピーは正解の確率が低いほど大きくなる
- KL情報量はVAEで使う、一致すると0
- Contrastive Lossは2つ組、Triplet Lossは3つ組