回憶一下我們?cè)?/font>15.1 節(jié)中的討論。skip-gram模型的主要思想是使用softmax操作來(lái)計(jì)算生成上下文詞的條件概率wo基于給定的中心詞wc在(15.1.4)中,其對(duì)應(yīng)的對(duì)數(shù)損失由(15.1.7)的相反數(shù)給出 。
由于 softmax 操作的性質(zhì),因?yàn)樯舷挛脑~可能是字典中的任何人V, (15.1.7)的反面 包含與詞匯表的整個(gè)大小一樣多的項(xiàng)目總和。因此, (15.1.8)中 skip-gram 模型的梯度計(jì)算和(15.1.15)中連續(xù)詞袋模型的 梯度計(jì)算都包含求和。不幸的是,這種在大型詞典(通常有數(shù)十萬(wàn)或數(shù)百萬(wàn)個(gè)單詞)上求和的梯度的計(jì)算成本是巨大的!
為了降低上述計(jì)算復(fù)雜度,本節(jié)將介紹兩種近似訓(xùn)練方法:負(fù)采樣和分層softmax。由于skip-gram模型與連續(xù)詞袋模型的相似性,我們將僅以skip-gram模型為例來(lái)描述這兩種近似訓(xùn)練方法。
15.2.1。負(fù)采樣
負(fù)采樣修改了原來(lái)的目標(biāo)函數(shù)。給定中心詞的上下文窗口wc,任何(上下文)詞的事實(shí)wo來(lái)自這個(gè)上下文窗口被認(rèn)為是一個(gè)事件,其概率建模為
在哪里σ使用 sigmoid 激活函數(shù)的定義:
讓我們首先最大化文本序列中所有此類(lèi)事件的聯(lián)合概率來(lái)訓(xùn)練詞嵌入。具體來(lái)說(shuō),給定長(zhǎng)度的文本序列T, 表示為w(t)時(shí)間步長(zhǎng)的單詞t并讓上下文窗口大小為m, 考慮最大化聯(lián)合概率
然而,(15.2.3)只考慮那些涉及正例的事件。因此, 只有當(dāng)所有詞向量都等于無(wú)窮大時(shí),(15.2.3)中的聯(lián)合概率才最大化為 1。當(dāng)然,這樣的結(jié)果是沒(méi)有意義的。為了使目標(biāo)函數(shù)更有意義,負(fù)采樣添加了從預(yù)定義分布中采樣的負(fù)樣本。
表示為S上下文詞的事件wo來(lái)自中心詞的上下文窗口wc. 對(duì)于此次涉及的事件wo,來(lái)自預(yù)定義的分布P(w) 樣本K 不是來(lái)自這個(gè)上下文窗口的噪聲詞。表示為Nk干擾詞的事件wk (k=1,…,K) 不是來(lái)自上下文窗口 wc. 假設(shè)這些事件同時(shí)涉及正例和反例S,N1,…,NK是相互獨(dú)立的。負(fù)采樣將(15.2.3)中的聯(lián)合概率(僅涉及正例)重寫(xiě)為
其中條件概率是通過(guò)事件來(lái)近似的 S,N1,…,NK:
評(píng)論
查看更多