貪心自然語言處理高級(jí)魔鬼訓(xùn)練營
首先介紹CBOW模型,它是一個(gè)三層神經(jīng)網(wǎng)絡(luò),通過上下文預(yù)測(cè)中心詞。以某個(gè)訓(xùn)練數(shù)據(jù)"I drink apple juice"為例,可以把a(bǔ)pple作為標(biāo)簽值先剔除,將"I drink juice"作為輸入,apple作為待預(yù)測(cè)的中心詞。
輸入層: x_i 是上下文中第i個(gè)單詞的one-hot向量,長度為 V 。比如在訓(xùn)練數(shù)據(jù)I drink _ juice中,x_2就是詞"drink"的one-hot向量。V是詞庫中詞的總數(shù),C是上下文中詞的個(gè)數(shù),k是訓(xùn)練集的大小。
隱藏層:輸入層x_i乘上W_{V \times N}求和即得到隱藏層,公式為\sum_{i=1}^C x_i \times W_{V \times N}。其中,W_{V \times N}是一個(gè)二維矩陣,V是詞的總數(shù),N代表著詞的特征向量,長度可自定義。這個(gè)矩陣的每一行即可看作每個(gè)詞對(duì)應(yīng)的特征向量,而x_i \times W_{V \times N}就相當(dāng)于取第i個(gè)詞對(duì)應(yīng)的特征向量。隱藏層沒有激活函數(shù),最后輸出是一個(gè)1 \times N的向量。
輸出層:輸出層是中心詞的預(yù)測(cè)值,一個(gè)1 \times V的向量。它由隱藏層輸出乘上 W_{N \times V}' ,并通過softmax激活函數(shù)得到,向量中每個(gè)位置的值相當(dāng)于對(duì)應(yīng)詞的概率。中心詞預(yù)測(cè)值會(huì)與實(shí)際值比較,并通過損失函數(shù)計(jì)算出損失值,再求出梯度值反向傳播,最終更新 W_{V \times N} 和 W_{N \times V}' 的值。