Saya telah berusaha keras untuk memahami konsep pengambilan sampel negatif dalam konteks word2vec. Saya tidak dapat mencerna ide pengambilan sampel [negatif]. Misalnya dalam makalah Mikolov, harapan pengambilan sampel negatif dirumuskan sebagai
Saya mengerti istilah kiri , tapi aku tidak bisa memahami ide sampel negatif pasangan kata-konteks.
machine-learning
word2vec
word-embeddings
Upendra Kumar
sumber
sumber
Jawaban:
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 (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 yang rusak secara acakk (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 .
Jawabannya didasarkan pada beberapa catatan lama saya - Saya harap semuanya benar :)
sumber
"in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often"
,. Saya bertanya-tanya apakah ini benar? Karena beberapa sumber lain mengatakan kata-kata yang lebih sering diambil sebagai sampel negatif.Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.