LSTM和GRU

前言

传统的RNN到后期会出现梯度消失现象,前面的内容到后面已经没有办法get到,为此,LSTM和GRU诞生了。

LSTM

长短期记忆模型(long-short term memory)是一种特殊的RNN模型,是为了解决RNN模型梯度弥散的问题而提出的;在传统的RNN中,训练算法使用的是BPTT,当时间比较长时,需要回传的残差会指数下降,导致网络权重更新缓慢,无法体现出RNN的长期记忆的效果,因此需要一个存储单元来存储记忆,因此LSTM模型被提出。

RNN与LSTM的区别:LSTM的分步解析
(1)RNN

这里写图片描述

(2)LSTM

这里写图片描述

部分图形含义如下:

这里写图片描述

LSTMs的核心思想

理解LSTMs的关键就是下面的矩形方框,被称为memory block(记忆块),主要包含了三个门(forget gate、input gate、output gate)与一个记忆单元(cell)。方框内上方的那条水平线,被称为cell state(单元状态),它就像一个传送带,可以控制信息传递给下一时刻。

这里写图片描述

这个矩形方框还可以表示为:

这里写图片描述

这两个图可以对应起来看,下图中心的ctct即cell,从下方输( h t 1 , x t )到输出 h t 的一条线即为cell state, f t i t o t 分别为遗忘门、输入门、输出门,用sigmoid层表示。上图中的两个tanh层则分别对应cell的输入与输出。LSTM可以通过门控单元可以对cell添加和删除信息。通过门可以有选择地决定信息是否通过,它有一个sigmoid神经网络层和一个成对乘法操作组成,如下:

这里写图片描述

该层的输出是一个介于0到1的数,表示允许信息通过的多少,0 表示完全不允许通过,1表示允许完全通过。

逐步解析LSTM
LSTM第一步是用来决定什么信息可以通过cell state。这个决定由“forget gate”层通过sigmoid来控制,它会根据上一时刻的输出 h t 1 和当前输入 x t 来产生一个0到1 的 f t 值,来决定是否让上一时刻学到的信息 C t 1 通过或部分通过。如下:

这里写图片描述

举个例子来说就是,我们在之前的句子中学到了很多东西,一些东西对当前来讲是没用的,可以对它进行选择性地过滤。
第二步是产生我们需要更新的新信息。这一步包含两部分,第一个是一个“input gate”层通过sigmoid来决定哪些值用来更新,第二个是一个tanh层用来生成新的候选值   C ^ t ,它作为当前层产生的候选值可能会添加到cell state中。我们会把这两部分产生的值结合来进行更新。

这里写图片描述

现在我们对老的cell state进行更新,首先,我们将老的cell state乘以 f t 来忘掉我们不需要的信息,然后再与 i t   C ^ t 相加,得到了候选值。一二步结合起来就是丢掉不需要的信息,添加新信息的过程:

这里写图片描述

举个例子就是,在前面的句子中我们保存的是张三的信息,现在有了新的李四信息,我们需要把张三的信息丢弃掉,然后把李四的信息保存下来。最后一步是决定模型的输出,首先是通过sigmoid层来得到一个初始输出,然后使用tanh将 C t 值缩放到-1到1间,再与sigmoid得到的输出逐对相乘,从而得到模型的输出。

这里写图片描述

这显然可以理解,首先sigmoid函数的输出是不考虑先前时刻学到的信息的输出,tanh函数是对先前学到信息的压缩处理,起到稳定数值的作用,两者的结合学习就是递归神经网络的学习思想。至于模型是如何学习的,那就是后向传播误差学习权重的一个过程了。上面是对LSTM一个典型结构的理解,当然,它也会有一些结构上的变形,但思想基本不变,这里也就不多讲了。

GRU

GRU即Gated Recurrent Unit。前面说到为了克服RNN无法很好处理远距离依赖而提出了LSTM,而GRU则是LSTM的一个变体,当然LSTM还有有很多其他的变体。GRU保持了LSTM的效果同时又使结构更加简单,所以它也非常流行。
GRU模型
回顾一下LSTM的模型,LSTM的重复网络模块的结构很复杂,它实现了三个门计算,即遗忘门、输入门和输出门。而GRU模型如下,它只有两个门了,分别为更新门和重置门,即图中的 z t r t 。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。

这里写图片描述

GRU向前传播
根据前面GRU模型图来一步步看他是怎么向前传播的,根据图不难得到以下式子:

这里写图片描述

具体的反向传播算法和LSTM类似,在这里不做过多介绍。详细内容请看GRU

猜你喜欢

转载自blog.csdn.net/qq_29462849/article/details/80636187