(深层与双向)循环神经网络

一、深层循环神经网络

1、对于循环神经网络

2、对于深层,要得到更多的非线性,就像多层感知机(MLP)。

(1)浅层与深层对比

        这是具有𝐿个隐藏层的深度循环神经网络, 每个隐状态都连续地传递到当前层的下一个时间步和下一层的当前时间步。

(2)公式

        隐藏层:

        

        输出层:

        

3、总结

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

(2)有许多不同风格的深度循环神经网络, 如长短期记忆网络、门控循环单元、或经典循环神经网络。,这些模型在深度学习框架的高级API中都有涵盖。

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

(4)深度循环神经网络使用多个隐藏层来获得更多的非线性

二、双向循环神经网络

1、应用

2、双向RNN

(1)前向和反向隐状态的更新

(2)将前向隐状态𝐻→𝑡 和反向隐状态𝐻←𝑡连接起来, 获得需要送入输出层的隐状态𝐻𝑡。在具有多个隐藏层的深度双向循环神经网络中, 该信息作为输入传递到下一个双向层。 

(3)输出层

(4)一个前向RNN隐藏层,一个后向RNN隐藏层,合并两个隐状态得到输出

(5)适合对一个句子做特征提取而不适合做推理,因为看不到未来

3、总结

(1)在双向循环神经网络中,每个时间步的隐状态由当前时间步的前后数据同时决定。

(2)双向循环神经网络与概率图模型中的“前向-后向”算法具有相似性。

(3)双向循环神经网络主要用于序列编码和给定双向上下文的观测估计。

(4)由于梯度链更长,因此双向循环神经网络的训练代价非常高。

三、代码

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)

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)

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

2、双向循环神经网络的错误应用:因为我们不能用这个做预测,只能用于提取特征

import torch
from torch import nn
from d2l import torch as d2l

# 加载数据
batch_size, num_steps, device = 32, 35, d2l.try_gpu()
train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)
# 通过设置“bidirective=True”来定义双向LSTM模型
vocab_size, num_hiddens, num_layers = len(vocab), 256, 2
num_inputs = vocab_size
lstm_layer = nn.LSTM(num_inputs, num_hiddens, num_layers, bidirectional=True)
model = d2l.RNNModel(lstm_layer, len(vocab))
model = model.to(device)
# 训练模型
num_epochs, lr = 500, 1
d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值