CS224(八) RNN和语言模型

Part 1、语言模型

语言模型就是计算一个单词序列(句子)的概率(P(w1,…,wm)P(w1,…,wm))的模型。听上去很简单,做起来很难;听上去没什么用处,但用处非常多。比如在机器翻译中,判断译文序列中一种词序的自然程度高于另一种,判断一种用词选择优于另一种。

传统的语言模型:

为了简化问题,必须引入马尔科夫假设,句子的概率通常是通过待预测单词之前长度为nn的窗口建立条件概率来预测:

cs224_8_1

 为了估计此条件概率,常用极大似然估计,比如对于BiGram和TriGram模型,有:

cs224_8_2

 

在数据量足够的情况下,n-gram中的n越大,模型效果越好。但实际上,数据量总是不如人意,这时候一些平滑方法就不可或缺。另外,这些ngram可能会占用上G的内存,在最新的研究中,一个1260亿的语料在140G内存的单机上花了2.8天才得到结果。

Bengio et al提出了第一个大规模深度学习自然语言处理模型,只不过是用前nn个单词的词向量来做同样的事情(上文建模)而已,其网络结构如下:

cs224_8_3

 

 

Part 2、RNN

新的语言模型是利用RNN对序列建模,复用不同时刻的线性非线性单元及权值,理论上之前所有的单词都会影响到预测单词。

cs224_8_4

Part 3、RNN 语言模型

Part 4、训练常见问题和技巧

Part 5、双向RNN

cs224_8_8

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值