NLP学习笔记:GateRNN


1 普通的RNN:无法学习到时序数据的长期依赖关系,基于时间的反向传播BPTT存在梯度消失和梯度爆炸的缺点。
2 RNN存在的问题:梯度爆炸(反向传播矩阵连乘)和梯度消失(反向传播tanh函数的导数1-y^2;反向传播矩阵连乘);主要是由激活函数tanh和和矩阵连续乘积造成的。矩阵的奇异值和矩阵乘积的结果有一定关系(必要条件)。

3 梯度爆炸的对策:梯度裁剪 if ||g||>=t;g=t/||g||*g;描述为如果梯度的L2范数大于等于阈值,则修正梯度。
4梯度消失对策:LSTM层。

5 LSTM Gate 门:sigmoid函数控制门的开合程度。
        记忆单元:c;
        隐藏状态:h;
        1 输出门:o;控制下一隐藏层 ht 的输出:o=sigmoid(x*Wx+h(t-1)*Wh+b)。 ht=o×tanh(ct) 这里是对应元素的乘积
        2 遗忘门:控制记忆单元ct 遗忘不必要的信息:f=sigmoid(x*Wx+h(t-1)*Wh+b)。 ct=f ×c(t-1)
        3 新的记忆单元:g=tanh(xt*Wx+h(t-1)*Wh+b);将输入门i和记忆单元g的乘积添加到上一记忆单元c(t-1);
        4 输入门:i=sigmoid(x*Wx+h(t-1)*Wh+b);判断新增信息g的各个元素的价值有多大,最终将i×g添加到记忆单元中
        5 最终记忆单元:ct=f ×c(t-1)+i×g

6 LSTM不会发生梯度消失(爆炸)的原因:记忆单元反向传播为矩阵的对应元素乘积,每次都基于不同的门值进行对应元素的乘积。

7 LSTM比普通RNN多了记忆单元c;记忆单元只在LSTM层内部接收和传递数据,不向其他层输出
LSTM语言模型:Embedding-->LSTM-->Affine-->Softmax With Loss;实际在处理时序数据时使用Time LSTM。
8 LSTM层:输入C(t-1)和h(t-1)经过tanh或者Sigmoid函数转换计算向下层输出ht,向下一LSTM输入ht和ct。
LSTM中包含实质信息时用tanh为激活函数;门大多数情况使用Sigmoid为激活函数。

10 LSTM改进:增加网络深度、深度或时序方向加入Dropout层、Embedding 和 Affine 层权值共享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冲冲冲@chong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值