【機械学習】交差エントロピーの名前の由来は?「驚き」のすれ違いを測る尺度

こんにちは。ゆうせいです。

機械学習、特にディープラーニングの勉強をしていると、損失関数という場面で必ず 交差エントロピー誤差(Cross Entropy Error) という言葉が登場します。

「エントロピー」だけでもSF映画に出てきそうな難しい響きなのに、さらに「交差」までするなんて、名前を聞いただけで逃げ出したくなりますよね。

でも、この名前には、この計算式が何をしているのかという 意味 そのものが隠されています。

今回は、数式の丸暗記ではなく、言葉の由来からこの概念を紐解いていきましょう。キーワードは「情報の量」と「予測のズレ」です。

まずは「エントロピー」=「驚きの量」

交差エントロピーを理解するには、まず エントロピー(Entropy) とは何かを知る必要があります。

もともとは物理学(熱力学)の言葉で「乱雑さ」を表すものでしたが、情報理論という分野では少し違う意味で使われます。

ズバリ、エントロピーとは 「驚きの平均量」 のことです。

情報理論の父と呼ばれるクロード・シャノンは、 情報=驚き であると考えました。

たとえば、次の2つのニュースを聞いたとき、どちらに情報を感じますか。

  1. 「明日、太陽が東から昇るそうです」これを聞いても「ふーん、当たり前でしょ」と思いますよね。驚きはゼロです。つまり、ここには 情報量(エントロピー)はほぼありません。
  2. 「明日、沖縄で大雪が降るそうです」これは「えっ!?」と驚きますよね。めったに起きないことが起きると、そこには大きな驚きがあります。つまり、 情報量(エントロピー)が大きい のです。

確率が低い出来事が起きたときほど、エントロピー(驚き)は大きくなる。まずはこの感覚を持ってください。

なぜ「交差」するのか?

では、本題の 交差(Cross) です。何と何が交差しているのでしょうか。

それは、 「真実の確率」「予測の確率」 です。

AIモデルを学習させるとき、私たちは2つの確率分布を持っています。

  • P(真実) :正解データ。「これは100%猫です」という現実。
  • Q(予測) :AIの回答。「たぶん80%猫で、20%犬かな」という予測。

本来のエントロピーは、自分自身の確率だけを使って計算します。しかし、交差エントロピーは、 「真実(P)」の確率を使って、「予測(Q)」の驚きを計算する ため、2つが入り混じっている(交差している)のです。

メッセージのやり取りに例えると

少し例え話を変えてみましょう。

ある言語(真実 P)で書かれたメッセージを、別の言語用の辞書(予測 Q)を使って解読しようとしている状況を想像してください。

もし、辞書が完璧(PとQが同じ)なら、スムーズに解読できて無駄がありません。

しかし、辞書が間違っている(PとQがズレている)と、「えっ、この単語はそんな意味なの?」という 驚き(ムダな情報量) が増えてしまいます。

この 「辞書(予測)が間違っているせいで増えてしまった、ムダな驚きの総量」 が交差エントロピーの正体です。

AIにとっての「交差エントロピー」の意味

機械学習の目的は、AIの予測を現実に近づけることでしたね。

これを交差エントロピーの言葉で言い換えると、 「予測(Q)を真実(P)に近づけて、ムダな驚きを最小限にすること」 となります。

  • AIの予測が完璧なら \rightarrow 驚きは最小になる(交差エントロピーは小さい)。
  • AIの予測が大外れなら \rightarrow 「なんでだよ!」という驚きが巨大になる(交差エントロピーは大きい)。

だから、この値を 損失関数(間違いの指標) として使い、これを小さくするように学習を進めるのです。

数式で見る「驚き」の計算

ここで少しだけ数式を見てみましょう。アレルギーが出ないように噛み砕きます。

交差エントロピーの式は一般的にこう書かれます。

E = - \sum P(x) \log Q(x)

この式の意味を翻訳してみます。

  • Q(x) :AIが予測した確率です。
  • \log Q(x) :log(対数)をとることで、確率を 「驚きの量」 に変換しています。(確率は 0 1 なので、logをとるとマイナスの値になります。だから式にマイナスをつけてプラスに戻しています)。
  • P(x) :真実の確率です(正解なら 1 、不正解なら 0 )。

つまり、この式は 「正解(P=1)である場所について、AIがどれくらい低い確率(Q)を出して驚かせたか」 を計算しているだけなのです。

具体例:猫の画像を判定する場合

正解は「猫(P=1)」です。

  • 賢いAIの場合:「猫である確率は 0.9 (90%)です」と言いました。-\log(0.9) 0 に近いです。驚きは少なく、交差エントロピーは小さいです。合格!
  • ダメなAIの場合:「猫である確率は 0.1 (10%)です」と言いました。-\log(0.1) は大きな値になります。「正解なのに10%しか予想しなかったのか!」という大きな驚き(ペナルティ)が発生します。

まとめ

いかがでしたか。

「交差エントロピー」という厳つい名前の裏には、実はこんなストーリーがありました。

  • エントロピー :驚きの量のこと。
  • 交差 :「真実」の視点で「予測」の驚きを測ること。
  • 役割 :AIの予測が真実とどれくらい食い違っているか(どれくらい変な驚きがあるか)を測るものサシ。

「損失関数を最小化する」と言われると機械的ですが、「AIが勘違いして引き起こす驚きを減らしてあげる」と考えると、少し親しみが湧きませんか。

この交差エントロピーは、前回のロジスティック回帰やニューラルネットワークの分類問題で、ほぼ間違いなく使われる非常に重要な計算式です。

さて、この式の中に出てきた「確率 Q(x) 」ですが、ニューラルネットワークの出力そのままだと、確率(合計して1になる数値)になっていないことがあります。

そこで、出力をきれいな確率に変換するための ソフトマックス関数 というものがセットで使われます。

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。