理解RNN以及模型搭建代码

news2024/11/26 12:49:59

RNN结构

这是一张不直观易懂的RNN结构示意图。但也是大家见得最多结构示意图。

RNN模型解释

RNN一文就讲解清楚的博客,看这里:https://zhuanlan.zhihu.com/p/408998328

RNN为什么梯度消失和梯度爆炸,看这里:https://zhuanlan.zhihu.com/p/564069442?utm_id=0

疑惑梳理

RNN模型是怎么构成的?

先别去想象那些时间传递的概念,现在你只知道单个单个的RNN神经元,我们用单个的RNN神经元排列成矩阵。
若矩阵3列50行,则可以想象为有三串RNN,每串 RNN神经元单元个数50个
这就是3层RNN,每层50个隐藏层的RNN结构。一般理解为存在一个隐藏单元就有一个RNN神经元单元

RNN层是什么?层与层之间传递吗?

层就是指一串RNN神经元单元,且单个神经元之间没有传递关系。
层与层之间,层对应相同位置的神经元之间才会有会有传递关系。

RNN如何发挥传递作用的?

RNN的传递作用是时间刻度上的,比如上面的结构,我们有3层RNN,每层50个隐藏层的RNN结构。
在训练时,每个单个RNN元素单元将当前的状态传递给下一个时间步同一位置的RNN神经元单元。在模型结构上,根本不存在RNN元素单元状态平行的传递给同一层其他结构的情况。
这里有个很重要的理解!!!很多博客都没讲清楚这一点。
同一层的RNN单个神经元是独立的神经元,没有传递关系。
RNN神经元的输入来自上一层的,一个RNN神经元有两个输出,一个去了下一层,一个去了下一个状态。如图:

在上面图中,你将单个神经元位置的时间线放出来就是这个结构。是不是有种峰回路转的感觉。

RNN,CNN神经元都是一个时间步对应输出一个不同的状态?他们有什么区别?

CNN的每个神经元元素状态只与当前输入有关,参数更新只与当前反向传播有关。
RNN的每个神经元元素状态不仅与当前输入有关还与这个元素之前的状态有关,参数更新也受之前状态和反向传播共同影响

50个隐藏层的RNN模型,如何训练60个数据长度的数据?

你忘了吗?
如下图,五个隐藏层训练了六个数据单元。

pytorch模型搭建

'''
模型搭建
'''
print("正在模型搭建 RnnModel--RNN(60, 50, 3) !!!")
class RnnModel(nn.Module):
    def __init__(self):
        super(RnnModel, self).__init__()
        '''
        参数解释:(输入维度,隐藏层维度,网络层数)
        '''
        self.rnn = nn.RNN(60, 50, 3, nonlinearity='tanh')
        self.linear = nn.Linear(50, 2)

    def forward(self, x):
        r_out, h_state = self.rnn(x)
        output = self.linear(r_out[:,-1,:])  # 将 RNN 层的输出 r_out 在最后一个时间步上的输出(隐藏状态)传递给线性层

        return output

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

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

相关文章

隧道技术的三种应用场景(IPv6,多播,VPN)

目录 1.IPv6的隧道技术 2.多播路由选择 (1)洪泛 (2)隧道技术 (3)基于核心的发现技术 3.隧道技术实现(VPN)虚拟专用网 1.IPv6的隧道技术 IPv6与IPv4的过渡技术中包含了IPv6的隧道技术: http://t.csdnimg.cn/wuvXY 2.多播路由选择 转发…

Redis数据类型之List类型

文章目录 简介常用命令赋值语法LPUSHRPUSHLPUSHXRPUSHX 取值语法LLENLINDEXLRANGE 删除语法LPOPRPOPBLPOPBRPOPLTRIMLREM 修改语法LSETLINSERT 高级命令RPOPLPUSH 应用场景 简介 List类型是一个链表结构的集合,其主要功能有push,pop,获取元素…

2023中国互联网公司排行榜!

日前,中国互联网协会正式发布《中国互联网企业综合实力指数(2023)》报告,同时还发布了2023年中国互联网综合实力前百家企业榜单、2023年中国互联网成长型前二十家企业和数据安全服务前五家企业名单。 总体来看,我国互…

C/C++特殊求和 2021年6月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C幻数求和 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C幻数求和 2021年6月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 如果一个数能够被7整除或者十进制表示中含有数字7&…

已解决:云原生领域的超时挂载Bug — Kubernetes深度剖析

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

尼得科电机的强大性能,将列车门和屏蔽门的开合变得从容而安全

城市脉动,人流涌动。 无论城市轨道交通还是远途铁路运输, 尼得科电机的强大性能,将列车门和屏蔽门的开合变得从容而安全。 尼得科的电机方案,有助于列车门稳准开闭,保障乘客安全无忧。高效驱动,让乘客的行程…

VUE获取当前日期的周日和周六

<template><div><div click"handleLast()">上一周</div><div click"handleNext()">下一周</div><el-calendarref"monChild"v-model"value":first-day-of-week"7":range"[sta…

