1. 萬物可嵌入:
embeddings本質(zhì)反映了一種狀態(tài)轉(zhuǎn)移的概率逻杖,所以任何離散奋岁、會(huì)同時(shí)出現(xiàn)的模式都可以用嵌入后預(yù)測(cè)的方法解決。
2. 為什么不使用one-hot?
不能表示詞之間的關(guān)系荸百,空間太大
3. 訓(xùn)練方法
skip-gram cbow,普通使用skip-gram,
diff使用所有預(yù)測(cè)的one-hot和訓(xùn)練求diff,loss使用softmax函數(shù)
4. 加速訓(xùn)練的方法
negative sampling
1. skip-gram的費(fèi)用函數(shù):
(1)在目標(biāo)函數(shù)方面闻伶,希望給定語料corpus中的每一個(gè)詞,希望預(yù)測(cè)得到它窗口中的詞的可能性是最大的够话,根據(jù)最大似然理論蓝翰,目標(biāo)函數(shù)就是
最大化目標(biāo)函數(shù)的反面是最小化loss函數(shù)光绕,將相乘取log后再取負(fù),就得到了費(fèi)用函數(shù)是:
那么我們的目標(biāo)就是選取和調(diào)整theta畜份,使得取得最小值
(2)的計(jì)算
代表c為中心詞(center)時(shí)詞向量--從輸入層到隱藏層的詞向量
代表o為周圍詞(outsider)時(shí)詞的詞向量--從隱藏層到輸出層的詞向量
那么為:
(3) 梯度計(jì)算
這個(gè)梯度很難計(jì)算
反過來看這個(gè)問題诞帐,如果是cbow模型,除了最大可能性的那一個(gè)爆雹,我們其實(shí)根本不關(guān)心其他的可能性是多大停蕉,即對(duì)于
中,我們其實(shí)并不關(guān)心b,c,d是什么顶别,把最大可能性的那一個(gè)拿出來谷徙,其他的看做是不可能的,那么問題退化成為一個(gè)二分類問題驯绎,求得二分類的參數(shù)完慧。
文章1論證了這個(gè)退化了的問題和原問題是同解的問題。目標(biāo)函數(shù)轉(zhuǎn)換為單純的二分問題剩失,目標(biāo)函數(shù)變?yōu)椋?/p>
這個(gè)目標(biāo)函數(shù)存在一個(gè)問題屈尼,如果我們?cè)O(shè)定θ使得每一對(duì)(w,c)的p(D=1|w,c;θ)=1,那這個(gè)目標(biāo)函數(shù)就無意義了拴孤。而只要設(shè)置θ對(duì)所有vc和vw脾歧,使得vc=vw且vc?vw=K,而K是一個(gè)足夠大的數(shù)字演熟,則這種情況很容易出現(xiàn)(在Goldberg[1]的實(shí)驗(yàn)中當(dāng)K≈40時(shí)鞭执,概率就為1了)。因?yàn)闉榱吮苊馑邢蛄慷际窍嗤闹得⒋猓梢匀サ裟承?w,c)的組合兄纺,即可以隨機(jī)選擇(w,c)對(duì)中的一部分作為負(fù)例。也就是讓正例的可能性大化漆,但是又是適當(dāng)?shù)拇蠊来啵蕴砩狭素?fù)例。目標(biāo)函數(shù)被改成:
這個(gè)函數(shù)在求解的導(dǎo)數(shù)的時(shí)候就變得容易求解了座云。而對(duì)于vc,vw的更新疙赠,也僅限于正例的參數(shù)和負(fù)例的參數(shù),不會(huì)更新海量的所有詞庫的參數(shù)了朦拖。