84. 双向循环神经网络

news2024/9/25 21:27:50

1. 未来很重要

在这里插入图片描述

  • 取决于过去和未来的上下文,可以填很不一样的词
  • 目前为止RNN只看过去
  • 在填空的时候,我们也可以看未来城

2. 双向RNN

两个隐状态层,并行计算隐状态,但是隐状态传播方向相反。

在这里插入图片描述
公式如下:

在这里插入图片描述

3. 推理

在这里插入图片描述

双向RNN不适合做推理,而是主要对一个句子做特征提取。比如做翻译的时候,给定一个句子去翻译下一个句子,那么给我的句子,我可以双向地去看它。

4. 总结

  • 双向循环神经网络通过反向更新的隐藏层来利用时间信息
  • 通常用来对序列抽取特征、填空,而不是预测未来

5. 双向循环神经网络的错误应用

由于双向循环神经网络使用了过去的和未来的数据, 所以我们不能盲目地将这一语言模型应用于任何预测任务。 尽管模型产出的困惑度是合理的, 该模型预测未来词元的能力却可能存在严重缺陷。 我们用下面的示例代码引以为戒,以防在错误的环境中使用它们。

使用双向RNN,只需要在nn.LSTM中加上一句bidirectional=True

import torch
from torch import nn
from d2l import torch as d2l

# 加载数据
batch_size, num_steps, device = 32, 35, d2l.try_gpu()
train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)
# 通过设置“bidirective=True”来定义双向LSTM模型
vocab_size, num_hiddens, num_layers = len(vocab), 256, 2
num_inputs = vocab_size
lstm_layer = nn.LSTM(num_inputs, num_hiddens, num_layers, bidirectional=True)
model = d2l.RNNModel(lstm_layer, len(vocab))
model = model.to(device)
# 训练模型
num_epochs, lr = 500, 1
d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)

运行结果:

在这里插入图片描述

6. Q&A

Q1:双向RNN,反向的初始hidden state是什么?

A1:是0。从代码上来讲,反向和正向是一样的代码实现。

Q2:LSTM为什么要分C和H?

A2:H的取值是-1到+1,而C的取值比较大,没有数值限制,但是使用激活函数后可以把取值范围限制到-1和+1

Q3: 双向是否可以深度双向?

A3:可以的。并且双向的两个隐藏层是看成一组的,如果要弄得更深,就是弄更多这样的组。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/170592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day16集合

1.Collection集合 1.1数组和集合的区别【理解】 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 1.2集合类体系结构【理解】…

web期末作业网页设计——APEX(网页源码)

大学生网页制作期末作业-HTMLCSSJavaScript(包含源码)-apex欢迎来到Apex英雄Apex-legends 充满各种机会的世界 边境远方 偏僻星球群 欢迎来到诸王峡谷 于2019年2月5日发行。玩家在游戏中将扮演外星战场上的星空战士。 《Apex英雄》是由《泰坦天降》制作组…

<栈>的概念结构实现【C语言版】

1.栈的概念及结构 栈存储数据的方式跟数组一样,都是将元素排成一行。只不过它还有以下 3 条约束。 ● 只能在末尾插入数据。 ● 只能读取末尾的数据。 ● 只能移除末尾的数据。 你可以将栈看成一叠碟子:你只能看到最顶端那只碟子的碟面&#xff0c…

微博图床挂了!

一直担心的事情还是发生了。作为hexo多年的使用者,微博图床一直是我的默认选项,hexotyporaiPic更是我这几年写文章的黄金组合。而图床中,新浪图床一直都是我的默认选项,速度快、稳定同时支持大图片批量上传更是让其成为了众多图床…

工具及方法 - 设计你的文件夹结构

电脑上资料总是很多,要如何管理,是每个人都需要处理的问题。 如果处理不好,时间一长,很多资料就可能不知所踪或者难以查找。 出现这种情况,让人头疼,还浪费了时间,降低了工作效率。 所以&…

springboot服务启动JMX监控

前言 java应用部署下在生产环境,肯定是少不了监控的,比如说我们想要监控JVM的线程使用情况,内存使用情况等等。这时候我们可以采用JMX来实现JVM监控,如果对JMX不熟悉,可以参见之前的 精通JVM监控,不知道J…

Java技能树-操作符(二)-练习篇

