最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 短期记忆的问题神经网络(RNN问我为什么)(图)

    短期记忆问题

    循环神经网络 (RNN) 受到短期记忆的影响。如果序列足够长,他们将难以将信息从较早的时间步传递到较晚的时间步。因此,如果您尝试处理一段文本以进行预测,循环神经网络 (RNN) 可能会从一开始就错过重要信息。

    在反向传播中,递归神经网络 (RNN) 存在梯度消失问题。梯度是用来更新神经网络权重的值。梯度消失问题是当梯度反向传播随时间收缩时。如果梯度值变得非常小,它对学习的贡献不大。

    梯度更新规则

    因此,在循环神经网络中,获得小梯度更新的层会停止学习。这些通常是较早的层。因为这些层不学习,RNN 可以忘记它在较长序列中看到的内容,因此具有短期记忆。如果你想了解更多关于循环神经网络的一般机制,你可以在这里阅读我之前的文章。

    LSTM 和 GRU 的解决方案

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

    这些门可以了解序列中哪些数据是重要的,哪些需要保留或丢弃。通过这样做,它可以沿着长序列传递相关信息以进行预测。几乎所有基于循环神经网络的最先进的结果都是通过这两个网络实现的。LSTM 和 GRU 可以在语音识别、语音合成和文本生成中找到。您甚至可以使用它们为视频生成字幕。

    在这篇文章的最后,你应该对为什么 LSTM 和 GRU 擅长处理长序列有一个深刻的理解。我将通过直观的解释和插图来解决这个问题,并尽可能避免使用数学。

    直觉

    好的,让我们从一个思想实验开始。假设您正在网上查看您想购买的早餐麦片的评论(不要问我为什么)。您首先阅读评论,然后确定人的好坏。

    当你阅读评论时,你的大脑会下意识地只记住重要的关键词。您会记得“令人惊叹”和“完美均衡的早餐”之类的词。你不太在意“这个”、“给”、“所有”、“应该”等词。如果朋友第二天问你评论说了什么,你可能不会逐字记住它。您可能还记得诸如“一定会再次购买”之类的要点。其他单词和句子会逐渐从记忆中消失。

    这基本上是 LSTM 或 GRU 所做的。它可以学会只保留相关信息来进行预测并忘记不相关的数据。在这种情况下,您记住的单词可以让您判断它是好的。

    递归神经网络概述

    要了解 LSTM 或 GRU 如何实现这一点,让我们回顾一下循环神经网络 (RNN)。它的工作原理如下,将第一个单词转换为机器可读的向量。然后,循环神经网络 (RNN) 将一个一个地处理向量序列。

    一个一个处理的向量序列

    在处理过程中,它将先前的隐藏状态传递给序列中的下一步。隐藏状态充当神经网络记忆。它包含有关网络先前保存的先前数据的信息。

    将隐藏状态传递到下一个时间步

    让我们看一下循环神经网络 (RNN) 的一个单元,看看如何计算隐藏状态。首先,将输入和先前的隐藏状态组合起来形成一个向量。该向量现在具有有关当前和先前输入的信息。向量由 tanh 激活,输出是新的隐藏状态,或网络的记忆。

    循环神经网络 (RNN) 单元

    Tanh 激活

    Tanh 激活用于帮助调节流经神经网络的值。tanh 函数的值总是介于 -1 和 1 之间。

    Tanh 将值压缩在 -1 和 1 之间

    当向量流经神经网络时,由于各种数学运算,它会经历许多变换。所以想象一个不断乘以 3 的值,你可以看到一些值会爆炸并增长到天文数字,导致其他值看起来微不足道。

    没有 tanh 的向量变换

    tanh 函数确保值保持在 -1 和 1 之间,从而调节神经网络的输出。您可以看到上面相同的值如何保持在 tanh 函数允许的范围内。

    使用 tanh 进行矢量变换

    这是一个循环神经网络(RNN)。它里面的操作很少,但在正确的情况下(比如短序列)它工作得很好。循环神经网络 (RNN) 使用的计算资源要少得多,而其进化变体是 LSTM 和 GRU。

    长短期记忆体

    LSTM 具有与循环神经网络类似的控制流。它在向前传播时处理传递信息的数据。不同之处在于 LSTM 单元内的操作。

    LSTM 单元及其操作

    这些操作用于允许 LSTM 保留或忘记信息。现在看这些操作可能有点复杂,所以我们将逐步介绍它们。

    核心理念

    LSTM 的核心概念是细胞状态,也就是各种阈值。单元状态充当传输高速公路,将相关信息一直传递到序列链。把它想象成网络的“记忆”。理论上,细胞状态可以在整个序列处理过程中携带相关信息。因此,即使来自较早时间步的信息也可以使其成为较晚时间步的方法,从而减少短期记忆的影响。随着小区状态的进行,通过阈值向小区状态添加或删除信息。阈值是决定细胞状态允许哪些信息的不同神经网络。阈值可以了解在训练期间保留或忘记了哪些信息。

    Sigmoid 函数

    阈值包含 sigmoid 激活。sigmoid 激活类似于 tanh 激活。它不是压缩 -1 和 1 之间的值,而是取 0 和 1 之间的值。这有助于更新或忘记数据,因为任何数字乘以 0 都是 0,导致该值消失或被“遗忘”。任何数字乘以 1 都是相同的值,因此该值保持不变或“成立”。网络可以了解哪些数据不重要,哪些可能被遗忘或需要保留。

    Sigmoid 压缩值在 0 和 1 之间

    让我们深入了解不同阈值的作用。因此,我们有三个不同的门:遗忘门、输入门和输出门来调节 LSTM 单元中的信息流。

    忘记门

    首先,我们使用遗忘门。此阈值确定应丢弃或保留哪些信息。来自先前隐藏状态的信息和来自当前输入的信息通过 sigmoid 函数传递。该值介于 0 和 1 之间。接近 0 表示忘记,接近 1 表示保留。

    忘记门操作

    输入门

    为了更新单元状态,我们采用输入门。首先,我们将先前的隐藏状态和当前输入传递给 sigmoid 函数。这通过将值转换为 0 到 1 来确定更新哪些值。0 表示不重要前向和递归神经网络的区别,1 表示重要。您还将隐藏状态和当前输入传递给 tanh 函数以压缩 -1 和 1 之间的值,以帮助调节网络。然后将 tanh 输出与 sigmoid 输出相乘。sigmoid 输出将决定哪些信息对保持 tanh 输出很重要。

    输入门操作

    单位状态

    现在我们应该有足够的信息来计算细胞状态。首先,细胞状态与遗忘向量逐点相乘。如果乘以接近 0 的值,则该值有可能在单元状态中被丢弃。然后我们从输入门获取输出并进行逐点加法,将细胞状态更新为神经网络发现相关的新值。这给出了新的单元状态。

    计算单元状态

    输出门

    最后我们使用输出门。输出门决定下一个隐藏状态应该是什么。请记住,隐藏状态包含有关先前输入的信息。隐藏状态也用于预测。首先,我们将先前的隐藏状态和当前输入传递给 sigmoid 函数。然后我们将新修改的单元状态传递给 tanh 函数。我们将 tanh 输出与 sigmoid 输出相乘,以确定隐藏状态应该携带什么信息。输出是隐藏状态。然后将新的单元状态和新的隐藏状态转移到下一个时间步。

    输出门操作

    要进行审查,请忘记门决定以保持与之前的步骤相关。输入门决定从当前步骤添加哪些信息。输出门决定下一个隐藏状态应该是什么。

    代码演示

    对于那些通过查看代码有更好理解的人,这里是一个使用 python 伪代码的示例。

    蟒蛇伪代码

    1.首先,将之前的隐藏状态和当前的输入连接起来。我们称之为联合。

    2.get 的组合被送入遗忘层。该层删除不相关的数据。

    3.组合也可以进入输入层。该层决定应将候选数据中的哪些数据添加到新的单元状态。

    4.使用组合来创建候选层。候选者持有可能的值以添加到单元状态。

    5.计算遗忘层、候选层和输入层后,使用这些向量和之前的单元状态来计算单元状态。

    6.然后计算输出。

    7. 将输出和新的单元状态逐点相乘,得到新的隐藏状态。

    而已!LSTM 网络的控制流程是几个张量操作和一个 for 循环。您可以使用隐藏状态进行预测。结合所有这些机制,LSTM 可以在序列处理期间选择与记忆或遗忘相关的信息。

    格鲁乌

    既然我们知道了 LSTM 是如何工作的,那么让我们简要地看一下 GRU。GRU 是新一代的循环神经网络,与 LSTM 非常相似。GRU 摆脱了单元状态并使用隐藏状态来传输信息。它也只有两个门,一个重置门和一个更新门。

    GRU单元及其阈值

    更新门

    更新门的功能类似于 LSTM 的遗忘门和输入门。它决定要丢弃的信息和要添加的新信息。

    重置门

    重置门是另一个阈值前向和递归神经网络的区别,它决定了要忘记过去的信息量。

    这是一个 GRU。GRU 的张量操作较少。因此,它的训练速度比 LSTM 快一点。但它并没有显示哪个更好。研究人员和工程师经常尝试确定哪一个更适合他们的用例。

    总而言之,循环神经网络 (RNN) 适用于处理序列数据以进行预测,但会受到短期记忆的影响。LSTM 和 GRU 是作为一种使用称为门控的机制来缓解短期记忆的方法而创建的。阈值只是通过序列链调节信息流的神经网络。LSTM 和 GRU 用于最先进的深度学习应用,例如语音识别、语音合成、自然语言理解等。

    如果你有兴趣深入挖掘,这里有一些很棒的资源的链接,它们可以让你从不同的角度理解 LSTM 和 GRU。本文内容参考以下文章。

    ://colah.github.io/posts/2015-08-Understanding-LSTMs/https://www.youtube.com/watch?v=WCUNPb-5EYI

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 短期记忆的问题神经网络(RNN问我为什么)(图)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论