LSTM部分整理

短时记忆

RNN 会受到短时记忆的影响。如果一条序列足够长,那它们将很难将信息从较早的时间步传送到后面的时间步。 因此,如果你正在尝试处理一段文本进行预测,RNN 可能从一开始就会遗漏重要信息。

在反向传播期间,RNN 会面临梯度消失的问题。 梯度是用于更新神经网络的权重值,消失的梯度问题是当梯度随着时间的推移传播时梯度下降,如果梯度值变得非常小,就不会继续学习。

 

 

标准的LSTM

前面提到LSTM由三个门来控制细胞状态,这三个门分别称为忘记门、输入门和输出门。下面一个一个的来讲述。

 

忘记门:

STM的第一步就是决定细胞状态需要丢弃哪些信息。这部分操作是通过一个称为忘记门的sigmoid单元来处理的。它通过查看ht-1和xt信息来输出一个0-1之间的向量,该向量里面的0-1值表示细胞状态Ct-1中的哪些信息保留或丢弃多少。0表示不保留,1表示都保留。忘记门如下图所示。

 

输入门:

下一步是决定给细胞状态添加哪些新的信息。这一步又分为两个步骤,首先,利用ht-1和xt通过一个称为输入门的操作来决定更新哪些信息。然后利用ht-1和xt通过一个tanh层得到新的候选细胞信息Ct,这些信息可能会被更新到细胞信息中。这两步描述如下图所示。

更新操作:

下面将更新旧的细胞信息Ct-1,变为新的细胞信息Ct。更新的规则就是通过忘记门选择忘记旧细胞信息的一部分,通过输入门选择添加候选细胞信息Ct的一部分得到新的细胞信息Ct。

输出门:

更新完细胞状态后需要根据输入的ht-1和xt来判断输出细胞的哪些状态特征,这里需要将输入经过一个称为输出门的sigmoid层得到判断条件,然后将细胞状态经过tanh层得到一个-1~1之间值的向量,该向量与输出门得到的判断条件相乘就得到了最终该RNN单元的输出。该步骤如下图所示。

 

LSTM变体

GRU

GRU(Gated Recurrent Unit ),这是由 Cho, et al. (2014) 提出。在 GRU 中,如下图所示,只有两个门:重置门(reset gate)和更新门(update gate)。同时在这个结构中,把细胞状态和隐藏状态进行了合并。最后模型比标准的 LSTM 结构要简单,而且这个结构后来也非常流行。

 

其中, rt表示重置门,zt表示更新门。重置门决定是否将之前的状态忘记。(作用相当于合并了 LSTM 中的遗忘门和传入门)当ht−1会被忘掉,隐藏状态hˆt会被重置为当前输入的信息。更新门决定是否要将隐藏状态更新为新的状态hˆt​(作用相当于 LSTM 中的输出门) 。

 

和 LSTM 比较一下:

  1. GRU 少一个门,同时少了细胞状态Ct
  2. 在 LSTM 中,通过遗忘门和传入门控制信息的保留和传入;GRU 则通过重置门来控制是否要保留原来隐藏状态的信息,但是不再限制当前信息的传入。
  3. 在 LSTM 中,虽然得到了新的细胞状态 CtCt C_{t}Ct​,但是还不能直接输出,而是需要经过一个过滤的处理:ht​=ot​∗tanh(Ct​);同样,在 GRU 中, 虽然我们也得到了新的隐藏状态hˆt​, 但是还不能直接输出,而是通过更新门来控制最后的输出:

ht​=(1−zt​)∗ht−1​+zt​∗h^t​

 

多层LSTM

多层LSTM是将LSTM进行叠加,其优点是能够在高层更抽象的表达特征,并且减少神经元的个数,增加识别准确率并且降低训练时间。

 

BiLSTM

BiLSTM是Bi-directional Long Short-Term Memory的缩写,是由前向LSTM与后向LSTM组合而成。两者在自然语言处理任务中都常被用来建模上下文信息。

使用LSTM模型可以更好的捕捉到较长距离的依赖关系。因为LSTM通过训练过程可以学到记忆哪些信息和遗忘哪些信息。

但是利用LSTM对句子进行建模还存在一个问题:无法编码从后到前的信息。在更细粒度的分类时,如对于强程度的褒义、弱程度的褒义、中性、弱程度的贬义、强程度的贬义的五分类任务需要注意情感词、程度词、否定词之间的交互。举一个例子,“这个餐厅脏得不行,没有隔壁好”,这里的“不行”是对“脏”的程度的一种修饰,通过BiLSTM可以更好的捕捉双向的语义依赖。

BiLSTM-CRF

https://zhuanlan.zhihu.com/p/51603192

BiLSTM缺乏在整句层面的特征分析,所以需要借助条件随机场(Conditional Random Fields, CRF)的帮助。CRF将序列标注的重点放在句子级别上,根据特征模板来进行标注,通过Viterbi解码来获得最优解。然而CRF有提取特征困难,适用性不够广的问题,因此可以将CRF和LSTM结合起来,这样在保证能够提取足够整句特征的同时,使用有效的序列标注方法进行标注

文本输入经过BiLSTM之后,会把前后向的隐藏态结果进行结合,生成BiLSTM的输出。最后,将BiLSTM的输出喂给CRF作为输入,这样就形成了BiLSTM- CRF结构。

这种结构结合了BiLSTM和CRF的特点和优势:

  1. 作为BiLSTM,它可以有效地保存整句的前后信息,提取句子中的特征信息;
  2. 作为CRF,它能够利用上下文的信息,进行具有很高准确率的序列标注。以下是BiLSTM-CRF的结构:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值