按位操作符 下面代码执行后的结果是: System.out.println(1 & 2); System.out.println(1 | 2);答案是:A 正确结果是: 0 3Process finished with exit code 0十进制:1 二进制:0000 0001 十进制:2 二进…

【SpringCloud】Erauke的基本原理与使用

【SpringCloud】Erauke的基本原理与使用 一、Eureka-提供者与消费者 【问】如果服务A调用了服务B,而服务B又调用了服务C,服务B的角色是什么? 二、Eureka的结构和作用 什么是Eureka? Eureka 解决服务调用的问题 order-servic…

计算机论文的参考文献,应该怎么引用? - 易智编译EaseEditing

参考文献的引用格式,要看期刊的要求,期刊会规定文章格式,这里面就包括参考文献的格式。 如果不是投稿到期刊,也会有相应的要求,按要求来就行。 不仅很参考文献的格式,还有很多细节也要注意: …

【Java多线程】创建多线程的方式二---实现Runnable接口(多窗口卖票)

题:创建三个窗口卖票,总票数为100张 1.继承Thread类的方式: 因为是三个窗口共卖100张所以我们在定义ticket时要用到static来修饰 private static int ticket 100; 代码如下: class Window extends Thread{private static in…

k8s在华为openeuler搭建

参考文献 Kubernetes1.26.0部署(Ubuntu/CentOS)未完待续https://blog.csdn.net/weixin_67405599/article/details/128466282 Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)https://huaweicloud.csdn.net/633119cbd3efff3090b52068.html op…

宽度优先搜索算法(BFS)详解(超级详细讲解,附有大图)

目录 一.宽度优先搜索(BFS)是什么? 二.图解宽搜(BFS) 三.对比与发现 四。工具——队列 五.模板 六.最后 一.宽度优先搜索(BFS)是什么? 百度百科这样说: 宽度优先搜索…

一文讲透:质量管理的历史

(本文摘自《软件质量保证与管理(第2版)》,清华大学出版社,2020)1875年泰勒制诞生,意味着科学管理的开始,最初的质量管理也就是将检验活动与其他职能分离,出现了专职的检验…

2022-2023年中国数字经济投融资及创新展望研究报告(附下载链接)

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年12月份热门报告盘点罗振宇2023年跨年演讲PPT原稿吴晓波2022年年终秀演讲PPT原稿2023年,如何科学制定年度规划?《底层逻辑》高清配图清华大学256页…

AF647 DBCO荧光染料,AF647 DBCO,Alexa Fluor 647 DBCO,AF-647, 二苯并环辛

一、产品描述:Alexa Fluor 647是一种明亮且可感光的远红色染料,其激发非常适合633 nm激光线。Alexa Fluor 647染料用于在成像和流式细胞仪中产生稳定的信号,在pH 4到pH 10之间为水溶性且对pH不敏感。这种长波长Alexa Fluor 染料的荧光肉眼看不…

什么是元器件二筛,为何要二筛,如何二筛,二筛的要求与分级要点总结

🏡《电子元器件学习目录》 目录1,什么是二筛2,为何要二筛3,如何进行二筛4,二筛的要求5,二筛的分级6,总结1,什么是二筛 电子元器件测试筛选即元器件二次筛选,又被简称为二…

Spring @Autowired 用法

Spring Autowired 用法首先看下Component举例 1 :举例 2 :验证是否调用的是默认构造器如何,在启动的时候执行有参数的构造函数??,这就要看Autowired注解了!Autowired注解首先看下Component 在类级别上添加了Component…

Flask入门教程(视频教程笔记)

初始化flask项目 前面的python环境之类的就不说了。 该博客是看 Flask 入门 这个视频教程写的笔记,如果你想入门一下Flask,可以看看这个课,虽然简短,但是入门部分讲的很好,同时可以利用这篇博客复习复习。如果你想了解…

二、MES的生态链

1、MES功能模块图1、 符合MESA/ISA-95标准,基于SOA架构,技术架构与业务架构分离,实现多厂分布式部署具备标准化模型组件,可根据客户需求选取标准组件、或调整业务对象脚本,组合成全新的业务组件,实现企业ME…

电动汽车热管理方案

热管理技术作为汽车节能、提高经济性和保障安全性的重要措施,在汽车研发过程中具有重要作用。传统燃油汽车的热管理系统主要包括发动机、变速器散热系统和汽车空调,而电动汽车的热管理系统在燃油汽车热管理架构的基础之上,又增加了电机电控热…