iis 部署 netcore 和vue 共用端口

常规情况下&#xff0c;vue 和api是分开的两个站点进行部署&#xff0c;若是要对外只有一个端口的话&#xff0c;采用以下梁总方式即可。 1.需要配置路由转发和代理开启&#xff08;vue 使用hisoty模式&#xff09; 参考链接.netCore vue&#xff08;history模式&#xff0…

线性代数(六)| 二次型 标准型转换 正定二次型 正定矩阵

文章目录 1. 二次型化为标准型1.1 正交变换法1.2 配方法 2 . 正定二次型与正定矩阵 1. 二次型化为标准型 和第五章有什么样的联系 首先上一章我们说过对于对称矩阵&#xff0c;一定存在一个正交矩阵Q&#xff0c;使得$Q^{-1}AQB $ B为对角矩阵 那么这一章中&#xff0c;我们…

IBM Qiskit量子机器学习速成(一)

声明&#xff1a;本篇笔记基于IBM Qiskit量子机器学习教程的第一节&#xff0c;中文版译文详见&#xff1a;https://blog.csdn.net/qq_33943772/article/details/129860346?spm1001.2014.3001.5501 概述 首先导入关键的包 from qiskit import QuantumCircuit from qiskit.u…

暴力递归转动态规划(十四)

题目 arr是面值数组&#xff0c;其中的值都是正数且没有重复。再给定一个正数aim。 每个值都认为是一种面值&#xff0c;且认为张数是无限的。 返回组成aim的最少货币数 暴力递归 依然是面值张数的问题&#xff0c;暴力递归尝试的过程是从数组arr index 0位置出发&#xff0c…

mongodb导出聚合查询的数据

❗️❗️❗️在正文之前先要讲一个坑&#xff0c;就是mongoexport这个命令工具不支持导出聚合查询的数据&#xff0c;比如通过某某字段来分组 我查了一天关于mongoexport怎么来导出聚合查询的结果集&#xff0c;最终还是gpt给了我答案 &#x1f62d; 既然mongoexport不支持&…

Postgresql数据类型-布尔类型

前面介绍了PostgreSQL支持的数字类型、字符类型、时间日期类型&#xff0c;这些数据类型是关系型数据库的常规数据类型&#xff0c;此外PostgreSQL还支持很多非常规数据类型&#xff0c;比如布尔类型、网络地址类型、数组类型、范围类型、json/jsonb类型等&#xff0c;从这一节…

微信的通讯录联系人,有没有什么办法导出来做备份

6-10 这是可以做到的&#xff0c;并且很简单&#xff0c;对于需要把微信通讯录备份出来&#xff0c;或者离职交接的人来说&#xff0c;本文非常适合阅读&#xff0c;只是一个简单的方法&#xff0c;即可快速地把微信的通讯录搞出来&#xff0c;本质其实就是使用正确的工具就行…

Capacitor 插件 实现本地通知 Local Notification @capacitor/local-notifications

Capacitor 插件 实现本地通知 Local Notification capacitor/local-notifications 在前一个文章中使用 Capacitor 和 H5 应用构建了一个 Android 应用&#xff0c;这个 h5 是通过 uniapp 生成的。 https://blog.csdn.net/KimBing/article/details/134093769 这个应用的构成是这…

微机原理3

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。 1. 在机器数中&#xff0c;零的表示形式唯一的编码是() A. 原码 B. 补码 C.移码 D. 反码 2,用于定义常数、变量的内存空间分配和定位的是()。 A. 伪指令 B.机器指令…

(C++17) variant的使用与union对比

文章目录 前言与需求union内存映射图C11的union 使用ref示例构造普通构造置空emplacemonostate 访问std::get<>std::holds_alternative<>获取指针std::get_if<>获取可选数量个数std::variant_size END 前言与需求 联合体&#xff0c;是在C语言时代就存在的概…

『亚马逊云科技产品测评』活动征文|AWS 云服务器实例类型及其适用场景详细说明

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 目录 一、AWS 定价计算器 &#xff08;1&#xff09;定价计算器官网 &…

Linux环境配置(云服务器)

目录 1.第一步&#xff1a;购买云服务器 2.第二步&#xff1a;下载Xshell 7 3.第三步&#xff1a;打开Xshell&#xff0c;登录云服务器 4.第四步&#xff1a;更加便捷的云服务器登录方式 1.第一步&#xff1a;购买云服务器 &#xff08;推荐&#xff1a;阿里云、华为云、腾…

机器视觉工程师注意,没有经历过公司倒闭看下文章,机器视觉公司即将要倒闭的征兆是什么?

很多机器视觉工程师没有经历过公司倒闭&#xff0c;谁也不想自己的公司倒闭&#xff0c;毕竟我们是打工人&#xff0c;拿固定工资的。 机器视觉公司即将要倒闭的征兆有哪些迹象​&#xff1f;​ 1、PM&#xff0c;机器视觉工程师频繁开会&#xff0c;甚至周末强制开会。 2.停…