为了账号安全,请及时绑定邮箱和手机立即绑定

双向RNN、双向LSTM和双向GRU讲解

我们将讨论为什么使用双向RNN(bidirectional RNN),它被用来做什么,它的架构,符号,术语,应用以及缺点等方面。

为什么我们要用它?

在简单的循环神经网络(RNN,即循环神经网络)或单向的RNN中,最终的输出是基于之前的输入值。

但如果我们遇到一个问题,即未来的输入会影响过去的输出。示例:对于命名实体识别(NER)。为解决这些问题,我们使用双向RNNs。

示例:我们来看这两个句子

句子1: 亚马逊是最佳的网站

亚马逊河,那条美丽的河

提到 Amazon 这个词时,可能会产生歧义,也就是说,Amazon 是归类为(ORG)组织还是(LOC)地点。

直到我们看到未来的输入信息之前,我们才能决定应该将这个单词 amazon 放在哪个分类?

双向RNN可以从句子的开头和结尾两个方向处理输入

双向RNN的结构

下面紫色部分说的是RNN:

在 t = 1 时,会发 Amazon

当 t 等于 2 的时候,它就会被传输

在 t = 3 这个时刻,"best" 将会被发送

在 t = 4 时,网站会被发送。

绿色的RNN(递归神经网络)在这里

在 t = 1 时,网站会被发送。

在 t = 2 时,将会发送 best。

在 t=3 时,将被发送

当 t = 4 时,会发送亚马逊

在上面的图中,我们可以看到对于输出 y1 来说,紫色的 RNN 为单词 amazon 做出了贡献。绿色的 RNN 则为单词 the, best, website 做出了贡献。

符号和方程

这些变体

双向RNN的概念也可以扩展到双向的LSTM和GRU。

应用
  1. 实体识别
  2. 词性标注
  3. 机器翻译任务
  4. 情感分析
  5. 时间序列预测任务:使用双向循环神经网络时,性能会有所提升
不足:
  1. 复杂度:由于涉及两个RNN(一个正向一个反向),权重和偏置都翻倍了,因此训练时间也会相应增加。因此过拟合的可能性也会相应增加。
  2. 在实时应用双向RNN时会带来延迟问题(响应较慢)。例如,在实时语音识别场景中,除非说话人说完话,否则我们无法应用双向RNN。当数据不能一次性提供时,双向RNN的使用会遇到问题。
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消