关于timesteps长度和lstm nodes数的疑惑

来源:7-14 计算图实现

迪FREE

2018-11-16

首先,很感谢卢老师的课程,在这学到了不少。但这几天在学LSTM网络时有个问题一致困扰我。我一致觉得lstm nodes数应该和time steps的长度一致,但从老师的课程中看貌似并不是这样。拿老师的文本分类为例,原来我一直以为LSTM网络模型中,每个time steps有50个token经过embedding后生成了(5016)的输入矩阵。而每个LSTM处理单元接受一个(116)的向量进行计算,然后将状态值传递给下一个LSTM单元,就像是普通的RNN网络一样,这样的话LSTM层就需要50个LSTM处理单元。但老师的代码中明显不是这样的,代码中的LSTM层都只有32个LSTM单元。我想一定是我对整个LSTM模型理解不透彻。特向老师请教。难道是每一个token生成的(116)的向量传递给LSTM层,而每一个这样的(116)的向量都会经过32次的LSTM单元的循环处理,再传递给fc层,生成梯度方向更新后,模型才会接受下一个token的(1*16)的向量进行计算?

写回答

1回答

正十七

2018-11-18

你最后的“难道×××”的理解是对的。Lstm也是一种RNN,RNN中,不同time steps上的网络结构是共享的。对于每一步,你都可以把它类比成一张图像输入到一个卷积神经网络中去。上一步计算完成后才可以计算下一步。就是RNN这种特性的优势才使得它可以处理不同长度的数据的。

1
1
迪FREE
非常感谢!
2018-11-20
共1条回复

深度学习之神经网络(CNN/RNN/GAN)算法原理+实战

深度学习算法工程师必学,深入理解深度学习核心算法CNN RNN GAN

2617 学习 · 935 问题

查看课程