Neural Network Language Model

背景

传统的统计语言模型的缺点,在高维的情况下,由于N元组的稀疏问题,传统的语言模型需要花大量时间解决平滑,插值等问题;N受限于算力,不大的时候文本的长距离依赖关系无法进行建模;同时N元组共现未必相似等问题。

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

2003年,Bengio首次提出Neural Network Language Model(NNLM), 开创了神经网络运用在语言模型的先河,论文 《A Neural Probabilistic Language Model》

Neural Network Language Model(NNLM)神经网络语言模型

NNLN利用三层神经网络进行建模

在这里插入图片描述

模型结构

在这里插入图片描述

在这里插入图片描述





个人理解示例

输入层
词库V 里有词n个,词库的大小就是n,词库的维数是n。V投影到矩阵C上,如下所示Cn×d
在这里插入图片描述
有一个句子,句子包含的词按照顺序为“w1,w1…wt”,我们的目的是输入t-1个词,去预测第t个词。
对句子里的词按顺序进行向量化编码
因此 “w1” 的one-hot编码为:[1,0,0,0,0,0…,0]
词语 “w2” 的one-hot编码为:[0,1,0,0,0,0…,0]
词语 “w3” 的one-hot编码为:[0,0,1,0,0,0…,0]
以此类推到wt,这些词的向量的维度为d 。
将前t-1个向量合并起来的句子向量作为隐藏层的输入,输入的向量维度为(t−1) ⋅ d ,记 X = (t-1)⋅ d

隐藏层
隐藏层和输入层之间是全连接,隐藏层的神经元激活函数是tanh,隐藏层的神经元个数为h(从隐藏层输出的个数也是h)。

tanh函数如下所示
在这里插入图片描述
记 H为 (t-1)⋅ d⋅h 大小的的矩阵 (h为神经元个数)
b为长度是h的向量,tanh()函数的输入为 H⋅X +b
隐藏层的输出就如下所示:
tanh(H⋅X+b),X是权重,b是偏置


输出层

隐藏层到输出层也是全连接
输出层的输入是依赖于隐藏层的输出和隐藏层的输入之和,即输出层的输入为

y = K⋅tanh(D⋅X+b) + Mx + L

M为t ∗ d ⋅ ( t−1 ) 大小的矩阵, 是输入层到输出层的值的参数;K为t隐藏层到输出层输出的值的参数;L是偏置。

通过softmax函数,每个神经元的节点即为t时刻出现第i个词的概率
在这里插入图片描述

模型的损失函数是
在这里插入图片描述
其中θ为模型所有参数,R(θ)是正则化,以梯度下降方式进行反向传播并更新参数。



特点

优点:使用NNLM模型生成的词向量是可以自定义维度的,维度并不会因为新扩展词而发生改变,而且这里生成的词向量能够很好的根据特征距离度量词与词之间的相似性。

缺点:计算复杂度过大,参数较多(word2vec是一种改进)。







参考

https://blog.csdn.net/rongsenmeng2835/article/details/108571335?utm_source=app&app_version=4.17.0

https://blog.csdn.net/u010089444/article/details/52624964?utm_source=app&app_version=4.17.0

https://blog.csdn.net/maqunfi/article/details/84455434?utm_source=app&app_version=4.17.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值