作者迈克尔·阮

王晓昕编译自《走向数据科学》

AI没有专门的循环神经网络无法识别你的声音,回答你的问题,帮你翻译外语:长短期记忆。

最近,一个关于LSTM及其变体GRU的图形教程在国外非常流行。本教程首先介绍了这两个网络的基本知识,然后解释了使LSTM和GRU表现良好的内部机制。当然,通过这篇文章,我们也可以了解这两种网络的一些背景。

《图形教程》作者Michael Nguyen是AI语音助手中的机器学习工程师。

接下来跟着量子位一起学~

短期记忆问题

RNN受到短期记忆问题的限制。如果一个序列足够长,他们就很难将信息从较早的时间步骤传输到较晚的时间步骤。因此,如果你试图处理一段文字进行预测,RNN可能会在一开始就错过重要的信息。

在反向传播过程中,梯度在RNN消失。梯度用于更新神经网络的权重。梯度消失问题是指梯度随时间传播时会下降。如果梯度值变得很小,学习就不会继续。

△梯度更新规则

因此,在RNN,梯度稍有更新的网络层会停止学习,这通常是较早的一层。因为这些层不学习,RNN不能记住它在长序列中所学的东西,所以它的记忆是短期的。

有关RNN的更多信息,请访问:

https://towards data sciences . com/illustrated-guide-to-recursive-neural-networks-79e 5eb 8049 c 9

解决方案:LSTM和GRU

LSTM和GRU是克服短期记忆问题的解决方案。他们引入了一种叫做“门”的内部机制,可以调节信息流。

这些门结构可以了解序列中哪些数据是要保留的重要信息,哪些数据要删除。通过这样做,它可以沿着长链序列传输相关信息来执行预测。几乎所有基于RNN的先进成果都是通过这两个网络实现的。LSTM和GRU常用于语音识别、语音合成和文本生成,也可用于为视频生成字幕。

当你读完这篇文章时,我相信你会充分理解LSTM和GRU在处理长序列方面的杰出能力。接下来我会通过直观的讲解和图解来介绍,尽量绕过数学运算。

直觉认知

先来一个思维实验。在网上买生活用品的时候,通常是通过阅读评论来判断商品的好坏,从而确定是否要买。

当你查看评论时,你的大脑下意识地只记住重要的关键词。你会选择“惊艳”“完美平衡早餐”这样的词,但不要太在意“这个”“给”“全部”“应该”这样的词。如果第二天有人问你评论,你可能不是每个字都记得,但是记住了要点,比如“下次买”,一些次要的内容自然会从你的记忆中消失。

在这种情况下,你记住的单词就可以判断餐厅的好坏。这基本上是LSTM或GRU的作用,他们可以学会只保留相关信息用于预测,而忘记不相关的数据。

RNN评论

为了理解LSTM或GRU是如何做到这一点的,让我们回顾一下RNN。RNN的工作原理是这样的:首先把单词转换成机器可读的向量,然后RNN逐个处理向量序列。

△逐个处理向量序列

在处理时,它将先前的隐藏状态转移到序列的下一步,其中隐藏状态被用作神经网络存储器,它包含相关网络的已处理数据的信息。

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

以下描述了RNN的每个单元如何计算隐藏状态。

首先,将输入和先前的隐藏状态合并成一个向量,该向量包含当前输入和先前输入的信息。在这个向量通过激活函数Tanh之后,它输出一个新的隐藏状态,或者网络内存。

△RNN单位激活函数Tanh

激活函数Tanh用于帮助调整流经网络的值,Tanh函数的输出值始终在区间内。

当向量流经神经网络时,由于各种数学运算,它会经历许多变换。所以,想象一下,一个值乘以3,会逐渐变大,变成天文数字,让其他值看起来微不足道。

△无Tanh函数的向量变换

Tanh函数可以使输出位于区间,从而调节神经网络的输出。您可以看到这些值如何保持在Tanh函数的允许范围内。

△带Tanh函数的向量变换

这是RNN,内部操作很少,但是在适当的情况下很好用。RNN使用的计算资源比它的进化变种LSTM和格鲁少得多

长短期记忆网络

LSTM的控制流程与RNN类似,都是处理前向传播过程中传递信息的数据。不同的是LSTM单元的结构和操作发生了变化。

△LSTM装置及其运行

这些操作可以使LSTM有选择性地保留或忘记某些信息的能力,我们将逐步介绍这些看似复杂的操作。

核心概念

LSTM的核心概念是它的细胞状态和各种门结构。

单元状态相当于可以传输相关信息的通道,这样信息就可以在序列链中传输。这部分可以算是网络的“记忆”。理论上,在序列处理过程中,单位状态总是可以携带相关信息的。因此,前一时间步获得的信息也可以传递到后一时间步的单位,可以削弱短时记忆的影响。

在网络训练过程中,信息可以通过门结构进行添加或移除,不同的神经网络可以通过单位状态下的门结构来决定记忆或遗忘哪些相关信息。

