目录

RNN的适用性

RNN结构

双向RNN

LSTM网络

LSTM结构思想

LSTM变体


RNN的适用性

        RNN对于序列数据的效果较好,因为RNN背后的思想是利用顺序信息。

        例如音频数据,文本语句,基因序列,时间序列,视频数据。

        RNN广泛用于自然语言处理中的语音识别,手写书别以及机器翻译等领域。


RNN结构

è¿éåå¾çæè¿°
计算RNN
RNN更新公式
参数说明
x输入
h隐藏单元
o输出
L损失(=训练目标y和输出o的交叉熵)
y训练目标
b、c偏置向量
U、V、W权重矩阵

        对于RNN而言,损失函数的梯度有很高的计算成本。因为前向传播图是固有循序的,无法通过并行化来降低,只能先执行一次前向传播、再接着进行由右向左的反向传播,称之为通过时间反向传播(back-propagation through time,BPTT)

        循环网络为减少的参数数目付出的代价是优化参数可能变得困难。

        大多数RNN中的计算可以分解成3块参数以及相关的变化:①从输入到隐藏层②从前一隐藏状态到下一隐藏状态③从隐藏状态到输出。


双向RNN

模型结构如下

相比于RNN而言,双向RNN的输出单元o受益于输入h中关于过去的相关概要以及输入g中关于未来的相关概要。


LSTM网络

        LSTM是一种RNN的特殊类型,可以学习长期依赖信息。

å¨è¿éæå¥å¾çæè¿°

        LSTM引用自循环的构思,以产生梯度长时间持续流动的路径是初始长短期记忆模型的核心贡献。其中一个关键拓展是使自循环的权重视上下文而定。

LSTM结构思想

①细胞状态

        类似传送带,信息的可以保持较小的变化。

②门结构

        LSTM通过门结构来去除或者增加信息到细胞状态的能力。

       门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过”,1 就指“允许任意量通过”

        sigmoid函数作为选择工具、tanh函数作为变换工具

        1.遗忘门

        sigmoid 层决定让网络记住以前那些内容、遗忘哪些内容,这与新的输入多少还有有一些关系

å¨è¿éæå¥å¾çæè¿°

        2.更新门

        这里我们要决定什么新的信息要被存放到细胞状态中。sigmoid 层决定我们要更新什么内容,tanh层创建了新的候选值向量。

è¿éåå¾çæè¿°

        3.细胞状态更新

        ft与旧状态相乘,丢弃掉我们想遗忘的内容。

        再与C`t相加,决定我们更新每个状态的程度        

è¿éåå¾çæè¿°

        4.输出门

        我们由sigmoid函数确定细胞状态的哪些内容将输出出去,在对细胞状态进行tanh处理,并将两者相乘,即输出了我们确定输出的内容。

è¿éåå¾çæè¿°

LSTM变体

        ①由 Gers & Schmidhuber (2000) 提出的,增加了 “peephole connection”。本质上就是让门层也接受细胞状态的输入。

å¨è¿éæå¥å¾çæè¿°

        ②将遗忘门和更新门结合,即变成一同决定。

å¨è¿éæå¥å¾çæè¿°

        ③Gated Recurrent Unit (GRU),模型比LSTM简单,效率相对高,但是灵活性相对差。

å¨è¿éæå¥å¾çæè¿°

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