双向长短期记忆网络(Bi-LSTM)

在开始之前,首先区分下均命名为RNN,新手很容易混淆的两大神经网络:循环神经网络(Recurrent Neural Network,RNN)和递归神经网络(Recurssion Neural Network,RNN)。
递归神经网络(RNN)是空间上的展开,处理的是树状结构的信息,模型结构如下:
双向长短期记忆网络(Bi-LSTM)_第1张图片

循环神经网络(RNN)是时间上的展开,擅长处理以时间序列数据作为输入的预测问题, 其原因在于 RNN 的网络结构可以处理时间序列数据之间的相关性。模型结构如图所示,包括输入层 x、隐藏层 h、输出层 o,在隐藏层 h 上有一个循环操作,同时 RNN 在所有时刻的线性关系参数 U、 W、 V 都是共享的, 极大地减少了参数训练量.。图 (b) 为 RNN 展开结构图, 可以看到 RNN 通过权值 W 实现隐藏层之间的依赖关系。
双向长短期记忆网络(Bi-LSTM)_第2张图片

1、长短期记忆神经网络LSTM

长短期神经网络(long short term memory,LSTM)是循环神经网络(RNN)的一种。实际应用中发现RNN 存在诸如梯度消失、梯度爆炸以及长距离依赖信息能力差等问题,因此引入了 LSTM。LSTM 在主体结构上与 RNN 类似,其主要的改进是在隐藏层 h 中增加了3 个门控 (gates) 结构,分别是遗忘门 (forget gate)、输入门 (input gate)、输出门 (output gate),同时新增了一个隐藏状态 (cell state) 。LSTM 隐藏层结构原理如下图所示,f(t)、i(t)、 o(t) 分别表示 t 时刻遗忘门、输入门、输出门的值,a(t) 表示 t 时刻对 h(t–1) 和 x(t) 的初步特征提取。
双向长短期记忆网络(Bi-LSTM)_第3张图片
具体的计算过程为:
双向长短期记忆网络(Bi-LSTM)_第4张图片
其中,xt表示 t 时刻的输入, ht–1 表示 t–1 时刻的隐层状态值;
Wf、 Wi、 Wo 和 Wa 分别表示遗忘门、输入门、输出门和特征提取过程中 ht–1 的权重系数;
Uf、 Ui、Uo和 Ua 分别表示遗忘门、输入门、输出门和特征提取过程中 xt 的权重系数;
bf、 bi、 bo 和 ba 分别表示遗忘门、输入门、输出门和特征提取过程中的偏置值;
tanh 表示正切双曲函数,σ表示激活函数 Sigmoid。
双向长短期记忆网络(Bi-LSTM)_第5张图片
遗忘门和输入门计算的结果作用于 c(t–1), 构成t 时刻的细胞状态 c(t),用公式表示为:
在这里插入图片描述
其中, ⊙为 Hadamard 积。最终,t 时刻的隐藏层状态 h(t) 由输出门 o(t) 和当前时刻的细胞状态 c(t) 求出:
在这里插入图片描述

2、双向长短期记忆神经网络Bi-LSTM

Bi-LSTM 神经网络结构模型分为 2 个独立的LSTM,输入序列分别以正序和逆序输入至 2 个LSTM 神经网络进行特征提取,将 2个输出向量(即提取后的特征向量)进行拼接后形成的词向量作为该词的最终特征表达。Bi-LSTM 的模型设计理念是使 t 时刻所获得特征数据同时拥有过去和将来之间的信息,实验证明,这种神经网络结构模型对文本特征提取效率和性能要优于单个 LSTM 结构模型。值得一提的是,Bi-LSTM 中的 2 个 LSTM 神经网络参数是相互独立的,它们只共享 word-embedding词向量列表。

双向长短期记忆网络(Bi-LSTM)_第6张图片

你可能感兴趣的:(自然语言处理,深度学习,神经网络,机器学习)