word2vec 的CBOW,多层softmax,负采样。

CBOW是word2vec的一种方法,通过上下文词向量的求和替代NNLM中的投影层,减少计算复杂性。文章介绍了CBOW模型的简化过程,包括去除隐藏层以提高效率,并探讨了两种优化策略:多层Softmax利用Huffman树降低计算成本,以及负采样方法用于高效训练。
摘要由CSDN通过智能技术生成

NNLM的原理基于N-1个词来预测第N个词,而CBOW是希望用前后N个词来预测中间词,这是CBOW与NNLM的本质区别。

NNLM中存在投影层,将ONE-HOT编码与词库矩阵C进行运算投射,从词库矩阵取出一列。同时对每个词取出的每个列,进行一个concat拼接。

而由于当词库非常巨大时,这个计算是非常耗费时间的。因此,就出现了CBOW

  • CBOW

CBOW将矩阵C直接舍弃,直接把这样一句话中的每个词初始化一个词词向量,这个初始化的词向量就是模型要学习的。

在NNLM中存在projetion layer进行了词组向量拼接,CBOW则是将各个词向量进行求和。假设原本300维的向量,存在3个词,在NNLM中,进行拼接则为900维的向量,而在CBOW中,则进行求和,即还是为300维的向量,大大减少了运算。

 

在NNLM中,在词向量进行拼接后,会存在隐藏层,与隐藏层进行全连接,然后再与SOFTMAX进行求概率。再CBOW中进行了变更,CBOW中去掉了隐藏层,因为隐藏层的全连接计算需要花费大量计算,因此将其去掉,同时我们假设词库为10^8。则我们在进行softmax运算时,需要算出10^8词库中每个词的概率,其起算也是非常巨大,因此在CBOW中, 我们为了高效计算,我们在计算概率时,存在以下两个方式

  • 多层SOFTMAX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值