RNN 循环神经网络
目录RNN的适用性RNN结构双向RNNLSTM网络LSTM结构思想LSTM变体RNN的适用性RNN对于序列数据的效果较好,因为RNN背后的思想是利用顺序信息。例如音频数据,文本语句,基因序列,时间序列,视频数据。RNN广泛用于自然语言处理中的语音识别,手写书别以及机器翻译等领域。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简单,效率相对高,但是灵活性相对差。
更多推荐
所有评论(0)