深度学习——深度循环神经网络(笔记)

 1.回顾:循环神经网络

 如何将循环神经网络变深,获得更多的非线性性

通过添加多个隐藏层的方式来实现,每个隐藏状态都连续地传递到当前层地下一个时间步下一层地当前时间步

2.深度循环网络

 

①类似于多层感知机,隐藏层数目隐藏单元数目都是超参数

②使用门控循环单元长短期记忆网络的隐状态替代上图中深度循环网络的隐状态计算,就能够得到深度门控循环神经网络或长短期记忆神经网络。

【总结】

①深度循环网络使用多个隐藏层来获得更多的非线性

GRU、RNN、LSTM 在结构上都是相同的,只是隐状态 H 的计算方式有区别,所以它们加深神经网络的原理都是相同的

②在深度循环神经网络中,隐状态的信息被传递到当前层的下一时间步下一层的当前时间步

③存在许多不同风格的深度循环神经网络。如长短期记忆网络、门控循环单元或经典循环神经网络

④深度循环神经网络需要大量的调参(如学习率和修剪)来确保合适的收敛,模型的初始化也需要谨慎

【代码实现】

1.加载数据集

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)

 2.num_layers设定隐藏层数

vocab_size, num_hiddens, num_layers = len(vocab), 256, 2
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)

3.训练和预测

num_epochs, lr = 500, 2
d2l.train_ch8(model, train_iter, vocab, lr*1.0, num_epochs, device)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值