LSTM/RNN多对一

Leb*_*oth 5 artificial-intelligence machine-learning neural-network deep-learning lstm

我有一个化学过程的数据集,由5个连续的输入向量组成,产生1个输出.每分钟对每个输入进行采样,而输出os每5个采样一次.

数据集

虽然我相信输出取决于之前的5个输入向量,但我决定为我的设计寻找LSTM.经过大量关于应该如何成为我的LSTM架构的研究后,我得出结论,我应该用零掩码一些输出序列,只留下最后一个输出.根据我的数据集,最终的架构如下:

lstm架构

我的问题是:我的3D输入张量参数应该是什么?例如[5,5,?]?还有什么应该是我的"批量大小"?它应该是我的样品数量吗?

uya*_*een 9

由于您要进行多对一的序列建模,因此您无需在输出中填充零(不需要).最简单的事情是在最后时间步骤执行分类,即在RNN/LSTM看到第5个输入之后.3D输入张量的维度为[batch_size,sequence_length,input_dimensionality],其中sequence_length在您的情况下为5(第1-5行,第7-11行,第13-17行等),input_dimensionality也为5(即A列) - E). BATCH_SIZE取决于实例的个数(也多少可靠的数据),如果你有超过10,000的例子则30-50批量大小应该没问题(阅读关于如何选择合适的批量大小的解释).

  • 可能应该以[Keras](https://keras.io/)开头,[This](https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py)示例确实可以满足您的要求想要实现(您只需要以正确的格式提供数据)即可。 (2认同)