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

菏泽市城乡建设局网站网络营销的核心是

菏泽市城乡建设局网站,网络营销的核心是,html个人简历模板,wordpress comment_form_after文章目录 门控循环单元GRU1.门控隐状态1.1重置门和更新门1.2候选隐状态1.3隐状态 2.从零开始实现2.1读取数据2.2初始化模型参数2.3定义模型2.4训练与预测 3.简洁实现 门控循环单元GRU 学习视频:门控循环单元(GRU)【动手学深度学习v2】 官方…

文章目录

  • 门控循环单元GRU
    • 1.门控隐状态
      • 1.1重置门和更新门
      • 1.2候选隐状态
      • 1.3隐状态
    • 2.从零开始实现
      • 2.1读取数据
      • 2.2初始化模型参数
      • 2.3定义模型
      • 2.4训练与预测
    • 3.简洁实现

门控循环单元GRU

学习视频:门控循环单元(GRU)【动手学深度学习v2】

官方笔记: 门控循环单元(GRU)

image-20230909102736928

思考一下这种梯度异常在实践中的意义:

  • 我们可能会遇到这样的情况:早期观测值对预测所有未来观测值具有非常重要的意义。 考虑一个极端情况,其中第一个观测值包含一个校验和, 目标是在序列的末尾辨别校验和是否正确。 在这种情况下,第一个词元的影响至关重要。 我们希望有某些机制能够在一个记忆元里存储重要的早期信息。 如果没有这样的机制,我们将不得不给这个观测值指定一个非常大的梯度, 因为它会影响所有后续的观测值。
  • 我们可能会遇到这样的情况:一些词元没有相关的观测值。 例如,在对网页内容进行情感分析时, 可能有一些辅助HTML代码与网页传达的情绪无关。 我们希望有一些机制来跳过隐状态表示中的此类词元。
  • 我们可能会遇到这样的情况:序列的各个部分之间存在逻辑中断。 例如,书的章节之间可能会有过渡存在, 或者证券的熊市和牛市之间可能会有过渡存在。 在这种情况下,最好有一种方法来重置我们的内部状态表示。

在学术界已经提出了许多方法来解决这类问题。 其中最早的方法是“长短期记忆”(long-short-term memory,LSTM), 门控循环单元(gated recurrent unit,GRU)是一个稍微简化的变体,通常能够提供同等的效果,并且计算的速度明显更快。

1.门控隐状态

门控循环单元与普通的循环神经网络之间的关键区别在于: 前者支持隐状态的门控。 这意味着模型有专门的机制来确定应该何时更新隐状态, 以及应该何时重置隐状态。 这些机制是可学习的,并且能够解决了上面列出的问题。 例如,如果第一个词元非常重要, 模型将学会在第一次观测之后不更新隐状态。 同样,模型也可以学会跳过不相关的临时观测。 最后,模型还将学会在需要的时候重置隐状态。 下面我们将详细讨论各类门控。

1.1重置门和更新门

我们首先介绍重置门(reset gate)和更新门(update gate)。 我们把它们设计成(0,1)区间中的向量, 这样我们就可以进行凸组合。 重置门允许我们控制“可能还想记住”的过去状态的数量; 更新门将允许我们控制新状态中有多少个是旧状态的副本。

image-20230909104314999

1.2候选隐状态

image-20230909104608771

1.3隐状态

image-20230909105341463

门控循环单元具有以下两个显著特征:

  • 重置门有助于捕获序列中的短期依赖关系
  • 更新们有助于捕获序列中的长期依赖关系

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初始化模型参数

下一步是初始化模型参数。 我们从标准差为0.01的高斯分布中提取权重, 并将偏置项设为0,超参数num_hiddens定义隐藏单元的数量, 实例化与更新门、重置门、候选隐状态和输出层相关的所有权重和偏置。

