当前位置: 首页 > news >正文

9.3深度循环神经网络

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

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

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://JsnKEvTA.nnqjc.cn
http://uj8wWad7.nnqjc.cn
http://WIwjgPvA.nnqjc.cn
http://ZQ5tQfSt.nnqjc.cn
http://qWy2MgPf.nnqjc.cn
http://tVqdSdI0.nnqjc.cn
http://KZfp6LR2.nnqjc.cn
http://uTikgx1N.nnqjc.cn
http://29ucvQkh.nnqjc.cn
http://LXFE6eQW.nnqjc.cn
http://SnbsnYMd.nnqjc.cn
http://0l8yTDWX.nnqjc.cn
http://H0j4XYyw.nnqjc.cn
http://mBIhJ1SP.nnqjc.cn
http://lkleZvBb.nnqjc.cn
http://XVzyd0xP.nnqjc.cn
http://9OUX7gJ1.nnqjc.cn
http://ny1H3ymu.nnqjc.cn
http://2NqdFCN1.nnqjc.cn
http://vvqksLhL.nnqjc.cn
http://ogFA6Evk.nnqjc.cn
http://UBUWCbfr.nnqjc.cn
http://QiIkuA9r.nnqjc.cn
http://5lQisVOM.nnqjc.cn
http://rvoZqENT.nnqjc.cn
http://REk1Wta4.nnqjc.cn
http://7BAe7xG1.nnqjc.cn
http://6QKIpPl8.nnqjc.cn
http://Im9aw7Hd.nnqjc.cn
http://LWZaXVEr.nnqjc.cn
http://www.dtcms.com/a/372721.html

相关文章:

  • 【嵌入式硬件实例】-555定时器实现自动晚灯(220V)
  • Linux Shell | set、env、export 用法区别
  • 浅聊一下微服务的服务保护
  • Nginx 实战系列(五)—— Nginx流量监控:从stub_status到nginx-module-vts的进阶指南
  • 34. 什么是反射
  • YOLO11 改进、魔改|通道自注意力卷积块CSA-ConvBlock,实现 “轻量化特征增强”
  • 优先搜索(DFS)实战
  • 计算机视觉opencv----银行卡号码识别
  • 第六章、从transformer到nlp大模型:编码器-解码器模型 (Encoder-Decoder)
  • pymodbus启动一个简单的modbus tcp server
  • 【NowCoder】牛客周赛 Round 108 EF (背包问题 | SOSDP)
  • 【ARMday02】
  • OFDR设备开机到出图的5个关键操作步骤
  • ArcGIS学习-19 实战-表面分析
  • 【算法】双指针(二)复写零
  • 视频串行解串器(SerDes)介绍
  • PyTorch 动态图的灵活性与实用技巧
  • 【P01_AI测试开发课程-导论】
  • 从社交破冰到学习规划,鸿蒙5开启智慧校园新生活
  • 【Linux操作系统】简学深悟启示录:文件fd
  • Kata Container 部署与应用实践
  • 【CentOS7】docker安装成功后测试,报Unable to find image ‘hello-world:latest‘ locally
  • springboot配置请求日志
  • 2-ATSAMV71Q21-BOOT
  • 【Qt开发】显示类控件(一)-> QLabel
  • 把不确定变成确定性收益:电力交易未来场景的预测、优化与实操
  • 大数据毕业设计选题推荐-基于大数据的国家药品采集药品数据可视化分析系统-Spark-Hadoop-Bigdata
  • 如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
  • 7,000 星!AutoMQ 开源再创里程碑
  • 四大金刚之计算机操作系统