G検定 › Web参考書 › 第4章

誤差関数(平均二乗誤差、交差エントロピー、KL情報量、Contrastive Loss、Triplet Loss)

第4章 ディープラーニングの概要 / 節 3

シラバスのキーワード: 平均二乗誤差関数交差エントロピーカルバック・ライブラー情報量 (KL)Contrastive LossTriplet Loss

本文を読んだあと、覚えているか確認してください。

誤差関数とは

モデルの予測と正解のずれを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))点に注意します。

距離学習の誤差関数

顔認証のように「同じ人物の画像は近く、異なる人物の画像は遠くなる」特徴空間を学習させる距離学習では、次の誤差関数を使います。

試験で問われる観点

この節の練習問題(7問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    回帰問題と分類問題で一般に用いられる誤差関数(損失関数)の組み合わせとして最も適切なものを選びなさい。
    1. 1回帰: F値、分類: AUC
    2. 2回帰: KL情報量、分類: マージン
    3. 3回帰: 平均二乗誤差、分類: 交差エントロピー
    4. 4回帰: 交差エントロピー、分類: 平均二乗誤差
    答えと解説

    正解: 3

    回帰問題では予測値と正解値の差の二乗の平均である平均二乗誤差(MSE)が標準的です。分類問題では、正解クラスの予測確率が低いほど大きくなる交差エントロピー誤差を用い、ソフトマックスやシグモイドの出力と組み合わせます。F値やAUCは学習に使う誤差関数ではなく評価指標、マージンはSVMの概念です。KL情報量は2つの確率分布の違いを測る量で、VAEなどで誤差関数の一部として使われます。

  2. 問2
    2つの確率分布PとQがどれだけ異なるかを測る量で、PとQが一致するとき0になり、変分オートエンコーダ(VAE)の学習で潜在変数の分布を標準正規分布に近づける項として用いられるものとして最も適切なものを選びなさい。
    1. 1交差エントロピー誤差(クロスエントロピー)
    2. 2ユークリッド距離(L2ノルムによる距離)
    3. 3ジェンセン・シャノン情報量(JSダイバージェンス)
    4. 4カルバック・ライブラー情報量(KLダイバージェンス)
    答えと解説

    正解: 4

    KL情報量は分布Pから見た分布Qのずれを測る非対称な量で、常に0以上、両者が一致するときだけ0になります。VAEでは、エンコーダが出力する潜在変数の分布と事前分布(標準正規分布)のKL情報量を誤差に加えることで、潜在空間を整えます。交差エントロピーは分類の誤差関数、ユークリッド距離は点と点の距離です。JSダイバージェンスもKL情報量を対称化した分布間の差の尺度ですが、VAEの潜在変数の制約に用いられる標準的な項はKL情報量です。

  3. 問3
    顔認証のように「同じ人物の画像は近く、異なる人物の画像は遠くなる」ような特徴空間を学習させる距離学習で用いられる誤差関数の組み合わせとして最も適切なものを選びなさい。
    1. 1Contrastive Loss、Triplet Loss
    2. 2Cross Entropy Loss、Hinge Loss
    3. 3Mean Squared Error、Huber Loss
    4. 4KL Divergence、Focal Loss
    答えと解説

    正解: 1

    Contrastive Lossはペアの画像について、同一クラスなら距離を縮め、異なるクラスなら一定のマージン以上に離すように学習させる誤差関数です。Triplet Lossは基準(アンカー)・同一クラスの正例・異なるクラスの負例の3つ組を使い、アンカーと正例の距離がアンカーと負例の距離よりマージン分小さくなるように学習させます。Cross Entropy LossとFocal Lossは分類、Hinge LossはSVMの分類、Mean Squared ErrorとHuber Lossは回帰、KL Divergenceは分布の差を測る量で、距離学習の誤差関数ではありません。

  4. 問4
    分類問題で用いられる交差エントロピー誤差の性質として、最も適切なものを選びなさい。
    1. 1正解クラスに対してモデルが出力した確率が0に近いほど誤差が0に近づき、正解クラスの確率が1に近いほど誤差が急激に大きくなる
    2. 2誤差は正解クラスの確率が0.5を超えるかどうかで0か1の値を取る不連続な関数で、微分できないため勾配降下法では直接最適化できない
    3. 3正解クラスに対してモデルが出力した確率が1に近いほど誤差が0に近づき、正解クラスの確率が0に近いほど誤差が急激に大きくなる
    4. 4予測した確率と正解ラベルの差を二乗して全クラスで平均した値で、誤差が確率に対して線形に増加するため回帰問題でも同様に用いられる
    答えと解説

    正解: 3

    交差エントロピー誤差は、正解クラスに対するモデルの出力確率の対数にマイナスを付けた値で、正解の確率が1なら0、0に近づくと無限大に発散します。確率の誤りを強く罰するため、ソフトマックス関数やシグモイド関数と組み合わせて分類の誤差関数として使われます。二乗の平均は平均二乗誤差で、交差エントロピーは連続で微分可能です。

  5. 問5
    ある回帰モデルの3件の予測値が「10、20、30」、正解値が「12、20、26」であった。このときの平均二乗誤差(MSE)として正しいものを選びなさい。
    1. 120.0
    2. 22.00
    3. 32.58
    4. 46.67
    答えと解説

    正解: 4

    誤差はそれぞれ −2、0、4 で、二乗すると 4、0、16 です。合計20を件数3で割ると約6.67が平均二乗誤差になります。誤差の絶対値の平均(平均絶対値誤差)は (2+0+4)/3=2、誤差の二乗の合計は20であり、それぞれ別の値です。

  6. 問6
    Triplet Lossの説明として、最も適切なものを選びなさい。
    1. 1基準となるサンプル(アンカー)、同じクラスのサンプル(ポジティブ)、異なるクラスのサンプル(ネガティブ)の3つ組を用い、アンカーとポジティブの距離がアンカーとネガティブの距離より一定以上小さくなるように学習する
    2. 2基準となるサンプル(アンカー)、同じクラスのサンプル(ポジティブ)、異なるクラスのサンプル(ネガティブ)の3つ組を用い、アンカーとネガティブの距離がアンカーとポジティブの距離より一定以上小さくなるように学習する
    3. 32つのサンプルの組を用い、同じクラスの組は距離が小さく、異なるクラスの組は距離が一定のマージン以上に大きくなるように学習する損失で、3つ組は用いずペアごとに計算する
    4. 4基準となるサンプル(アンカー)に対して、同じクラスの全サンプルの平均(セントロイド)との距離を最小化し、クラスごとの中心点が互いに離れるように学習する損失で、ネガティブは用いない
    答えと解説

    正解: 1

    Triplet Lossは距離学習の誤差関数で、アンカー・ポジティブ・ネガティブの3つ組に対し、同じクラスは近く、異なるクラスはマージン以上遠くなるように特徴空間を学習します。2つのサンプルの組で学習するContrastive Lossの発展形で、顔認証などに使われます。確率分布の違いはKL情報量、対数の誤差は交差エントロピー、差の二乗の平均は平均二乗誤差です。

  7. 問7
    誤差関数に関する記述として、不適切なものを選びなさい。
    1. 1平均二乗誤差は、誤差を二乗するため外れ値の影響を強く受ける
    2. 2交差エントロピーは、正解クラスの確率が0に近いほど急激に大きくなる
    3. 3Contrastive Lossは、2つのサンプルの組を用いて距離を学習する
    4. 4KL情報量は対称で、2つの分布を入れ替えても値は変わらない
    答えと解説

    正解: 4

    KL情報量は対称ではなく、KL(P‖Q)とKL(Q‖P)は一般に一致しません。平均二乗誤差が外れ値に敏感であること、交差エントロピーが正解の確率が低いほど大きくなること、Contrastive Lossが2つ組を用いることはいずれも正しい記述です。