RNN与LSTM理解

RNN

RNN与人类大脑很相似。人类阅读时,会从左到又阅读一段文字,阅读时会不断积累信息,阅读完这段话后就会记录了整段文字的大意。

RNN将状态信息存储在h中。某个节点的h会包含这个节点以及之前节点的信息。最后一个状态h包含了整句话的信息。

RNN使用参数矩阵A。RNN也是权值共享的,整个RNN的矩阵A都是一样的。A随机初始化,并用训练数据来学习更新。

Simple RNN Model

 激活函数使用双曲正切激活函数(hyperbolic tangent function )用了这激活函数后,每次更新h之后,都会将h中的参数恢复到-1与1之间。

其中参数矩阵A的大小为 shape(h) * [ shape(h) + shape(x) ]

LSTM Model

LSTM结构比simle RNN结构复杂很多,

 LSTM 中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个遗忘门完成。

 下一步是确定什么样的新信息被存放在细胞状态中。这里包含两个部分。第一,sigmoid 层称 “输入门层” 决定什么值我们将要更新。然后,一个 tanh 层创建一个新的候选值向量。

 

 现在是更新旧状态的时间了,C_t-1更新为C_t
我们把旧状态与f_t相乘,丢弃掉我们确定需要丢弃的信息。接着加上i_t * {C}_t。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。
在语言模型的例子中,这就是我们实际根据前面确定的目标,丢弃旧代词的性别信息并添加新的信息的地方。

最终,我们需要确定输出什么值。首先,我们运行一个 sigmoid 层来确定细胞状态的哪个部分将输出出去。接着,我们把细胞状态通过 tanh 进行处理(得到一个在 -1 到 1 之间的值)并将它和 sigmoid 门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。

Attention Model(注意力机制)

注意力机制最核心的操作就是一串权重参数,要从序列中学习到每一个元素的重要程度,然后按重要程度将元素合并。权重参数就是一个注意力分配的系数,给哪个元素分配多少注意力。

  

Attention函数的工作步骤总结: 1.s与h进行相似度计算得到权值;2.对上部权值归一化;3.用归一化的权值与h加权求和。此时加权求和的结果就为注意力值,也即是c

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值