关键词:语言模型,RNN,双向RNN,深度RNN,GRU,LSTM
1、语言模型
语言模型计算在一个特定序列中一组词出现的概率。一般由一个窗口内之前的n个词决定。
这个公式对于语言和翻译系统确定一个词序列是否是准确翻译尤其有用。
现有的语言翻译系统中,对每个词组/句子翻译,软件生成一些可替换词组,例如I have, I had, I has, me have, me had等,然后对它们计分找出最可能的翻译序列。
在机器翻译中,如果模型接收bi-grams,那么每个bi-gram的频率会除以相应的uni-gram
上面是用一个固定的语境窗口,前n个词来预测下一个词,有时候这还不足以捕捉语境。Bengio等设计了一个深度模型
传统的语言模型,内存需要与窗口规模n呈指数增长,容易内存不足。
2、RNN
不同于传统模型的有限窗口前序词,RNN可以考虑语料中所有的前序词。
使用的损失函数一般是交叉熵
对于整个词汇表
规模为T的语料集
复杂度用于衡量混淆,基本是2的交叉熵误差函数的负对数概率次方
与事实相比,这里更小的值预示更高的可信度。
RNN所需内存与语料集中词的数目成比例,对于1000的循环层,矩阵是1000×1000,与语料集规模无关。
RNN的另一种表达