【人工智能概论】 RNN、LSTM、GRU简单入门与应用举例

news2024/12/23 18:13:51

【人工智能概论】 RNN、LSTM、GRU简单入门与应用举例

文章目录

  • 【人工智能概论】 RNN、LSTM、GRU简单入门与应用举例
  • 一. RNN简介
    • 1.1 概念简介
    • 1.2 方法使用简介
  • 二. 编码层embedding
    • 2.1 embedding的参数


一. RNN简介

1.1 概念简介

  • 循环神经网络(Recurrent Neural Network)
  • 理念上与CNN类似,都有权值共享的理念在,CNN是一个核扫空间,RNN是一个核扫时间。
  • 具体点说RNN有点像是对线性层的复用。
  • RNN的结构展示:
    在这里插入图片描述
  • 每个时间步都会产生一个隐变量hi,hi会作为输入的一部分传给下一个时间步,hi会保存之前时间步里的信息。

1.2 方法使用简介

  • 可以利用以下的组合实现构建一个RNN结构
RNN = torch.nn.RNN(input_size, hidden_size, num_layers)
outputs, hidden_n = RNN(inputs, hidden_0)
  • 其中:
  • input_size可以理解为词编码的维度,hidden_size是隐变量的维度,num_layers是RNN的堆叠层数;
  • 为了每次输入的都是同一时间步的数据,inputs的形状为(seqlen,batch_size,input_size)
  • hidden_0指的是初始隐变量h0,它是个先验数据,不知道不妨全给0,其形状为(num_layers,batch_size,hidden_size);
  • outputs是所有时间步产生的隐变量,其尺寸为(seqlen,batch_size,hidden_size);
  • hidden_n是最后一个时间步的隐变量hn,其尺寸为(num_layers,batch_size,hidden_size)。

二. 编码层embedding

2.1 embedding的参数

