ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

动手学深度学习 | 双向循环神经网络 | 59

2021-10-07 15:34:31  阅读:173  来源: 互联网

标签:59 RNN num 神经网络 循环 双向 句子


目录

双向循环神经网络

双向LSTM非常不适合做推理,基础是不能用在预测下一个词。

Bi-RNN的作用主要是对一个句子做特征提取,比如做翻译, 给句子A翻译句子B,那么可以对句子A使用Bi-RNN去双向的看它。

代码

这里代码不会讲具体实现,但是其实很简单,前向的隐藏层就正常进行运算。反向的怎么实现呢?首先把reverse(input),然后输入到隐层得到一个输出,再讲这个输出reverse(), 最后将这个两个输出进行连接。

# 可以直接指定RNN的单元和是否是双向的
lstm_layer = nn.LSTM(num_inputs, num_hiddens, num_layers, bidirectional=True)
model = d2l.RNNModel(lstm_layer, len(vocab))
model = model.to(device)

下面是一个错误的案例,就是要说明不能使用双向循环神经网络来做预测。

QA

  1. 时间序列预测,也用双向的吗?这个能从后向前看吗?

时间序列是不能使用双向的,只能做做完形填空、文本分类这种,可以看完一整段文本的。双向循环神经网络不适合做预测的任务。

  1. 双向循环神经网络,在正向和反向之间有权重关系吗?

没有。因为他们正向和反向的权重是concat在一起的,而不是相加或者其他运算,所以是独立的。

  1. 隐藏层和隐马尔科夫有什么关系?

理论上RNN训练是没有长度限制的,但是训练的时候我们把句子裁剪成了不要过长的子序列(比如35),这里就可以认为暗含使用了隐马尔科夫的假设。

  1. 双向是否可以深度双向?

是的,两层是一组单元,可以进行叠加。

标签:59,RNN,num,神经网络,循环,双向,句子
来源: https://www.cnblogs.com/Rowry/p/15376055.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有