成Σ形的

门结构包含Sigmoid函数,类似于Tanh函数。但它的输出区间不是,而是,这有助于更新或忘记数据,因为任何数字乘以0都是0,这部分信息会被忘记。同样,任何数字乘以1都是相同的值,这个信息会被完全保留。这样网络就可以知道哪些数据不重要可以忘记,哪些数字重要可以保留。

△Sigmoid输出间隔为

下面将深入介绍不同门结构的功能。LSTM单元中有三种调节信息流的门结构:遗忘门、输入门和输出门。

遗忘门

遗忘门可以决定哪些信息应该被丢弃或保留。来自之前隐藏状态的信息和当前输入信息同时输入到Sigmoid函数,输出值在0到1之间。越接近0就越应该忘记,越接近1就越应该保留。

△忘记门操作输入门

输入门用于更新单元状态。首先将之前隐藏的信息和当前输入的信息输入到Sigmoid函数中,调整输出值在0到1之间,决定更新哪些信息,其中0表示不重要,1表示重要。也可以将隐藏状态和当前输入转移到Tanh函数,压缩-1到1之间的值来调整网络,然后将Tanh的输出与Sigmoid的输出相乘,这将决定Tanh的输出中哪些信息是重要的,需要保留。

△输入门操作单元的状态

这里有足够的信息来计算细胞状态。首先将之前的细胞状态和遗忘向量逐点相乘。如果乘以一个接近0的值,则意味着这些值在新的单元状态下可能被丢弃;然后逐点加到输入门的输出值上,将神经网络发现的新信息更新到细胞状态,从而得到新的细胞状态。

△计算单元状态输出门

输出门可以确定下一个隐藏状态的值,该值包含先前输入的相关信息。当然,隐藏状态也可以用于预测。首先将之前的隐藏状态和当前输入传递给Sigmoid函数。然后,将新获得的单元状态转移到Tanh函数。然后将Tanh输出和Sigmoid输出相乘,确定隐藏状态应该携带的信息;最后,隐藏状态作为当前单位输出,新的单位状态和新的隐藏状态传输到下一个时间步。

△输出门操作

综上所述,遗忘门可以决定前一步需要保留哪些相关信息,输入门决定当前输入中需要添加哪些重要信息,输出门决定下一个隐藏状态。

代码示例

这里还有一个用Python写的示例代码,让大家更好的理解这个结构。

首先,我们连接了先前的隐藏状态和当前输入,这里定义为变量combine;把combine变量传递到遗忘层中,以删除不相关数据;再用combine变量创建一个候选层,用来保留可能要添加到单元状态中的值;变量combine也要传递给输出层,来决定应把候选层中的哪些数据添加到新的单元状态中;新的单元状态可根据遗忘层、候选层和输入层和先前的单元状态来计算得到;再计算当前单元输出;最后把输出和新的单元状态逐点相乘可得到新的隐藏状态。

从上面可以看出,LSTM网络的控制流实际上只是一些张量运算和一个for循环。也可以用隐藏状态来做预测。结合这些机制,LSTM可以在序列处理过程中选择性地保留或遗忘某些信息。

苏军总参谋部情报总局

在介绍了LSTM的工作原理之后,让我们来看看门控环路单元gru。GRU是RNN的另一个进化变体,与LSTM非常相似。在GRU结构中,单位状态被移除,隐藏状态用于传输信息。它只有两种门结构,即更新门和重置门。

△GRU单元结构更新门

更新门类似于LSTM的遗忘门和输入门,可以决定丢弃哪些信息和添加哪些新信息。

重置门

复位门用于确定先前信息被丢弃的程度。

这两个部分构成了GRU,它的张量运算较少,所以训练起来比LSTM快。选择网络很难判断哪个更好。研究人员通常两者都尝试,通过性能比较选择更适合当前任务的结构。

总结

总之,RNN适合处理序列数据和预测任务,但会受到短时记忆的影响。LSTM和GRU是通过引入门结构来减少短时记忆影响的两个进化变体,其中门结构可以用来调节通过序列链的信息流。目前,LSTM和GRU常用于许多深度学习应用,如语音识别、语音合成和自然语言理解。

如果你对这方面感兴趣,作者还列出了一些干货链接,以便从更多的角度了解LSTM和GRU的结构。

用python实现GRU和LSTM网络

http://www . wild ml . com/2015/10/recursive-neural-network-tutorial-part-4-implementing-a-grul STM-rnn-with-python-and-antao

了解长期和短期记忆模型

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

最后附上这篇文章的原始链接和视频版本:

原文:

https://towards data sciences . com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explain-44e 9 EB 85 BF 21

-结束-

1.《lstm神经网络 超生动图解LSTM和GPU:拯救循环神经网络的记忆障碍就靠它们了!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《lstm神经网络 超生动图解LSTM和GPU:拯救循环神经网络的记忆障碍就靠它们了!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1695988.html