[关闭]
@songying 2018-10-06T16:15:43.000000Z 字数 1144 阅读 1370

Recurrent neural network based language model

language-models


我们来详细讲解一下上面这个模型,在此之前,你需要阅读一下RNN相关:深度学习之循环神经网络:RNN结构剖析

ABSTRACT

本文主要讲RNNLM, 即将RNN引入到神经网络语言模型中, 用RNN对历史信息的存储代替以n为窗口的上下文。
在RNNLM中,讲模型中的隐藏层作为状态存储单元,以当前单词的词嵌入和上一状态的叠加作为输入,输出对下一个单词的预测。

Model description

Bengio 论文中的一个重大缺陷是前馈神经网络必须使用固定长度的上下文,这也以为着当预测下一个词时, 只能see 5-10 个之前的单词。这也是为什么尝试使用RNN的原因, 因为RNN没有上下文长度的限制。

其中, f(z)是sigmoid 激活函数:


g(z) 是softmax函数:

对于初始化, s(0)可以设置为一个很小值组成的向量比如0.1, 当处理大规模数据时, 初始化并不是必须的。 隐层单元数量大概为30-500个,在我们的实验中, 隐层单元数应该受到training data的影响。 对于大规模数据来说, 大量的隐层单元数是需要的。

权重的初始化为较小的值, 在训练中,我们使用反向传播 + 随机梯度下降算法。 初始的学习率设为0.1.

2.1 Optimization

为了提高performance, 我们将低频词转化为一个token

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注