目前为止讨论了具有一个隐藏循环神经网络其中变量观测具体函数形式交互方式相当随意只要交互类型建模具有足够灵活性不是一个单问题然而对一个单层来说可能具有相当挑战性之前线性模型我们通过添加更多解决这个问题循环神经网络我们首先需要确定如何添加更多以及哪里添加额外非线性

事实上我们可以多层循环神经网络堆叠在一起通过几个简单组合产生一种灵活机制特别数据可能不同层堆叠有关例如我们可能希望保持有关金融市场状况宏观数据可用微观数据记录较为短期时间动态

9-8展示了一个具有L隐藏深度循环神经网络每个状态都连续传递当前下一个时间步下一层当前时间

9.3.1 函数依赖关系

我们可以将深度架构中函数依赖关系形势这个架构9-8展示L隐藏构成后续的讨论主要集中经典循环神经网络模型但是这些讨论也适应其他序列模型

假设时间步t又一个小批量输入数据Xt属于Rnxd同时l隐藏输出变量Ot属于Rnxq, 设置Ht = Xtl隐藏层状态使用激活函数Sigmal

Ht = Sigma (Ht Wxh + Ht-1Whh + Bh)

权重Wxh属于RhxhWhh属于Rhh偏置Bh属于Rlxh 都是l隐藏模型参数

Ot = HtWhq + Bq

其中权重Whq属于Rhxq偏置Bq属于Rlxq都是输出模型参数

与多层感知机一样隐藏L隐藏单元h都是参数也就是说他们可以我们调整用门控循环单元或者长短期记忆网络状态代替9.8状态进行计算可以很容易得到深度门控循环神经网络或者深度长短期记忆神经网络

9.3.2 简洁实现

实现多层循环神经网络所需许多逻辑细节高级API都是现成为简单起见我们仅仅示范使用此类内置函数实现方式长短期记忆网络模型为例其实现代码之前9.2使用代码非常相似实际上唯一区别是我们指定数量而不是使用单一这个默认值之前一样我们加载数据集开始

import torch

from torch import nn

from d2l import torch as d2l

batch_size, num_steps = 32,35

train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)

这样参数类型架构决策也与9.2中的决策非常相似因为我们不同词元所以输入输出都选择相同数量vocab_size单元数量仍然256, 唯一区别我们现在通过num_layers 设定隐藏

vocab_size, num_hiddens, num_layers = len(vocab), 256, 2

num_inputs = vocab_size

device = d2l.try_gpu()

lstm = nn.LSTM(num_inputs, num_hiddens, num_layers)

model = d2l.RNNModel(lstm_layer, len(vocab))

model=model.to(device)

9.3.3 训练预测

使用长短期记忆网络模型实例化两个层因此训练速度大大降低了

num_epochs, lr = 500, 2

d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)

小结

在深度循环神经网络状态信息传递当前下一个时间步下一层当前时间步

有许多不同风格深度循环神经网络长短期记忆网络门控循环单元常规循环神经网络这些模型深度学习框架高级API都有涵盖

总体而言深度循环神经网络需要大量调参来确保合适收敛模型初始化也需要谨慎

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

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

相关文章

CSS in JS 的演进:Styled Components, Emotion 等的深度对比与技术选型指引

CSS in JS 的演进:Styled Components, Emotion 等的深度对比与技术选型指引在现代前端开发中,组件化思维已成为主流,而如何科学、高效地管理组件的样式,也随之成为了一个重要议题。CSS in JS(JS中的CSS)应运…

【正则表达式】 正则表达式的分组和引用

🌈 个人主页:(时光煮雨) 🔥 高质量专栏:vulnhub靶机渗透测试 👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~) 🌵目录🌵 前言 🍱一、基本语法 🍘二、分组类型 🍙2.1.…

Grafana 导入仪表盘失败:从日志排查到解决 max\_allowed\_packet 问题

问题背景 近期在为项目搭建一套基于 Prometheus 和 Grafana 的可观测性体系。在完成基础部署后,我准备导入一个功能相对复杂的官方仪表盘模板,以便快速监控各项指标。然而,当上传仪表盘的 JSON 文件并点击保存时,Grafana 界面却反…

java对接物联网设备(一)——使用okhttp网络工具框架对接标准API接口

当前无论是在互联网领域,还是物联网项目下,亦或者各类应用类软件,基于http标准接口的对接是目前市面上最常见也是最简单的数据交互方式之一,甚至可以说是最流行的,因为它不依赖的各种插件或者服务。 开发者或者提供服…

版本管理系统与平台(权威资料核对、深入解析、行业选型与国产平台补充)

