时间分布模型不学习

时间:2017-04-22 12:57:08

标签: keras convolution lstm

我正在尝试训练模型来玩Chrome Dino(离线游戏)。

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

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

时间步长示例

Timestep example

我甚至拆分数据库,因此它有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

我尝试了许多具有不同图层的模型hyperparams,但我总是得到相同的结果。

当前模式

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'])

知道出了什么问题吗?

0 个答案:

没有答案