誤差関数(シラバス 技術13)

学習目標

予測と正解のずれを1つの数値で表す誤差関数が学習の目標になることを理解し、回帰・分類・確率分布の比較・距離学習という目的に応じて、どの誤差関数を使い、それぞれが何を小さくしようとしているかを説明できるようにします。

要点

誤差関数の役割

誤差関数は、モデルの出力が正解からどれだけずれているかを1つの数値で表す関数です。損失関数とも呼びます。学習は、この値が小さくなるように重みを調整する作業です。

平均二乗誤差関数(回帰)

予測値と正解の差を2乗して平均します。数値を当てる回帰問題の基本です。

例:正解が10と20のデータを12と17と予測すると、差は2と−3なので、(4 + 9) ÷ 2 = 6.5です。

大きな外れほど強く罰するため、外れ値の影響を受けやすくなります。

交差エントロピー(分類)

分類問題では、各クラスの確率を出力し、交差エントロピーで評価します。正解をone-hotベクトル(正解クラスだけ1、他は0)で表すと、値は−log(正解クラスに付けた確率)になります。正解の「猫」に0.9を付ければ約0.11、0.1しか付けなければ約2.30です(自然対数の場合)。自信をもって外すほど、大きく罰する仕組みです。

多クラス分類ではソフトマックス関数、2値分類ではシグモイド関数と組み合わせます。

カルバック・ライブラー情報量(KL)

2つの確率分布がどれだけ違うかを表す量で、KLダイバージェンスとも呼ばれます。

  • 分布が一致すれば0、違うほど大きくなり、負になることはありません。
  • 2つの分布を入れ替えると、一般に値が変わります。そのため「距離」ではなく、ずれの目安として扱います。
  • 交差エントロピーは「正解の分布のエントロピー+KL情報量」に分けられます。正解の分布は学習中に変わらないので、交差エントロピーを小さくすることは、KL情報量を小さくすることと同じ意味になります。

VAEでエンコーダが出力する潜在変数の分布を標準正規分布に近づける項や、大きなモデルの出力の分布を小さなモデルにまねさせる知識蒸留で使われます。

距離学習の誤差関数

顔認証や類似画像の検索では、クラスを当てるよりも「似ているものを近く、違うものを遠くに置く」特徴の空間が必要になります。これを学ぶのが距離学習で、次の誤差関数を使います。

  • Contrastive Loss:2つのデータの組(ペア)を入力します。同じクラス(同じ人物など)のペアなら特徴の距離を縮め、違うクラスのペアなら距離があらかじめ決めた幅(マージン)以上になるまで遠ざけます。
  • Triplet Loss:基準(アンカー)、同じクラスのデータ(ポジティブ)、違うクラスのデータ(ネガティブ)の3つ組を入力します。アンカーとネガティブの距離が、アンカーとポジティブの距離よりマージン以上大きくなるように学習します。顔認証のFaceNetで使われました。

選び方の整理

目的誤差関数例
数値を当てる(回帰)平均二乗誤差関数売上の予測
クラスを当てる(分類)交差エントロピー画像の分類
分布を近づけるKL情報量VAE、知識蒸留
似ているかを測るContrastive Loss、Triplet Loss顔認証、類似画像の検索

G検定で問われる深さ

式の導出は不要です。課題ごとの誤差関数の選び方、正解がone-hotなら交差エントロピーは正解クラスに付けた確率だけで決まること、KL情報量が0以上で非対称なこと、Contrastive LossとTriplet Lossが何個のデータを1組にし、何を近づけ何を遠ざけるかを説明できれば十分です。

つまずきやすい点

  • 回帰問題には平均二乗誤差関数、分類問題には交差エントロピーを使うのが基本で、出力層の活性化関数(恒等関数、シグモイド関数、ソフトマックス関数)と組にして覚える点
  • KL情報量は2つの分布の違いを表すが、分布を入れ替えると一般に値が変わる非対称な量であり、数学でいう距離ではない点
  • Contrastive Lossは2つのデータの組(ペア)、Triplet Lossは基準・同類・異類の3つ組を単位に学習する点
  • 平均二乗誤差関数は差を2乗するため、大きく外れたデータ(外れ値)の影響を強く受ける点

シラバスのキーワード

Contrastive Loss、Triplet Loss、カルバック・ライブラー情報量(KL)、交差エントロピー、平均二乗誤差関数

練習問題

  1. 交差エントロピーとKL情報量
  2. 顔照合に使う距離学習の損失
  3. 分類で交差エントロピーを使う理由
  4. Triplet Lossの値の計算
  5. 正解以外の確率と損失の関係
  6. KL情報量による分布の監視

混同しやすい用語

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術13

改訂履歴

ディープラーニングの概要の中項目
  1. ニューラルネットワークとディープラーニング
  2. 活性化関数
  3. 誤差関数
  4. 正則化
  5. 誤差逆伝播法
  6. 最適化手法

表示設定

テーマ
文字の大きさ
問題演習