KL diverjansı neden Makine Öğreniminde bu kadar sık kullanılıyor?
KL Divergence'ın, Gaussian'lar gibi basit dağıtımlar için kapalı biçimde hesaplanması oldukça kolaydır, ancak bazı pek hoş olmayan özelliklere sahiptir. Örneğin, simetrik değildir (dolayısıyla bir metrik değildir) ve üçgen eşitsizliğine saygı göstermez.
Makine öğreniminde bu kadar sık kullanılmasının nedeni nedir? Bunun yerine kullanılabilecek başka istatistiksel mesafeler yok mu?
Yanıtlar
Bu soru, düşündüğünüz MO alanına bağlı olarak sebebin farklılık göstermesi açısından çok geneldir. Aşağıda KL-sapmasının doğal bir sonucu olduğu iki farklı ML alanı bulunmaktadır:
- Sınıflandırma: log-olabilirliğini en üst düzeye çıkarmak (veya negatif log-olasılığını en aza indirmek), tek sıcak hedeflerin yaygın olarak referans olarak kullanıldığı DL tabanlı sınıflandırmada tipik olarak kullanılan KL sapmasını en aza indirmeye eşdeğerdir (bkz.https://stats.stackexchange.com/a/357974). Ayrıca, tek sıcak bir vektörünüz varsa$e_y$ ile $1$ dizinde $y$, çapraz entropiyi en aza indirme $\min_{\hat{p}}H(e_y, \hat{p}) = - \sum_y e_y \log \hat{p}_y = - \log \hat{p}$günlük olasılığını en üst düzeye çıkarmak için kaynar. Özetle, log-olasılığını en üst düzeye çıkarmak muhtemelen doğal bir hedeftir ve KL-diverjansı (0 log 0 0 olarak tanımlanmıştır), amaç olarak açıkça motive edilmekten ziyade, tipik ayarlarda log-olabilirliğe eşdeğerliği nedeniyle ortaya çıkar.
- Çok kollu haydutlar (pekiştirmeli öğrenmenin bir alt alanı): Üst güven sınırı (UCB), standart konsantrasyon eşitsizliklerinden türetilen bir algoritmadır. Bernoulli ödüllü MAB'leri düşünürsek, aşağıda belirtildiği gibi KL sapması açısından ifade edilen bir üst sınır elde etmek için Chernoff'un sınırını uygulayabilir ve serbest parametre üzerinden optimize edebiliriz (bkz.https://page.mi.fu-berlin.de/mulzer/notes/misc/chernoff.pdf bazı farklı kanıtlar için).
İzin Vermek $X_1, \dots, X_n$ Parametre ile Bernoulli RVs be iid $p$. $$P(\sum_i X_i \geq (p+t)n) \leq \inf_\lambda M_X (\lambda) e^{-\lambda t} = \exp(-n D_{KL}(p+t||p)).$$
Makine öğreniminde her zaman verilerin geldiği bilinmeyen olasılık dağılımlarıyla ilgileniriz. Gerçek ve model dağılım arasındaki mesafeyi hesaplamanın en yaygın yolu$KL$ uyuşmazlık.
Neden Kullback-Leibler diverjansı?
Başka kayıp fonksiyonları olmasına rağmen (örn. MSE, MAE), $KL$Olasılık dağılımları ile uğraşırken sapma doğaldır. Bilgi teorisinde, iki olasılık dağılımının ne kadar yakın olduğunu bit cinsinden ölçen temel bir denklemdir. Aynı zamanda göreli entropi olarak da adlandırılır ve adından da anlaşılacağı gibi, entropi ile yakından ilgilidir ve bu da bilgi teorisinde merkezi bir kavramdır. Ayrık bir durum için entropinin tanımını hatırlayalım:
$$ H = -\sum_{i=1}^{N} p(x_i) \cdot \text{log }p(x_i) $$
Sizin de gözlemlediğiniz gibi, entropi kendi başına sadece tek bir olasılık dağılımının bir ölçüsüdür. Bu formülü ikinci bir dağıtım ekleyerek biraz değiştirirsek,$KL$ uyuşmazlık:
$$ D_{KL}(p||q) = \sum_{i=1}^{N} p(x_i)\cdot (\text{log }p(x_i) - \text{log }q(x_i)) $$
nerede $p$ bir veri dağıtımıdır ve $q$ model dağılımıdır.
Gördüğümüz gibi, $KL$diverjans, 2 dağılımı karşılaştırmanın en doğal yoludur. Üstelik hesaplaması oldukça kolay. Bu makale bununla ilgili daha fazla sezgi sağlar:
Esasen, KL sapması ile baktığımız şey, orijinal dağılımdaki verilerin olasılığı ile yaklaşık dağılım arasındaki log farkının beklentisidir. Yine, açısından düşünürsek$log_2$ bunu "kaç bit bilgi kaybetmeyi umduğumuz" şeklinde yorumlayabiliriz.
Çapraz entropi
Çapraz entropi, sınıflar üzerinde öngörücü bir dağılımı temsil ettiğinden, softmax (veya sigmoid) çıktı katmanına sahip olduğumuz bir kayıp işlevi olarak makine öğreniminde yaygın olarak kullanılır. Tek sıcak çıktı bir model dağılımını temsil eder$q$gerçek etiketler bir hedef dağılımı temsil ederken $p$. Amacımız itmek$q$ -e $p$mümkün olduğunca yakın. Tüm değerlerin üzerinde bir ortalama kare hatası alabilir veya mutlak farklılıkları toplayabiliriz, ancak bilgi teorisi tarafından motive edilen tek ölçü çapraz entropidir. Olarak dağıtılan örnekleri kodlamak için gereken ortalama bit sayısını verir$p$, kullanma $q$ kodlama dağılımı olarak.
Entropiye dayalı çapraz entropi ve genellikle iki olasılık dağılımı arasındaki farkı hesaplar ve $KL$uyuşmazlık. Aradaki fark, dağılımlar arasındaki toplam entropiyi hesaplamasıdır.$KL$diverjans göreceli entropiyi temsil eder. Corss-entropi şu şekilde tanımlanabilir:
$$ H(p, q) = H(p) + D_{KL}(p \parallel q) $$
Bu denklemdeki ilk terim, gerçek olasılık dağılımının entropisidir. $p$ bu, optimizasyon sırasında atlanır, çünkü $p$sabittir. Bu nedenle, çapraz entropiyi en aza indirmek, optimize etmekle aynıdır$KL$ uyuşmazlık.
Günlük olasılığı
Ayrıca edilebilir gösterilmiştir (günlük) ihtimalini en üst düzeye çapraz entropi en aza indirmek için eşdeğer olduğu.
Sınırlamalar
Bahsettiğin gibi, $KL$diverjans simetrik değildir. Ancak çoğu durumda bu kritik değildir, çünkü model dağılımını gerçek olana doğru iterek tahmin etmek istiyoruz, ancak tersi değil. Jensen-Shannon diverjansı adlı simetrik bir versiyonu da vardır :$$ D_{JS}(p||q)=\frac{1}{2}D_{KL}(p||m)+\frac{1}{2}D_{KL}(q||m) $$ nerede $m=\frac{1}{2}(p+q)$.
Ana dezavantajı $KL$hem bilinmeyen dağıtımın hem de model dağıtımının desteğe sahip olması gerektiğidir. Aksi takdirde$D_{KL}(p||q)$ olur $+\infty$ ve $D_{JS}(p||q)$ olur $log2$
İkincisi, not edilmelidir ki $KL$üçgen eşitsizliğini ihlal ettiği için bir metrik değildir. Yani, bazı durumlarda model dağılımımızı tahmin ederken doğru yönde gidip gitmediğimizi bize söylemez. İşte bu cevaptan alınan bir örnek . İki ayrı dağılım verildiğinde$p$ ve $q$, hesaplıyoruz $KL$ diverjans ve Wasserstein metriği:

Gördüğünüz gibi, $KL$ Wasserstein metriği azalırken farklılık aynı kaldı.
Ancak yorumlarda belirtildiği gibi, Wasserstein metriği sürekli bir uzayda oldukça zorludur. Wasserstein GAN'da kullanılan Kantorovich-Rubinstein dualitesini uygulayarak hala kullanabiliriz . Bu makalede bu konu hakkında daha fazla bilgi bulabilirsiniz .
2 dezavantajı $KL$gürültü ekleyerek hafifletilebilir. Bu yazıda daha fazlası