Mengapa divergensi KL begitu sering digunakan dalam Machine Learning?

Dec 15 2020

KL Divergence cukup mudah dihitung dalam bentuk tertutup untuk distribusi sederhana -seperti Gaussians- tetapi memiliki beberapa properti yang tidak terlalu bagus. Misalnya, ini tidak simetris (jadi bukan metrik) dan tidak memperhatikan pertidaksamaan segitiga.

Apa alasannya sering digunakan dalam ML? Bukankah ada jarak statistik lain yang dapat digunakan sebagai gantinya?

Jawaban

2 rhdxor Dec 19 2020 at 16:52

Pertanyaan ini sangat umum dalam arti alasannya mungkin berbeda tergantung pada bidang ML yang Anda pertimbangkan. Di bawah ini adalah dua area ML yang berbeda di mana divergensi KL merupakan konsekuensi alami:

  • Klasifikasi: memaksimalkan kemungkinan-log (atau meminimalkan kemungkinan-log negatif) sama dengan meminimalkan divergensi KL seperti yang biasa digunakan dalam klasifikasi berbasis DL di mana target satu-panas biasanya digunakan sebagai referensi (lihathttps://stats.stackexchange.com/a/357974). Selanjutnya, jika Anda memiliki vektor one-hot$e_y$ dengan $1$ di indeks $y$, meminimalkan cross-entropy $\min_{\hat{p}}H(e_y, \hat{p}) = - \sum_y e_y \log \hat{p}_y = - \log \hat{p}$intinya untuk memaksimalkan kemungkinan log. Singkatnya, memaksimalkan kemungkinan log bisa dibilang merupakan tujuan alami, dan KL-divergence (dengan 0 log 0 didefinisikan sebagai 0) muncul karena kesetaraannya dengan kemungkinan log di bawah pengaturan umum, daripada secara eksplisit dimotivasi sebagai tujuan.
  • Multi-strategi (sub-area pembelajaran penguatan): Batas kepercayaan atas (UCB) adalah algoritma yang diturunkan dari pertidaksamaan konsentrasi standar. Jika kita mempertimbangkan MAB dengan hadiah Bernoulli, kita dapat menerapkan batasan Chernoff dan mengoptimalkan parameter bebas untuk mendapatkan batas atas yang dinyatakan dalam divergensi KL seperti yang dinyatakan di bawah (lihathttps://page.mi.fu-berlin.de/mulzer/notes/misc/chernoff.pdf untuk beberapa bukti berbeda).

Membiarkan $X_1, \dots, X_n$ menjadi iid Bernoulli RVs dengan parameter $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)).$$

1 ArayKarjauv Dec 19 2020 at 21:11

Dalam ML, kami selalu menangani distribusi probabilitas yang tidak diketahui dari mana data berasal. Cara paling umum untuk menghitung jarak antara distribusi real dan model adalah$KL$ perbedaan.

Mengapa divergensi Kullback – Leibler?

Meskipun ada fungsi kerugian lainnya (misalnya MSE, MAE), $KL$divergensi adalah hal yang wajar ketika kita berurusan dengan distribusi probabilitas. Ini adalah persamaan fundamental dalam teori informasi yang mengukur, dalam bit, seberapa dekat dua distribusi probabilitas. Ini juga disebut entropi relatif dan, seperti namanya, itu terkait erat dengan entropi, yang pada gilirannya merupakan konsep sentral dalam teori informasi. Mari kita mengingat kembali definisi entropi untuk kasus diskrit:

$$ H = -\sum_{i=1}^{N} p(x_i) \cdot \text{log }p(x_i) $$

Seperti yang Anda amati, entropi itu sendiri hanyalah ukuran dari distribusi probabilitas tunggal. Jika kita sedikit memodifikasi rumus ini dengan menambahkan distribusi kedua, kita dapatkan$KL$ perbedaan:

$$ D_{KL}(p||q) = \sum_{i=1}^{N} p(x_i)\cdot (\text{log }p(x_i) - \text{log }q(x_i)) $$

dimana $p$ adalah distribusi data dan $q$ adalah distribusi model.

