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

建立企业网站的详细步骤写出网站版面布局设计步骤

建立企业网站的详细步骤,写出网站版面布局设计步骤,wordpress页眉描述,宁波网站设计服务收费价格将多层循环神经网络堆叠在一起,通过对几个简单层的组合,产生一个灵活的机制。其中的数据可能与不同层的堆叠有关。 9.3.1 函数依赖关系 将深度架构中的函数依赖关系形式化,第 l l l 个隐藏层的隐状态表达式为: H t ( l ) ϕ l …

将多层循环神经网络堆叠在一起,通过对几个简单层的组合,产生一个灵活的机制。其中的数据可能与不同层的堆叠有关。

在这里插入图片描述

9.3.1 函数依赖关系

将深度架构中的函数依赖关系形式化,第 l l l 个隐藏层的隐状态表达式为:

H t ( l ) = ϕ l ( H t ( l − 1 ) W x h ( l ) + H t − 1 ( l ) W h h ( l ) + b h ( l ) ) \boldsymbol{H}^{(l)}_t=\phi_l(\boldsymbol{H}^{(l-1)}_t\boldsymbol{W}^{(l)}_{xh}+\boldsymbol{H}^{(l)}_{t-1}\boldsymbol{W}^{(l)}_{hh}+\boldsymbol{b}^{(l)}_h) Ht(l)=ϕl(Ht(l1)Wxh(l)+Ht1(l)Whh(l)+bh(l))

参数字典:

  • ϕ l \phi_l ϕl 表示第 l l l 个隐藏层的激活函数

  • X t ∈ R n × d \boldsymbol{X}_t\in\R^{n\times d} XtRn×d 表示小批量输入

    • n n n 表示样本个数

    • d d d 表示输入个数

  • H t ( l ) ∈ R n × h \boldsymbol{H}^{(l)}_{t}\in\R^{n\times h} Ht(l)Rn×h 表示 l t h l^{th} lth 隐藏层 ( l = 1 , … , L ) (l=1,\dots,L) (l=1,,L) 的隐状态

    • h h h 表示隐藏单元个数

    • 设置 H t ( 0 ) = X t \boldsymbol{H}^{(0)}_{t}=\boldsymbol{X}_{t} Ht(0)=Xt

  • O t ∈ R n × q \boldsymbol{O}_{t}\in\R^{n\times q} OtRn×q 表示输出层变量

    • q q q 表示输出数
  • W x h ( l ) , W h h ( l ) ∈ R h × h \boldsymbol{W}^{(l)}_{xh},\boldsymbol{W}^{(l)}_{hh}\in\R^{h\times h} Wxh(l),Whh(l)Rh×h 表示第 l l l 个隐藏层的权重参数

  • b h ( l ) ∈ R 1 × h \boldsymbol{b}^{(l)}_h\in\R^{1\times h} bh(l)R1×h 表示第 l l l 个隐藏层的偏重参数

最后,输出层的计算仅基于第 l l l 个隐藏层最终的隐状态:

O t = H t L W h q + b q \boldsymbol{O}_t=\boldsymbol{H}^{L}_t\boldsymbol{W}_{hq}+\boldsymbol{b}_q Ot=HtLWhq+bq

其中 W h q ∈ R h × q \boldsymbol{W}_{hq}\in\R^{h\times q} WhqRh×q b q ∈ R 1 × q \boldsymbol{b}_q\in\R^{1\times q} bqR1×q 表示输出层的模型参数

9.3.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)
vocab_size, num_hiddens, num_layers = len(vocab), 256, 2  # 用 num_layers 来设定隐藏层数
num_inputs = vocab_size
device = d2l.try_gpu()
lstm_layer = 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*1.0, num_epochs, device)  # 多了一层后训练速度大幅下降
perplexity 1.0, 116173.5 tokens/sec on cuda:0
time travelleryou can show black is white by argument said filby
travelleryou can show black is white by argument said filby

在这里插入图片描述

练习

(1)基于我们在 8.5 节中讨论的单层实现,尝试从零开始实现两层循环神经网络。

