Bu yazıdan alınmıştır: https://stats.stackexchange.com/a/245452/154812
Sorun
"Standart" bir sinir ağı kullanarak kelime vektörlerini öğrenmede bazı sorunlar vardır. Bu şekilde, ağlar bir sözcükler penceresi (ağın girişi) verilen bir sonraki sözcüğü tahmin etmeyi öğrenirken vektörler kelimesi öğrenilir.
Bir sonraki sözcüğü tahmin etmek, sınıfı öngörmek gibidir. Yani, böyle bir ağ sadece bir "standart" multinomial (multi-class) sınıflandırıcıdır. Ve bu ağ, sınıflar kadar çok çıkış nöronuna sahip olmalı. Sınıflar gerçek kelimeler olduğunda, nöronların sayısı büyüktür.
Bir "standart" sinir ağı genellikle çıkış nöronlarının olasılıkları temsil etmesini gerektiren çapraz entropi maliyet fonksiyonu ile eğitilir - bu, her sınıf için ağ tarafından hesaplanan çıkış "puanlarının" normalize edilmesi, dönüştürülmesi gerektiği anlamına gelir. Her sınıf için gerçek olasılıklar. Bu normalizasyon adımı softmax işlevi ile gerçekleştirilir. Softmax, büyük bir çıktı katmanına uygulandığında çok maliyetlidir.
(A) çözümü
Bu meseleyle başa çıkmak için, yani, softmax'ın pahalı hesaplanması, Word2Vec, gürültüye zıtlık tahmini olarak adlandırılan bir teknik kullanır. Bu teknik [A] tarafından tanıtıldı ([B] tarafından yeniden formüle edildi), daha sonra [C], [D], [E] etiketlerinde etiketsiz doğal dil metninden kelime gömme işlemlerini öğrenmek için kullanıldı.
Temel fikir, çok uluslu bir sınıflandırma problemini (bir sonraki kelimeyi öngörme problemi olduğu gibi) ikili sınıflandırma problemine dönüştürmektir. Bu, çıktı sözcüğünün gerçek bir olasılık dağılımını tahmin etmek için softmax kullanmak yerine, bunun yerine ikili bir lojistik regresyon (ikili sınıflandırma) kullanılır.
Her eğitim numunesi için, geliştirilmiş (optimize edilmiş) sınıflandırıcı, gerçek bir çift (bir merkez kelime ve içeriğinde görünen başka bir kelime) ve bir dizi kk rasgele bozuk çift (bir merkez kelime ve rastgele seçilen bir kelime içeren) beslenir. kelime). Sınıflayıcı, gerçek çiftleri bozuk olanlardan ayırt etmeyi öğrenerek sonuçta vektör sözcüklerini öğrenir.
Bu önemlidir: bir sonraki kelimeyi ("standart" eğitim tekniği) tahmin etmek yerine, optimize edilmiş sınıflandırıcı basitçe bir kelimenin bir çiftinin iyi veya kötü olup olmadığını tahmin eder.
Word2Vec işlemi biraz özelleştiriyor ve negatif örnekleme olarak adlandırıyor. Word2Vec'te, negatif örnekler için olan kelimeler (bozuk çiftler için kullanılır), daha sık çizilmesi gereken kelimelerin daha az sıklıkta kullanılmasını sağlayan özel olarak tasarlanmış bir dağıtımdan çekilir.
Referanslar
[A] (2005) - Kontrastlı tahmin: Etiketlenmemiş veriler üzerinde log log lineer modeller eğitimi
[B] (2010) - Gürültü kontrastlı tahmin: Normalleştirilmemiş istatistiksel modeller için yeni bir tahmin prensibi
[C] (2008) - Doğal dil işleme için birleşik bir mimari: Çoklu görev öğrenmeye sahip derin sinir ağları
[D] (2012) - Sinirsel olasılıksal dil modellerinin eğitimi için hızlı ve basit bir algoritma .
[E] (2013) - Gürültü kontrastlı tahmin ile kelime gömme işlemlerini etkin bir şekilde öğrenme .