CBOW模型和Skip-gram模型
在前面提到的神经网络语言模型、c&W模型,都没有缺少隐藏层,而模型运算的高消耗都在输入层到隐藏层的矩阵运算中,如果能减少这部分开销,那么模型会更加高效。而CBOW模型和Skip-gram模型就属于这一类模型。
CBOW模型
CBOW模型的思想与c&w模型的思想类似:输入上下文词语,预测中心目标词。
与c&w模型以优化正样本与负样本之间的差异不同,CBOW模型仍然是以预测目标词的概率为最终目标来建模的。CBOW模型在网络结构上进行了两点简化:
- 输入层不再是上下文词对应的词向量拼接,而是忽略了词序信息,直接采用所有上下文词向量的平均值
- 省略了隐藏层,输入层直接与输出层相连,采用logistic回归的形式计算中心词的概率
通过上面两点的优化,减少了矩阵运算,也较少了一次层之间的运算,使得模型的效率得到了提升。

- 依旧是从训练语料中选取任意的n元组(n=2C+1): (wi,C)=(wi−C...wi−1wiwi+1...wi+C)
- 将WC=wi−C...wi−1wi+1...wi+C作为输入,将计算上下文词向量的平均值:h=2C1∑i−C<=k<=i+Ce(wk)
- 直接用softmax利用上面计算的平均值作为输入,来预测中心目标词的概率:p(wi∣WC)=∑k=1∣v∣exp(h⋅e(wk))exp(h⋅e(wi))
- CBOW模型的目标函数是最大化所有词概率的对数似然:
- L∗=argmaxL∑wi∈Vlog(p(wi∣WC))
Skip-gram模型