nn.Embedding((num_embeddings,embedding_dim)
  • num_embeddings代表词典大小尺寸,比如训练时所可能出现的词语一共5000个词,那么就有num_embedding=5000;
  • embedding_dim表示嵌入向量的维度,即用一个多少维的向量来表示一个符号。

  • 是一个lookup table,存储了固定大小的dictionary(的word embeddings)。输入是indices,来获取指定indices的word embedding向量。(指定字典大小后,根据索引编号进行查表)
  • (1)把从单词到索引的映射存储在word_to_idx的字典中。(2)索引embedding表时,必须使用torch.LongTensor(因为索引是整数)
  • 其实就是按index取词向量!
  • 其为一个简单的存储固定大小的词典的嵌入向量的查找表,意思就是说,给一个编号,嵌入层就能返回这个编号对应的嵌入向量,嵌入向量反映了各个编号代表的符号之间的语义关系。输入为一个编号列表,输出为对应的符号嵌入向量列表。
  • nn.embedding的输入只能是编号,不能是隐藏变量,比如one-hot,或者其它,这种情况,可以自己建一个自定义维度的线性网络层,参数训练可以单独训练或者跟随整个网络一起训练(看实验需要)

  • 下面那仨都看看 其实主要就是用法,别的也无所谓

在这里插入图片描述- 满足这个形式就可以做维度变换,因此RNN的三维数据也可以直接通过线性层,前N-1维一致即可

在这里插入图片描述- 保障交叉熵的第一个输入是二维的且dim=1的维度上数量是classnum第二个输入target是一维的且与input的dim=0的尺寸一致,

  • 搞清楚它俩的尺寸关系,有助于高分类,为什么直接把x输入线性层就能得到所有的线性映射,因为只看第一个和最后一个。

在这里插入图片描述

在这里插入图片描述
lstm gru的思路也是类似的,只不过更复杂一点,它俩效果差不多,但是gru的计算量小。

在这里插入图片描述

  • 双向LSTM就是正向反向各做一次,然后做拼接

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

每一组,若干特征,若干组(有时序)用于预测一件事,如是否下雨,不是对特征的预测

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

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

相关文章

苹果电容笔值得买吗?ipad电容笔推荐平价

在当今时代,高科技已经成为推动数字产品发展的重要推动力。无论是在工作上,还是在学习上,大屏幕都能起到很好的作用。IPAD将会更好地融入我们的生活,不管是现在还是未来。而ipad配上一支简单的电容笔,不仅可以提高工作…

【机器学习】P22 过拟合和欠拟合的探究2,高偏差与高方差

过拟合与欠拟合的探究2,高偏差与高方差 高偏差和高方差过拟合与欠拟合的解决策略带有L2正则化的神经网络带有早停法的神经网络的完整案例 MINST 高偏差和高方差 高偏差和高方差是机器学习中常见的两个问题,会影响模型的性能。 高偏差(High …

MySQL数据库,聚合查询

目录 1、聚合查询 1.1聚合函数 1.1.1count函数 1.1.2sum函数 1.1.3avg函数 1.1.4max函数 1.1.5min函数 1.2group by子句 1.3having 1、聚合查询 1.1聚合函数 聚合函数查询又叫函数查询,它是通过一些特定的函数根据需求来查询相关的信息,常见的…

代码随想录|day52| 动态规划part13● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

300 最长递增子序列 链接&#xff1a;力扣 看了思路之后写的代码&#xff0c;不知道为什么报错了。 错误一&#xff1a; int nnums.size();vector<int>dp(n,0);dp[0]1;for(int i1;i<n;i){for(int j0;j<i;j){if(nums[i]>nums[j]){dp[i]max(dp[i],dp[j]1);}}}retu…

Java版本企业电子招投标采购系统源代码——功能模块功能描述+数字化采购管理 采购招投标

​ 功能模块&#xff1a; 待办消息&#xff0c;招标公告&#xff0c;中标公告&#xff0c;信息发布 描述&#xff1a; 全过程数字化采购管理&#xff0c;打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力&#xff0c;为外…

ChatGPT 聊天接口API 使用

一、准备工作 1.准备 OPENAI_ACCESS_TOKEN 2.准备好PostMan 软件 二、测试交流Demo 本次使用POSTMAN工具进行快速测试&#xff0c;旨在通过ChatGPT API实现有效的上下文流。在测试过程中&#xff0c;我们发现了三个问题&#xff1a;    1.如果您想要进行具有上下文的交流&…

【prettier Error resolving prettier configuration for x:\xxx\.prettierrc.js】

Prettier Error resolving prettier configuration for x:\xxx.prettierrc.js 解决方法 Prettier 出现如下错误 错误 内容内联代码片 Error resolving prettier configuration for d:\map\user_package\Leaflet.FileLayer-master\.prettierrc.js ["ERROR" - 10:38…

Facebook、Google、亚马逊,谁将成为跨境电商的营销宠儿?

跨境电商在全球范围内的发展日益迅猛&#xff0c;而营销渠道的选择也变得越来越多样化。在众多的广告平台中&#xff0c;Facebook、Google和亚马逊被公认为是跨境电商卖家们最主要的营销平台。那么&#xff0c;这三个平台中哪个会成为跨境电商的营销宠儿呢&#xff1f; 一、Fac…

自动驾驶——智能底盘构造详解及新发展

摘要&#xff1a; 汽车底盘是指汽车上由传动系统、行驶系统、转向系统和制动系统等部分的组合&#xff0c;其功能包括支承、安装汽车车身、发动机及其它各部件及总成&#xff0c;形成汽车的整体造型&#xff0c;承受发动机动力&#xff0c;保证车辆正常行驶等。 底盘构造介绍 …

摄像头/视频读取_写入

摄像头/视频读取_写入 ➢VideoCapture类: 使用 OpenCV 播放视频&#xff0c;几乎与使用它来显示图像一样容易。播放视频时只需要处理的新问题就是如何循环地顺序读取视频中的每一顿&#xff0c;以及如何从枯燥的电影视频的读取中退出该循环操作。具体如例如下&#xff1a; #…

【计算机架构】如何计算 CPU 动态功耗

&#x1f4dc; 本章目录&#xff1a; 0x00 动态功耗&#xff08;Dynamic Power&#xff09; 0x01 集成电路成本&#xff08;Integrated Circuit Cost&#xff09; 0x02 基准测试&#xff08;SPEC CPU Benchmark&#xff09; 0x03 SPEC功率基准测试&#xff08;SPEC Power B…

vs2022下配置zxing cpp环境

生成zxing 下载zxing&#xff0c;zxing-cpp-master https://github.com/zxing-cpp/zxing-cpp Cmake生成项目&#xff0c;点Generate&#xff0c;把OpenCV_DIR修改了&#xff0c;NameValue没有报红就点Generate。然后点Open Project打开项目。 打开项目后&#xff0c;右击解决…

赋值法写基础解系中解向量

赋值法写基础解系中解向量 &#xff08;一&#xff09;背景引入 通常解方程组时&#xff0c;将系数矩阵化为行阶梯型&#xff0c;进而可化为行最简型 &#xff08;说一嘴&#xff1a;行最简型是指阶梯口元素全是1&#xff0c;该1所在列全其余全为0&#xff1b;广义行阶梯的阶梯…

maven作用讲解---以及怎么配置阿里的maven镜像

目录 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven 2. 修改 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven (1) 把 D:\program\JavaIDEA 2020.2\plugins\maven\lib\maven3\conf\settings.xml…

DNS服务

DNS服务 使用背景 在日常生活中人们习惯使用域名访问服务器&#xff0c;但机器间互相只认IP地址&#xff0c;域名与IP地址之间是多对一的关系&#xff0c;一个ip地址不一定只对应一个域名&#xff0c;且一个完整域名只可以对应一个ip地址&#xff0c;它们之间的转换工作称为域…

锐捷常用命令

所有交换机和无线控制器开启SSH服务&#xff0c;用户名密码分别为admin、admin1234&#xff1b;密码为明文类型,特权密码为admin 以S5为例&#xff1a; S5(config)#enable service ssh-server S5(config)#username admin password admin123 S5(config)#line vty 0 4 S5(co…

【C++ 十】STL基本概念、STL六大组件、STL容器、STL算法、STL迭代器

STL 的诞生、STL 基本概念、STL 六大组件、STL 容器、STL 算法、STL 迭代器 文章目录 STL 的诞生、STL 基本概念、STL 六大组件、STL 容器、STL 算法、STL 迭代器前言1 STL 的诞生2 STL 基本概念3 STL 六大组件4 STL 中容器、算法、迭代器5 容器算法迭代器初识5.1 vector 存放内…

vue2数据响应式原理(4) 递归侦测对象所有属性,解密vue响应式对象__ob__是干什么的

我们上文写的这个方法 并不能很好的侦测对象所有的属性 或者说 不能比较简介的侦测所有属性 在实际业务中 对象里面套对象 也不是什么很少见的事 例如这样 这种 我们用上一种方法 就很麻烦了 所以 我们需要了解新的方法 要完成完整的属性监听 我们就需要一个工具类 这个类的…

js+css实现简单的弹框动画

效果图 只是一个简单的演示demo&#xff0c;但是可以后面可以优化样式啥的 刚开始元素的display为none&#xff0c;然后&#xff0c;为了给元素展示时添加一个动画&#xff0c;首先要添加样式类名show&#xff0c;让它覆盖display:none&#xff0c;变得可见。然后&#xff0c;添…

Day951.认知负载 -遗留系统现代化实战

认知负载 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于认知负载的内容。 一、怎样理解认知负载&#xff1f; 作为开发人员&#xff0c;不管是不是工作在遗留系统上&#xff0c;一定面临过来自业务方或项目经理的灵魂拷问&#xff1a; 为什么这个需求这么简单&…