Board logo

标题: 神经网络语言模型详解(转)(3) [打印本页]

作者: yuyang911220    时间: 2016-9-10 08:27     标题: 神经网络语言模型详解(转)(3)

8 Eric Huang’s Model 在Bengio的神经网络结构的基础上,Eric Huang提出了引入文档的全局信息引神经网络语言模型,结构类似于Bengio的网络结构。
8.1 模型结构 相比Bengio的模型,Eric Huang引入了词的全局信息,在原本的网络结构中加入了子网络,形成如下图所示结构。

图5 Eric Huang的网络结构图
其中,,代表局部的得分,代表全局的得分。的计算公式为,
为当前词的Context中个词向量的拼接,为激活函数(逐个元素使用),比如为对网络中的参数。
相应的,的计算公式,

其中,为文章中包含的词向量的加权平均,权值公式可以有多种形式,Eric Huang采用IDF加权的方式。
8.2 参数求解 Eric Huang采用[C&W, 2007]中的求解方法,从词表中随机采样一个替换当前词,构造如下损失函数(类似于Ranking问题)
求解过程采用了min-batch L-BFGS。

9 word2vec word2vec是word embedding中最为人知的模型,其原因(能想到的)有,(1)模型简单,训练速度快;(2)代码和数据开源,容易复现;(3)Google出品(作者在Google实习期间工作,但代码很难读)。
word2vec由Tim Mikolov的三篇论文引出(虽然有一篇是讲Recurrent NN),项目开源(https://code.google.com/p/word2vec/),训练速度快(单机跑缺省数据集,仅20+min)。 word2vec代码中包含了两个模型CBOW(Continue BOW)和Skip-Gram。

9.1 CBOW CBOW模型见下图,

图6 CBOW模型结构
类似于[Bengio, 2003]中的模型,CBOW的优化目标是:给定词序列,最大化下式,
其中,采用log-linear(Softmax)模型用于正确分类当前词。在求解上式梯度时,每步的计算量与词表大小成正比,十分耗时,需要借助其他方法近似求解。

9.2 Skip-Gram Skip-Gram结构图见下图

图7 Skip-Gram模型结构
Skip-Gram中优化的目标:给定词序列,最大化下式,
其中,c是上下文的大小,采用softmax方程,
和为对应的输入和输出词向量,上式中梯度()的计算复杂度正比于词表的大小,处理方法同CBOW。

9.3 参数求解 (1)Hierarchical Softmax
同Section 4中Hierarchical NNLM[Bengio, 2006],基于tf-idf构建Huffman树,简单快速。

(2)Noise Constractive Estimation
在section 4中提到了如何快速近似求解partition function的问题,Gutmann在AISTAT(理论的会议,如无基础误入,坑!)和ICANN上介绍一种新的近似求解方法-NCE,最终在 JMLR上发表一篇长文来详细阐述其思想。此方法思想后续,本博客会撰文专门解释。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0