交差エントロピーは、情報理論と機械学習における基本的な概念であり、分類問題における損失関数として機能します。これは、真の分布(多くの場合、正解ラベル)と予測分布(モデルの出力)という2つの確率分布間の非類似度を定量化します。ニューラルネットワークの文脈では、交差エントロピーは、画像分類、自然言語処理、音声認識などのタスクでモデルを訓練するために広く使用されています。
定義
離散的な事象集合上の2つの確率分布\(p\)(真)と\(q\)(予測)に対して、交差エントロピーは次のように定義されます:
\[ H(p, q) = -\sum_{x} p(x) \log q(x) \]
分類において、\(p\)は通常、真のクラスが確率1を持ち他が0であるワンホットエンコードベクトルであり、\(q\)はモデルの出力確率(例:ソフトマックス層からの出力)です。この場合、交差エントロピーは真のクラスの負の対数尤度に簡略化され、しばしば次のように記述されます:
\[ L = -\log q(y_{\text{true}}) \]
ここで、\(y_{\text{true}}\)は正しいクラスのインデックスです。
機械学習における役割
交差エントロピーは、多クラス分類における標準的な損失関数です。これは、高い信頼度で誤った予測を罰し、モデルが正しいクラスに高い確率を割り当てることを促進します。平均二乗誤差とは異なり、交差エントロピーはソフトマックス出力とうまく機能します。なぜなら、予測が誤っている場合により強い勾配を提供し、より速い収束につながるからです。これはカルバック・ライブラー発散と密接に関連しており、これは2つの分布間の相対エントロピーを測定します;真の分布が固定されている場合、交差エントロピーを最小化することはKL発散を最小化することと等価です:
応用
交差エントロピーは、さまざまな機械学習領域で使用されています。深層学習では、分類ネットワークのデフォルト損失であり、画像認識用の畳み込みニューラルネットワーク(CNN)やシーケンスタスク用のリカレントネットワークを含みます。自然言語処理では、言語モデリングに採用されており、モデルがシーケンス内の次のトークンを予測し、大規模言語モデルで使用されるトランスフォーマーベースのアーキテクチャにも適用されます:さらに、交差エントロピーは強化学習のポリシー勾配法や、変分オートエンコーダの教師なし学習でも使用されます:
変種と拡張
特定の課題に対処するために、交差エントロピーのいくつかの変種が存在します:カテゴリカル交差エントロピーは多クラス分類を扱い、バイナリ交差エントロピーは二値分類タスクに使用されます:重み付き交差エントロピーは、不均衡なデータセットを扱うためにクラスに異なる重みを割り当てます:焦点損失は、交差エントロピーの修正版であり、簡単な例の重みを下げて難しい例に焦点を当て、物体検出の性能を向上させます:知識蒸留では、交差エントロピーの軟化版(温度スケーリングを使用)が、大規模な教師モデルから小規模な生徒モデルへ知識を転送します:
他の概念との関係
交差エントロピーは情報理論と深く結びついており、分布\(p\)からの事象を、\(q\)用に最適化されたコードを使用して符号化するために必要な平均ビット数を表します:機械学習では、生のロジットを確率に変換するソフトマックス活性化関数としばしば組み合わせられます:ソフトマックスと交差エントロピーの組み合わせは数値的に安定かつ効率的であり、勾配が予測確率と真のラベルの差に簡略化されるためです:この特性により、現代のほとんどのニューラルネットワークフレームワークで好まれる選択肢となっています:
歴史的背景
交差エントロピーの概念は、1940年代のクロード・シャノンの情報理論に関する研究に起源を持ちます:これは後に統計力学で採用され、その後機械学習に取り入れられました:交差エントロピーを損失関数として使用することは、1980年代から1990年代のニューラルネットワークの台頭、特に誤差逆伝播アルゴリズムを通じて顕著になりました:今日では、これは教師あり学習の基盤であり、TensorFlowやPyTorchなどのすべての主要な深層学習ライブラリに実装されています:
関連項目
- 損失関数
- ソフトマックス
- ニューラルネットワーク
- 分類
- 情報理論
- 深層学習
- 機械学習
- カルバック・ライブラー発散
- 焦点損失
- 知識蒸留
- 誤差逆伝播
- TensorFlow
- PyTorch