چکیده
مدل یا application با نام word2vec توسط Mikolov و همکارانش ارائه شده است. این مدل در سالهای اخیر توجه زیادی را به خود جلب کرده است. نمایش برداری کلمات توسط مدل یادگیری word2vec برای ارائه معنای مفاهیم امکانپذیر است که در انواع وظایف از نوع NLP کاربرد دارد. بنا به افزایش تعداد تحقیقات و آزمایشات موجود در این زمینه، نبود یک توصیف فراگیر و جامع برای پارامترهای فرآیند یادگیری مدلهای نهفته کلمات بهصورت جزئی، توجه مرا به خود جلب کرد. بنابراین بهمنظور جلوگیری از انجام تحقیقات غیرتخصصی در شبکههای عصبی بهدلیل عدم فهم مکانیزم کارایی چنین مدلهایی، این مقاله ارائه شده است.
این مقاله، جزئیات و توصیف پارامترهای مدلهای word2vec را نشان میدهد، که شامل مدلهای پیوسته bag-of-word (CBOW) و مدلهای skip-gram (SG)، همانند تکنیکهای بهینهسازی پیشرفته، از جمله softmax سلسله مراتبی و نمونه منفی است. تفسیر معادلات شیب نیز در کنار مشتقات ریاضی ارائه شده است.
در پیوست، یک بررسی بر روی اصول اولیه شبکه عصبی و انتشار به عقب ارائه شده است. من هم یک نسخهی نمایشی تعاملی، بهمنظور تسهیل درک بصری از مدل ارائه کردهام.
1. مدل Bag-of-Word متوالی
1.1. متن One-word
ما از سادهترین نسخه از مدل Bag-of-Word متوالی (CBOW) که توسط Mikolov و همکارانش در سال2013 معرفی شده است شروع میکنیم. فرض میکنیم که تنها یک کلمه از هر متن در نظر گرفته شده است، بدین معناست که مدل یک کلمهی هدف داده شده از یک متن را پیشبینی خواهد کرد، که مثل یک مدل بیگرام است. برای خوانندگانی که به شبکههای عصبی ناآشنا هستند، توصیه میشود که برای یک بررسی سریع از مفاهیم و اصطلاحات مهم قبل از هر اقدامی به ضمیمه A مراجعه کنند.
شکل 1 مدل شبکه تحت تعریف سادهی متن را نشان میدهد. در تنظیمات ما، اندازه واژگان V است و اندازه لایه پنهان N است. واحدهای مجاور لایهها بهطور کامل متصل هستند. ورودی یک بردار کدگذاری one-hot است، که به معنی یک ورودی کلمهی متن است، تنها یک خروجی از واحدهای V یک خواهد بود و بقیه واحدها صفر هستند.
وزن بین لایهی ورودی و لایهی خروجی میتواند توسط ماتریس V×N، W، نمایش داده شود. هر سطر از ماتریس W یک بردار N بعدی با نمایش v_w، کلمه مرتبط با لایه ورودی است. با توجه به متن (یک کلمه)، با فرض x_k=1و x_(k^.)=0
بهروزرسانی معادله برای وزنهای پنهان⟵ خروجی
اکنون اجازه دهید تا از معادلهی بهروز شدهی وزن برای این مدل مشتق بگیریم. اگرچه رقابت واقعی غیرعملی است (در زیر توضیح داده شده است)، اما درحال انجام مشتق برای بهدست آوردن بینش در مدل اصلی بدون هیچ حقهای هستیم. برای بررسی اصول اولیه پس از انتشار، ضمیمه A را مطاالعه کنید.
هدف آموزش (برای یک نمونه آموزش) به حداکثر رساندن (4)، احتمال شرطی مشاهده کلمه خروجی واقعی w_O (دلالت بر شاخص آن در لایه خروجی به عنوان j^*) با توجه به وزن و ورودی متن کلمه w_I است.
Abstract
The word2vec model and application by Mikolov et al. have attracted a great amount of attention in recent two years. The vector representations of words learned by word2vec models have been shown to carry semantic meanings and are useful in various NLP tasks. As an increasing number of researchers would like to experiment with word2vec or similar techniques, I notice that there lacks a material that comprehensively explains the parameter learning process of word embedding models in details, thus preventing researchers that are non-experts in neural networks from understanding the working mechanism of such models.
This note provides detailed derivations and explanations of the parameter update equations of the word2vec models, including the original continuous bag-of-word (CBOW) and skip-gram (SG) models, as well as advanced optimization techniques, including hierarchical softmax and negative sampling. Intuitive interpretations of the gradient equations are also provided alongside mathematical derivations.
In the appendix, a review on the basics of neuron networks and backpropagation is provided. I also created an interactive demo, wevi, to facilitate the intuitive understanding of the model.1
1 Continuous Bag-of-Word Model
1.1 One-word context
We start from the simplest version of the continuous bag-of-word model (CBOW) introduced in Mikolov et al. (2013a). We assume that there is only one word considered per context, which means the model will predict one target word given one context word, which is like a bigram model. For readers who are new to neural networks, it is recommended that one go through Appendix A for a quick review of the important concepts and terminologies before proceeding further.
Figure 1 shows the network model under the simplified context definition2 . In our setting, the vocabulary size is V , and the hidden layer size is N. The units on adjacent layers are fully connected. The input is a one-hot encoded vector, which means for a given input context word, only one out of V units, {x1, · · · , xV }, will be 1, and all other units are 0.
The weights between the input layer and the output layer can be represented by a V × N matrix W. Each row of W is the N-dimension vector representation vw of the associated word of the input layer. Given a context (a word), assuming xk = 1 and xk 0 = 0
Update equation for hidden→output weights
Let us now derive the weight update equation for this model. Although the actual computation is impractical (explained below), we are doing the derivation to gain insights on this original model with no tricks applied. For a review of basics of backpropagation, see Appendix A.
The training objective (for one training sample) is to maximize (4), the conditional probability of observing the actual output word wO (denote its index in the output layer as j ∗ ) given the input context word wI with regard to the weights.
چکیده
1. مدل Bag-of-Word متوالی
1.1 متن One-word
بهروزرسانی معادله برای وزنهای پنهان\longleftarrow خروجی
بهروزرسانی معادله برای وزنهای ورودی\getsپنهان
1.2 متن چند کلمهای
مدل Skip-Gram
بهینهسازی بازده محاسباتی
3.1 Softmax سلسله مراتبی
3.2 نمونهگیری منفی
منابع
Abstract
1 Continuous Bag-of-Word Model
1.1 One-word context
Update equation for hidden→output weights
Update equation for input→hidden weights
1.2 Multi-word context
2 Skip-Gram Model
3 Optimizing Computational Efficiency
3.1 Hierarchical Softmax
3.2 Negative Sampling
References