赞
踩
RNN中文名字叫做循环神经网络,在连续状态、时间序列数据方面具有很大优势,但是由于存在长序列训练过程中的梯度消失和梯度爆炸问题,才会有LSTM、GRU等新的网络结构被提出。
pytorch中使用RNN方法如下:
nn.RNNCell(input_size, hidden_size, bias=True, nonlinearity=‘tanh’)
也可直接定义网络结构
torch.nn.RNN(*args, **kwargs)
LSTM网络中引入了两个新的变量,一个负责遗忘,一个负责记忆。
LSTM代码实现如下:
torch.nn.LSTMCell(input_size, hidden_size, bias=True)
也可以直接定义网络
torch.nn.LSTM(*args, **kwargs)
为了进一步简化参数,一种新的GRU(Gate Recurrent Unit)被提出。网络中负责记忆的变量由两个变为一个。
原文地址如下:
https://arxiv.org/pdf/1412.3555.pdf
GRU代码实现如下:
torch.nn.GRUCell(input_size, hidden_size, bias=True)
也可以直接定义网络:
torch.nn.GRU(*args,**kwargs)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。