Jensen-Shannon Divergence
Jensen-Shannon Divergence(以下 JS Divergence)は、二つの probability distribution の近さを測る divergence です。KL Divergence をもとに構成されますが、KL Divergence と違って symmetric であり、より扱いやすい性質を持ちます。
定義
JS Divergence は、二つの distribution と の中間にある mixture distribution を使って定義されます。
ここで、 は、 と の平均的な distribution です。 と の両方を同じ中間 distribution と比較するため、JS Divergence は symmetric になります。

画像出典: Lilian Weng, “From GAN to WGAN”。 と の二つの Gaussian distribution と、それらの平均 が示されています。KL Divergence は非対称ですが、JS Divergence は対称です。
KL Divergence との違い
KL Divergence は、 を基準にするか、 を基準にするかによって意味が変わります。一方で、JS Divergence は二つの distribution を対等に扱います。
この性質によって、JS Divergence は「二つの distribution がどれくらい似ているか」を測る用途に向いています。
GAN の objective との関係
GAN では、real data distribution を 、Generator が作る distribution を と書きます。Discriminator が optimal であるとき、vanilla GAN の loss は、 と の JS Divergence と次のように関係します。
つまり、vanilla GAN は、Discriminator が十分に最適化されているという条件のもとでは、Generator の distribution を real data distribution に近づけるように、JS Divergence を小さくしていると解釈できます。
弱点
JS Divergence は、二つの distribution の support が重なっている場合には有用です。しかし、 と の support がほとんど重ならない場合には、JS Divergence は急に一定値へ張り付きやすく、Generator に滑らかな gradient を与えにくくなります。
高次元の画像生成では、real data distribution と generated distribution が低次元の manifold 上にあり、それらが disjoint になりやすいと考えられます。この問題が、GAN の training instability や vanishing gradient につながります。