1.循环序列模型

1.1 为什么选择序列模型 

应用广泛:语音识别,处理情感分类,机器翻译等

1.2 数学符号Notation

Tx,Ty ,xit,yit

在一个序列中如何表示单词?

 one-hot:因为它只有一个值是 1,其余值都是 0的向量。

1.3 循环神经网络模型 Recurrent Neural Network

从左到右计算,但是有一个缺点,就是计算y帽3的时候 无法使用x4,x5,x6...,只能依靠x1.x2.x3。这就有很大的局限性。

RNN的前向传播,a0定义为全0向量。

简化RNN的符号

注意下图中的矩阵维度,这么做好处就是把Waa,Wax两个矩阵合并成了Wa一个矩阵。

1.4 通过时间的反向传播

1.5 不同类型的RNNs

1.6 语言模型和序列生成

 

如何构建一个语言模型?

1.有一个训练集和字典

2.把各个单词映射成一个一位矢量

3.标记句子的结束的标记 EOS

4. UNK,字典里没有但是训练集有的单词 就标记为UNK

三个单词组成三个句子的概率公式=三步算出来的概率的乘积

1.7 对新序列的采样

利用我们的单词库,vocabulary来通过采样函数a<1>...a<t>来生成一段文字。最终采样函数计算出EOS的时候,表示采样结束。这段文字结束。

1.8 RNN的梯度消失

梯度消失导致 深层的RNN网络,后面的输出很难感受到前面的输入,这是因为不管输出是什么,不管是对的,还是错的,这个区域都很难 反向传播到序列的前面部分,也因此网络很难调整序列前面的计算。

反向传播梯度爆炸解决方法:

1.9 门控循环单元GRU

主要用于解决梯度衰减问题,帮忙更好的解决长距离传播问题。

总结一句话就是,从左向右扫描句子的时候,可以决定何时更新一个特定的内存单元,可以一直保持不变,直到我们要更新他的时候,即使这是一个在句子比较早的时候设置的值,也可以从记忆单元里取出。(比如cat的was 尽管经历了很久 也可以根据cat 来判断用was 而不是用were)

1.10 长短期记忆 LSTM

更新门 遗忘门 输出门。三个门控。GRU只有两个门控

GRU和LSTM都可以解决RNN梯度消失的问题,具体使用还要看场景自己积累经验。GRU相对简单,并且容易扩展。

1.11 双向RNN (BRNN)

单向RNN的问题:只能根据左边的词来对下一个词进行推断,无法利用右边的词儿来推断中间词的含义。比如为了推断y3 只依靠前三个词不够。

对于很多NLP问题,带有LSTM的双向RNN非常好用

1.12 深度RNN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值