Keras 不学习的时间分布模型

Keras 不学习的时间分布模型,keras,convolution,lstm,Keras,Convolution,Lstm,我试图训练模特玩Chrome Dino(离线游戏) 我们的想法是在游戏的最后6个屏幕截图上,分别使用CNN(提取功能),然后将这些功能作为时间步长放入LSTM 我的训练数据是X=[6次游戏截图]->y=[1,0](继续跑,跳跃) 时间步示例 我甚至拆分了数据库,使其包含50%的跳跃示例和50%的持续运行示例 不幸的是,我被困在50%的准确率和损失也被困 198/198 [==============================] - 0s - loss: 0.6944 - acc: 0.4

我试图训练模特玩Chrome Dino(离线游戏)

我们的想法是在游戏的最后6个屏幕截图上,分别使用CNN(提取功能),然后将这些功能作为时间步长放入LSTM

我的训练数据是X=[6次游戏截图]->y=[1,0](继续跑,跳跃)

时间步示例

我甚至拆分了数据库,使其包含50%的跳跃示例和50%的持续运行示例

不幸的是,我被困在50%的准确率和损失也被困

198/198 [==============================] - 0s - loss: 0.6944 - acc: 0.4596
Epoch 91/100
198/198 [==============================] - 0s - loss: 0.6932 - acc: 0.5000
Epoch 92/100
198/198 [==============================] - 0s - loss: 0.6932 - acc: 0.5000
Epoch 93/100
198/198 [==============================] - 0s - loss: 0.6932 - acc: 0.5000
Epoch 94/100
198/198 [==============================] - 0s - loss: 0.6933 - acc: 0.5000
Epoch 95/100
198/198 [==============================] - 0s - loss: 0.6942 - acc: 0.5000
Epoch 96/100
198/198 [==============================] - 0s - loss: 0.6939 - acc: 0.5000
Epoch 97/100
198/198 [==============================] - 0s - loss: 0.6935 - acc: 0.5000
我尝试了许多不同层的模型超参数,但总是得到相同的结果

当前模型

model = Sequential()

model.add(TimeDistributed(Convolution2D(64, 3, 3, activation='relu'), input_shape=(FRAMES_TO_PROCESS, FRAME_HEIGHT,FRAME_WIDTH, FRAME_FILTERS )))

model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))
model.add(TimeDistributed(ZeroPadding2D((1,1))))
model.add(TimeDistributed(Convolution2D(64, 3, 3, activation='relu')))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2), strides=(2,2))))

model.add(TimeDistributed(ZeroPadding2D((1,1))))
model.add(TimeDistributed(Convolution2D(128, 3, 3, activation='relu')))
model.add(TimeDistributed(ZeroPadding2D((1,1))))
model.add(TimeDistributed(Convolution2D(128, 3, 3, activation='relu')))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2), strides=(2,2))))

model.add(Activation('relu'))
model.add(TimeDistributed(Flatten()))      

model.add(Dropout(0.1))
model.add(LSTM(120, return_sequences=False))

model.add(Dense(2, activation='softmax'))

model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=['accuracy'])
知道哪里出了问题吗