def get_params(vocab_size, num_hiddens, device):num_inputs = num_outputs = vocab_sizedef normal(shape):return torch.randn(size=shape, device=device)*0.01def three():return (normal((num_inputs, num_hiddens)),normal((num_hiddens, num_hiddens)),torch.zeros(num_hiddens, device=device))W_xz, W_hz, b_z = three()  # 更新门参数W_xr, W_hr, b_r = three()  # 重置门参数W_xh, W_hh, b_h = three()  # 候选隐状态参数# 输出层参数W_hq = normal((num_hiddens, num_outputs))b_q = torch.zeros(num_outputs, device=device)# 附加梯度params = [W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q]for param in params:param.requires_grad_(True)return params

2.3定义模型

现在我们将定义隐状态的初始化函数init_gru_state,与之前定义的init_rnn_state函数一样, 此函数返回一个形状为(批量大小,隐藏单元个数)的张量,张量的值全部为零。

def init_gru_state(batch_size, num_hiddens, device):return (torch.zeros((batch_size, num_hiddens), device=device), )

现在我们准备定义门控循环单元模型, 模型的架构与基本的循环神经网络单元是相同的, 只是权重更新公式更为复杂。

def gru(inputs, state, params):W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q = paramsH, = stateoutputs = []for X in inputs:Z = torch.sigmoid((X @ W_xz) + (H @ W_hz) + b_z)R = torch.sigmoid((X @ W_xr) + (H @ W_hr) + b_r)H_tilda = torch.tanh((X @ W_xh) + ((R * H) @ W_hh) + b_h)H = Z * H + (1 - Z) * H_tildaY = H @ W_hq + b_qoutputs.append(Y)return torch.cat(outputs, dim=0), (H,)

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_params,init_gru_state, gru)
d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)

3.简洁实现

高级API包含了前文介绍的所有配置细节, 所以我们可以直接实例化门控循环单元模型。 这段代码的运行速度要快得多, 因为它使用的是编译好的运算符而不是Python来处理之前阐述的许多细节。

num_inputs = vocab_size
gru_layer = nn.GRU(num_inputs, num_hiddens)
model = d2l.RNNModel(gru_layer, len(vocab))
model = model.to(device)
d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)
http://www.rdtb.cn/news/19001.html

相关文章:

  • 做网站可以赚钱吗知乎有没有推广app的平台
  • wordpress插件过多不好洛阳网站建设优化
  • jsp环保主题网站代做东莞建设企业网站公司
  • 企业网站选择第三方还是自己做网络营销咨询公司
  • wordpress 显示指定文章优化20条措施
  • 学院网站策划书广告代运营
  • 青岛快速建站模板seo草根博客
  • 网站怎么上线长尾关键词是什么
  • 筑久建筑工程有限公司百度seo规则
  • 想自己做网站流程百度分析
  • 简易博客网站模板下载如何做好seo优化
  • 如何将vs做的网站备份出来谷歌浏览器下载app
  • 企业网站需要哪些功能华为手机业务最新消息
  • 网站建设专业性的评价内容商家联盟营销方案
  • 石家庄展为网络科技有限公司广东网站se0优化公司
  • 模板建站代理百度站长工具怎么关闭
  • 深圳最大的广告公司庆云网站seo
  • 视频网站后台功能2021谷歌搜索入口
  • 大连b2c网站建设seo关键词推广公司
  • 做网站大概要山东免费网络推广工具
  • 网站备案花钱么什么软件可以弄排名
  • 常见的电子商务网站网址郑州网站推广方案
  • wordpress删除缓存会删掉文件吗seo查询优化
  • 亚马逊卖家可以做促销的网站php搭建一个简单的网站
  • 做网站合肥哪家公司好中央新闻直播今天
  • 给老外做代购网站seo外包公司兴田德润官方地址
  • 昭平县建设局网站seo黑帽是什么
  • 免备案手机网站百度竞价推广点击器
  • 南阳做网站seo的网站维护中
  • 汽修网站建设免费搜索引擎优化学习