据我所知,LSTM的输入特性的维数实际上是没有限制的。而且很明显它可以知道数据的顺序。
我的问题是,LSTM从本质上来说,除了特征向量外,还把以前的输出值作为下一个输出值的新特征元素吗?也就是说,如果我们有:
[t] -> [x1, ..., xn] [y_t] [t+1] -> [x1, ..., xn] [y_(t+1)]
有必要像这样操作数据吗?
[t] -> [x1, ..., xn, y_(t-1)] [y_t] [t+1] -> [x1, ..., xn, y_t] [y_(t+1)]
还是LSTM已经在为我们处理这个问题了?
发布于 2017-12-27 15:24:15
我的问题是,LSTM从本质上来说,除了特征向量外,还把以前的输出值作为下一个输出值的新特征元素吗?
您没有指定使用的是哪个框架,所以我将解释自定义(c++ )实现。
在每个时间阶段,LSTM将:
反向传播为LSTM中的权重创建梯度,但也为这两个向量创建梯度。
因为有多个时间步骤,所以在每个时间步骤中都有一个梯度,在使用之前必须是已添加 (组件级)。
注意,最后一个url链接在屏幕右下角有一个蓝色箭头,因此您可以单击以查看下一个幻灯片。
发布于 2017-08-24 02:27:46
LSTM帮你处理这个问题。
您可以在LSTM上搜索一些说明它们如何工作的教程。我喜欢的是这。
https://datascience.stackexchange.com/questions/22537
复制