我打算在Pytorch中用多个存储单元块实现一个LSTM - 或多个LSTM单元,LSTM单元是每层的内存块及其门的集合,但似乎是基类{{1} }只允许实现每层有一个LSTM单元的多层LSTM:
torch.nn.LSTM
其中(来自Pytorch的文档):
lstm = torch.nn.LSTM(input_size, hidden_size, num_layers)
是网络的输入维度,input_size
是每个图层的隐藏状态维度(即每个图层的维度),hidden_size
是网络的层数因此,从上面看,每个LSTM单元恰好具有一个单元(每个LSTM单元的单元状态因此是标量),因为对于每个层,单元状态的维度对应于隐藏状态的维度(即{{ 1}})。
然而,在Hochreiter和Schmidhuber提出的原始LSTM模型中 [1997],每个LSTM块/单元可以包含几个单元: LSTM Network [Hochreiter, 1997]
有办法吗?
答案 0 :(得分:0)
据我了解,两个LSTM-Cells像往常一样连接。本文中图2的描述如下:
...(请注意,通过将图1逆时针旋转90度,它将与图2中的相应部分相匹配)......
图2中的图表可能很难解释,但它应该是一个带有hidden_layer和状态输入的LSTM。