从n-gram到Bert聊一聊词向量:神经概率语言模型

神经网络语言模型NNLM:

论文:Bengio, Yoshua, et al. "A neural probabilistic language model."  http://jmlr.org/papers/volume3/bengio03a/bengio03a.pdf

目标是学一个好的模型  ,分解函数为两个部分:
一是V中任何元素i到实数向量的映射C,C表示与词汇表中的每个单词相关联的分布式特征向量。训练时,C由|v|\times m的矩阵表示,其中 |V| 表示词表的大小(语料中的总词数),m 表示词向量的维度。

二是单词的概率函数表示为:函数g已知从上下文的输入特征向量  预测概率分布的下一个词w_{t}

输入、输出、参数

网络的第一层(输入层)是将 C(wtn+1),…,C(wt−2),C(wt−1)这 n−1 个向量首尾相接拼起来

网络的第二层(隐藏层)神经网络,直接使用 d+Hx计算得到。d 是一个偏置项。之后使用 tanh作为激活函数。

网络的第三层(输出层)一共有 |V|个节点,每个节点 yi 表示 下一个词为 i 的未归一化 log 概率。最后使用 softmax 激活函数将输出值 y 归一化成概率。

从n-gram到Bert聊一聊词向量:神经概率语言模型_第1张图片从n-gram到Bert聊一聊词向量:神经概率语言模型_第2张图片

训练:通过最大log似然函数求\theta

随机梯度下降:

 

神经网络语言模型与CBOW模型的区别:

1.从输入层到投影层:神经网络语言模型通过拼接,CBOW模型通过累加求和

2.隐含层:神经网络语言模型有隐藏层,CBOW模型无隐藏层

3.输出层:神经网络语言模型是线性结构,CBOW模型是树形结构

 

你可能感兴趣的:(NLP,深度学习,阅读论文)