作者:2019考研占座
链接:https://www.zhihu.com/question/279046805/answer/404512447
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
rnn和lstm不同于其他的nn之处就是在于它们是对时间序列进行处理的,所以在进行batch训练时,也稍有不同。
batchsize就是每个批次feed进rnn或者lstm的数据的大小。
timestep时间步长,也可以理解为展开的rnn或者lstm的block的个数,对应下图每一个A block:
<figure>
<noscript> image</noscript>
image</figure>
举个例子,如果是用rnn来做预测,输入1000条数据进行训练,这1000条数据分为了10个batch,那么每个batch的batchsize就是100,然后我们如果是用前四个数值来预测第五个值的话,输入的数据shape就是(100,4),这四个数值在时间上是连续的,所以图中的X0、X1、X2、X3就对应了这四个值,所以timestep就是4。
同样的道理,如果是做word的预测,那么X0、X1、X2、X3就对应了四个词汇。
题主也可以参考我写过的一个博文,里面有代码的解释:
网友评论