当前位置:   article > 正文

Feedforward Neural Network Language Model(NNLM)原理及数学推导_feedforward neural language modeling

feedforward neural language modeling
本文来自CSDN博客,转载请注明出处:http://blog.csdn.net/a635661820/article/details/44130285  
  
参考资料:
词向量部分: http://licstar.net/archives/328#s21
ngram部分: http://www.zhihu.com/question/21661274
论文参考: A Neural Probabilistic Language Model
  
 本文的学习介绍来自一篇Bengio(2003)的论文(点此在线阅读论文PDF), 这篇论文是用神经网络训练语言模型的经典之作,后面我想继续学习RNN,LSTM等,这一篇论文绝对是入门的不错选择。下面是自己对文章的一些理解,毕竟自己刚接触NLP方面的东西,必然有一些不对的地方,还请多多指正。

前面一篇MIT的学习笔记介绍了统计语言模型,但传统的统计语言模型有一些缺点:
  1. 由于维度灾难(特别是离散变量),在高维下,数据的稀缺性,导致统计语言模型存在很多为零的条件概率,传统的统计语言模型也花费了很大的精力来处理零概率问题,比如现在有很多的平滑、插值、回退等方法用来解决该问题。
  2. 语言模型的参数个数随阶数呈指数增长,所以一般情况统计语言模型使用的阶数不会很高,这样n-gram语言模型无法建模更远的关系。
  3. n-gram无法建模出多个相似词的关系。比如在训练集中有这样的句子,The cat is walking in the bedroom,但用n-gram测试时,遇到 A dog was running in a room这个句子,并不会因为两个句子非常相似而让该句子的概率变高。

    这篇文章使训练得到的模型比n-gram能够建模更远的关系,并且考虑到了词的相似性,一些相似词获得了自然的平滑。前者是因为神经网络的结构可以使得,后者是因为使用了词向量。


词向量


下面先介绍本文中的词向量(distributed representation for words),本文中单词的特征向量是把单词映射为一个具有一定维度实数向量(比如50,100维,这里记为m),每一个词都和一个特征向量相关联,词向量初始化可以为随机的数,文中介绍也可以使用一些先验知识来初始化词向量,随着训练的结束,词向量便获得了。词向量的引入把n-gram的离散空间转换为连续空间,并且两个相似的词之间它们的词向量也相似,所以当训练完毕时,一个句子和其所有相似的句子都获得了概率。而把词映射到词向量是作为整个网络的第一层的,这个在后面会看到。


神经模型


神经网络的模型如图:
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/734609
推荐阅读
相关标签
  

闽ICP备14008679号