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

中山 照明 骏域网站建设运营服务商官方网站

中山 照明 骏域网站建设,运营服务商官方网站,如何学网站开发,湖南省专业建设公司网站文章目录 长短期记忆网络LSTM1.门控记忆元1.1输入门、忘记门、输出门1.2候选记忆元1.3记忆元1.4隐状态 2.从零实现2.1加载数据集2.2初始化模型参数2.3定义模型2.4 训练与预测 3.简洁实现 长短期记忆网络LSTM 学习视频#xff1a;长短期记忆网络#xff08;LSTM#xff09;【… 文章目录 长短期记忆网络LSTM1.门控记忆元1.1输入门、忘记门、输出门1.2候选记忆元1.3记忆元1.4隐状态 2.从零实现2.1加载数据集2.2初始化模型参数2.3定义模型2.4 训练与预测 3.简洁实现 长短期记忆网络LSTM 学习视频长短期记忆网络LSTM【动手学深度学习v2】 官方笔记长短期记忆网络LSTM 长期以来隐变量模型存在着长期信息保存和短期输入缺失的问题解决这一问题的最早方法之一是长短期存储器(LSTM)它有许多与GRU一样的属性有趣的是长短期记忆网络的设计比门控循环单元稍微复杂一些 却比门控循环单元早诞生了近20年。 1.门控记忆元 可以说长短期记忆网络的设计灵感来自于计算机的逻辑门。 长短期记忆网络引入了记忆元memory cell或简称为单元cell。 有些文献认为记忆元是隐状态的一种特殊类型 它们与隐状态具有相同的形状其设计目的是用于记录附加的信息。 为了控制记忆元我们需要许多门。 其中一个门用来从单元中输出条目我们将其称为输出门output gate。 另外一个门用来决定何时将数据读入单元我们将其称为输入门input gate。 我们还需要一种机制来重置单元的内容由遗忘门forget gate来管理 这种设计的动机与门控循环单元相同 能够通过专用机制决定什么时候记忆或忽略隐状态中的输入。 1.1输入门、忘记门、输出门 忘记门将值朝0减少输入门决定不是忽略掉输入数据输出门决定是不是使用隐状态 就如在门控循环单元中一样 当前时间步的输入和前一个时间步的隐状态 作为数据送入长短期记忆网络的门中如下图所示 它们由三个具有sigmoid激活函数的全连接层处理 以计算输入门、遗忘门和输出门的值。 因此这三个门的值都在(0,1)的范围内。 1.2候选记忆元 1.3记忆元 1.4隐状态 2.从零实现 2.1加载数据集 import torch from torch import nn from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, vocab d2l.load_data_time_machine(batch_size, num_steps)2.2初始化模型参数 接下来我们需要定义和初始化模型参数。 如前所述超参数num_hiddens定义隐藏单元的数量。 我们按照标准差0.01的高斯分布初始化权重并将偏置项设为0。 def get_lstm_params(vocab_size, num_hiddens, device):num_inputs num_outputs vocab_sizedef normal(shape):return torch.randn(sizeshape, devicedevice)*0.01def three():return (normal((num_inputs, num_hiddens)),normal((num_hiddens, num_hiddens)),torch.zeros(num_hiddens, devicedevice))W_xi, W_hi, b_i three() # 输入门参数W_xf, W_hf, b_f three() # 遗忘门参数W_xo, W_ho, b_o three() # 输出门参数W_xc, W_hc, b_c three() # 候选记忆元参数# 输出层参数W_hq normal((num_hiddens, num_outputs))b_q torch.zeros(num_outputs, devicedevice)# 附加梯度params [W_xi, W_hi, b_i, W_xf, W_hf, b_f, W_xo, W_ho, b_o, W_xc, W_hc,b_c, W_hq, b_q]for param in params:param.requires_grad_(True)return params2.3定义模型 在初始化函数中 长短期记忆网络的隐状态需要返回一个额外的记忆元 单元的值为0形状为批量大小隐藏单元数。 因此我们得到以下的状态初始化。 def init_lstm_state(batch_size, num_hiddens, device):return (torch.zeros((batch_size, num_hiddens), devicedevice),torch.zeros((batch_size, num_hiddens), devicedevice))实际模型的定义与我们前面讨论的一样 提供三个门和一个额外的记忆元。 请注意只有隐状态才会传递到输出层 而记忆元 C t C_t Ct​不直接参与输出计算。 def lstm(inputs, state, params):[W_xi, W_hi, b_i, W_xf, W_hf, b_f, W_xo, W_ho, b_o, W_xc, W_hc, b_c,W_hq, b_q] params(H, C) stateoutputs []for X in inputs:I torch.sigmoid((X W_xi) (H W_hi) b_i)F torch.sigmoid((X W_xf) (H W_hf) b_f)O torch.sigmoid((X W_xo) (H W_ho) b_o)C_tilda torch.tanh((X W_xc) (H W_hc) b_c)C F * C I * C_tildaH O * torch.tanh(C)Y (H W_hq) b_qoutputs.append(Y)return torch.cat(outputs, dim0), (H, C)2.4 训练与预测 vocab_size, num_hiddens, device len(vocab), 256, d2l.try_gpu() num_epochs, lr 500, 1 model d2l.RNNModelScratch(len(vocab), num_hiddens, device, get_lstm_params,init_lstm_state, lstm) d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)3.简洁实现 使用高级API我们可以直接实例化LSTM模型。 高级API封装了前文介绍的所有配置细节。 这段代码的运行速度要快得多 因为它使用的是编译好的运算符而不是Python来处理之前阐述的许多细节。 num_inputs vocab_size lstm_layer nn.LSTM(num_inputs, num_hiddens) model d2l.RNNModel(lstm_layer, len(vocab)) model model.to(device) d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)
http://www.huolong8.cn/news/302196/

相关文章:

  • 触屏版手机网站学校网站 建设
  • 黑客钓鱼网站的制作广州 网站开发 公司电话
  • 琼筑网站是哪家做的郑州水晶奖杯制作
  • 织梦做的网站进不去上线了做网站多少钱
  • wordpress建站比较网站要实名认证
  • 建筑网站源码国内创意网站案例
  • 专做品牌网站好的优化网站推广公司
  • 自己电脑做网站要下载产品经理培训
  • 现代农业建设 乡网站个人网站制作体会
  • 做目的旅游网站的绩效考核表 网站建设
  • 黄页网站营销政务公开和网站建设情况
  • 淄川网站建设yx718黄页网站推广方案
  • 南昌网站优化公司阿里云虚拟主机购买
  • 移动建站公司怎么提升网站流量
  • 论坛程序做导航网站怎么做网站架构图
  • 陕西网站制作qq群深圳网站设计制
  • 行业网站方案建站仅向商家提供技术服务
  • 网站更新怎么做公司策划是做什么的
  • 网站开发技术一般需要什么语言网站反链有好处吗
  • 一站式建站价格网站做nat映射需要哪些端口
  • 网站logo如何修改汉化wordpress 购物
  • 留电话的广告网站网站建设必须注意的事项
  • 专业的门户网站建设局域网建设网站视频教程
  • 百度下拉框推广网站销售型企业网站建设应遵守的原则
  • 淮安市哪里可以做网站手机网站宽度多少合适
  • 城市建设网站调查问卷相城苏州网站建设
  • 周年庆网站要怎么做6阿里云备案 网站备案域名
  • 美妆网站设计模板网站开发语言占有率
  • 关键词分析工具网站优化策略
  • 苏州工程网站建设做视频推广有哪几个网站