Word2Vec'in atlama gram modeli çıktı vektörlerini nasıl oluşturur?


11

Word2Vec algoritmasının atlama gram modelini anlamada sorunlar yaşıyorum.

Sürekli kelime torbasında, bağlam kelimelerinin Sinir Ağı'na nasıl "sığabileceğini" görmek kolaydır, çünkü tek bir sıcak kodlama gösterimlerinin her birini W giriş matrisi ile çarptıktan sonra temel olarak ortalamalandırırsınız.

Bununla birlikte, atlama-gram söz konusu olduğunda, giriş kelimesi vektörünü yalnızca bir sıcak kodlamayı giriş matrisi ile çarparak alırsınız ve daha sonra, bağlam sözcükleri için C (= pencere boyutu) vektörlerinin gösterimlerini çarparak W 'çıkış matrisi ile girdi vektörü gösterimi.

Demek istediğim, boyutunda bir kelime dağarcığına ve giriş matrisine ve , boyutunda kodlamaya sahip olmak ve çıkış matris olarak. Kelime göz önüne alındığında bir sıcak kodlama ile bağlam sözlerle ve (bir sıcak temsilcileri ile ve Eğer çarpma durumunda), giriş matrisi ile olsun , şimdi bundan puanı vektörlerini nasıl üretiyorsunuz ?N W R V × N W R N × V w i x i w j w h x j x h x i W h : = x T i W = W ( i , )R N CVNWRV×NWRN×VwixiwjwhxjxhxiWh:=xiTW=W(i,)RNC

Yanıtlar:


7

Aynı problemi anladım. Çıktı puanı vektörü tüm C terimleri için aynı olacaktır. Ancak, her bir sıcak temsil edilen vektör ile hata farkı farklı olacaktır. Bu nedenle hata vektörleri, ağırlıkları güncellemek için geri yayılımda kullanılır.

Yanılıyorsam lütfen beni düzeltin.

kaynak: https://iksinc.wordpress.com/tag/skip-gram-model/


yani ? WRN×(VC)
Fabich

0

Her iki modelde de çıktı puanı kullandığınız skor fonksiyonuna bağlıdır. Softmax veya negatif örnekleme olmak üzere iki skor fonksiyonu olabilir. Yani bir softmax skor fonksiyonu kullanıyorsunuz. N * D puan fonksiyonu boyutu alacaksınız. Burada D, bir kelime vektörünün boyutudur. N, örnek sayısıdır. Her kelime nöral ağ mimarisinde bir sınıf gibidir.


0

Atlamalı gram modelinde, bir sıcak kodlanmış kelime iki katmanlı sığ sinir ağına beslenir. Giriş, bir sıcak kodlanmış olduğu, gizli katmanlı giriş gizli ağırlık matrisinin yalnızca bir satır (diyelim içeren çünkü satır giriş vektörünün satır biridir).kthkth

Her kelimenin puanları aşağıdaki denklemle hesaplanır.

u=WTh

burada h, gizli katmandaki bir vektördür ve , gizli çıktı ağırlık matrisidir. Hesaplandıktan sonra çok boyutlu dağılımlar hesaplanır; burada , windows boyutundadır. Dağılımlar aşağıdaki denklemle hesaplanır.Wu CC

p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj

Gördüğünüz gibi tüm dağılımları farklı. (Daha fazla bilgi için: https://arxiv.org/pdf/1411.2738.pdf ). Aslında, aşağıdaki şekil gibi bir şey kullanırlarsa bu daha açık olurdu.C

Özetle, sadece bir kaynak vektör . Ancak, softmax işlevi kullanılarak farklı dağılımlar hesaplanır.uC

References:

  • Xin Rong, Word2Vec Parametre Öğrenme Açıklaması

Yani W matrisi esasen vektörler (algoritmanın çıktısı) kelimesidir ve W 'attığımız tamamen farklı bir matristir?
Nadav B

W 'aynı zamanda eşit derecede iyi olan kelime vektörleridir.
user3108764

1
Bu yanlış. Word2Vec Parametre Öğrenimi Açıklaması Xin Rong denklemine (26) bakınız. Aslında . Çıktı skoru vektörü tüm C terimleri için aynı olacaktır. p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj=expujj=1Vexpuj
siulkilulki
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.