論文鏈接:http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf
解決n-gram語言模型(比如tri-gram以上)的組合爆炸問題,引入詞的分布式表示。
通過使得相似上下文和相似句子中詞的向量彼此接近,因此得到泛化性。
相對而言考慮了n-gram沒有的更多的上下文和詞之間的相似度。
使用淺層網絡(比如1層隱層)訓練大語料。
feature vector維度通常在100以內,對比詞典大小通常在17000以上。
C是全局共享的向量數組。
最大化正則log似然函數:
非歸一化的log似然:
hidden units num = h
word feature vector dimension = m
context window width = n
output biases b: |V|
hidden layer biases d: h
hidden to output weights U: |V|*h
word feature vector to output weights W: |V|*(n-1)*m
hidden layer weights H: h*(n-1)*m
word reature vector group C: |V|*m
Note that in theory, if there is a weight decay on the weights W and H but not on C, then W and H could converge towards zero while C would blow up. In practice we did not observe such behavior when training with stochastic gradient ascent.
每次訓練大部分參數不需要更新。
訓練算法:
可改進點:
1. 分成子網絡並行訓練
2. 輸出詞典|V|改成樹結構,預測每層的條件概率:計算量|V| -> log|V|
3. 梯度重視特別的樣本,比如含有歧義詞的樣本
4. 引入先驗知識(詞性等)
5. 可解釋性
6. 一詞多義(一個詞有多個詞向量)