batch_size, num_steps = 32, 35
train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)def get_params_bilayer(vocab_size, num_hiddens, device):num_inputs = num_outputs = vocab_sizedef normal(shape):return torch.randn(size=shape, device=device) * 0.01# 隐藏层1参数W_xh1 = normal((num_inputs, num_hiddens))W_hh1 = normal((num_hiddens, num_hiddens))b_h1 = torch.zeros(num_hiddens, device=device)# 新增隐藏层2参数W_hh2 = normal((num_hiddens, num_hiddens))b_h2 = torch.zeros(num_hiddens, device=device)# 输出层参数W_hq = normal((num_hiddens, num_outputs))b_q = torch.zeros(num_outputs, device=device)# 附加梯度params = [W_xh1, W_hh1, b_h1, W_hh2, b_h2, W_hq, b_q]for param in params:param.requires_grad_(True)return paramsdef init_rnn_state_bilayer(batch_size, num_hiddens, device):return (torch.zeros((batch_size, num_hiddens), device=device),torch.zeros((batch_size, num_hiddens), device=device))  # 新增第二个隐状态初始化张量def rnn_bilayer(inputs, state, params):  # inputs的形状:(时间步数量,批量大小,词表大小)W_xh1, W_hh1, b_h1, W_hh2, b_h2, W_hq, b_q = params  # 新增第二层参数H1, H2 = stateoutputs = []for X in inputs:  # X的形状:(批量大小,词表大小) 前面转置是为了这里遍历H1 = torch.tanh(torch.mm(X, W_xh1) + torch.mm(H1, W_hh1) + b_h1)  # 计算隐状态1H2 = torch.tanh(torch.mm(H1, W_hh2) + b_h2)  # 计算隐状态2Y = torch.mm(H2, W_hq) + b_q  # 计算输出outputs.append(Y)return torch.cat(outputs, dim=0), (H1, H2)  # 沿时间步拼接num_hiddens = 512
net_rnn_bilayer = d2l.RNNModelScratch(len(vocab), num_hiddens, d2l.try_gpu(), get_params_bilayer,init_rnn_state_bilayer, rnn_bilayer)
num_epochs, lr = 500, 1
d2l.train_ch8(net_rnn_bilayer, train_iter, vocab, lr, num_epochs, d2l.try_gpu())
perplexity 1.0, 63514.3 tokens/sec on cuda:0
time travelleryou can show black is white by argument said filby
travelleryou can show black is white by argument said filby

在这里插入图片描述


(2)在本节训练模型中,比较使用门控循环单元替换长短期记忆网络后模型的精确度和训练速度。

vocab_size, num_hiddens, num_layers = len(vocab), 256, 2  # 用 num_layers 来设定隐藏层数
num_inputs = vocab_size
device = d2l.try_gpu()
# lstm_layer = nn.LSTM(num_inputs, num_hiddens, num_layers)
# model = d2l.RNNModel(lstm_layer, len(vocab))
gru_layer = nn.GRU(num_inputs, num_hiddens)
model_gru = d2l.RNNModel(gru_layer, len(vocab))
model_gru = model_gru.to(device)num_epochs, lr = 500, 2
d2l.train_ch8(model_gru, train_iter, vocab, lr*1.0, num_epochs, device)  # 换 gru 后更快了
perplexity 1.0, 230590.6 tokens/sec on cuda:0
time traveller for so it will be convenient to speak of himwas e
travelleryou can show black is white by argument said filby

在这里插入图片描述


(3)如果增加训练数据,能够将困惑度降到多低?

已经是 1 了,没得降了。


(4)在为文本建模时,是否可以将不同作者的源数据合并?有何优劣呢?

不同作者的数据源之间可能没有什么关系,拼在一起可能效果反而下降。

http://www.yayakq.cn/news/570881/

相关文章:

  • 门户网站系统源码html网页制作软件
  • 龙华网站制作公司邯郸h5开发
  • 国外网站问题怎么查网站服务器
  • sap.net网站开发wordpress 多语言 主题
  • 如何用vps系统搭建企业网站以及邮箱系统网站怎么添加流量
  • 地信网站建设物流运输做网站的素材
  • 做网站的客户资料交换qq群什么公司做网站好
  • 新乡公司做网站建设京东类的网站需要什么流程
  • 泉州优化seo网站关键词优化wordpress源码分析
  • ppt模板免费下载网站有哪些手机做简单的网站
  • 长春火车站进站需要核酸检测吗男生和女生做污的事情免费网站
  • 百度竞价设不同网站苏州网站排名优化价格
  • 网站代理商建站公司 转型经验
  • 网站功能模版app开发公司大概多少钱
  • 怎样建免费网站汨罗做网站价格
  • 长春网长春网站建设站建设网站怎么放到服务器上
  • 电子商务网站建设教学总结那些空号检测网站是怎么做的
  • 网站建设的方法有wordpress国主题
  • 做平面哪个网站的素材最好用什么做网站开发
  • 南京网站建设服务公司最强的管理咨询公司
  • 网站建设中联系我们怎么写哪些网站可以做平面设计
  • 网站用户管理系统自己可以申请网站做外卖吗
  • 做一个网站建设用什么做网站更快捷方便
  • wordpress 建多站小程序api是什么
  • 增城区建设局网站推广引流网站
  • 禹城建设局网站网站已经克隆好了 怎么做仿站
  • 汕头网站建设stqhcx微信小程序商城需要多少钱
  • 做网站设计怎么样可信赖的购物网站建设
  • 家居企业网站建设效果驻马店专业网站建设
  • 东营建网站代理公司网站备案