JSダイバージェンスの計算式の仕組みと覚え方:2つの確率分布の対称的な差異を測る指標の基礎
こんにちは。ゆうせいです。
統計学や機械学習の領域において、2つの確率分布の違いを測定する指標としてKLダイバージェンスが広く使われています。しかし、KLダイバージェンスには計算の方向によって値が変わる非対称性や、分母がゼロになると値が無限大に発散するという性質があります。これらの課題を解決するために考案された尺度が、JSダイバージェンス(イェンセン・シャノン情報量)です。
数式には複数のKLダイバージェンスや平均の計算が含まれており、初めは複雑に見える傾向があります。しかし、基準となる中間分布を作成し、その中間点からの距離を合算するという手順を確認することで、数式の骨組みを整えて記憶できます。
本記事では、前提知識を持たない方に向けて、JSダイバージェンスの基礎概念から数式の構造、覚え方、実務上の長所と短所、そして理解を深める学習の手順を解説します。
JSダイバージェンスの基本概念
JSダイバージェンスは、2つの確率分布 P と Q がどれくらい似通っているかを測定する尺度です。
先行する指標であるKLダイバージェンスを改良したものであり、2つの分布が完全に一致している場合は 0 を示し、全く重なり合わない場合は特定の上限値に達します。
2つの学校の通学路による比喩
高校の行事として、離れた場所にある高校Aと高校Bの生徒たちが合同でボランティア活動を行う場面を想定します。
生徒たちの集合場所を決める際、高校Aの敷地を基準にすると高校Bの生徒の移動負担だけが大きくなり、高校Bの敷地を基準にすると高校Aの生徒の移動負担だけが大きくなります。どちらか一方の学校を一方的に基準とすると、移動距離の評価が不公平になります。
そこで、高校Aと高校Bのちょうど中間に位置する中継地点Mを設定します。高校Aから中継地点Mまでの距離と、高校Bから中継地点Mまでの距離をそれぞれ測定し、その平均値を算出することで、公平な移動の手間を評価できます。
JSダイバージェンスは、2つの確率分布の真ん中に平均の分布Mを配置し、両方の分布からMへの離れ具合を合算して計算する仕組みです。
構成する記号の整理
数式に用いられる記号の意味を整理します。
- P:比較対象となる1つ目の確率分布
- Q:比較対象となる2つ目の確率分布
- M:分布 P と分布 Q を足して2で割った中間の平均分布
- D_{KL}(P || M):分布 P から中間分布 M へのKLダイバージェンス
- D_{KL}(Q || M):分布 Q から中間分布 M へのKLダイバージェンス
- D_{JS}(P || Q):分布 P と分布 Q のJSダイバージェンス
JSダイバージェンスの数式と構造の分解
JSダイバージェンスの計算式は、中間分布 M の定義と、2つのKLダイバージェンスの平均値という2段階で表現されます。
1. 中間分布 M の定義式
最初に、2つの確率分布 P と Q を均等に足し合わせて中間分布 M を作成します。
個々の事象 x における確率値も、P(x) と Q(x) の単純な相加平均として算出されます。
2. JSダイバージェンスの全体式
JSダイバージェンス D_{JS}(P || Q) は、P から M へのKLダイバージェンスと、Q から M へのKLダイバージェンスを足して2で割る形で定義されます。
この計算式は、両端から中央への距離を測る構造を持っています。
- 前半部分:分布 P が中間分布 M とどれくらい離れているかを計算します。
- 後半部分:分布 Q が中間分布 M とどれくらい離れているかを計算します。
- 1/2 の係数:2つの離れ具合を均等に平均化し、バランスのとれた数値にします。
公式の覚え方
公式を記憶する際は、手順を言葉の順序として整理する方法が有効です。
- 手順1:P と Q を足して2で割り、真ん中の分布 M を作る
- 手順2:P から M へのKLダイバージェンスを計算する
- 手順3:Q から M へのKLダイバージェンスを計算する
- 手順4:求めた2つの値を足して2で割る
「真ん中の分布 M を作り、両側から M へのKLダイバージェンスを測って平均する」という手順を把握しておくことで、文字の並びを取り違えずに数式を再現できます。

JSダイバージェンスの長所と短所
確率分布の差異を測定する指標としてJSダイバージェンスを採用する際には、確認できる明確な長所と短所が存在します。
長所
- 対称性の保持P を基準に Q を評価した場合と、Q を基準に P を評価した場合の数値が完全に一致します。数学的な距離の性質を備えており、平方根をとることで距離の公理を満たす指標(JS距離)として利用できます。
- 値の発散の防止KLダイバージェンスでは分母が 0 になると無限大へ発散する現象が生じますが、中間分布 M は (P+Q)/2 で作られるため、P(x) または Q(x) のどちらかが正の値を持つ限り、M(x) が 0 になることはありません。対数の底を2とした場合、計算結果は常に 0 以上 1 以下の有限な値に収まります。
短所
- 計算処理の工程の増加KLダイバージェンスを1回計算する場合と比較して、中間分布 M の合成処理と、2回のKLダイバージェンス計算が必要となるため、アルゴリズムの実装と計算の手数が増加します。
- 勾配の消失(GANの初期学習などでの影響)敵対的生成ネットワーク(GAN)などの深層学習モデルにおいて、生成される分布と正解の分布が全く重なり合っていない初期段階では、JSダイバージェンスの値が上限値で一定となり、学習のための傾き(勾配)がゼロになって重みの更新が停滞する場合があります。
まとめ
JSダイバージェンスの数式は、2つの確率分布の違いを均等かつ安全に測定するための計算式です。
- 2つの分布 P と Q の平均値である中間分布 M を設定する
- P から M、および Q から M へのKLダイバージェンスをそれぞれ算出する
- 算出した2つの値を足して2で割り、最終的な指標値とする
- 計算の順序を入れ替えても値が変わらない対称性を備えている
JSダイバージェンスに関する理解を深めるためには、次の手順に沿って学習を進める方法を推奨します。
- コインの表裏の確率として P = (1.0, 0.0) と Q = (0.0, 1.0) のような完全に重なり合わない極端な分布を設定し、中間分布 M = (0.5, 0.5) を手計算で求める。
- 求めた数値をKLダイバージェンスの定義式に代入し、対数の底を2とした場合にJSダイバージェンスが上限値である1に収まる計算過程を確かめる。
- 底を自然対数とした場合の上限値(log 2)との関係性を確認し、対数の底による数値の変化を把握する。
- GANの学習においてJSダイバージェンスが引き起こす勾配消失問題を改善するために考案された「Wasserstein距離(Earth Mover's Distance)」へと学習範囲を発展させる。
投稿者プロフィール





