深度学习之RNN

1.循环神经网络

在时间t的时候,对于单个神经元来讲它的输出y(t)如下

y(t)=F(\omega_x *x(t) +\omega_y * y(t-1))

wx是对于输入x的权重,wy是对于上一时刻输出的权重

所以循环神经网络有两个权重。

如果有很多这样的神经元并排在一起

 则在t时刻的输出y为

y(t)=\varnothing (\omega_x*x(t)+\omega_y*y(t-1)+b )

这时输入输出都是向量

2.记忆单元

由于循环神经网络的输入与上个时间有关,因此可以认为RNN具有记忆功能。但是RNN在最开始出现的时候,并没有很好的记忆能力,在keras中存在三种RNN,SimpleRNN,GRU,LSTM,其中SimpleRNN就存在深度学习中梯度消失的问,为了解决这个问题,出现了LSTM.

3.输入输出的序列

对于RNN,输入序列是按照[批量大小,时间步长,特征维度]输入,是一个三维矩阵。但是也可能是二维矩阵。下面分开讲解输入输出的类型

第一种:输入是三维矩阵,输出三维矩阵;

这种输入输出一般叫做序列到序列

我有32种类型的彩票,每一种彩票有100天的号码,每个号码的长度是7位数,那么把这个数据如数到RNN,输入的维度就是[32,100,,7]。

输出时第2到:101天的32种彩票的7位数号码,那么它的维度可以是[32,100,7]

第二种:输入是三维矩阵,输出是二维矩阵;

这种输入输出模式叫做

比如,我们可能只关心101天的结果,那么他就是[32,7]

第三种,输入时二维矩阵,输出是三维矩阵

这种是向量到序列的输入输出模式,但是一般来讲,输入也是一个三维矩阵

在每一个时间步长输入相同的输入向量,输出一个序列。

第四种:编码器解码器模式

这种模式就跟RNN的语言翻译一样,编码器把序列编码为向量,解码器把向量解码为序列。

在tensorflow种输入一般都是三维矩阵,如果你的数据是二维[m,n],则将其升高一个维度就可以了,变成[m,n,1]

4.创建一个RNN网络

个人电脑很难运行起RNN,十分损耗资源。

tensorflow提供了如下几个RNN

(1).SimpleRNN

(2).GRU

(3).LSTM

其中第一个和第二个用的比较少,这是因为普通的RNN梯度不稳定,而且记忆能力十分有限,因此推出了LSTM,GRU时LSTM的简化版,计算效率高,性能虽然比不上LSTM,但是性能还不错。

关于lstm的结构不是本文的研究重点。

创建一个循环神经网络

lstm_1 = keras.layers.LSTM(100, reture_sequence=True)(last_output)

输入是上一层的输出,这里要求last_output的维度是三维

100个节点

returen_sequence:代表是否返回时间序列,如果你只关系之后一个时间,就可以选择False

如果你想写深度循环神经网络,那么就需要选择True

选择True输出就有三维,选择false输出则只有两个维度。

关于RNN的细节之后再补充,RNN的运用也是。

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

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

相关文章

java系列-CountDownLatch

CountDownLatch 不是一种锁,而是一种同步工具类,用于协调多个线程之间的操作。它并不是像 ReentrantLock 或 synchronized 关键字那样实现了锁定机制,而是通过一个计数器来实现线程的等待和通知。 具体来说,CountDownLatch 维护了…

车队试验的远程实时显示方案

风丘科技推出的数据远程实时显示方案更好地满足了客户对于试验车队远程实时监控的需求,并真正实现了试验车队的远程管理。随着新的数据记录仪软件IPEmotion RT和相应的跨平台显示解决方案的引入,让我们的客户端不仅可在线访问记录器系统状态,…

LaTeX 不同章的图片放在不同的文件夹

需求:在写长文档的时候,比如学位论文,每一章都有好几张图片,整个文档一共几十张甚至上百张图片,如果不分开放,想修改某一张图片的时候,找起来比较困难。所以,想把每一章的图片单独放…

git unable to create temporary file: No space left on device(git报错)

1.问题 1.1 vscode中npm run serve跑项目的时候,进度达到95%的时候一直卡着无进度; 1.2 git命令提交代码报错; 2.具体解决 这个错误通常表示你的磁盘空间已经满了,导致 Git 无法在临时目录中创建文件。2.1 清理磁盘空间&#xf…

LeetCode75| 区间集合

