LSTM和GRU

目录

短期记忆问题

解决方案

递归神经网络回顾

长短期记忆体LSTM(Long Short-Term Memor)

GRU


短期记忆问题

在反向传播过程中,递归神经网络会遇到梯度消失问题。梯度是用于更新神经网络权重的值。梯度消失问题是当梯度随着时间向后传播而收缩时。如果梯度值变得非常小,它不会贡献太多的学习,因为梯度是用于更新神经网络的权重值(新的权值 = 旧权值 - 学习率*梯度)。因此,在循环神经网络中,获得小梯度更新的层会停止学习。一般为较早的层,所以RNN会忘记较早序列内容,只有短期记忆。

解决方案

LSTM 和 GRU 是作为短期记忆的解决方案而创建的。它们具有称为门的内部机制,可以调节信息流。

假如你看了一则广告,你的大脑会下意思记住重要的关键词,不记得其他的词。若是第二天你再想起这则广告,你不会逐字记住它,你可能会记住要点。其他的词会从记忆里消失。

这基本上就是 LSTM 或 GRU 所做的。它可以学会只保留相关信息来进行预测,而忘记不相关的数据。

递归神经网络回顾

它将先前的隐藏状态传递给序列的下一步。隐藏状态充当神经网络的记忆。它保存有关网络以前看到的先前数据的信息。

让我们看一下 RNN 的一个单元,看看如何计算隐藏状态。首先,将输入和之前的隐藏状态组合起来形成一个向量。该向量现在具有有关当前输入和先前输入的信息。向量经过tanh激活,输出是新的隐藏状态,或者网络的记忆。tanh 函数确保值保持在 -1 和 1 之间,从而调节神经网络的输出

输入和输出序列必须要是等长的。它内部的操作很少,但在适当的情况下(如短序列)工作得很好。RNN 使用的计算资源比它的进化变体、LSTM 和 GRU 少得多。

长短期记忆体LSTM(Long Short-Term Memor)

sigmoid 激活压缩 0 和 1 之间的值。这有助于更新或忘记数据,因为任何乘以 0 的数字都是 0,从而导致值消失或被“遗忘”。任何乘以 1 的数字都是相同的值,因此该值保持不变或“保留”。网络可以学习哪些数据不重要,因此可以被遗忘,或者哪些数据很重要,可以保留。

所以我们有三个不同的门来调节 LSTM 单元中的信息流。遗忘门、输入门和输出门。

遗忘门:来自先前隐藏状态的信息和来自当前输入的信息通过 sigmoid 函数传递。值介于 0 和 1 之间。越接近 0 意味着忘记,越接近 1 意味着保持。

输入门:tanh 输出与 sigmoid 输出相乘。sigmoid 输出将决定从 tanh 输出中保留哪些重要信息。

 

细胞状态:首先,细胞状态逐点乘以遗忘向量。如果它乘以接近 0 的值,这有可能在单元状态中丢弃值。然后我们从输入门获取输出并进行逐点加法,将单元状态更新为神经网络认为相关的新值。这给了我们新的细胞状态。

输出门:

输出门决定下一个隐藏状态应该是什么。首先,我们将之前的隐藏状态和当前输入传递给一个 sigmoid 函数。然后我们将新修改的单元状态传递给 tanh 函数。我们将 tanh 输出与 sigmoid 输出相乘来决定隐藏状态应该携带什么信息。输出是隐藏状态。然后将新的单元状态和新的隐藏状态转移到下一个时间步。

 

遗忘门决定与先前步骤相关的内容。输入门决定从当前步骤添加哪些信息是相关的。输出门决定下一个隐藏状态应该是什么。

GRU

GRU 是新一代的循环神经网络,与 LSTM 非常相似,是LSTM的变体。GRU 摆脱了细胞状态,使用隐藏状态来传递信息。它也只有两个门,一个重置门和更新门。

重置门:用于决定忘记多少过去的信息。 

更新门:更新门的作用类似于 LSTM 的遗忘门和输入门。它决定丢弃哪些信息以及添加哪些新信息 

 

 

z_{t}是属于要记住的,反过来1- z_{t}则是属于忘记的。

这就是 GRU。GRU 的张量操作较少;因此,它们的训练速度比 LSTM 的要快一些。没有一个明确的赢家,哪个更好。研究人员和工程师通常会尝试两者来确定哪一个更适合他们的用例。

综上所述,RNN 可以很好地处理序列数据以进行预测,但会受到短期记忆的影响。LSTM 和 GRU 是作为一种使用称为门的机制来减轻短期记忆的方法而创建的。门只是调节流经序列链的信息流的神经网络。LSTM 和 GRU 用于最先进的深度学习应用,如语音识别、语音合成、自然语言理解等。

文章参考:

https://colah.github.io/posts/2015-08-Understanding-LSTMs/

https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值