本文是一篇基于公开权威资料(官方文档、产品页、厂商技术文章与技术社区讨论)重新检索、核对后撰写的详尽博文。内容覆盖:版本控制基础、主流 VCS 工具深度比较、常见托管/协作平台(含中国本土平台:Gitee / GitCode / …

计算机毕设选题:基于Python+Django的B站数据分析系统的设计与实现【源码+文档+调试】

精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、项目介绍二…

Easy ES技术详解

从Java代码示例到高级特性 框架介绍 Easy-Es 是一款以 “简化 Elasticsearch 操作的 ORM 框架” 为核心定位的开源工具,旨在通过低代码设计降低 Elasticsearch 的使用门槛。作为国内 Top1 Elasticsearch 搜索引擎框架,其最显著的优势在于大幅缩减代码量…

【51单片机】【protues仿真】基于51单片机停车场的车位管理系统

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 一、主要功能 1、LCD1602液晶显示 2、统计并显示停车场现有车辆数和已停放过车辆数 3、按键设置总车位数以及剩余车位数 4、统计并显示累计驶入和累计驶出车辆数 5、用16个LED灯模拟停车位 6、车…

【Python】S1 基础篇 P4 if 语句指南

目录简单示例条件测试检查是否相等与不等检查多个条件检查特定的值是否在/不在列表中布尔表达式if语句简单的if语句if-else语句if-elif-else语句使用if语句处理列表检查特殊元素确定列表非空使用多个列表总结if 语句是Python编程中最基本也是最重要的控制结构之一。它允许程序根…

【实战中提升自己】内网安全部署之STP的安全技术部署

1 1拓扑 「模拟器、工具合集」复制整段内容 链接:https://docs.qq.com/sheet/DV0xxTmFDRFVoY1dQ?tab7ulgil1 STP的安全技术部署 说明:为什么需要注意STP的安全呢,在二层中其实存在很多不安全的因素,物理上…

GEM5学习(5): ARM 架构功耗仿真

运行脚本基于gem5提供的脚本,启动功耗仿真。实际工作中应该不会用gem5进行功耗的仿真吧,Cadence和Synopsys好像都有配套的的功耗建模工具。事先要配置好 IMG_ROOT的环境变量./build/ARM/gem5.opt configs/example/arm/fs_power.py \--caches \--bootl…

【Python基础】 19 Rust 与 Python if 语句对比笔记

一、基本语法对比 Rust if 语句 // 基本形式 let number 7;if number < 5 {println!("condition was true"); } else {println!("condition was false"); }// 多条件 else if if number % 4 0 {println!("number is divisible by 4"); } el…

Vue项目_项目配置脚本代码详细讲解

Vue项目代码详细讲解 1. jsconfig.json - JavaScript配置文件 {"compilerOptions": { // 编译器选项配置"target": "es5", // 编译目标&#xff1a;将代码编译为ES5版本&#xff0c;确保更好的浏览器兼容性"module": "esnext…

第一节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门

Vben Admin vben5 系列文章目录 &#x1f4bb; 基础篇 ✅ 第一节&#xff1a;Vben Admin 最新 v5.0 (vben5) Python Flask 快速入门 ✅ 第二节&#xff1a;Vben Admin 最新 v5.0 (vben5) Python Flask 快速入门 - Python Flask 后端开发详解(附源码) ✅ 第三节&#xff1a;V…

Guava中常用的工具类

1. 集合工具类&#xff08;com.google.common.collect&#xff09;Guava 对 Java 集合框架进行了丰富扩展&#xff0c;解决了标准集合的诸多痛点。&#xff08;1&#xff09;Lists / Sets / Maps:用于简化集合创建和操作&#xff1a;// 创建不可变集合&#xff08;线程安全&…

redission实现读写锁的原理

Redisson 实现分布式读写锁的核心原理是 ​基于 Redis 的 Lua 脚本原子操作​ ​Pub/Sub 通知机制&#xff0c;在保证强一致性的同时实现高效的读并发&#xff08;读不阻塞读&#xff0c;写阻塞读&#xff09;。以下是其核心设计&#xff1a;​一、核心数据结构​Redisson 使用…

【 ​​SQL注入漏洞靶场】第二关文件读写

SQLi-Labs​它是一个开源的、专门为学习 ​​Web安全​​ 和 ​​SQL注入技术​​ 而设计的靶场项目。开发者故意在代码中留下了各种不同类型的SQL注入漏洞&#xff0c;让安全研究人员、学生和爱好者可以在一个合法、安全的环境中进行实战练习&#xff0c;从而掌握发现和利用SQ…

设计艺术~缓存结构设计

背景 面对高QPS场景的业务&#xff0c;不得不考虑对一些数据做缓存设计&#xff0c;常见的缓存设计有这些&#xff1a;DB Proxy缓存、分布式缓存、Localcache缓存。 在考虑加缓存的背景下不考虑数据的一致性&#xff0c;都是瞎扯&#xff0c;所以我们再定义一下数据的一致性场景…

后端开发技术栈

后端开发技术栈核心技术内容平台 (Content Platform)电商 (E-Commerce)金融科技 (FinTech) / 支付物联网 (IoT - Internet of Things)游戏后端 (Game Backend)社交平台搜索平台企业级应用开发音视频处理后端地图与地理位置服务DevOps大数据开发大模型应用开发智能合约开发核心技…

【ICCV2025】计算机视觉|即插即用|ESC:颠覆Transformer!超强平替,ESC模块性能炸裂!

论文地址&#xff1a;https://arxiv.org/pdf/2503.06671 代码地址&#xff1a;https://github.com/dslisleedh/ESC 关注UP CV缝合怪&#xff0c;分享最计算机视觉新即插即用模块&#xff0c;并提供配套的论文资料与代码。 https://space.bilibili.com/473764881 摘要 本研究…