相关疑难解决方法(0)

了解Keras LSTM

我试图调和我对LSTM的理解,并在克里斯托弗·奥拉在克拉拉斯实施的这篇文章中指出.我正在关注Jason Brownlee为Keras教程撰写的博客.我主要困惑的是,

  1. 将数据系列重塑为[samples, time steps, features]和,
  2. 有状态的LSTM

让我们参考下面粘贴的代码集中讨论上述两个问题:

# reshape into X=t and Y=t+1
look_back = 3
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)

# reshape input to be [samples, time steps, features]
trainX = numpy.reshape(trainX, (trainX.shape[0], look_back, 1))
testX = numpy.reshape(testX, (testX.shape[0], look_back, 1))
########################
# The IMPORTANT BIT
##########################
# create and fit the LSTM network
batch_size = 1
model = Sequential()
model.add(LSTM(4, …
Run Code Online (Sandbox Code Playgroud)

python deep-learning lstm keras

259
推荐指数
4
解决办法
4万
查看次数

keras何时重置LSTM状态?

我读了很多关于它的文章,似乎没有人回答这个非常基本的问题.它总是含糊不清:

在stateful = FalseLSTM层中,keras会在以下情况后重置状态:

  • 每个序列; 要么
  • 每批?

假设我的X_train形状为(1000,20,1),意味着单个值的20个步骤的1000个序列.如果我做:

model.fit(X_train, y_train, batch_size=200, nb_epoch=15)
Run Code Online (Sandbox Code Playgroud)

它会重置每个序列的状态(重置状态1000次)吗?
或者它会重置每个批次的状态(重置状态5次)?

lstm keras keras-layer

29
推荐指数
3
解决办法
1万
查看次数

Keras - 有状态与无状态LSTM

我很难概念化Keras中有状态和无状态LSTM之间的区别.我的理解是,在每个批处理结束时,在无状态情况下"重置网络状态",而对于有状态情况,每个批处理都保留网络状态,然后必须在每个时代的结束.

我的问题如下:1.在无状态的情况下,如果状态未在批次之间保留,网络如何学习?2.何时使用LSTM的无状态与有状态模式?

deep-learning lstm keras tensorflow

19
推荐指数
2
解决办法
5927
查看次数

Keras:使用 LSTM 时混洗数据集

如果我错了,请纠正我,但根据官方Keras 文档,默认情况下,fit 函数的参数为​​“shuffle=True”,因此它会在每个 epoch 上对整个训练数据集进行洗牌。

但是,使用 LSTM 或 GRU 等循环神经网络的要点是使用每个数据的精确顺序,以便先前数据的状态影响当前数据。

如果我们将所有数据打乱,所有逻辑序列都会被破坏。因此我不明白为什么有这么多 LSTM 的例子,其中参数没有设置为 False。使用没有序列的 RNN 有什么意义?

此外,当我将 shuffle 选项设置为 False 时,即使数据之间存在依赖关系,我的 LSTM 模型的性能也会降低:我使用 KDD99 数据集,其中连接有链接。

shuffle lstm keras tensorflow recurrent-neural-network

8
推荐指数
1
解决办法
2490
查看次数