Recurrent neural network based language model
提出了一种RNN语言模型,通过混合RNN模型能够在backoff模型基础上,下降50%的困惑度。
目前主流提升ngram性能的方法有两种:基于长文本信息的方法以及基于将单词分类的方法。
RNN模型
输入层,隐层
(状态层)以及输出层
。
时刻的网络输入为
,输出为
,网络状态为
,单词为
其中是sigmoid激活函数:
是softmax函数:
实现细节
-
初始化为较小数字的向量,诸如0.1(当处理庞大的数据时,初始化并非占据主要地位)
- 输入
由独热向量和网络状态
向量拼接而成,所以输入的维数为词表大小
(实践中从3万到20万)加上隐层的维数(一般有30-500隐层单元)
- 权重使用小值进行初始化(均值为0,方差为0.1的随机高斯噪声)
- 初始学习率
,如果对数相似度降低,则折半学习率,一般收敛需要10-20个epoch
优化
- 对于出现较少的单词同质化,重新定义概率
网友评论