目录 435 无重叠区间 452 用最少的箭引爆气球 435 无重叠区间 class Solution { public:static bool cmp(vector<int>&a,vector<int>&b){return a[0] < b[0];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {int res …

低代码平台在金融银行中的应用场景

随着数字化转型的推进&#xff0c;商业银行越来越重视技术在业务发展中的作用。在这个背景下&#xff0c;白码低代码平台作为一种新型的开发方式&#xff0c;正逐渐受到广大商业银行的关注和应用。白码低代码平台能够快速构建各类应用程序&#xff0c;提高开发效率&#xff0c;…

WebGoat 指定端口号

文章目录 新版本的 WebGoat旧版本 WebGoat 新版本的 WebGoat 使用 WEBGOAT_PORT 指定 WebGoat 的端口号 使用 WEBWOLF_PORT 指定 WebWolf 的端口号 java -DWEBGOAT_PORT8081 -jar webgoat-2023.8.jar java -DWEBGOAT_PORT8081 -DWEBWOLF_PORT9091 -jar webgoat-2023.8.jar W…

跨境电商引流真的很难吗?了解一下这些技巧!

随着全球电商市场的不断扩大&#xff0c;越来越多的企业开始涉足跨境电商领域&#xff0c;然而&#xff0c;与国内电商相比&#xff0c;跨境电商面临着诸多挑战&#xff0c;其中最大的难题之一就是如何有效地吸引潜在客户。 很多卖家觉得跨境电商引流非常困难&#xff0c;但实…

解析数据时代----驱动变革与重塑商业的力量

随着科技的飞速发展&#xff0c;我们正处在一个信息爆炸的时代。数据&#xff0c;作为这个时代的核心要素&#xff0c;已经渗透到各个领域&#xff0c;深刻影响着我们的生活、工作和商业模式。本文将深入解析数据时代的特点、影响以及如何应对数据带来的挑战&#xff0c;以适应…

springBoot整合redis做缓存

一、Redis介绍 Redis是当前比较热门的NOSQL系统之一&#xff0c;它是一个开源的使用ANSI c语言编写的key-value存储系统&#xff08;区别于MySQL的二维表格的形式存储。&#xff09;。和Memcache类似&#xff0c;但很大程度补偿了Memcache的不足。和Memcache一样&#xff0c;R…

BAT log-yyyy-mm-dd.log

日志文件 文件名 日期格式化 https://download.csdn.net/download/spencer_tseng/88673832 https://download.csdn.net/download/spencer_tseng/88673716

探究Android DreamService的梦幻世界

探究Android DreamService的梦幻世界 引言 DreamService的概述 在Android开发中&#xff0c;DreamService是一种特殊类型的服务&#xff0c;它可以用于创建梦幻世界的屏保应用。梦幻世界是一种用户界面显示模式&#xff0c;当设备进入空闲状态时&#xff0c;系统会自动启动D…

main函数的参数ac和av

概要&#xff1a; main函数有两个参数&#xff0c;ac和av ac表示参数的个数&#xff0c;程序名包括在内。也就是说程序无参数运行时&#xff0c;ac的值为1 av是一个字符串数组&#xff0c;这个数组中的每个元素表示一个参数&#xff0c;程序名包括在内。也就是说&#xff0c…

linux如何清理磁盘,使得数据难以恢复

sda 是硬盘&#xff0c;sda1 和 sda2 是硬盘的两个分区。centos-root 是一个逻辑卷&#xff0c;挂载在根目录 /。 /dev/sda 是硬盘&#xff0c;/dev/sda1 和 /dev/sda2 是硬盘的两个分区。 [rootnode2 ~]# dd if/dev/urandom of/dev/sda bs4M这个命令将从 /dev/urandom 读取随…

【JavaScript】垃圾回收与内存泄漏

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

JAVA语言—AOP基础

1、AOP概述 AOP&#xff1a;AOP&#xff08;Aspect Oriented Programming&#xff09;&#xff0c;即面向切面编程&#xff0c;可以说是OOP&#xff08;Object Oriented Programming&#xff0c;面向对象编程&#xff09;的补充和完善。 场景&#xff1a;案例部分功能运行较慢&…

「微服务」微服务架构中的数据一致性

在微服务中&#xff0c;一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案&#xff0c;如果其中一个分布式流程参与者出现故障&#xff0c;我们就会面临数据不一致的风险 - 例如在未下订单的情…

Java版商城:Spring Cloud+SpringBoot b2b2c电子商务平台,多商家入驻、直播带货及免 费 小程序商城搭建

随着互联网的快速发展&#xff0c;越来越多的企业开始注重数字化转型&#xff0c;以提升自身的竞争力和运营效率。在这个背景下&#xff0c;鸿鹄云商SAAS云产品应运而生&#xff0c;为企业提供了一种简单、高效、安全的数字化解决方案。 鸿鹄云商SAAS云产品是一种基于云计算的软…

[玩转AIGC]LLaMA2训练自己的中文故事撰写神器(content generation)

目录 一、下载并加载中文数据集二、中文数据集处理1、数据格式2、数据集处理之tokenizer训练格式1&#xff09;先将一篇篇文本拼凑到一起&#xff08;只是简单的拼凑一起&#xff0c;用于训练tokenizer&#xff09;2&#xff09;将数据集进行合并 3、数据集处理之模型&#xff…

学习笔记:机器学习

文章目录 一、机器学习概述二、机器学习活跃领域&#xff08;一&#xff09;数据分析与数据挖掘&#xff08;二&#xff09;人工智能——图像和语音识别 三、经典机器学习算法&#xff08;一&#xff09;线性回归&#xff08;二&#xff09;逻辑回归&#xff08;三&#xff09;…