Word2vec模型及负采样精讲
Word2vec模型本質(zhì):是一個用來生成詞向量的、簡單的神經(jīng)網(wǎng)絡(luò)模型。
通過計(jì)算相似度來降低原來輸入詞的維度,舉個例子:
圖.甲
網(wǎng)絡(luò)結(jié)構(gòu)如下:
圖.乙
如乙圖所示,我們一開始輸入的是one-hot編碼后的向量,1位于第7位,其對應(yīng)的輸入層到隱藏層的權(quán)重矩陣w一定是第7行,如下圖示意
圖.丙
丙圖示意的是第三行,如果輸入one-hot編碼過了,那就將one-hot編碼后的輸入再tokenize轉(zhuǎn)化回去(如果沒有one-hot的話,直接tokenize獲取索引即可),查找w索引值為3的行,拿出來即可,拿出來的就是詞向量原來需要計(jì)算那么多次乘法,現(xiàn)在只需查表即可。
圖甲那張圖的全過程稱之為池化向量。
圖.丁
圖丁,全連接層是沒有激活函數(shù)的,output到預(yù)測值時的激活函數(shù)為softmax,也可以為sigmoid,沒有規(guī)定必須用哪個,此圖為原始的池化向量過程。下面的負(fù)采樣是解決反向傳播時復(fù)雜的乘法計(jì)算。
負(fù)采樣:
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,每當(dāng)接受一個訓(xùn)練樣本,然后調(diào)整所有神經(jīng)單元權(quán)重參數(shù),來使神經(jīng)網(wǎng)絡(luò)預(yù)測更加準(zhǔn)確。換句話說,每個訓(xùn)練樣本都將會調(diào)整所有神經(jīng)網(wǎng)絡(luò)中的參數(shù)。
我們詞匯表的大小決定了我們skip-gram 神經(jīng)網(wǎng)絡(luò)將會有一個非常大的權(quán)重參數(shù),并且所有的權(quán)重參數(shù)會隨著數(shù)十億訓(xùn)練樣本不斷調(diào)整。
negative sampling (負(fù)例樣本,即one-hot編碼后的為0的那些位置的樣本)每次讓一個訓(xùn)練樣本僅僅更新一小部分的權(quán)重參數(shù),從而降低梯度下降過程中的計(jì)算量。
如果 vocabulary 大小為1萬時, 當(dāng)輸入樣本 ( "fox", "quick") 到神經(jīng)網(wǎng)絡(luò)時, “ fox” 經(jīng)過 one-hot 編碼,在輸出層我們期望對應(yīng) “quick” 單詞的那個神經(jīng)元結(jié)點(diǎn)輸出 1,其余 9999 個都應(yīng)該輸出 0。在這里,這9999個我們期望輸出為0的神經(jīng)元結(jié)點(diǎn)所對應(yīng)的單詞我們?yōu)?negative word. negative sampling 的想法也很直接 ,將隨機(jī)選擇一小部分的 negative words,比如選 10個 negative words 來更新對應(yīng)的權(quán)重參數(shù)。
在論文中作者指出指出對于小規(guī)模數(shù)據(jù)集,建議選擇 5-20 個 negative words,對于大規(guī)模數(shù)據(jù)集選擇 2-5個 negative words.
如果使用了 negative sampling 僅僅去更新positive word- “quick” 和選擇的其他 10 個negative words 的結(jié)點(diǎn)對應(yīng)的權(quán)重,共計(jì) 11 個輸出神經(jīng)元,相當(dāng)于每次只更新 300 x 11 = 3300 個權(quán)重參數(shù)。對于 3百萬 的權(quán)重來說,相當(dāng)于只計(jì)算了千分之一的權(quán)重,這樣計(jì)算效率就大幅度提高。
選擇負(fù)例樣本的規(guī)則
使用 一元模型分布 (unigram distribution) 來選擇 negative words,一個單詞被選作 negative sample 的概率跟它出現(xiàn)的頻次有關(guān),出現(xiàn)頻次越高的單詞越容易被選作negative words,經(jīng)驗(yàn)公式為:
f(w) 代表 每個單詞被賦予的一個權(quán)重,即 它單詞出現(xiàn)的詞頻,分母 代表所有單詞的權(quán)重和。公式中3/4完全是基于經(jīng)驗(yàn)的,論文中提到這個公式的效果要比其它公式更加出色。
總結(jié)
以上是生活随笔為你收集整理的Word2vec模型及负采样精讲的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坦克世界闪击战252工程卖多少
- 下一篇: 天天睡!睡天天下联是什么?