Penjelasan intuitif kehilangan Estimasi Kontras Kebisingan (NCE)?


32

Saya membaca tentang NCE (suatu bentuk pengambilan sampel kandidat) dari dua sumber ini:

Tulisan Tensorflow

Kertas asli

Adakah yang bisa membantu saya dengan hal berikut:

  1. Penjelasan sederhana tentang cara kerja NCE (saya menemukan hal di atas sulit diurai dan mendapatkan pemahaman, sehingga sesuatu yang intuitif yang mengarah ke matematika yang disajikan akan bagus)
  2. Setelah poin 1 di atas, deskripsi intuitif alami tentang bagaimana ini berbeda dari Pengambilan Sampel Negatif. Saya dapat melihat bahwa ada sedikit perubahan pada formula tetapi tidak dapat memahami matematika. Saya memang memiliki pemahaman intuitif tentang pengambilan sampel negatif dalam konteks word2vec- kami secara acak memilih beberapa sampel dari kosa kata Vdan memperbarui hanya yang karena |V|besar dan ini menawarkan percepatan. Harap perbaiki jika salah.
  3. Kapan harus menggunakan yang mana dan bagaimana itu diputuskan? Akan lebih bagus jika Anda bisa memasukkan contoh (mungkin aplikasi yang mudah dimengerti)
  4. Apakah NCE lebih baik daripada Sampling Negatif? Lebih baik dalam hal apa?

Terima kasih.


mungkin posting saya semoga membantu. nanjiang.quora.com/Noise-contrastive-Estimation dan eksperimen selanjutnya dengan theano dapat ditemukan di github.com/jiangnanHugo/language_modeling. Saya harap pengertian saya benar.
jiangnan hugo

Jawaban:


27

Diambil dari pos ini: https://stats.stackexchange.com/a/245452/154812

Masalah

Ada beberapa masalah dengan mempelajari vektor kata menggunakan jaringan saraf "standar". Dengan cara ini, kata vektor dipelajari sementara jaringan belajar untuk memprediksi kata berikutnya yang diberi jendela kata-kata (input dari jaringan).

Memprediksi kata berikutnya seperti memprediksi kelas. Yaitu, jaringan semacam itu hanyalah sebuah "standar" multinomial (multi-class) classifier. Dan jaringan ini harus memiliki neuron keluaran sebanyak kelas yang ada. Ketika kelas adalah kata-kata aktual, jumlah neuron sangat besar.

Jaringan saraf "standar" biasanya dilatih dengan fungsi biaya lintas-entropi yang membutuhkan nilai-nilai neuron keluaran untuk mewakili probabilitas - yang berarti bahwa "skor" keluaran yang dihitung oleh jaringan untuk setiap kelas harus dinormalisasi, dikonversi menjadi probabilitas aktual untuk setiap kelas. Langkah normalisasi ini dicapai melalui fungsi softmax. Softmax sangat mahal bila diterapkan pada lapisan keluaran yang besar.

Solusi (a)

Untuk mengatasi masalah ini, yaitu, perhitungan mahal dari softmax, Word2Vec menggunakan teknik yang disebut estimasi noise-contrast. Teknik ini diperkenalkan oleh [A] (diformulasikan ulang oleh [B]) kemudian digunakan dalam [C], [D], [E] untuk mempelajari embeddings kata dari teks bahasa alami yang tidak diberi label.

Gagasan dasarnya adalah untuk mengubah masalah klasifikasi multinomial (karena masalah memprediksi kata berikutnya) menjadi masalah klasifikasi biner. Artinya, alih-alih menggunakan softmax untuk memperkirakan distribusi probabilitas sebenarnya dari kata output, regresi logistik biner (klasifikasi biner) digunakan sebagai gantinya.

Untuk setiap sampel pelatihan, classifier yang ditingkatkan (dioptimalkan) diumpankan pasangan yang benar (kata tengah dan kata lain yang muncul dalam konteksnya) dan sejumlah pasangan kk yang rusak secara acak (terdiri dari kata tengah dan kata yang dipilih secara acak dari kosa kata). Dengan belajar membedakan pasangan yang sebenarnya dari pasangan yang rusak, classifier pada akhirnya akan belajar kata vektor.

Ini penting: alih-alih memprediksi kata berikutnya (teknik pelatihan "standar"), penggolong yang dioptimalkan hanya memprediksi apakah sepasang kata itu baik atau buruk.

Word2Vec sedikit menyesuaikan proses dan menyebutnya pengambilan sampel negatif. Di Word2Vec, kata-kata untuk sampel negatif (digunakan untuk pasangan yang korup) diambil dari distribusi yang dirancang khusus, yang lebih jarang menggunakan kata-kata yang lebih sering untuk diambil.

Referensi

[A] (2005) - Estimasi kontras: Melatih model log-linear pada data yang tidak berlabel

[B] (2010) - Estimasi kontras-bising: Prinsip estimasi baru untuk model statistik yang tidak dinormalisasi

[C] (2008) - Arsitektur terpadu untuk pemrosesan bahasa alami: Jaringan saraf dalam dengan pembelajaran multitask

[D] (2012) - Algoritma cepat dan sederhana untuk pelatihan model bahasa probabilistik saraf .

[E] (2013) - Mempelajari penanaman kata secara efisien dengan estimasi noise-contrastive .


3

Jujur tidak ada cara intuitif untuk memahami mengapa kehilangan NCE akan bekerja tanpa memahami matematika secara mendalam. Untuk memahami matematika, Anda harus membaca makalah aslinya.

k

(x,y)ykk

Δsθ0(w,h)=sθ0(w,h)logkPn(w)

Pn(w)

knn=k

Koran-koran NCE asli melewatkan derivasi buktinya sehingga sangat sulit untuk memahami NCE. Untuk lebih mudah memahami matematika tentang NCE, saya memiliki posting blog tentang penjelasan matematika dari makalah NCE:

https://leimao.github.io/article/Noise-Contrastive-Estimation/ .

Mahasiswa tingkat dua ke atas harus bisa memahaminya.


1

Pada dasarnya, ini memilih sampel dari distribusi sebenarnya yang terdiri dari kelas sebenarnya dan beberapa label kelas berisik lainnya. Kemudian ambil softmax di atasnya.

Ini didasarkan pada kata-kata sampel dari distribusi yang benar dan distribusi kebisingan.

Di sini Ide dasarnya adalah untuk melatih classifier regresi logistik yang dapat memisahkan sampel yang diperoleh dari distribusi yang sebenarnya dan sampel yang diperoleh dari distribusi kebisingan. Ingat Ketika kita berbicara tentang sampel yang diperoleh dari distribusi yang benar, kita berbicara tentang hanya satu sampel yang merupakan kelas sebenarnya yang diperoleh dari distribusi model.

Di sini saya telah menjelaskan tentang kehilangan NCE dan bagaimana perbedaannya dari kerugian NCE.

Estimasi Kontras Kebisingan: Solusi untuk Softmax yang mahal.


1
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah.
tuomastik

0

Dengan kata sederhana, NCE hanyalah fungsi kerugian klasifikasi multi-label dengan hanya 1 label positif dan k negatif.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.