Seperti yang bisa kita lihat, $KL$divergensi adalah cara paling alami untuk membandingkan 2 distribusi. Selain itu, perhitungannya cukup mudah. Artikel ini memberikan lebih banyak intuisi tentang ini:

Pada dasarnya, apa yang kita lihat dengan divergensi KL adalah ekspektasi perbedaan log antara probabilitas data dalam distribusi asli dengan distribusi yang mendekati. Sekali lagi, jika kita berpikir dari segi$log_2$ kita dapat menafsirkan ini sebagai "berapa banyak informasi yang kita perkirakan akan hilang".

Entropi silang

Entropi silang biasanya digunakan dalam pembelajaran mesin sebagai fungsi kerugian di mana kita memiliki lapisan keluaran softmax (atau sigmoid), karena ini mewakili distribusi prediktif atas kelas. Output satu panas mewakili distribusi model$q$, sedangkan label yang benar mewakili distribusi target $p$. Tujuan kami adalah untuk mendorong$q$ untuk $p$sedekat mungkin. Kita bisa mengambil mean squared error atas semua nilai, atau kita bisa menjumlahkan perbedaan absolut, tetapi satu ukuran yang dimotivasi oleh teori informasi adalah cross-entropy. Ini memberikan jumlah rata-rata bit yang diperlukan untuk menyandikan sampel yang didistribusikan sebagai$p$, menggunakan $q$ sebagai distribusi pengkodean.

Entropi silang didasarkan pada entropi dan secara umum menghitung perbedaan antara dua distribusi probabilitas dan terkait erat $KL$perbedaan. Perbedaannya adalah ia menghitung total entropi antara distribusi, sedangkan$KL$divergensi mewakili entropi relatif. Corss-entropy dapat didefinisikan sebagai berikut:

$$ H(p, q) = H(p) + D_{KL}(p \parallel q) $$

Suku pertama dalam persamaan ini adalah entropi dari distribusi probabilitas sebenarnya $p$ yang dihilangkan selama pengoptimalan, karena entropi dari $p$konstan. Karenanya, meminimalkan cross-entropy sama dengan mengoptimalkan$KL$ perbedaan.

Kemungkinan log

Dapat juga ditunjukkan bahwa memaksimalkan kemungkinan (log) sama dengan meminimalkan entropi silang.

Batasan

Seperti yang Anda sebutkan, $KL$perbedaan tidak simetris. Namun dalam banyak kasus, hal ini tidak penting, karena kami ingin memperkirakan distribusi model dengan mendorongnya ke model yang sebenarnya, tetapi tidak sebaliknya. Ada juga versi simetri yang disebut divergensi Jensen – Shannon :$$ D_{JS}(p||q)=\frac{1}{2}D_{KL}(p||m)+\frac{1}{2}D_{KL}(q||m) $$ dimana $m=\frac{1}{2}(p+q)$.

Kerugian utama dari $KL$adalah distribusi yang tidak diketahui dan distribusi model harus memiliki dukungan. Jika tidak,$D_{KL}(p||q)$ menjadi $+\infty$ dan $D_{JS}(p||q)$ menjadi $log2$

Kedua, perlu diperhatikan bahwa $KL$bukan metrik, karena melanggar ketidaksamaan segitiga. Artinya, dalam beberapa kasus, ini tidak akan memberi tahu kita apakah kita menuju arah yang benar saat memperkirakan distribusi model kita. Berikut adalah contoh yang diambil dari jawaban ini . Diberikan dua distribusi diskrit$p$ dan $q$, kami menghitung $KL$ divergensi dan metrik Wasserstein:

Seperti yang terlihat, $KL$ divergensi tetap sama, sedangkan metrik Wasserstein menurun.

Namun seperti yang disebutkan dalam komentar, metrik Wasserstein sangat tidak dapat diubah dalam ruang yang berkelanjutan. Kita masih dapat menggunakannya dengan menerapkan dualitas Kantorovich-Rubinstein yang digunakan dalam Wasserstein GAN . Anda juga dapat menemukan lebih banyak tentang topik ini di artikel ini .

2 kekurangan dari $KL$dapat dikurangi dengan menambahkan kebisingan. Lebih lanjut tentang itu di makalah ini